google-cloud-sql-v1 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -425,6 +425,40 @@ module Google
425
425
  extend ::Google::Protobuf::MessageExts::ClassMethods
426
426
  end
427
427
 
428
+ # Instance start request.
429
+ # @!attribute [rw] instance
430
+ # @return [::String]
431
+ # Required. Cloud SQL instance ID. This does not include the project ID.
432
+ # @!attribute [rw] project
433
+ # @return [::String]
434
+ # Required. Project ID of the project that contains the instance to be
435
+ # started.
436
+ # @!attribute [rw] location
437
+ # @return [::String]
438
+ # Optional. The region of the Cloud SQL instance, for example `us-central1`.
439
+ # If omitted, the region is determined from the instance.
440
+ class SqlInstancesStartRequest
441
+ include ::Google::Protobuf::MessageExts
442
+ extend ::Google::Protobuf::MessageExts::ClassMethods
443
+ end
444
+
445
+ # Instance stop request.
446
+ # @!attribute [rw] instance
447
+ # @return [::String]
448
+ # Required. Cloud SQL instance ID. This does not include the project ID.
449
+ # @!attribute [rw] project
450
+ # @return [::String]
451
+ # Required. Project ID of the project that contains the instance to be
452
+ # stopped.
453
+ # @!attribute [rw] location
454
+ # @return [::String]
455
+ # Optional. The region of the Cloud SQL instance, for example `us-central1`.
456
+ # If omitted, the region is determined from the instance.
457
+ class SqlInstancesStopRequest
458
+ include ::Google::Protobuf::MessageExts
459
+ extend ::Google::Protobuf::MessageExts::ClassMethods
460
+ end
461
+
428
462
  # Instance restore backup request.
429
463
  # @!attribute [rw] instance
430
464
  # @return [::String]
@@ -1484,6 +1518,15 @@ module Google
1484
1518
  # @return [::Google::Cloud::Sql::V1::DatabaseInstance::DatabaseCenterIntegration]
1485
1519
  # Optional. State of the Database Center integration for this instance.
1486
1520
  # When unspecified, Database Center integration is enabled by default.
1521
+ # @!attribute [r] workload_replay_config
1522
+ # @return [::Google::Cloud::Sql::V1::WorkloadReplayConfig]
1523
+ # Output only. The workload replay configuration for this instance. This
1524
+ # field is set only for workload replay instances.
1525
+ # @!attribute [r] workload_capture_config
1526
+ # @return [::Google::Cloud::Sql::V1::WorkloadCaptureConfig]
1527
+ # Output only. The workload capture configuration for this instance. This
1528
+ # field is set only when an active workload capture is present on the
1529
+ # instance.
1487
1530
  class DatabaseInstance
1488
1531
  include ::Google::Protobuf::MessageExts
1489
1532
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1712,6 +1755,135 @@ module Google
1712
1755
  end
1713
1756
  end
1714
1757
 
1758
+ # The workload replay configuration for a Cloud SQL replay instance.
1759
+ # @!attribute [r] workload_id
1760
+ # @return [::String]
1761
+ # Output only. The ID of the captured workload being replayed.
1762
+ # @!attribute [r] source_instance
1763
+ # @return [::String]
1764
+ # Output only. The name of the source instance, excluding the project ID,
1765
+ # where the workload was captured.
1766
+ # @!attribute [r] replay_mode
1767
+ # @return [::Google::Cloud::Sql::V1::WorkloadReplayConfig::ReplayMode]
1768
+ # Output only. The mode of the workload replay.
1769
+ # @!attribute [r] state
1770
+ # @return [::Google::Cloud::Sql::V1::WorkloadReplayConfig::State]
1771
+ # Output only. The state of the workload replay.
1772
+ # @!attribute [r] start_time
1773
+ # @return [::Google::Protobuf::Timestamp]
1774
+ # Output only. The start time of the workload replay.
1775
+ # @!attribute [r] end_time
1776
+ # @return [::Google::Protobuf::Timestamp]
1777
+ # Output only. The end time of the workload replay. This field is unset while
1778
+ # the replay is running.
1779
+ class WorkloadReplayConfig
1780
+ include ::Google::Protobuf::MessageExts
1781
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1782
+
1783
+ # The mode of workload replay.
1784
+ module ReplayMode
1785
+ # Default value. This value is unused.
1786
+ REPLAY_MODE_UNSPECIFIED = 0
1787
+
1788
+ # Live workload replay mode.
1789
+ LIVE = 1
1790
+
1791
+ # Offline (delayed) workload replay mode.
1792
+ OFFLINE = 2
1793
+ end
1794
+
1795
+ # The state of the workload replay.
1796
+ module State
1797
+ # Default value. This value is unused.
1798
+ STATE_UNSPECIFIED = 0
1799
+
1800
+ # Workload replay is currently running.
1801
+ RUNNING = 1
1802
+
1803
+ # Workload replay completed successfully. Cloud SQL sets this state when
1804
+ # all captured workload files finish replaying or when you explicitly
1805
+ # stop the replay.
1806
+ COMPLETED = 2
1807
+
1808
+ # Workload replay failed.
1809
+ FAILED = 3
1810
+
1811
+ # Workload replay was terminated automatically. Cloud SQL sets this state
1812
+ # when it automatically stops the replay because of a conflicting
1813
+ # operation.
1814
+ TERMINATED = 4
1815
+ end
1816
+ end
1817
+
1818
+ # The workload capture configuration for a Cloud SQL primary instance.
1819
+ # @!attribute [r] workload_id
1820
+ # @return [::String]
1821
+ # Output only. The ID of the captured workload.
1822
+ # @!attribute [r] capture_mode
1823
+ # @return [::Google::Cloud::Sql::V1::WorkloadCaptureConfig::CaptureMode]
1824
+ # Output only. The mode of the workload capture.
1825
+ # @!attribute [r] state
1826
+ # @return [::Google::Cloud::Sql::V1::WorkloadCaptureConfig::State]
1827
+ # Output only. The state of the workload capture.
1828
+ # @!attribute [r] start_time
1829
+ # @return [::Google::Protobuf::Timestamp]
1830
+ # Output only. The start time of the workload capture.
1831
+ # @!attribute [r] end_time
1832
+ # @return [::Google::Protobuf::Timestamp]
1833
+ # Output only. The end time of the workload capture. This field is unset
1834
+ # while the capture is running.
1835
+ # @!attribute [r] replay_instance
1836
+ # @return [::String]
1837
+ # Output only. The name of the replay instance, excluding the project ID, if
1838
+ # live replay is enabled.
1839
+ # @!attribute [r] retention_days
1840
+ # @return [::Integer]
1841
+ # Output only. The retention period in days for the captured workload.
1842
+ # @!attribute [r] backup_id
1843
+ # @return [::String]
1844
+ # Output only. The base backup ID associated with the workload capture.
1845
+ # @!attribute [r] max_capture_duration
1846
+ # @return [::Google::Protobuf::Duration]
1847
+ # Output only. The maximum duration for this workload capture.
1848
+ class WorkloadCaptureConfig
1849
+ include ::Google::Protobuf::MessageExts
1850
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1851
+
1852
+ # The mode of workload capture.
1853
+ module CaptureMode
1854
+ # Default value. This value is unused.
1855
+ CAPTURE_MODE_UNSPECIFIED = 0
1856
+
1857
+ # Captures the workload on the primary instance without live replay.
1858
+ CAPTURE_ONLY = 1
1859
+
1860
+ # Captures the workload and simultaneously replays it on a live replay
1861
+ # instance.
1862
+ CAPTURE_AND_LIVE_REPLAY = 2
1863
+ end
1864
+
1865
+ # The state of the workload capture.
1866
+ module State
1867
+ # Default value. This value is unused.
1868
+ STATE_UNSPECIFIED = 0
1869
+
1870
+ # Workload capture is currently running.
1871
+ RUNNING = 1
1872
+
1873
+ # Workload capture completed successfully. Cloud SQL sets this state when
1874
+ # you explicitly stop the capture.
1875
+ COMPLETED = 2
1876
+
1877
+ # Workload capture failed.
1878
+ FAILED = 3
1879
+
1880
+ # Workload capture was terminated automatically. Cloud SQL sets this state
1881
+ # when it automatically stops the capture because of a conflicting
1882
+ # operation or because the capture reached its maximum duration.
1883
+ TERMINATED = 4
1884
+ end
1885
+ end
1886
+
1715
1887
  # Gemini instance configuration.
1716
1888
  # @!attribute [r] entitled
1717
1889
  # @return [::Boolean]
@@ -2283,6 +2455,25 @@ module Google
2283
2455
  extend ::Google::Protobuf::MessageExts::ClassMethods
2284
2456
  end
2285
2457
 
2458
+ # Execute SQL statements request.
2459
+ # Execute SQL statements in read-only mode request.
2460
+ # @!attribute [rw] instance
2461
+ # @return [::String]
2462
+ # Required. Database instance ID. This does not include the project ID.
2463
+ # @!attribute [rw] project
2464
+ # @return [::String]
2465
+ # Required. Project ID of the project that contains the instance.
2466
+ # @!attribute [rw] body
2467
+ # @return [::Google::Cloud::Sql::V1::ExecuteSqlReadOnlyPayload]
2468
+ # Required. The request body.
2469
+ # @!attribute [rw] location
2470
+ # @return [::String]
2471
+ # Optional. Region of the Cloud SQL instance.
2472
+ class SqlInstancesExecuteSqlReadOnlyRequest
2473
+ include ::Google::Protobuf::MessageExts
2474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2475
+ end
2476
+
2286
2477
  # @!attribute [rw] instance
2287
2478
  # @return [::String]
2288
2479
  # Required. Database instance ID. This does not include the project ID.
@@ -2300,6 +2491,47 @@ module Google
2300
2491
  extend ::Google::Protobuf::MessageExts::ClassMethods
2301
2492
  end
2302
2493
 
2494
+ # The request payload used to execute SQL statements in read-only mode.
2495
+ # @!attribute [rw] user
2496
+ # @return [::String]
2497
+ # Optional. The name of an existing database user to connect to the database.
2498
+ # When `auto_iam_authn` is set to true, this field is ignored and the API
2499
+ # caller's IAM user is used.
2500
+ # @!attribute [rw] sql_statement
2501
+ # @return [::String]
2502
+ # Required. SQL statements to run on the database. It can be a single
2503
+ # statement or a sequence of statements separated by semicolons.
2504
+ # @!attribute [rw] database
2505
+ # @return [::String]
2506
+ # Optional. Name of the database on which the statement will be executed.
2507
+ # For Postgres and SQL Server it's required, for MySQL it's optional.
2508
+ # @!attribute [rw] password_secret_version
2509
+ # @return [::String]
2510
+ # Optional. The resource name of the Secret Manager secret holding the
2511
+ # password for the user to log into the database. The secret should be
2512
+ # created using the regional endpoint (for API) or from the Regional
2513
+ # Secrets page (for UI), and stored in the same region as the Cloud SQL
2514
+ # instance. The expected resource name format is
2515
+ # `projects/{project}/locations/{location}/secrets/{secret}/versions/{secret_version}`.
2516
+ # This field is used together with the `user` field.
2517
+ # The secret resource name will not be stored.
2518
+ #
2519
+ # Note: The following fields are mutually exclusive: `password_secret_version`, `auto_iam_authn`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2520
+ # @!attribute [rw] auto_iam_authn
2521
+ # @return [::Boolean]
2522
+ # Optional. When set to true, the API caller identity associated with the
2523
+ # request is used for database authentication. The API caller must be an
2524
+ # IAM user in the database.
2525
+ #
2526
+ # Note: The following fields are mutually exclusive: `auto_iam_authn`, `password_secret_version`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2527
+ # @!attribute [rw] row_limit
2528
+ # @return [::Integer]
2529
+ # Optional. The maximum number of rows returned per SQL statement.
2530
+ class ExecuteSqlReadOnlyPayload
2531
+ include ::Google::Protobuf::MessageExts
2532
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2533
+ end
2534
+
2303
2535
  # The request payload used to execute SQL statements.
2304
2536
  # @!attribute [rw] user
2305
2537
  # @return [::String]
@@ -2367,6 +2599,30 @@ module Google
2367
2599
  end
2368
2600
  end
2369
2601
 
2602
+ # Execute SQL statements response.
2603
+ # Execute SQL statements in read-only mode response.
2604
+ # @!attribute [rw] messages
2605
+ # @return [::Array<::Google::Cloud::Sql::V1::SqlInstancesExecuteSqlResponse::Message>]
2606
+ # A list of notices and warnings generated during query execution.
2607
+ # For PostgreSQL, this includes all notices and warnings.
2608
+ # For MySQL, this includes warnings generated by the last executed statement.
2609
+ # To retrieve all warnings for a multi-statement query, `SHOW WARNINGS` must
2610
+ # be executed after each statement.
2611
+ # @!attribute [rw] metadata
2612
+ # @return [::Google::Cloud::Sql::V1::Metadata]
2613
+ # The additional metadata information regarding the execution of the SQL
2614
+ # statements.
2615
+ # @!attribute [rw] results
2616
+ # @return [::Array<::Google::Cloud::Sql::V1::QueryResult>]
2617
+ # The list of results after executing all the SQL statements.
2618
+ # @!attribute [rw] status
2619
+ # @return [::Google::Rpc::Status]
2620
+ # Contains the error from the database if the SQL execution failed.
2621
+ class SqlInstancesExecuteSqlReadOnlyResponse
2622
+ include ::Google::Protobuf::MessageExts
2623
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2624
+ end
2625
+
2370
2626
  # @!attribute [rw] messages
2371
2627
  # @return [::Array<::Google::Cloud::Sql::V1::SqlInstancesExecuteSqlResponse::Message>]
2372
2628
  # A list of notices and warnings generated during query execution.
@@ -2544,6 +2800,48 @@ module Google
2544
2800
  extend ::Google::Protobuf::MessageExts::ClassMethods
2545
2801
  end
2546
2802
 
2803
+ # Request message for SqlInstancesService.ReconcileNetworking.
2804
+ # @!attribute [rw] instance
2805
+ # @return [::String]
2806
+ # Required. Cloud SQL instance ID.
2807
+ # @!attribute [rw] project
2808
+ # @return [::String]
2809
+ # Required. Project ID of the project that contains the instance.
2810
+ # @!attribute [rw] psc_dns
2811
+ # @return [::Google::Cloud::Sql::V1::PscDnsReconcileNetworkingRequest]
2812
+ # Request to recreate Private Service Connect DNS write endpoints and
2813
+ # reconcile Private Service Connect connectivity infrastructure for the
2814
+ # instance.
2815
+ # @!attribute [rw] location
2816
+ # @return [::String]
2817
+ # Optional. Region of the Cloud SQL instance.
2818
+ class SqlInstancesReconcileNetworkingRequest
2819
+ include ::Google::Protobuf::MessageExts
2820
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2821
+ end
2822
+
2823
+ # Request parameters specific to PSC DNS networking reconciliation.
2824
+ # @!attribute [rw] networks
2825
+ # @return [::Array<::String>]
2826
+ # Optional. List of specific consumer VPC networks to reconcile. They must be
2827
+ # specified as full resource names (e.g.,
2828
+ # "projects/my-consumer-project/global/networks/prod-vpc"). If empty,
2829
+ # recreates Write Endpoints for all the consumer networks associated with
2830
+ # this instance.
2831
+ # @!attribute [rw] force
2832
+ # @return [::Boolean]
2833
+ # Optional. Set `true` to force the reset and reapplication of Private
2834
+ # Service Connect connectivity infrastructure if standard reconciliation does
2835
+ # not resolve automated DNS issues. This operation might cause a brief
2836
+ # disruption in network connectivity for connected VPC networks while
2837
+ # settings are reapplied. Use this option only when standard reconciliation
2838
+ # fails to resolve networking issues (for example, if connectivity resources
2839
+ # are stuck in an updating or creating state).
2840
+ class PscDnsReconcileNetworkingRequest
2841
+ include ::Google::Protobuf::MessageExts
2842
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2843
+ end
2844
+
2547
2845
  # External Sync parallel level.
2548
2846
  module ExternalSyncParallelLevel
2549
2847
  # Unknown sync parallel level. Will be defaulted to OPTIMAL.
@@ -1552,6 +1552,10 @@ module Google
1552
1552
 
1553
1553
  # Deletes a Blue-Green deployment.
1554
1554
  DELETE_BLUE_GREEN_DEPLOYMENT = 58
1555
+
1556
+ # Reconciles network infrastructure (e.g. Private Service Connect,
1557
+ # Automated DNS Records).
1558
+ RECONCILE_NETWORKING = 64
1555
1559
  end
1556
1560
 
1557
1561
  # The status of an operation.
@@ -1775,6 +1779,14 @@ module Google
1775
1779
  # @!attribute [rw] insights_config
1776
1780
  # @return [::Google::Cloud::Sql::V1::InsightsConfig]
1777
1781
  # Insights configuration, for now relevant only for Postgres.
1782
+ # @!attribute [rw] msdtc_enabled
1783
+ # @return [::Boolean]
1784
+ # Optional. Enables Microsoft Distributed Transaction Coordinator (MSDTC) for
1785
+ # SQL Server.
1786
+ # @!attribute [rw] msdtc_rpc_auth_mode
1787
+ # @return [::Google::Cloud::Sql::V1::Settings::MsdtcRpcAuthMode]
1788
+ # Optional. RPC authentication mode for Microsoft Distributed Transaction
1789
+ # Coordinator (MSDTC).
1778
1790
  # @!attribute [rw] password_validation_policy
1779
1791
  # @return [::Google::Cloud::Sql::V1::PasswordValidationPolicy]
1780
1792
  # The local user password validation policy of the instance for PostgreSQL
@@ -1868,6 +1880,10 @@ module Google
1868
1880
  # @return [::Google::Cloud::Sql::V1::PerformanceCaptureConfig]
1869
1881
  # Optional. Configuration for Performance Capture, provides diagnostic
1870
1882
  # metrics during high load situations.
1883
+ # @!attribute [rw] initial_users_config
1884
+ # @return [::Google::Cloud::Sql::V1::InitialUsersConfig]
1885
+ # Optional. Input only. Users to be created on the instance during instance
1886
+ # creation.
1871
1887
  class Settings
1872
1888
  include ::Google::Protobuf::MessageExts
1873
1889
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1896,6 +1912,30 @@ module Google
1896
1912
  ON_DEMAND = 3
1897
1913
  end
1898
1914
 
1915
+ # RPC authentication modes for Microsoft Distributed Transaction Coordinator
1916
+ # (MSDTC).
1917
+ module MsdtcRpcAuthMode
1918
+ # Unspecified RPC authentication mode.
1919
+ MSDTC_RPC_AUTH_MODE_UNSPECIFIED = 0
1920
+
1921
+ # Allow only secure RPC calls. Both servers (caller and receiver) must
1922
+ # successfully verify each other's identities, typically using Active
1923
+ # Directory machine accounts and Kerberos Service Principal Names (SPNs).
1924
+ # This is equivalent to Mutual Authentication in Microsoft SQL Server on
1925
+ # Windows.
1926
+ ALLOW_ONLY_SECURE_RPC_CALLS = 1
1927
+
1928
+ # Similar to Incoming authentication mode in Microsoft SQL Server on
1929
+ # Windows, the caller authenticates to the receiver.
1930
+ # The receiver verifies the caller's identity, but the Receiver does not
1931
+ # authenticate itself back to the caller.
1932
+ FALLBACK_TO_UNSECURE_RPC_IF_NECESSARY = 2
1933
+
1934
+ # No authentication. Highly insecure and thus should only be used on
1935
+ # already secure networks and never over public IP.
1936
+ TURN_OFF_RPC_SECURITY = 3
1937
+ end
1938
+
1899
1939
  # The list of Cloud SQL editions available to users.
1900
1940
  module Edition
1901
1941
  # The instance did not specify the edition.
@@ -2159,6 +2199,59 @@ module Google
2159
2199
  extend ::Google::Protobuf::MessageExts::ClassMethods
2160
2200
  end
2161
2201
 
2202
+ # DNS Entry for the primary instance in a replication topology.
2203
+ # @!attribute [rw] dns
2204
+ # @return [::String]
2205
+ # Required. The DNS name.
2206
+ # @!attribute [rw] ipv4_address
2207
+ # @return [::String]
2208
+ # Required. The IP address.
2209
+ class DNSEntry
2210
+ include ::Google::Protobuf::MessageExts
2211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2212
+ end
2213
+
2214
+ # A single certificate or key in a customer managed certificate bundle.
2215
+ # @!attribute [rw] certificate_type
2216
+ # @return [::Google::Cloud::Sql::V1::CertificateType]
2217
+ # Required. The certificate type.
2218
+ # @!attribute [rw] content
2219
+ # @return [::String]
2220
+ # Required. Input only. The PEM-encoded certificate or key content in base64
2221
+ # format.
2222
+ # @!attribute [r] file_path
2223
+ # @return [::String]
2224
+ # Output only. File path of the PEM-encoded certificate or key content on the
2225
+ # database virtual machine. This path can be used by database extensions or
2226
+ # plugins (for example, to configure `pglogical` in PostgreSQL) that need to
2227
+ # reference the certificate or key file directly on the VM's filesystem, ex:
2228
+ # certs/c1/server-ca.pem
2229
+ class CustomerManagedCertificate
2230
+ include ::Google::Protobuf::MessageExts
2231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2232
+ end
2233
+
2234
+ # Customer managed certificate SSL configuration.
2235
+ # @!attribute [r] bundle
2236
+ # @return [::String]
2237
+ # Output only. The name of the customer managed certificate configuration.
2238
+ # This name will be used to identify a certificate bundle.
2239
+ # @!attribute [rw] intent
2240
+ # @return [::Google::Cloud::Sql::V1::Intent]
2241
+ # Required. The intent for this customer managed certificate configuration.
2242
+ # @!attribute [rw] primary_dns_record
2243
+ # @return [::Google::Cloud::Sql::V1::DNSEntry]
2244
+ # DNS name associated with the primary instance in a replication topology.
2245
+ # This is needed to insert a DNS entry in a replica VM.
2246
+ # @!attribute [rw] customer_managed_certificates
2247
+ # @return [::Array<::Google::Cloud::Sql::V1::CustomerManagedCertificate>]
2248
+ # Required. The server CA certificate, client key and client certificate. You
2249
+ # can specify up to 3 certificates in a bundle.
2250
+ class CustomerManagedCertificateConfig
2251
+ include ::Google::Protobuf::MessageExts
2252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2253
+ end
2254
+
2162
2255
  # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
2163
2256
  # @!attribute [rw] kind
2164
2257
  # @return [::String]
@@ -2235,6 +2328,68 @@ module Google
2235
2328
  extend ::Google::Protobuf::MessageExts::ClassMethods
2236
2329
  end
2237
2330
 
2331
+ # Configuration for users created during instance creation.
2332
+ # @!attribute [rw] initial_users
2333
+ # @return [::Array<::Google::Cloud::Sql::V1::InitialUsersConfig::InitialUser>]
2334
+ # Optional. List of IAM users to be created during instance creation.
2335
+ # A maximum of 5 users are allowed.
2336
+ class InitialUsersConfig
2337
+ include ::Google::Protobuf::MessageExts
2338
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2339
+
2340
+ # Configuration for an IAM user created during instance creation.
2341
+ # @!attribute [rw] name
2342
+ # @return [::String]
2343
+ # Required. The name of the user in the Cloud SQL instance.
2344
+ # @!attribute [rw] type
2345
+ # @return [::Google::Cloud::Sql::V1::InitialUsersConfig::InitialUser::SqlUserType]
2346
+ # Required. The user type. Cannot be BUILT_IN.
2347
+ # @!attribute [rw] roles
2348
+ # @return [::Array<::String>]
2349
+ # Optional. The database roles to be assigned to the user. If empty, will
2350
+ # grant role `cloudsqlsuperuser`.
2351
+ class InitialUser
2352
+ include ::Google::Protobuf::MessageExts
2353
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2354
+
2355
+ # The user type.
2356
+ module SqlUserType
2357
+ # The database's built-in user type. Not supported for initial user
2358
+ # creation.
2359
+ BUILT_IN = 0
2360
+
2361
+ # Cloud IAM user.
2362
+ # MySQL will truncate the @ and domain when it stores the user.
2363
+ CLOUD_IAM_USER = 1
2364
+
2365
+ # Cloud IAM service account.
2366
+ # For PostgreSQL, omit the .gserviceaccount.com suffix.
2367
+ # MySQL will truncate the @ and domain when it stores the user.
2368
+ CLOUD_IAM_SERVICE_ACCOUNT = 2
2369
+
2370
+ # Cloud IAM group.
2371
+ CLOUD_IAM_GROUP = 3
2372
+
2373
+ # Login for a user that belongs to the Cloud IAM group. Not supported for
2374
+ # initial user creation.
2375
+ CLOUD_IAM_GROUP_USER = 4
2376
+
2377
+ # Login for a service account that belongs to the
2378
+ # Cloud IAM group. Not supported for initial user creation.
2379
+ CLOUD_IAM_GROUP_SERVICE_ACCOUNT = 5
2380
+
2381
+ # Cloud IAM workforce identity.
2382
+ CLOUD_IAM_WORKFORCE_IDENTITY = 6
2383
+
2384
+ # Microsoft Entra ID user. Not supported for initial user creation.
2385
+ ENTRAID_USER = 7
2386
+
2387
+ # Active Directory user. Not supported for initial user creation.
2388
+ ACTIVE_DIRECTORY_USER = 8
2389
+ end
2390
+ end
2391
+ end
2392
+
2238
2393
  # Acquire SSRS lease context.
2239
2394
  # @!attribute [rw] setup_login
2240
2395
  # @return [::String]
@@ -2373,6 +2528,10 @@ module Google
2373
2528
  # instance. Each workload capture generates a unique ID in the format
2374
2529
  # `workload-<epoch_timestamp>` (for example, `workload-1786046400`). Use this
2375
2530
  # ID to start executing the recorded SQL queries.
2531
+ # @!attribute [r] source_instance
2532
+ # @return [::String]
2533
+ # Output only. The name of the source Cloud SQL instance where the workload
2534
+ # was captured, excluding the project ID (for example, `my-source-instance`).
2376
2535
  class StartWorkloadReplayContext
2377
2536
  include ::Google::Protobuf::MessageExts
2378
2537
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2441,6 +2600,39 @@ module Google
2441
2600
  REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE = 4
2442
2601
  end
2443
2602
 
2603
+ # Certificate type for customer managed certificates.
2604
+ module CertificateType
2605
+ # Unspecified certificate type.
2606
+ CERTIFICATE_TYPE_UNSPECIFIED = 0
2607
+
2608
+ # The x509 PEM-encoded certificate of the CA that signed the source database
2609
+ # server's certificate.
2610
+ CERTIFICATE_TYPE_PEER_SERVER_CA = 1
2611
+
2612
+ # The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with
2613
+ # the Client Certificate.
2614
+ CERTIFICATE_TYPE_PEER_CLIENT_KEY = 2
2615
+
2616
+ # The x509 PEM-encoded certificate used by the client to authenticate
2617
+ # against the source database server.
2618
+ CERTIFICATE_TYPE_PEER_CLIENT_CERTIFICATE = 3
2619
+ end
2620
+
2621
+ # Intent for the customer managed certificate configuration.
2622
+ module Intent
2623
+ # Unspecified intent.
2624
+ INTENT_UNSPECIFIED = 0
2625
+
2626
+ # Configures customer-managed certificates for pg_logical extension to
2627
+ # achieve mTLS authentication.
2628
+ PG_LOGICAL = 1
2629
+
2630
+ # Configures customer-managed certificates for built-in PostgreSQL native
2631
+ # replication to achieve mTLS authentication. Supported for Cloud SQL for
2632
+ # PostgreSQL 10 and later.
2633
+ NATIVE_REPLICATION = 2
2634
+ end
2635
+
2444
2636
  module SqlBackendType
2445
2637
  # This is an unknown backend type for instance.
2446
2638
  SQL_BACKEND_TYPE_UNSPECIFIED = 0
@@ -114,6 +114,75 @@ module Google
114
114
  include ::Google::Protobuf::MessageExts
115
115
  extend ::Google::Protobuf::MessageExts::ClassMethods
116
116
  end
117
+
118
+ # Request message for SqlSslCertsService.UpdateCustomerManagedCertificate.
119
+ # @!attribute [rw] instance
120
+ # @return [::String]
121
+ # Required. Cloud SQL instance ID. This does not include the project ID.
122
+ # @!attribute [rw] project
123
+ # @return [::String]
124
+ # Required. Project ID of the project that contains the instance.
125
+ # @!attribute [rw] customer_managed_certificate_config
126
+ # @return [::Google::Cloud::Sql::V1::CustomerManagedCertificateConfig]
127
+ # Required. The customer managed certificate bundle SSL configuration to
128
+ # update.
129
+ # @!attribute [rw] update_mask
130
+ # @return [::Google::Protobuf::FieldMask]
131
+ # Optional. The list of fields to be updated.
132
+ # @!attribute [rw] allow_missing
133
+ # @return [::Boolean]
134
+ # Optional. If set to true, and the customer managed certificate bundle
135
+ # configuration is not found, a new customer managed certificate bundle
136
+ # configuration will be created. In this situation, `update_mask` is ignored.
137
+ # @!attribute [rw] certificate_bundle
138
+ # @return [::String]
139
+ # Required. Name tag of the customer managed certificate bundle to update. It
140
+ # must start with a letter, be alphanumeric, and have a maximum length of 10
141
+ # characters.
142
+ class UpdateCustomerManagedCertificateRequest
143
+ include ::Google::Protobuf::MessageExts
144
+ extend ::Google::Protobuf::MessageExts::ClassMethods
145
+ end
146
+
147
+ # Request message for SqlSslCertsService.DeleteCustomerManagedCertificate.
148
+ # @!attribute [rw] instance
149
+ # @return [::String]
150
+ # Required. Cloud SQL instance ID. This does not include the project ID.
151
+ # @!attribute [rw] project
152
+ # @return [::String]
153
+ # Required. Project ID of the project that contains the instance.
154
+ # @!attribute [rw] certificate_bundle
155
+ # @return [::String]
156
+ # Required. Name tag of the customer managed certificate bundle to delete. It
157
+ # must start with a letter, be alphanumeric, and have a maximum length of 10
158
+ # characters.
159
+ class DeleteCustomerManagedCertificateRequest
160
+ include ::Google::Protobuf::MessageExts
161
+ extend ::Google::Protobuf::MessageExts::ClassMethods
162
+ end
163
+
164
+ # Request message for SqlSslCertsService.ListCustomerManagedCertificates.
165
+ # @!attribute [rw] instance
166
+ # @return [::String]
167
+ # Required. Cloud SQL instance ID. This does not include the project ID.
168
+ # @!attribute [rw] project
169
+ # @return [::String]
170
+ # Required. Project ID of the project that contains the instance.
171
+ class ListCustomerManagedCertificatesRequest
172
+ include ::Google::Protobuf::MessageExts
173
+ extend ::Google::Protobuf::MessageExts::ClassMethods
174
+ end
175
+
176
+ # Response message for SqlSslCertsService.ListCustomerManagedCertificates.
177
+ # @!attribute [rw] customer_managed_certificates
178
+ # @return [::Array<::Google::Cloud::Sql::V1::CustomerManagedCertificateConfig>]
179
+ # Required. List of customer managed SSL configurations for the instance.
180
+ # Note: Sensitive private keys (e.g., PEER_CLIENT_KEY) are redacted in this
181
+ # response.
182
+ class ListCustomerManagedCertificatesResponse
183
+ include ::Google::Protobuf::MessageExts
184
+ extend ::Google::Protobuf::MessageExts::ClassMethods
185
+ end
117
186
  end
118
187
  end
119
188
  end