diff --git a/api_names_out.yaml b/api_names_out.yaml index b2764d18931..bb475c66bdd 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -416413,6 +416413,7 @@ "/sqladmin:v1beta4/DeploymentTasks/task": task "/sqladmin:v1beta4/DeploymentTasks/task/task": task "/sqladmin:v1beta4/DiskEncryptionConfiguration": disk_encryption_configuration +"/sqladmin:v1beta4/DiskEncryptionConfiguration/cmekSourceLogEncryptionEnforced": cmek_source_log_encryption_enforced "/sqladmin:v1beta4/DiskEncryptionConfiguration/confidentialMode": confidential_mode "/sqladmin:v1beta4/DiskEncryptionConfiguration/kind": kind "/sqladmin:v1beta4/DiskEncryptionConfiguration/kmsKeyName": kms_key_name @@ -416722,7 +416723,11 @@ "/sqladmin:v1beta4/Operation/preCheckMajorVersionUpgradeContext": pre_check_major_version_upgrade_context "/sqladmin:v1beta4/Operation/selfLink": self_link "/sqladmin:v1beta4/Operation/startTime": start_time +"/sqladmin:v1beta4/Operation/startWorkloadCaptureContext": start_workload_capture_context +"/sqladmin:v1beta4/Operation/startWorkloadReplayContext": start_workload_replay_context "/sqladmin:v1beta4/Operation/status": status +"/sqladmin:v1beta4/Operation/stopWorkloadCaptureContext": stop_workload_capture_context +"/sqladmin:v1beta4/Operation/stopWorkloadReplayContext": stop_workload_replay_context "/sqladmin:v1beta4/Operation/subOperationType": sub_operation_type "/sqladmin:v1beta4/Operation/targetId": target_id "/sqladmin:v1beta4/Operation/targetLink": target_link @@ -417037,6 +417042,14 @@ "/sqladmin:v1beta4/SqlServerUserDetails/serverRoles/server_role": server_role "/sqladmin:v1beta4/SqlSubOperationType": sql_sub_operation_type "/sqladmin:v1beta4/SqlSubOperationType/maintenanceType": maintenance_type +"/sqladmin:v1beta4/SqlWorkloadCapturesStartReplayRequest": sql_workload_captures_start_replay_request +"/sqladmin:v1beta4/SqlWorkloadCapturesStartReplayRequest/startWorkloadReplayContext": start_workload_replay_context +"/sqladmin:v1beta4/SqlWorkloadCapturesStartRequest": sql_workload_captures_start_request +"/sqladmin:v1beta4/SqlWorkloadCapturesStartRequest/startWorkloadCaptureContext": start_workload_capture_context +"/sqladmin:v1beta4/SqlWorkloadCapturesStopReplayRequest": sql_workload_captures_stop_replay_request +"/sqladmin:v1beta4/SqlWorkloadCapturesStopReplayRequest/stopWorkloadReplayContext": stop_workload_replay_context +"/sqladmin:v1beta4/SqlWorkloadCapturesStopRequest": sql_workload_captures_stop_request +"/sqladmin:v1beta4/SqlWorkloadCapturesStopRequest/stopWorkloadCaptureContext": stop_workload_capture_context "/sqladmin:v1beta4/SslCert": ssl_cert "/sqladmin:v1beta4/SslCert/cert": cert "/sqladmin:v1beta4/SslCert/certSerialNumber": cert_serial_number @@ -417064,12 +417077,23 @@ "/sqladmin:v1beta4/SslCertsListResponse/items": items "/sqladmin:v1beta4/SslCertsListResponse/items/item": item "/sqladmin:v1beta4/SslCertsListResponse/kind": kind +"/sqladmin:v1beta4/StartWorkloadCaptureContext": start_workload_capture_context +"/sqladmin:v1beta4/StartWorkloadCaptureContext/enableLiveReplay": enable_live_replay +"/sqladmin:v1beta4/StartWorkloadCaptureContext/replayInstance": replay_instance +"/sqladmin:v1beta4/StartWorkloadReplayContext": start_workload_replay_context +"/sqladmin:v1beta4/StartWorkloadReplayContext/replayInstance": replay_instance +"/sqladmin:v1beta4/StartWorkloadReplayContext/workloadId": workload_id "/sqladmin:v1beta4/Status": status "/sqladmin:v1beta4/Status/code": code "/sqladmin:v1beta4/Status/details": details "/sqladmin:v1beta4/Status/details/detail": detail "/sqladmin:v1beta4/Status/details/detail/detail": detail "/sqladmin:v1beta4/Status/message": message +"/sqladmin:v1beta4/StopWorkloadCaptureContext": stop_workload_capture_context +"/sqladmin:v1beta4/StopWorkloadCaptureContext/abortLiveReplay": abort_live_replay +"/sqladmin:v1beta4/StopWorkloadReplayContext": stop_workload_replay_context +"/sqladmin:v1beta4/StopWorkloadReplayContext/replayInstance": replay_instance +"/sqladmin:v1beta4/StopWorkloadReplayContext/workloadId": workload_id "/sqladmin:v1beta4/SwitchoverBlueGreenDeploymentRequest": switchover_blue_green_deployment_request "/sqladmin:v1beta4/SyncFlags": sync_flags "/sqladmin:v1beta4/SyncFlags/name": name @@ -417127,6 +417151,18 @@ "/sqladmin:v1beta4/Value": value "/sqladmin:v1beta4/Value/nullValue": null_value "/sqladmin:v1beta4/Value/value": value +"/sqladmin:v1beta4/WorkloadCapture": workload_capture +"/sqladmin:v1beta4/WorkloadCapture/endTime": end_time +"/sqladmin:v1beta4/WorkloadCapture/replayInstance": replay_instance +"/sqladmin:v1beta4/WorkloadCapture/retentionDays": retention_days +"/sqladmin:v1beta4/WorkloadCapture/sourceInstance": source_instance +"/sqladmin:v1beta4/WorkloadCapture/startTime": start_time +"/sqladmin:v1beta4/WorkloadCapture/workloadCaptureState": workload_capture_state +"/sqladmin:v1beta4/WorkloadCapture/workloadId": workload_id +"/sqladmin:v1beta4/WorkloadCapturesListResponse": workload_captures_list_response +"/sqladmin:v1beta4/WorkloadCapturesListResponse/kind": kind +"/sqladmin:v1beta4/WorkloadCapturesListResponse/workloadCaptures": workload_captures +"/sqladmin:v1beta4/WorkloadCapturesListResponse/workloadCaptures/workload_capture": workload_capture "/sqladmin:v1beta4/fields": fields "/sqladmin:v1beta4/key": key "/sqladmin:v1beta4/quotaUser": quota_user @@ -417460,6 +417496,23 @@ "/sqladmin:v1beta4/sql.users.update/revokeExistingRoles": revoke_existing_roles "/sqladmin:v1beta4/sql.users.update/revokeExistingServerRoles": revoke_existing_server_roles "/sqladmin:v1beta4/sql.users.update/serverRoles": server_roles +"/sqladmin:v1beta4/sql.workloadCaptures.list": list_workload_captures +"/sqladmin:v1beta4/sql.workloadCaptures.list/instance": instance +"/sqladmin:v1beta4/sql.workloadCaptures.list/project": project +"/sqladmin:v1beta4/sql.workloadCaptures.start": start_workload_capture +"/sqladmin:v1beta4/sql.workloadCaptures.start/instance": instance +"/sqladmin:v1beta4/sql.workloadCaptures.start/project": project +"/sqladmin:v1beta4/sql.workloadCaptures.startReplay": start_workload_capture_replay +"/sqladmin:v1beta4/sql.workloadCaptures.startReplay/instance": instance +"/sqladmin:v1beta4/sql.workloadCaptures.startReplay/project": project +"/sqladmin:v1beta4/sql.workloadCaptures.startReplay/workloadId": workload_id +"/sqladmin:v1beta4/sql.workloadCaptures.stop": stop_workload_capture +"/sqladmin:v1beta4/sql.workloadCaptures.stop/instance": instance +"/sqladmin:v1beta4/sql.workloadCaptures.stop/project": project +"/sqladmin:v1beta4/sql.workloadCaptures.stopReplay": stop_workload_capture_replay +"/sqladmin:v1beta4/sql.workloadCaptures.stopReplay/instance": instance +"/sqladmin:v1beta4/sql.workloadCaptures.stopReplay/project": project +"/sqladmin:v1beta4/sql.workloadCaptures.stopReplay/workloadId": workload_id "/sqladmin:v1beta4/userIp": user_ip "/storage:v1/AdvanceRelocateBucketOperationRequest": advance_relocate_bucket_operation_request "/storage:v1/AdvanceRelocateBucketOperationRequest/expireTime": expire_time diff --git a/generated/google-apis-sqladmin_v1beta4/CHANGELOG.md b/generated/google-apis-sqladmin_v1beta4/CHANGELOG.md index 822ba5acdd7..01928f889a8 100644 --- a/generated/google-apis-sqladmin_v1beta4/CHANGELOG.md +++ b/generated/google-apis-sqladmin_v1beta4/CHANGELOG.md @@ -1,5 +1,9 @@ # Release history for google-apis-sqladmin_v1beta4 +### v0.106.0 (2026-09-20) + +* Regenerated from discovery document revision 20260908 + ### v0.105.0 (2026-09-06) * Regenerated from discovery document revision 20260819 diff --git a/generated/google-apis-sqladmin_v1beta4/Gemfile.lock b/generated/google-apis-sqladmin_v1beta4/Gemfile.lock index 6305404de27..40788ab5b15 100644 --- a/generated/google-apis-sqladmin_v1beta4/Gemfile.lock +++ b/generated/google-apis-sqladmin_v1beta4/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - google-apis-sqladmin_v1beta4 (0.105.0) + google-apis-sqladmin_v1beta4 (0.106.0) google-apis-core (>= 0.15.0, < 2.a) GEM @@ -106,7 +106,7 @@ CHECKSUMS faraday-follow_redirects (0.5.0) sha256=5cde93c894b30943a5d2b93c2fe9284216a6b756f7af406a1e55f211d97d10ad faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588 google-apis-core (1.2.1) sha256=3739030455277e3be90f2d07321ad4d0bf0d6b1ed820b2d092916d6cdef05337 - google-apis-sqladmin_v1beta4 (0.105.0) + google-apis-sqladmin_v1beta4 (0.106.0) google-cloud-env (2.3.1) sha256=0faac01eb27be78c2591d64433663b1a114f8f7af55a4f819755426cac9178e7 google-logging-utils (0.2.0) sha256=675462b4ea5affa825a3442694ca2d75d0069455a1d0956127207498fca3df7b googleauth (1.17.1) sha256=0f7e6fc70e204cee1b2d71f1e1de2d3b349d432404197fe68ebf7fa23d0821b9 diff --git a/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/classes.rb b/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/classes.rb index a52df9074b3..98ca43b5484 100644 --- a/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/classes.rb +++ b/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/classes.rb @@ -2044,6 +2044,14 @@ def update!(**args) class DiskEncryptionConfiguration include Google::Apis::Core::Hashable + # Optional. Whether to enforce CMEK log encryption at source. When enforced, + # transaction logs are encrypted prior to being uploaded to Cloud Storage. If + # not enforced, then CMEK logs are encrypted by the Cloud Storage service. + # Corresponds to the JSON property `cmekSourceLogEncryptionEnforced` + # @return [Boolean] + attr_accessor :cmek_source_log_encryption_enforced + alias_method :cmek_source_log_encryption_enforced?, :cmek_source_log_encryption_enforced + # Optional. If true, enables Confidential Mode for the instance's Hyperdisk # Balanced volumes. Only supported for zonal C4A instances currently. # Corresponds to the JSON property `confidentialMode` @@ -2067,6 +2075,7 @@ def initialize(**args) # Update properties of this object def update!(**args) + @cmek_source_log_encryption_enforced = args[:cmek_source_log_encryption_enforced] if args.key?(:cmek_source_log_encryption_enforced) @confidential_mode = args[:confidential_mode] if args.key?(:confidential_mode) @kind = args[:kind] if args.key?(:kind) @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name) @@ -4459,11 +4468,38 @@ class Operation # @return [String] attr_accessor :start_time + # The context for the `StartWorkloadCapture` operation, which contains details + # to start recording the workload (SQL queries) on a Cloud SQL instance. + # Corresponds to the JSON property `startWorkloadCaptureContext` + # @return [Google::Apis::SqladminV1beta4::StartWorkloadCaptureContext] + attr_accessor :start_workload_capture_context + + # The context for the `StartWorkloadReplay` operation, which contains details + # about starting the execution of a captured workload (recorded read and write + # SQL queries) on a replay instance (the Cloud SQL instance where the recorded + # SQL queries are executed). + # Corresponds to the JSON property `startWorkloadReplayContext` + # @return [Google::Apis::SqladminV1beta4::StartWorkloadReplayContext] + attr_accessor :start_workload_replay_context + # The status of an operation. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status + # The context for the `StopWorkloadCapture` operation, which contains details to + # stop recording the workload (SQL queries) on a Cloud SQL instance. + # Corresponds to the JSON property `stopWorkloadCaptureContext` + # @return [Google::Apis::SqladminV1beta4::StopWorkloadCaptureContext] + attr_accessor :stop_workload_capture_context + + # The context for the `StopWorkloadReplay` operation, which contains details + # about stopping the execution of a captured workload (recorded read and write + # SQL queries) on a replay instance. + # Corresponds to the JSON property `stopWorkloadReplayContext` + # @return [Google::Apis::SqladminV1beta4::StopWorkloadReplayContext] + attr_accessor :stop_workload_replay_context + # The sub operation type based on the operation type. # Corresponds to the JSON property `subOperationType` # @return [Google::Apis::SqladminV1beta4::SqlSubOperationType] @@ -4509,7 +4545,11 @@ def update!(**args) @pre_check_major_version_upgrade_context = args[:pre_check_major_version_upgrade_context] if args.key?(:pre_check_major_version_upgrade_context) @self_link = args[:self_link] if args.key?(:self_link) @start_time = args[:start_time] if args.key?(:start_time) + @start_workload_capture_context = args[:start_workload_capture_context] if args.key?(:start_workload_capture_context) + @start_workload_replay_context = args[:start_workload_replay_context] if args.key?(:start_workload_replay_context) @status = args[:status] if args.key?(:status) + @stop_workload_capture_context = args[:stop_workload_capture_context] if args.key?(:stop_workload_capture_context) + @stop_workload_replay_context = args[:stop_workload_replay_context] if args.key?(:stop_workload_replay_context) @sub_operation_type = args[:sub_operation_type] if args.key?(:sub_operation_type) @target_id = args[:target_id] if args.key?(:target_id) @target_link = args[:target_link] if args.key?(:target_link) @@ -6192,7 +6232,7 @@ def update!(**args) end end - # Execute SQL statements response. + # class SqlInstancesExecuteSqlResponse include Google::Apis::Core::Hashable @@ -6724,6 +6764,91 @@ def update!(**args) end end + # Request to start executing a captured workload on a replay instance (the Cloud + # SQL instance where the recorded SQL queries are executed). + class SqlWorkloadCapturesStartReplayRequest + include Google::Apis::Core::Hashable + + # The context for the `StartWorkloadReplay` operation, which contains details + # about starting the execution of a captured workload (recorded read and write + # SQL queries) on a replay instance (the Cloud SQL instance where the recorded + # SQL queries are executed). + # Corresponds to the JSON property `startWorkloadReplayContext` + # @return [Google::Apis::SqladminV1beta4::StartWorkloadReplayContext] + attr_accessor :start_workload_replay_context + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @start_workload_replay_context = args[:start_workload_replay_context] if args.key?(:start_workload_replay_context) + end + end + + # Request to start recording traffic from the primary instance (captured + # workload). + class SqlWorkloadCapturesStartRequest + include Google::Apis::Core::Hashable + + # The context for the `StartWorkloadCapture` operation, which contains details + # to start recording the workload (SQL queries) on a Cloud SQL instance. + # Corresponds to the JSON property `startWorkloadCaptureContext` + # @return [Google::Apis::SqladminV1beta4::StartWorkloadCaptureContext] + attr_accessor :start_workload_capture_context + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @start_workload_capture_context = args[:start_workload_capture_context] if args.key?(:start_workload_capture_context) + end + end + + # Request to stop executing a captured workload on a replay instance. + class SqlWorkloadCapturesStopReplayRequest + include Google::Apis::Core::Hashable + + # The context for the `StopWorkloadReplay` operation, which contains details + # about stopping the execution of a captured workload (recorded read and write + # SQL queries) on a replay instance. + # Corresponds to the JSON property `stopWorkloadReplayContext` + # @return [Google::Apis::SqladminV1beta4::StopWorkloadReplayContext] + attr_accessor :stop_workload_replay_context + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @stop_workload_replay_context = args[:stop_workload_replay_context] if args.key?(:stop_workload_replay_context) + end + end + + # Request to stop recording traffic from the primary instance. + class SqlWorkloadCapturesStopRequest + include Google::Apis::Core::Hashable + + # The context for the `StopWorkloadCapture` operation, which contains details to + # stop recording the workload (SQL queries) on a Cloud SQL instance. + # Corresponds to the JSON property `stopWorkloadCaptureContext` + # @return [Google::Apis::SqladminV1beta4::StopWorkloadCaptureContext] + attr_accessor :stop_workload_capture_context + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @stop_workload_capture_context = args[:stop_workload_capture_context] if args.key?(:stop_workload_capture_context) + end + end + # SslCerts Resource class SslCert include Google::Apis::Core::Hashable @@ -6928,6 +7053,79 @@ def update!(**args) end end + # The context for the `StartWorkloadCapture` operation, which contains details + # to start recording the workload (SQL queries) on a Cloud SQL instance. + class StartWorkloadCaptureContext + include Google::Apis::Core::Hashable + + # Optional. If true, the captured workload is simultaneously executed on a + # separate, ephemeral Cloud SQL instance. This "live replay" instance is + # automatically provisioned and is cloned from the source instance. If false ( + # the default), the workload is only stored and no live replay occurs. It can be + # replayed later using a separate `StartWorkloadReplayRequest`. Note: The + # workload capture runs continuously until an explicit ` + # StopWorkloadCaptureRequest` is issued. + # Corresponds to the JSON property `enableLiveReplay` + # @return [Boolean] + attr_accessor :enable_live_replay + alias_method :enable_live_replay?, :enable_live_replay + + # Optional. Required if `enable_live_replay` is true. The name of the Cloud SQL + # instance where the captured workload (SQL queries) is being executed, + # excluding the project ID (for example, `my-replay-instance`). The instance + # name must start with a lowercase letter and contain only lowercase letters, + # numbers, and hyphens. The combined length of `project-ID:instance-name` must + # be 98 characters or less. + # Corresponds to the JSON property `replayInstance` + # @return [String] + attr_accessor :replay_instance + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @enable_live_replay = args[:enable_live_replay] if args.key?(:enable_live_replay) + @replay_instance = args[:replay_instance] if args.key?(:replay_instance) + end + end + + # The context for the `StartWorkloadReplay` operation, which contains details + # about starting the execution of a captured workload (recorded read and write + # SQL queries) on a replay instance (the Cloud SQL instance where the recorded + # SQL queries are executed). + class StartWorkloadReplayContext + include Google::Apis::Core::Hashable + + # Required. The name of the Cloud SQL instance where the captured workload (SQL + # queries) is being executed, excluding the project ID (for example, `my-replay- + # instance`). The instance name must start with a lowercase letter and contain + # only lowercase letters, numbers, and hyphens. The combined length of `project- + # ID:instance-name` must be 98 characters or less. + # Corresponds to the JSON property `replayInstance` + # @return [String] + attr_accessor :replay_instance + + # Output only. The ID of the workload to start executing on the replay instance. + # Each workload capture generates a unique ID in the format `workload-` (for + # example, `workload-1786046400`). Use this ID to start executing the recorded + # SQL queries. + # Corresponds to the JSON property `workloadId` + # @return [String] + attr_accessor :workload_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @replay_instance = args[:replay_instance] if args.key?(:replay_instance) + @workload_id = args[:workload_id] if args.key?(:workload_id) + end + end + # The `Status` type defines a logical error model that is suitable for different # programming environments, including REST APIs and RPC APIs. It is used by [ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of @@ -6967,6 +7165,64 @@ def update!(**args) end end + # The context for the `StopWorkloadCapture` operation, which contains details to + # stop recording the workload (SQL queries) on a Cloud SQL instance. + class StopWorkloadCaptureContext + include Google::Apis::Core::Hashable + + # Optional. If true, immediately aborts the concurrent live replay and discards + # any un-replayed traffic alongside stopping the capture. If false (the default), + # the capture stops recording new traffic, but the live replay will continue + # executing until the entire backlog of captured traffic has been replayed. + # Corresponds to the JSON property `abortLiveReplay` + # @return [Boolean] + attr_accessor :abort_live_replay + alias_method :abort_live_replay?, :abort_live_replay + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @abort_live_replay = args[:abort_live_replay] if args.key?(:abort_live_replay) + end + end + + # The context for the `StopWorkloadReplay` operation, which contains details + # about stopping the execution of a captured workload (recorded read and write + # SQL queries) on a replay instance. + class StopWorkloadReplayContext + include Google::Apis::Core::Hashable + + # Required. The name of the Cloud SQL instance where the captured workload (SQL + # queries) is being executed, excluding the project ID (for example, `my-replay- + # instance`). The instance name must start with a lowercase letter and contain + # only lowercase letters, numbers, and hyphens. The combined length of `project- + # ID:instance-name` must be 98 characters or less. + # Corresponds to the JSON property `replayInstance` + # @return [String] + attr_accessor :replay_instance + + # Output only. The ID of the workload to stop executing on the replay instance. + # Each workload capture generates a unique ID in the format `workload-` (for + # example, `workload-1786046400`). Use this ID to stop executing the recorded + # SQL queries. + # Corresponds to the JSON property `workloadId` + # @return [String] + attr_accessor :workload_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @replay_instance = args[:replay_instance] if args.key?(:replay_instance) + @workload_id = args[:workload_id] if args.key?(:workload_id) + end + end + # Request message for switching over a `BlueGreenDeployment` resource. class SwitchoverBlueGreenDeploymentRequest include Google::Apis::Core::Hashable @@ -7381,6 +7637,86 @@ def update!(**args) @value = args[:value] if args.key?(:value) end end + + # Captured workload for an instance. + class WorkloadCapture + include Google::Apis::Core::Hashable + + # Output only. The end time of the workload capture. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Output only. The name of the replay instance, if live replay was enabled. + # Corresponds to the JSON property `replayInstance` + # @return [String] + attr_accessor :replay_instance + + # Output only. The retention period in days for the captured workload. + # Corresponds to the JSON property `retentionDays` + # @return [Fixnum] + attr_accessor :retention_days + + # Output only. The name of the source instance. + # Corresponds to the JSON property `sourceInstance` + # @return [String] + attr_accessor :source_instance + + # Output only. The start time of the workload capture. + # Corresponds to the JSON property `startTime` + # @return [String] + attr_accessor :start_time + + # Output only. The state of the workload capture. + # Corresponds to the JSON property `workloadCaptureState` + # @return [String] + attr_accessor :workload_capture_state + + # Output only. The ID of the captured workload. + # Corresponds to the JSON property `workloadId` + # @return [String] + attr_accessor :workload_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @end_time = args[:end_time] if args.key?(:end_time) + @replay_instance = args[:replay_instance] if args.key?(:replay_instance) + @retention_days = args[:retention_days] if args.key?(:retention_days) + @source_instance = args[:source_instance] if args.key?(:source_instance) + @start_time = args[:start_time] if args.key?(:start_time) + @workload_capture_state = args[:workload_capture_state] if args.key?(:workload_capture_state) + @workload_id = args[:workload_id] if args.key?(:workload_id) + end + end + + # Instance list captured workloads response. + class WorkloadCapturesListResponse + include Google::Apis::Core::Hashable + + # This is always `sql#workloadCapturesList`. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # List of captured workloads for the instance. + # Corresponds to the JSON property `workloadCaptures` + # @return [Array] + attr_accessor :workload_captures + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @kind = args[:kind] if args.key?(:kind) + @workload_captures = args[:workload_captures] if args.key?(:workload_captures) + end + end end end end diff --git a/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/gem_version.rb b/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/gem_version.rb index 48ba81c225c..4103c7ccef2 100644 --- a/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/gem_version.rb +++ b/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/gem_version.rb @@ -16,13 +16,13 @@ module Google module Apis module SqladminV1beta4 # Version of the google-apis-sqladmin_v1beta4 gem - GEM_VERSION = "0.105.0" + GEM_VERSION = "0.106.0" # Version of the code generator used to generate this client GENERATOR_VERSION = "0.19.0" # Revision of the discovery document this client was generated from - REVISION = "20260819" + REVISION = "20260908" end end end diff --git a/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/representations.rb b/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/representations.rb index b6a29a3e471..6a1530cdce7 100644 --- a/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/representations.rb +++ b/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/representations.rb @@ -886,6 +886,30 @@ class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class SqlWorkloadCapturesStartReplayRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SqlWorkloadCapturesStartRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SqlWorkloadCapturesStopReplayRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SqlWorkloadCapturesStopRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SslCert class Representation < Google::Apis::Core::JsonRepresentation; end @@ -922,12 +946,36 @@ class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class StartWorkloadCaptureContext + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StartWorkloadReplayContext + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Status class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class StopWorkloadCaptureContext + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StopWorkloadReplayContext + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SwitchoverBlueGreenDeploymentRequest class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1000,6 +1048,18 @@ class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class WorkloadCapture + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class WorkloadCapturesListResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class AclEntry # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -1488,6 +1548,7 @@ class Representation < Google::Apis::Core::JsonRepresentation class DiskEncryptionConfiguration # @private class Representation < Google::Apis::Core::JsonRepresentation + property :cmek_source_log_encryption_enforced, as: 'cmekSourceLogEncryptionEnforced' property :confidential_mode, as: 'confidentialMode' property :kind, as: 'kind' property :kms_key_name, as: 'kmsKeyName' @@ -2133,7 +2194,15 @@ class Representation < Google::Apis::Core::JsonRepresentation property :self_link, as: 'selfLink' property :start_time, as: 'startTime' + property :start_workload_capture_context, as: 'startWorkloadCaptureContext', class: Google::Apis::SqladminV1beta4::StartWorkloadCaptureContext, decorator: Google::Apis::SqladminV1beta4::StartWorkloadCaptureContext::Representation + + property :start_workload_replay_context, as: 'startWorkloadReplayContext', class: Google::Apis::SqladminV1beta4::StartWorkloadReplayContext, decorator: Google::Apis::SqladminV1beta4::StartWorkloadReplayContext::Representation + property :status, as: 'status' + property :stop_workload_capture_context, as: 'stopWorkloadCaptureContext', class: Google::Apis::SqladminV1beta4::StopWorkloadCaptureContext, decorator: Google::Apis::SqladminV1beta4::StopWorkloadCaptureContext::Representation + + property :stop_workload_replay_context, as: 'stopWorkloadReplayContext', class: Google::Apis::SqladminV1beta4::StopWorkloadReplayContext, decorator: Google::Apis::SqladminV1beta4::StopWorkloadReplayContext::Representation + property :sub_operation_type, as: 'subOperationType', class: Google::Apis::SqladminV1beta4::SqlSubOperationType, decorator: Google::Apis::SqladminV1beta4::SqlSubOperationType::Representation property :target_id, as: 'targetId' @@ -2702,6 +2771,38 @@ class Representation < Google::Apis::Core::JsonRepresentation end end + class SqlWorkloadCapturesStartReplayRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :start_workload_replay_context, as: 'startWorkloadReplayContext', class: Google::Apis::SqladminV1beta4::StartWorkloadReplayContext, decorator: Google::Apis::SqladminV1beta4::StartWorkloadReplayContext::Representation + + end + end + + class SqlWorkloadCapturesStartRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :start_workload_capture_context, as: 'startWorkloadCaptureContext', class: Google::Apis::SqladminV1beta4::StartWorkloadCaptureContext, decorator: Google::Apis::SqladminV1beta4::StartWorkloadCaptureContext::Representation + + end + end + + class SqlWorkloadCapturesStopReplayRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :stop_workload_replay_context, as: 'stopWorkloadReplayContext', class: Google::Apis::SqladminV1beta4::StopWorkloadReplayContext, decorator: Google::Apis::SqladminV1beta4::StopWorkloadReplayContext::Representation + + end + end + + class SqlWorkloadCapturesStopRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :stop_workload_capture_context, as: 'stopWorkloadCaptureContext', class: Google::Apis::SqladminV1beta4::StopWorkloadCaptureContext, decorator: Google::Apis::SqladminV1beta4::StopWorkloadCaptureContext::Representation + + end + end + class SslCert # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -2763,6 +2864,22 @@ class Representation < Google::Apis::Core::JsonRepresentation end end + class StartWorkloadCaptureContext + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :enable_live_replay, as: 'enableLiveReplay' + property :replay_instance, as: 'replayInstance' + end + end + + class StartWorkloadReplayContext + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :replay_instance, as: 'replayInstance' + property :workload_id, as: 'workloadId' + end + end + class Status # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -2772,6 +2889,21 @@ class Representation < Google::Apis::Core::JsonRepresentation end end + class StopWorkloadCaptureContext + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :abort_live_replay, as: 'abortLiveReplay' + end + end + + class StopWorkloadReplayContext + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :replay_instance, as: 'replayInstance' + property :workload_id, as: 'workloadId' + end + end + class SwitchoverBlueGreenDeploymentRequest # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -2889,6 +3021,28 @@ class Representation < Google::Apis::Core::JsonRepresentation property :value, as: 'value' end end + + class WorkloadCapture + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :end_time, as: 'endTime' + property :replay_instance, as: 'replayInstance' + property :retention_days, as: 'retentionDays' + property :source_instance, as: 'sourceInstance' + property :start_time, as: 'startTime' + property :workload_capture_state, as: 'workloadCaptureState' + property :workload_id, as: 'workloadId' + end + end + + class WorkloadCapturesListResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :kind, as: 'kind' + collection :workload_captures, as: 'workloadCaptures', class: Google::Apis::SqladminV1beta4::WorkloadCapture, decorator: Google::Apis::SqladminV1beta4::WorkloadCapture::Representation + + end + end end end end diff --git a/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/service.rb b/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/service.rb index ee8c57643fc..4e1b78d29c9 100644 --- a/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/service.rb +++ b/generated/google-apis-sqladmin_v1beta4/lib/google/apis/sqladmin_v1beta4/service.rb @@ -3200,6 +3200,196 @@ def update_user(project, instance, user_object = nil, database_roles: nil, host: command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end + + # Lists all captured workloads associated with the instance. + # @param [String] project + # Required. Project ID of the project that contains the instance. + # @param [String] instance + # Required. Cloud SQL instance ID. This does not include the project ID. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::SqladminV1beta4::WorkloadCapturesListResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::SqladminV1beta4::WorkloadCapturesListResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_workload_captures(project, instance, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'sql/v1beta4/projects/{project}/instances/{instance}/workloadCaptures', options) + command.response_representation = Google::Apis::SqladminV1beta4::WorkloadCapturesListResponse::Representation + command.response_class = Google::Apis::SqladminV1beta4::WorkloadCapturesListResponse + command.params['project'] = project unless project.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Starts capturing the SQL queries, transactions, and other operations executed + # on the primary instance. This traffic is securely stored and forms a "captured + # workload". This workload can be replayed later on a different instance to + # safely test performance impacts, database upgrades, configuration changes etc. + # before applying them to production. + # @param [String] project + # Required. Project ID of the project that contains the instance. + # @param [String] instance + # Required. Cloud SQL instance ID. This does not include the project ID. + # @param [Google::Apis::SqladminV1beta4::SqlWorkloadCapturesStartRequest] sql_workload_captures_start_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::SqladminV1beta4::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::SqladminV1beta4::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def start_workload_capture(project, instance, sql_workload_captures_start_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'sql/v1beta4/projects/{project}/instances/{instance}/workloadCaptures:start', options) + command.request_representation = Google::Apis::SqladminV1beta4::SqlWorkloadCapturesStartRequest::Representation + command.request_object = sql_workload_captures_start_request_object + command.response_representation = Google::Apis::SqladminV1beta4::Operation::Representation + command.response_class = Google::Apis::SqladminV1beta4::Operation + command.params['project'] = project unless project.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Starts executing a captured workload on a separate Cloud SQL instance + # provisioned for workload replay. This target instance simulates the production + # environment without affecting the primary instance. + # @param [String] project + # Required. Project ID of the project that contains the instance. + # @param [String] instance + # Required. Cloud SQL instance ID. This does not include the project ID. + # @param [String] workload_id + # Required. The ID of the workload to replay. + # @param [Google::Apis::SqladminV1beta4::SqlWorkloadCapturesStartReplayRequest] sql_workload_captures_start_replay_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::SqladminV1beta4::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::SqladminV1beta4::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def start_workload_capture_replay(project, instance, workload_id, sql_workload_captures_start_replay_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'sql/v1beta4/projects/{project}/instances/{instance}/workloadCaptures/{workloadId}:startReplay', options) + command.request_representation = Google::Apis::SqladminV1beta4::SqlWorkloadCapturesStartReplayRequest::Representation + command.request_object = sql_workload_captures_start_replay_request_object + command.response_representation = Google::Apis::SqladminV1beta4::Operation::Representation + command.response_class = Google::Apis::SqladminV1beta4::Operation + command.params['project'] = project unless project.nil? + command.params['instance'] = instance unless instance.nil? + command.params['workloadId'] = workload_id unless workload_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Stops capturing the query traffic and related operations executed on the + # primary instance. + # @param [String] project + # Required. Project ID of the project that contains the instance. + # @param [String] instance + # Required. Cloud SQL instance ID. This does not include the project ID. + # @param [Google::Apis::SqladminV1beta4::SqlWorkloadCapturesStopRequest] sql_workload_captures_stop_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::SqladminV1beta4::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::SqladminV1beta4::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def stop_workload_capture(project, instance, sql_workload_captures_stop_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'sql/v1beta4/projects/{project}/instances/{instance}/workloadCaptures:stop', options) + command.request_representation = Google::Apis::SqladminV1beta4::SqlWorkloadCapturesStopRequest::Representation + command.request_object = sql_workload_captures_stop_request_object + command.response_representation = Google::Apis::SqladminV1beta4::Operation::Representation + command.response_class = Google::Apis::SqladminV1beta4::Operation + command.params['project'] = project unless project.nil? + command.params['instance'] = instance unless instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Stops executing a captured workload on the separate Cloud SQL instance. + # @param [String] project + # Required. Project ID of the project that contains the instance. + # @param [String] instance + # Required. Cloud SQL instance ID. This does not include the project ID. + # @param [String] workload_id + # Required. The ID of the workload to replay. + # @param [Google::Apis::SqladminV1beta4::SqlWorkloadCapturesStopReplayRequest] sql_workload_captures_stop_replay_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::SqladminV1beta4::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::SqladminV1beta4::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def stop_workload_capture_replay(project, instance, workload_id, sql_workload_captures_stop_replay_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'sql/v1beta4/projects/{project}/instances/{instance}/workloadCaptures/{workloadId}:stopReplay', options) + command.request_representation = Google::Apis::SqladminV1beta4::SqlWorkloadCapturesStopReplayRequest::Representation + command.request_object = sql_workload_captures_stop_replay_request_object + command.response_representation = Google::Apis::SqladminV1beta4::Operation::Representation + command.response_class = Google::Apis::SqladminV1beta4::Operation + command.params['project'] = project unless project.nil? + command.params['instance'] = instance unless instance.nil? + command.params['workloadId'] = workload_id unless workload_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end protected