google-apis-alloydb_v1alpha 0.18.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -247,6 +247,13 @@ module Google
247
247
  # @return [String]
248
248
  attr_accessor :state
249
249
 
250
+ # Optional. Input only. Immutable. Tag keys/values directly bound to this
251
+ # resource. For example: ``` "123/environment": "production", "123/costCenter": "
252
+ # marketing" ```
253
+ # Corresponds to the JSON property `tags`
254
+ # @return [Hash<String,String>]
255
+ attr_accessor :tags
256
+
250
257
  # The backup type, which suggests the trigger for the backup.
251
258
  # Corresponds to the JSON property `type`
252
259
  # @return [String]
@@ -289,6 +296,7 @@ module Google
289
296
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
290
297
  @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
291
298
  @state = args[:state] if args.key?(:state)
299
+ @tags = args[:tags] if args.key?(:tags)
292
300
  @type = args[:type] if args.key?(:type)
293
301
  @uid = args[:uid] if args.key?(:uid)
294
302
  @update_time = args[:update_time] if args.key?(:update_time)
@@ -389,6 +397,38 @@ module Google
389
397
  end
390
398
  end
391
399
 
400
+ # The source CloudSQL backup resource.
401
+ class CloudSqlBackupRunSource
402
+ include Google::Apis::Core::Hashable
403
+
404
+ # Required. The CloudSQL backup run ID.
405
+ # Corresponds to the JSON property `backupRunId`
406
+ # @return [Fixnum]
407
+ attr_accessor :backup_run_id
408
+
409
+ # Required. The CloudSQL instance ID.
410
+ # Corresponds to the JSON property `instanceId`
411
+ # @return [String]
412
+ attr_accessor :instance_id
413
+
414
+ # The project ID of the source CloudSQL instance. This should be the same as the
415
+ # AlloyDB cluster's project.
416
+ # Corresponds to the JSON property `project`
417
+ # @return [String]
418
+ attr_accessor :project
419
+
420
+ def initialize(**args)
421
+ update!(**args)
422
+ end
423
+
424
+ # Update properties of this object
425
+ def update!(**args)
426
+ @backup_run_id = args[:backup_run_id] if args.key?(:backup_run_id)
427
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
428
+ @project = args[:project] if args.key?(:project)
429
+ end
430
+ end
431
+
392
432
  # A cluster is a collection of regional AlloyDB resources. It can include a
393
433
  # primary instance and one or more read pool instances. All cluster resources
394
434
  # share a storage layer, which scales as needed.
@@ -413,6 +453,11 @@ module Google
413
453
  # @return [Google::Apis::AlloydbV1alpha::BackupSource]
414
454
  attr_accessor :backup_source
415
455
 
456
+ # The source CloudSQL backup resource.
457
+ # Corresponds to the JSON property `cloudsqlBackupRunSource`
458
+ # @return [Google::Apis::AlloydbV1alpha::CloudSqlBackupRunSource]
459
+ attr_accessor :cloudsql_backup_run_source
460
+
416
461
  # Output only. The type of the cluster. This is an output-only field and it's
417
462
  # populated at the Cluster creation time or the Cluster promotion time. The
418
463
  # cluster type is determined by which RPC was used to create the cluster (i.e. `
@@ -586,6 +631,13 @@ module Google
586
631
  # @return [String]
587
632
  attr_accessor :subscription_type
588
633
 
634
+ # Optional. Input only. Immutable. Tag keys/values directly bound to this
635
+ # resource. For example: ``` "123/environment": "production", "123/costCenter": "
636
+ # marketing" ```
637
+ # Corresponds to the JSON property `tags`
638
+ # @return [Hash<String,String>]
639
+ attr_accessor :tags
640
+
589
641
  # Contains information and all metadata related to TRIAL clusters.
590
642
  # Corresponds to the JSON property `trialMetadata`
591
643
  # @return [Google::Apis::AlloydbV1alpha::TrialMetadata]
@@ -611,6 +663,7 @@ module Google
611
663
  @annotations = args[:annotations] if args.key?(:annotations)
612
664
  @automated_backup_policy = args[:automated_backup_policy] if args.key?(:automated_backup_policy)
613
665
  @backup_source = args[:backup_source] if args.key?(:backup_source)
666
+ @cloudsql_backup_run_source = args[:cloudsql_backup_run_source] if args.key?(:cloudsql_backup_run_source)
614
667
  @cluster_type = args[:cluster_type] if args.key?(:cluster_type)
615
668
  @continuous_backup_config = args[:continuous_backup_config] if args.key?(:continuous_backup_config)
616
669
  @continuous_backup_info = args[:continuous_backup_info] if args.key?(:continuous_backup_info)
@@ -639,12 +692,64 @@ module Google
639
692
  @ssl_config = args[:ssl_config] if args.key?(:ssl_config)
640
693
  @state = args[:state] if args.key?(:state)
641
694
  @subscription_type = args[:subscription_type] if args.key?(:subscription_type)
695
+ @tags = args[:tags] if args.key?(:tags)
642
696
  @trial_metadata = args[:trial_metadata] if args.key?(:trial_metadata)
643
697
  @uid = args[:uid] if args.key?(:uid)
644
698
  @update_time = args[:update_time] if args.key?(:update_time)
645
699
  end
646
700
  end
647
701
 
702
+ # Upgrade details of a cluster. This cluster can be primary or secondary.
703
+ class ClusterUpgradeDetails
704
+ include Google::Apis::Core::Hashable
705
+
706
+ # Cluster type which can either be primary or secondary.
707
+ # Corresponds to the JSON property `clusterType`
708
+ # @return [String]
709
+ attr_accessor :cluster_type
710
+
711
+ # Database version of the cluster after the upgrade operation. This will be the
712
+ # target version if the upgrade was successful otherwise it remains the same as
713
+ # that before the upgrade operation.
714
+ # Corresponds to the JSON property `databaseVersion`
715
+ # @return [String]
716
+ attr_accessor :database_version
717
+
718
+ # Upgrade details of the instances directly associated with this cluster.
719
+ # Corresponds to the JSON property `instanceUpgradeDetails`
720
+ # @return [Array<Google::Apis::AlloydbV1alpha::InstanceUpgradeDetails>]
721
+ attr_accessor :instance_upgrade_details
722
+
723
+ # Normalized name of the cluster
724
+ # Corresponds to the JSON property `name`
725
+ # @return [String]
726
+ attr_accessor :name
727
+
728
+ # Array containing stage info associated with this cluster.
729
+ # Corresponds to the JSON property `stageInfo`
730
+ # @return [Array<Google::Apis::AlloydbV1alpha::StageInfo>]
731
+ attr_accessor :stage_info
732
+
733
+ # Upgrade status of the cluster.
734
+ # Corresponds to the JSON property `upgradeStatus`
735
+ # @return [String]
736
+ attr_accessor :upgrade_status
737
+
738
+ def initialize(**args)
739
+ update!(**args)
740
+ end
741
+
742
+ # Update properties of this object
743
+ def update!(**args)
744
+ @cluster_type = args[:cluster_type] if args.key?(:cluster_type)
745
+ @database_version = args[:database_version] if args.key?(:database_version)
746
+ @instance_upgrade_details = args[:instance_upgrade_details] if args.key?(:instance_upgrade_details)
747
+ @name = args[:name] if args.key?(:name)
748
+ @stage_info = args[:stage_info] if args.key?(:stage_info)
749
+ @upgrade_status = args[:upgrade_status] if args.key?(:upgrade_status)
750
+ end
751
+ end
752
+
648
753
  # ConnectionInfo singleton resource. https://google.aip.dev/156
649
754
  class ConnectionInfo
650
755
  include Google::Apis::Core::Hashable
@@ -804,6 +909,49 @@ module Google
804
909
  end
805
910
  end
806
911
 
912
+ # Options for exporting data in CSV format.
913
+ class CsvExportOptions
914
+ include Google::Apis::Core::Hashable
915
+
916
+ # Optional. Specifies the character that should appear before a data character
917
+ # that needs to be escaped. The default is the same as quote character. The
918
+ # value of this argument has to be a character in Hex ASCII Code.
919
+ # Corresponds to the JSON property `escapeCharacter`
920
+ # @return [String]
921
+ attr_accessor :escape_character
922
+
923
+ # Optional. Specifies the character that separates columns within each row (line)
924
+ # of the file. The default is comma. The value of this argument has to be a
925
+ # character in Hex ASCII Code.
926
+ # Corresponds to the JSON property `fieldDelimiter`
927
+ # @return [String]
928
+ attr_accessor :field_delimiter
929
+
930
+ # Optional. Specifies the quoting character to be used when a data value is
931
+ # quoted. The default is double-quote. The value of this argument has to be a
932
+ # character in Hex ASCII Code.
933
+ # Corresponds to the JSON property `quoteCharacter`
934
+ # @return [String]
935
+ attr_accessor :quote_character
936
+
937
+ # Required. The SELECT query used to extract the data.
938
+ # Corresponds to the JSON property `selectQuery`
939
+ # @return [String]
940
+ attr_accessor :select_query
941
+
942
+ def initialize(**args)
943
+ update!(**args)
944
+ end
945
+
946
+ # Update properties of this object
947
+ def update!(**args)
948
+ @escape_character = args[:escape_character] if args.key?(:escape_character)
949
+ @field_delimiter = args[:field_delimiter] if args.key?(:field_delimiter)
950
+ @quote_character = args[:quote_character] if args.key?(:quote_character)
951
+ @select_query = args[:select_query] if args.key?(:select_query)
952
+ end
953
+ end
954
+
807
955
  # A generic empty message that you can re-use to avoid defining duplicated empty
808
956
  # messages in your APIs. A typical example is to use it as the request or the
809
957
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -868,26 +1016,66 @@ module Google
868
1016
  end
869
1017
  end
870
1018
 
1019
+ # Export cluster request.
1020
+ class ExportClusterRequest
1021
+ include Google::Apis::Core::Hashable
1022
+
1023
+ # Options for exporting data in CSV format.
1024
+ # Corresponds to the JSON property `csvExportOptions`
1025
+ # @return [Google::Apis::AlloydbV1alpha::CsvExportOptions]
1026
+ attr_accessor :csv_export_options
1027
+
1028
+ # Required. Name of the database where the export command will be executed. Note
1029
+ # - Value provided should be the same as expected from `SELECT current_database()
1030
+ # ;` and NOT as a resource reference.
1031
+ # Corresponds to the JSON property `database`
1032
+ # @return [String]
1033
+ attr_accessor :database
1034
+
1035
+ # Destination for Export. Export will be done to cloud storage.
1036
+ # Corresponds to the JSON property `gcsDestination`
1037
+ # @return [Google::Apis::AlloydbV1alpha::GcsDestination]
1038
+ attr_accessor :gcs_destination
1039
+
1040
+ # Options for exporting data in SQL format.
1041
+ # Corresponds to the JSON property `sqlExportOptions`
1042
+ # @return [Google::Apis::AlloydbV1alpha::SqlExportOptions]
1043
+ attr_accessor :sql_export_options
1044
+
1045
+ def initialize(**args)
1046
+ update!(**args)
1047
+ end
1048
+
1049
+ # Update properties of this object
1050
+ def update!(**args)
1051
+ @csv_export_options = args[:csv_export_options] if args.key?(:csv_export_options)
1052
+ @database = args[:database] if args.key?(:database)
1053
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
1054
+ @sql_export_options = args[:sql_export_options] if args.key?(:sql_export_options)
1055
+ end
1056
+ end
1057
+
871
1058
  # Message for triggering failover on an Instance
872
1059
  class FailoverInstanceRequest
873
1060
  include Google::Apis::Core::Hashable
874
1061
 
875
1062
  # Optional. An optional request ID to identify requests. Specify a unique
876
- # request ID so that if you must retry your request, the server will know to
877
- # ignore the request if it has already been completed. The server will guarantee
878
- # that for at least 60 minutes after the first request. For example, consider a
879
- # situation where you make an initial request and the request times out. If you
880
- # make the request again with the same request ID, the server can check if
881
- # original operation with the same request ID was received, and if so, will
882
- # ignore the second request. This prevents clients from accidentally creating
883
- # duplicate commitments. The request ID must be a valid UUID with the exception
884
- # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
1063
+ # request ID so that if you must retry your request, the server ignores the
1064
+ # request if it has already been completed. The server guarantees that for at
1065
+ # least 60 minutes since the first request. For example, consider a situation
1066
+ # where you make an initial request and the request times out. If you make the
1067
+ # request again with the same request ID, the server can check if the original
1068
+ # operation with the same request ID was received, and if so, ignores the second
1069
+ # request. This prevents clients from accidentally creating duplicate
1070
+ # commitments. The request ID must be a valid UUID with the exception that zero
1071
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
885
1072
  # Corresponds to the JSON property `requestId`
886
1073
  # @return [String]
887
1074
  attr_accessor :request_id
888
1075
 
889
- # Optional. If set, performs request validation (e.g. permission checks and any
890
- # other type of validation), but do not actually execute the failover.
1076
+ # Optional. If set, performs request validation, for example, permission checks
1077
+ # and any other type of validation, but does not actually execute the create
1078
+ # request.
891
1079
  # Corresponds to the JSON property `validateOnly`
892
1080
  # @return [Boolean]
893
1081
  attr_accessor :validate_only
@@ -904,6 +1092,26 @@ module Google
904
1092
  end
905
1093
  end
906
1094
 
1095
+ # Destination for Export. Export will be done to cloud storage.
1096
+ class GcsDestination
1097
+ include Google::Apis::Core::Hashable
1098
+
1099
+ # Required. The path to the file in Google Cloud Storage where the export will
1100
+ # be stored. The URI is in the form `gs://bucketName/fileName`.
1101
+ # Corresponds to the JSON property `uri`
1102
+ # @return [String]
1103
+ attr_accessor :uri
1104
+
1105
+ def initialize(**args)
1106
+ update!(**args)
1107
+ end
1108
+
1109
+ # Update properties of this object
1110
+ def update!(**args)
1111
+ @uri = args[:uri] if args.key?(:uri)
1112
+ end
1113
+ end
1114
+
907
1115
  # Cluster level configuration parameters related to the Gemini in Databases add-
908
1116
  # on.
909
1117
  class GeminiClusterConfig
@@ -1030,24 +1238,28 @@ module Google
1030
1238
  class GoogleTypeTimeOfDay
1031
1239
  include Google::Apis::Core::Hashable
1032
1240
 
1033
- # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
1034
- # allow the value "24:00:00" for scenarios like business closing time.
1241
+ # Hours of a day in 24 hour format. Must be greater than or equal to 0 and
1242
+ # typically must be less than or equal to 23. An API may choose to allow the
1243
+ # value "24:00:00" for scenarios like business closing time.
1035
1244
  # Corresponds to the JSON property `hours`
1036
1245
  # @return [Fixnum]
1037
1246
  attr_accessor :hours
1038
1247
 
1039
- # Minutes of hour of day. Must be from 0 to 59.
1248
+ # Minutes of an hour. Must be greater than or equal to 0 and less than or equal
1249
+ # to 59.
1040
1250
  # Corresponds to the JSON property `minutes`
1041
1251
  # @return [Fixnum]
1042
1252
  attr_accessor :minutes
1043
1253
 
1044
- # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1254
+ # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and
1255
+ # less than or equal to 999,999,999.
1045
1256
  # Corresponds to the JSON property `nanos`
1046
1257
  # @return [Fixnum]
1047
1258
  attr_accessor :nanos
1048
1259
 
1049
- # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1050
- # allow the value 60 if it allows leap-seconds.
1260
+ # Seconds of a minute. Must be greater than or equal to 0 and typically must be
1261
+ # less than or equal to 59. An API may allow the value 60 if it allows leap-
1262
+ # seconds.
1051
1263
  # Corresponds to the JSON property `seconds`
1052
1264
  # @return [Fixnum]
1053
1265
  attr_accessor :seconds
@@ -1075,21 +1287,22 @@ module Google
1075
1287
  attr_accessor :fault_type
1076
1288
 
1077
1289
  # Optional. An optional request ID to identify requests. Specify a unique
1078
- # request ID so that if you must retry your request, the server will know to
1079
- # ignore the request if it has already been completed. The server will guarantee
1080
- # that for at least 60 minutes after the first request. For example, consider a
1081
- # situation where you make an initial request and the request times out. If you
1082
- # make the request again with the same request ID, the server can check if
1083
- # original operation with the same request ID was received, and if so, will
1084
- # ignore the second request. This prevents clients from accidentally creating
1085
- # duplicate commitments. The request ID must be a valid UUID with the exception
1086
- # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
1290
+ # request ID so that if you must retry your request, the server ignores the
1291
+ # request if it has already been completed. The server guarantees that for at
1292
+ # least 60 minutes since the first request. For example, consider a situation
1293
+ # where you make an initial request and the request times out. If you make the
1294
+ # request again with the same request ID, the server can check if the original
1295
+ # operation with the same request ID was received, and if so, ignores the second
1296
+ # request. This prevents clients from accidentally creating duplicate
1297
+ # commitments. The request ID must be a valid UUID with the exception that zero
1298
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
1087
1299
  # Corresponds to the JSON property `requestId`
1088
1300
  # @return [String]
1089
1301
  attr_accessor :request_id
1090
1302
 
1091
- # Optional. If set, performs request validation (e.g. permission checks and any
1092
- # other type of validation), but do not actually execute the fault injection.
1303
+ # Optional. If set, performs request validation, for example, permission checks
1304
+ # and any other type of validation, but does not actually execute the create
1305
+ # request.
1093
1306
  # Corresponds to the JSON property `validateOnly`
1094
1307
  # @return [Boolean]
1095
1308
  attr_accessor :validate_only
@@ -1137,16 +1350,17 @@ module Google
1137
1350
  # @return [String]
1138
1351
  attr_accessor :create_time
1139
1352
 
1140
- # Database flags. Set at instance level. * They are copied from primary instance
1141
- # on read instance creation. * Read instances can set new or override existing
1142
- # flags that are relevant for reads, e.g. for enabling columnar cache on a read
1143
- # instance. Flags set on read instance may or may not be present on primary.
1144
- # This is a list of "key": "value" pairs. "key": The name of the flag. These
1145
- # flags are passed at instance setup time, so include both server options and
1146
- # system variables for Postgres. Flags are specified with underscores, not
1147
- # hyphens. "value": The value of the flag. Booleans are set to **on** for true
1148
- # and **off** for false. This field must be omitted if the flag doesn't take a
1149
- # value.
1353
+ # Database flags. Set at the instance level. They are copied from the primary
1354
+ # instance on secondary instance creation. Flags that have restrictions default
1355
+ # to the value at primary instance on read instances during creation. Read
1356
+ # instances can set new flags or override existing flags that are relevant for
1357
+ # reads, for example, for enabling columnar cache on a read instance. Flags set
1358
+ # on read instance might or might not be present on the primary instance. This
1359
+ # is a list of "key": "value" pairs. "key": The name of the flag. These flags
1360
+ # are passed at instance setup time, so include both server options and system
1361
+ # variables for Postgres. Flags are specified with underscores, not hyphens. "
1362
+ # value": The value of the flag. Booleans are set to **on** for true and **off**
1363
+ # for false. This field must be omitted if the flag doesn't take a value.
1150
1364
  # Corresponds to the JSON property `databaseFlags`
1151
1365
  # @return [Hash<String,String>]
1152
1366
  attr_accessor :database_flags
@@ -1214,7 +1428,7 @@ module Google
1214
1428
  # @return [String]
1215
1429
  attr_accessor :name
1216
1430
 
1217
- # Metadata related to instance level network configuration.
1431
+ # Metadata related to instance-level network configuration.
1218
1432
  # Corresponds to the JSON property `networkConfig`
1219
1433
  # @return [Google::Apis::AlloydbV1alpha::InstanceNetworkConfig]
1220
1434
  attr_accessor :network_config
@@ -1347,7 +1561,7 @@ module Google
1347
1561
  end
1348
1562
  end
1349
1563
 
1350
- # Metadata related to instance level network configuration.
1564
+ # Metadata related to instance-level network configuration.
1351
1565
  class InstanceNetworkConfig
1352
1566
  include Google::Apis::Core::Hashable
1353
1567
 
@@ -1381,6 +1595,37 @@ module Google
1381
1595
  end
1382
1596
  end
1383
1597
 
1598
+ # Details regarding the upgrade of instaces associated with a cluster.
1599
+ class InstanceUpgradeDetails
1600
+ include Google::Apis::Core::Hashable
1601
+
1602
+ # Instance type.
1603
+ # Corresponds to the JSON property `instanceType`
1604
+ # @return [String]
1605
+ attr_accessor :instance_type
1606
+
1607
+ # Normalized name of the instance.
1608
+ # Corresponds to the JSON property `name`
1609
+ # @return [String]
1610
+ attr_accessor :name
1611
+
1612
+ # Upgrade status of the instance.
1613
+ # Corresponds to the JSON property `upgradeStatus`
1614
+ # @return [String]
1615
+ attr_accessor :upgrade_status
1616
+
1617
+ def initialize(**args)
1618
+ update!(**args)
1619
+ end
1620
+
1621
+ # Update properties of this object
1622
+ def update!(**args)
1623
+ @instance_type = args[:instance_type] if args.key?(:instance_type)
1624
+ @name = args[:name] if args.key?(:name)
1625
+ @upgrade_status = args[:upgrade_status] if args.key?(:upgrade_status)
1626
+ end
1627
+ end
1628
+
1384
1629
  # Restrictions on INTEGER type values.
1385
1630
  class IntegerRestrictions
1386
1631
  include Google::Apis::Core::Hashable
@@ -1820,6 +2065,12 @@ module Google
1820
2065
  attr_accessor :track_active_queries
1821
2066
  alias_method :track_active_queries?, :track_active_queries
1822
2067
 
2068
+ # Track client address for an instance. If not set, default value is "off".
2069
+ # Corresponds to the JSON property `trackClientAddress`
2070
+ # @return [Boolean]
2071
+ attr_accessor :track_client_address
2072
+ alias_method :track_client_address?, :track_client_address
2073
+
1823
2074
  # Output only. Track wait event types during query execution for an instance.
1824
2075
  # This flag is turned "on" by default but tracking is enabled only after
1825
2076
  # observability enabled flag is also turned on. This is read-only flag and only
@@ -1849,6 +2100,7 @@ module Google
1849
2100
  @query_plans_per_minute = args[:query_plans_per_minute] if args.key?(:query_plans_per_minute)
1850
2101
  @record_application_tags = args[:record_application_tags] if args.key?(:record_application_tags)
1851
2102
  @track_active_queries = args[:track_active_queries] if args.key?(:track_active_queries)
2103
+ @track_client_address = args[:track_client_address] if args.key?(:track_client_address)
1852
2104
  @track_wait_event_types = args[:track_wait_event_types] if args.key?(:track_wait_event_types)
1853
2105
  @track_wait_events = args[:track_wait_events] if args.key?(:track_wait_events)
1854
2106
  end
@@ -1936,9 +2188,9 @@ module Google
1936
2188
  attr_accessor :end_time
1937
2189
 
1938
2190
  # Output only. Identifies whether the user has requested cancellation of the
1939
- # operation. Operations that have successfully been cancelled have Operation.
1940
- # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1941
- # CANCELLED`.
2191
+ # operation. Operations that have successfully been cancelled have google.
2192
+ # longrunning.Operation.error value with a google.rpc.Status.code of 1,
2193
+ # corresponding to `Code.CANCELLED`.
1942
2194
  # Corresponds to the JSON property `requestedCancellation`
1943
2195
  # @return [Boolean]
1944
2196
  attr_accessor :requested_cancellation
@@ -2008,21 +2260,22 @@ module Google
2008
2260
  attr_accessor :etag
2009
2261
 
2010
2262
  # Optional. An optional request ID to identify requests. Specify a unique
2011
- # request ID so that if you must retry your request, the server will know to
2012
- # ignore the request if it has already been completed. The server will guarantee
2013
- # that for at least 60 minutes after the first request. For example, consider a
2014
- # situation where you make an initial request and the request times out. If you
2015
- # make the request again with the same request ID, the server can check if
2016
- # original operation with the same request ID was received, and if so, will
2017
- # ignore the second request. This prevents clients from accidentally creating
2018
- # duplicate commitments. The request ID must be a valid UUID with the exception
2019
- # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
2263
+ # request ID so that if you must retry your request, the server ignores the
2264
+ # request if it has already been completed. The server guarantees that for at
2265
+ # least 60 minutes since the first request. For example, consider a situation
2266
+ # where you make an initial request and the request times out. If you make the
2267
+ # request again with the same request ID, the server can check if original
2268
+ # operation with the same request ID was received, and if so, will ignore the
2269
+ # second request. This prevents clients from accidentally creating duplicate
2270
+ # commitments. The request ID must be a valid UUID with the exception that zero
2271
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2020
2272
  # Corresponds to the JSON property `requestId`
2021
2273
  # @return [String]
2022
2274
  attr_accessor :request_id
2023
2275
 
2024
- # Optional. If set, performs request validation (e.g. permission checks and any
2025
- # other type of validation), but do not actually execute the delete.
2276
+ # Optional. If set, performs request validation, for example, permission checks
2277
+ # and any other type of validation, but does not actually execute the create
2278
+ # request.
2026
2279
  # Corresponds to the JSON property `validateOnly`
2027
2280
  # @return [Boolean]
2028
2281
  attr_accessor :validate_only
@@ -2051,6 +2304,12 @@ module Google
2051
2304
  attr_accessor :psc_enabled
2052
2305
  alias_method :psc_enabled?, :psc_enabled
2053
2306
 
2307
+ # Output only. The project number that needs to be allowlisted on the network
2308
+ # attachment to enable outbound connectivity.
2309
+ # Corresponds to the JSON property `serviceOwnedProjectNumber`
2310
+ # @return [Fixnum]
2311
+ attr_accessor :service_owned_project_number
2312
+
2054
2313
  def initialize(**args)
2055
2314
  update!(**args)
2056
2315
  end
@@ -2058,6 +2317,7 @@ module Google
2058
2317
  # Update properties of this object
2059
2318
  def update!(**args)
2060
2319
  @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
2320
+ @service_owned_project_number = args[:service_owned_project_number] if args.key?(:service_owned_project_number)
2061
2321
  end
2062
2322
  end
2063
2323
 
@@ -2077,6 +2337,13 @@ module Google
2077
2337
  # @return [String]
2078
2338
  attr_accessor :psc_dns_name
2079
2339
 
2340
+ # Optional. Configurations for setting up PSC interfaces attached to the
2341
+ # instance which are used for outbound connectivity. Only primary instances can
2342
+ # have PSC interface attached. Currently we only support 0 or 1 PSC interface.
2343
+ # Corresponds to the JSON property `pscInterfaceConfigs`
2344
+ # @return [Array<Google::Apis::AlloydbV1alpha::PscInterfaceConfig>]
2345
+ attr_accessor :psc_interface_configs
2346
+
2080
2347
  # Output only. The service attachment created when Private Service Connect (PSC)
2081
2348
  # is enabled for the instance. The name of the resource will be in the format of
2082
2349
  # `projects//regions//serviceAttachments/`
@@ -2092,10 +2359,34 @@ module Google
2092
2359
  def update!(**args)
2093
2360
  @allowed_consumer_projects = args[:allowed_consumer_projects] if args.key?(:allowed_consumer_projects)
2094
2361
  @psc_dns_name = args[:psc_dns_name] if args.key?(:psc_dns_name)
2362
+ @psc_interface_configs = args[:psc_interface_configs] if args.key?(:psc_interface_configs)
2095
2363
  @service_attachment_link = args[:service_attachment_link] if args.key?(:service_attachment_link)
2096
2364
  end
2097
2365
  end
2098
2366
 
2367
+ # Configuration for setting up a PSC interface to enable outbound connectivity.
2368
+ class PscInterfaceConfig
2369
+ include Google::Apis::Core::Hashable
2370
+
2371
+ # The network attachment resource created in the consumer network to which the
2372
+ # PSC interface will be linked. This is of the format: "projects/$`
2373
+ # CONSUMER_PROJECT`/regions/$`REGION`/networkAttachments/$`
2374
+ # NETWORK_ATTACHMENT_NAME`". The network attachment must be in the same region
2375
+ # as the instance.
2376
+ # Corresponds to the JSON property `networkAttachmentResource`
2377
+ # @return [String]
2378
+ attr_accessor :network_attachment_resource
2379
+
2380
+ def initialize(**args)
2381
+ update!(**args)
2382
+ end
2383
+
2384
+ # Update properties of this object
2385
+ def update!(**args)
2386
+ @network_attachment_resource = args[:network_attachment_resource] if args.key?(:network_attachment_resource)
2387
+ end
2388
+ end
2389
+
2099
2390
  # A backup's position in a quantity-based retention queue, of backups with the
2100
2391
  # same source cluster and type, with length, retention, specified by the backup'
2101
2392
  # s retention policy. Once the position is greater than the retention, the
@@ -2216,22 +2507,29 @@ module Google
2216
2507
  class RestartInstanceRequest
2217
2508
  include Google::Apis::Core::Hashable
2218
2509
 
2510
+ # Optional. Full name of the nodes as obtained from INSTANCE_VIEW_FULL to
2511
+ # restart upon. Applicable only to read instances.
2512
+ # Corresponds to the JSON property `nodeIds`
2513
+ # @return [Array<String>]
2514
+ attr_accessor :node_ids
2515
+
2219
2516
  # Optional. An optional request ID to identify requests. Specify a unique
2220
- # request ID so that if you must retry your request, the server will know to
2221
- # ignore the request if it has already been completed. The server will guarantee
2222
- # that for at least 60 minutes after the first request. For example, consider a
2223
- # situation where you make an initial request and the request times out. If you
2224
- # make the request again with the same request ID, the server can check if
2225
- # original operation with the same request ID was received, and if so, will
2226
- # ignore the second request. This prevents clients from accidentally creating
2227
- # duplicate commitments. The request ID must be a valid UUID with the exception
2228
- # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
2517
+ # request ID so that if you must retry your request, the server ignores the
2518
+ # request if it has already been completed. The server guarantees that for at
2519
+ # least 60 minutes since the first request. For example, consider a situation
2520
+ # where you make an initial request and the request times out. If you make the
2521
+ # request again with the same request ID, the server can check if the original
2522
+ # operation with the same request ID was received, and if so, ignores the second
2523
+ # request. This prevents clients from accidentally creating duplicate
2524
+ # commitments. The request ID must be a valid UUID with the exception that zero
2525
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2229
2526
  # Corresponds to the JSON property `requestId`
2230
2527
  # @return [String]
2231
2528
  attr_accessor :request_id
2232
2529
 
2233
- # Optional. If set, performs request validation (e.g. permission checks and any
2234
- # other type of validation), but do not actually execute the restart.
2530
+ # Optional. If set, performs request validation, for example, permission checks
2531
+ # and any other type of validation, but does not actually execute the create
2532
+ # request.
2235
2533
  # Corresponds to the JSON property `validateOnly`
2236
2534
  # @return [Boolean]
2237
2535
  attr_accessor :validate_only
@@ -2243,6 +2541,7 @@ module Google
2243
2541
 
2244
2542
  # Update properties of this object
2245
2543
  def update!(**args)
2544
+ @node_ids = args[:node_ids] if args.key?(:node_ids)
2246
2545
  @request_id = args[:request_id] if args.key?(:request_id)
2247
2546
  @validate_only = args[:validate_only] if args.key?(:validate_only)
2248
2547
  end
@@ -2276,21 +2575,22 @@ module Google
2276
2575
  attr_accessor :continuous_backup_source
2277
2576
 
2278
2577
  # Optional. An optional request ID to identify requests. Specify a unique
2279
- # request ID so that if you must retry your request, the server will know to
2280
- # ignore the request if it has already been completed. The server will guarantee
2281
- # that for at least 60 minutes since the first request. For example, consider a
2282
- # situation where you make an initial request and the request times out. If you
2283
- # make the request again with the same request ID, the server can check if
2284
- # original operation with the same request ID was received, and if so, will
2285
- # ignore the second request. This prevents clients from accidentally creating
2286
- # duplicate commitments. The request ID must be a valid UUID with the exception
2287
- # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
2578
+ # request ID so that if you must retry your request, the server ignores the
2579
+ # request if it has already been completed. The server guarantees that for at
2580
+ # least 60 minutes since the first request. For example, consider a situation
2581
+ # where you make an initial request and the request times out. If you make the
2582
+ # request again with the same request ID, the server can check if the original
2583
+ # operation with the same request ID was received, and if so, ignores the second
2584
+ # request. This prevents clients from accidentally creating duplicate
2585
+ # commitments. The request ID must be a valid UUID with the exception that zero
2586
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2288
2587
  # Corresponds to the JSON property `requestId`
2289
2588
  # @return [String]
2290
2589
  attr_accessor :request_id
2291
2590
 
2292
- # Optional. If set, performs request validation (e.g. permission checks and any
2293
- # other type of validation), but do not actually execute the import request.
2591
+ # Optional. If set, performs request validation, for example, permission checks
2592
+ # and any other type of validation, but does not actually execute the create
2593
+ # request.
2294
2594
  # Corresponds to the JSON property `validateOnly`
2295
2595
  # @return [Boolean]
2296
2596
  attr_accessor :validate_only
@@ -2311,6 +2611,39 @@ module Google
2311
2611
  end
2312
2612
  end
2313
2613
 
2614
+ # Message for registering Restoring from CloudSQL resource.
2615
+ class RestoreFromCloudSqlRequest
2616
+ include Google::Apis::Core::Hashable
2617
+
2618
+ # The source CloudSQL backup resource.
2619
+ # Corresponds to the JSON property `cloudsqlBackupRunSource`
2620
+ # @return [Google::Apis::AlloydbV1alpha::CloudSqlBackupRunSource]
2621
+ attr_accessor :cloudsql_backup_run_source
2622
+
2623
+ # A cluster is a collection of regional AlloyDB resources. It can include a
2624
+ # primary instance and one or more read pool instances. All cluster resources
2625
+ # share a storage layer, which scales as needed.
2626
+ # Corresponds to the JSON property `cluster`
2627
+ # @return [Google::Apis::AlloydbV1alpha::Cluster]
2628
+ attr_accessor :cluster
2629
+
2630
+ # Required. ID of the requesting object.
2631
+ # Corresponds to the JSON property `clusterId`
2632
+ # @return [String]
2633
+ attr_accessor :cluster_id
2634
+
2635
+ def initialize(**args)
2636
+ update!(**args)
2637
+ end
2638
+
2639
+ # Update properties of this object
2640
+ def update!(**args)
2641
+ @cloudsql_backup_run_source = args[:cloudsql_backup_run_source] if args.key?(:cloudsql_backup_run_source)
2642
+ @cluster = args[:cluster] if args.key?(:cluster)
2643
+ @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
2644
+ end
2645
+ end
2646
+
2314
2647
  # Configuration information for the secondary cluster. This should be set if and
2315
2648
  # only if the cluster is of type SECONDARY.
2316
2649
  class SecondaryConfig
@@ -2332,6 +2665,48 @@ module Google
2332
2665
  end
2333
2666
  end
2334
2667
 
2668
+ # Options for exporting data in SQL format.
2669
+ class SqlExportOptions
2670
+ include Google::Apis::Core::Hashable
2671
+
2672
+ # Optional. If true, output commands to DROP all the dumped database objects
2673
+ # prior to outputting the commands for creating them.
2674
+ # Corresponds to the JSON property `cleanTargetObjects`
2675
+ # @return [Boolean]
2676
+ attr_accessor :clean_target_objects
2677
+ alias_method :clean_target_objects?, :clean_target_objects
2678
+
2679
+ # Optional. If true, use DROP ... IF EXISTS commands to check for the object's
2680
+ # existence before dropping it in clean_target_objects mode.
2681
+ # Corresponds to the JSON property `ifExistTargetObjects`
2682
+ # @return [Boolean]
2683
+ attr_accessor :if_exist_target_objects
2684
+ alias_method :if_exist_target_objects?, :if_exist_target_objects
2685
+
2686
+ # Optional. If true, only export the schema.
2687
+ # Corresponds to the JSON property `schemaOnly`
2688
+ # @return [Boolean]
2689
+ attr_accessor :schema_only
2690
+ alias_method :schema_only?, :schema_only
2691
+
2692
+ # Optional. Tables to export from.
2693
+ # Corresponds to the JSON property `tables`
2694
+ # @return [Array<String>]
2695
+ attr_accessor :tables
2696
+
2697
+ def initialize(**args)
2698
+ update!(**args)
2699
+ end
2700
+
2701
+ # Update properties of this object
2702
+ def update!(**args)
2703
+ @clean_target_objects = args[:clean_target_objects] if args.key?(:clean_target_objects)
2704
+ @if_exist_target_objects = args[:if_exist_target_objects] if args.key?(:if_exist_target_objects)
2705
+ @schema_only = args[:schema_only] if args.key?(:schema_only)
2706
+ @tables = args[:tables] if args.key?(:tables)
2707
+ end
2708
+ end
2709
+
2335
2710
  # SSL configuration.
2336
2711
  class SslConfig
2337
2712
  include Google::Apis::Core::Hashable
@@ -2358,6 +2733,39 @@ module Google
2358
2733
  end
2359
2734
  end
2360
2735
 
2736
+ # Stage information for different stages in the upgrade process.
2737
+ class StageInfo
2738
+ include Google::Apis::Core::Hashable
2739
+
2740
+ # logs_url is the URL for the logs associated with a stage if that stage has
2741
+ # logs. Right now, only three stages have logs: ALLOYDB_PRECHECK,
2742
+ # PG_UPGRADE_CHECK, PRIMARY_INSTANCE_UPGRADE.
2743
+ # Corresponds to the JSON property `logsUrl`
2744
+ # @return [String]
2745
+ attr_accessor :logs_url
2746
+
2747
+ # The stage.
2748
+ # Corresponds to the JSON property `stage`
2749
+ # @return [String]
2750
+ attr_accessor :stage
2751
+
2752
+ # Status of the stage.
2753
+ # Corresponds to the JSON property `status`
2754
+ # @return [String]
2755
+ attr_accessor :status
2756
+
2757
+ def initialize(**args)
2758
+ update!(**args)
2759
+ end
2760
+
2761
+ # Update properties of this object
2762
+ def update!(**args)
2763
+ @logs_url = args[:logs_url] if args.key?(:logs_url)
2764
+ @stage = args[:stage] if args.key?(:stage)
2765
+ @status = args[:status] if args.key?(:status)
2766
+ end
2767
+ end
2768
+
2361
2769
  # The `Status` type defines a logical error model that is suitable for different
2362
2770
  # programming environments, including REST APIs and RPC APIs. It is used by [
2363
2771
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -2401,6 +2809,14 @@ module Google
2401
2809
  class StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration
2402
2810
  include Google::Apis::Core::Hashable
2403
2811
 
2812
+ # Checks for existence of (multi-cluster) routing configuration that allows
2813
+ # automatic failover to a different zone/region in case of an outage. Applicable
2814
+ # to Bigtable resources.
2815
+ # Corresponds to the JSON property `automaticFailoverRoutingConfigured`
2816
+ # @return [Boolean]
2817
+ attr_accessor :automatic_failover_routing_configured
2818
+ alias_method :automatic_failover_routing_configured?, :automatic_failover_routing_configured
2819
+
2404
2820
  # Availability type. Potential values: * `ZONAL`: The instance serves data from
2405
2821
  # only one zone. Outages in that zone affect data accessibility. * `REGIONAL`:
2406
2822
  # The instance can serve data from more than one zone in a region (it is highly
@@ -2434,6 +2850,7 @@ module Google
2434
2850
 
2435
2851
  # Update properties of this object
2436
2852
  def update!(**args)
2853
+ @automatic_failover_routing_configured = args[:automatic_failover_routing_configured] if args.key?(:automatic_failover_routing_configured)
2437
2854
  @availability_type = args[:availability_type] if args.key?(:availability_type)
2438
2855
  @cross_region_replica_configured = args[:cross_region_replica_configured] if args.key?(:cross_region_replica_configured)
2439
2856
  @external_replica_configured = args[:external_replica_configured] if args.key?(:external_replica_configured)
@@ -2539,57 +2956,17 @@ module Google
2539
2956
  end
2540
2957
  end
2541
2958
 
2542
- # Any custom metadata associated with the resource. i.e. A spanner instance can
2959
+ # Any custom metadata associated with the resource. e.g. A spanner instance can
2543
2960
  # have multiple databases with its own unique metadata. Information for these
2544
2961
  # individual databases can be captured in custom metadata data
2545
2962
  class StorageDatabasecenterPartnerapiV1mainCustomMetadataData
2546
2963
  include Google::Apis::Core::Hashable
2547
2964
 
2548
- #
2549
- # Corresponds to the JSON property `databaseMetadata`
2550
- # @return [Array<Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseMetadata>]
2551
- attr_accessor :database_metadata
2552
-
2553
- def initialize(**args)
2554
- update!(**args)
2555
- end
2556
-
2557
- # Update properties of this object
2558
- def update!(**args)
2559
- @database_metadata = args[:database_metadata] if args.key?(:database_metadata)
2560
- end
2561
- end
2562
-
2563
- # Metadata for individual databases created in an instance. i.e. spanner
2564
- # instance can have multiple databases with unique configuration settings.
2565
- class StorageDatabasecenterPartnerapiV1mainDatabaseMetadata
2566
- include Google::Apis::Core::Hashable
2567
-
2568
- # Configuration for automatic backups
2569
- # Corresponds to the JSON property `backupConfiguration`
2570
- # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainBackupConfiguration]
2571
- attr_accessor :backup_configuration
2572
-
2573
- # A backup run.
2574
- # Corresponds to the JSON property `backupRun`
2575
- # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainBackupRun]
2576
- attr_accessor :backup_run
2577
-
2578
- # Product specification for Condor resources.
2579
- # Corresponds to the JSON property `product`
2580
- # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterProtoCommonProduct]
2581
- attr_accessor :product
2582
-
2583
- # DatabaseResourceId will serve as primary key for any resource ingestion event.
2584
- # Corresponds to the JSON property `resourceId`
2585
- # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseResourceId]
2586
- attr_accessor :resource_id
2587
-
2588
- # Required. Database name. Resource name to follow CAIS resource_name format as
2589
- # noted here go/condor-common-datamodel
2590
- # Corresponds to the JSON property `resourceName`
2591
- # @return [String]
2592
- attr_accessor :resource_name
2965
+ # Metadata for individual internal resources in an instance. e.g. spanner
2966
+ # instance can have multiple databases with unique configuration.
2967
+ # Corresponds to the JSON property `internalResourceMetadata`
2968
+ # @return [Array<Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainInternalResourceMetadata>]
2969
+ attr_accessor :internal_resource_metadata
2593
2970
 
2594
2971
  def initialize(**args)
2595
2972
  update!(**args)
@@ -2597,11 +2974,7 @@ module Google
2597
2974
 
2598
2975
  # Update properties of this object
2599
2976
  def update!(**args)
2600
- @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
2601
- @backup_run = args[:backup_run] if args.key?(:backup_run)
2602
- @product = args[:product] if args.key?(:product)
2603
- @resource_id = args[:resource_id] if args.key?(:resource_id)
2604
- @resource_name = args[:resource_name] if args.key?(:resource_name)
2977
+ @internal_resource_metadata = args[:internal_resource_metadata] if args.key?(:internal_resource_metadata)
2605
2978
  end
2606
2979
  end
2607
2980
 
@@ -2620,7 +2993,7 @@ module Google
2620
2993
  # @return [String]
2621
2994
  attr_accessor :feed_type
2622
2995
 
2623
- # More feed data would be added in subsequent CLs
2996
+ #
2624
2997
  # Corresponds to the JSON property `observabilityMetricData`
2625
2998
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainObservabilityMetricData]
2626
2999
  attr_accessor :observability_metric_data
@@ -2640,7 +3013,7 @@ module Google
2640
3013
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseResourceId]
2641
3014
  attr_accessor :resource_id
2642
3015
 
2643
- # Common model for database resource instance metadata.
3016
+ # Common model for database resource instance metadata. Next ID: 23
2644
3017
  # Corresponds to the JSON property `resourceMetadata`
2645
3018
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata]
2646
3019
  attr_accessor :resource_metadata
@@ -2733,6 +3106,11 @@ module Google
2733
3106
  # @return [String]
2734
3107
  attr_accessor :signal_id
2735
3108
 
3109
+ # The severity of the signal, such as if it's a HIGH or LOW severity.
3110
+ # Corresponds to the JSON property `signalSeverity`
3111
+ # @return [String]
3112
+ attr_accessor :signal_severity
3113
+
2736
3114
  # Required. Type of signal, for example, `AVAILABLE_IN_MULTIPLE_ZONES`, `
2737
3115
  # LOGGING_MOST_ERRORS`, etc.
2738
3116
  # Corresponds to the JSON property `signalType`
@@ -2761,6 +3139,7 @@ module Google
2761
3139
  @resource_name = args[:resource_name] if args.key?(:resource_name)
2762
3140
  @signal_class = args[:signal_class] if args.key?(:signal_class)
2763
3141
  @signal_id = args[:signal_id] if args.key?(:signal_id)
3142
+ @signal_severity = args[:signal_severity] if args.key?(:signal_severity)
2764
3143
  @signal_type = args[:signal_type] if args.key?(:signal_type)
2765
3144
  @state = args[:state] if args.key?(:state)
2766
3145
  end
@@ -2782,8 +3161,10 @@ module Google
2782
3161
 
2783
3162
  # Required. The type of resource this ID is identifying. Ex redis.googleapis.com/
2784
3163
  # Instance, redis.googleapis.com/Cluster, alloydb.googleapis.com/Cluster,
2785
- # alloydb.googleapis.com/Instance, spanner.googleapis.com/Instance REQUIRED
2786
- # Please refer go/condor-common-datamodel
3164
+ # alloydb.googleapis.com/Instance, spanner.googleapis.com/Instance, spanner.
3165
+ # googleapis.com/Database, firestore.googleapis.com/Database, sqladmin.
3166
+ # googleapis.com/Instance, bigtableadmin.googleapis.com/Cluster, bigtableadmin.
3167
+ # googleapis.com/Instance REQUIRED Please refer go/condor-common-datamodel
2787
3168
  # Corresponds to the JSON property `resourceType`
2788
3169
  # @return [String]
2789
3170
  attr_accessor :resource_type
@@ -2807,7 +3188,7 @@ module Google
2807
3188
  end
2808
3189
  end
2809
3190
 
2810
- # Common model for database resource instance metadata.
3191
+ # Common model for database resource instance metadata. Next ID: 23
2811
3192
  class StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata
2812
3193
  include Google::Apis::Core::Hashable
2813
3194
 
@@ -2837,13 +3218,20 @@ module Google
2837
3218
  # @return [String]
2838
3219
  attr_accessor :current_state
2839
3220
 
2840
- # Any custom metadata associated with the resource. i.e. A spanner instance can
3221
+ # Any custom metadata associated with the resource. e.g. A spanner instance can
2841
3222
  # have multiple databases with its own unique metadata. Information for these
2842
3223
  # individual databases can be captured in custom metadata data
2843
3224
  # Corresponds to the JSON property `customMetadata`
2844
3225
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainCustomMetadataData]
2845
3226
  attr_accessor :custom_metadata
2846
3227
 
3228
+ # Optional. Edition represents whether the instance is ENTERPRISE or
3229
+ # ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to
3230
+ # identify the edition of the instance.
3231
+ # Corresponds to the JSON property `edition`
3232
+ # @return [String]
3233
+ attr_accessor :edition
3234
+
2847
3235
  # Entitlements associated with the resource
2848
3236
  # Corresponds to the JSON property `entitlements`
2849
3237
  # @return [Array<Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainEntitlement>]
@@ -2882,6 +3270,12 @@ module Google
2882
3270
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseResourceId]
2883
3271
  attr_accessor :primary_resource_id
2884
3272
 
3273
+ # Primary resource location. REQUIRED if the immediate parent exists when first
3274
+ # time resource is getting ingested, otherwise optional.
3275
+ # Corresponds to the JSON property `primaryResourceLocation`
3276
+ # @return [String]
3277
+ attr_accessor :primary_resource_location
3278
+
2885
3279
  # Product specification for Condor resources.
2886
3280
  # Corresponds to the JSON property `product`
2887
3281
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterProtoCommonProduct]
@@ -2903,6 +3297,13 @@ module Google
2903
3297
  # @return [String]
2904
3298
  attr_accessor :resource_name
2905
3299
 
3300
+ # Message type for storing tags. Tags provide a way to create annotations for
3301
+ # resources, and in some cases conditionally allow or deny policies based on
3302
+ # whether a resource has a specific tag.
3303
+ # Corresponds to the JSON property `tagsSet`
3304
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainTags]
3305
+ attr_accessor :tags_set
3306
+
2906
3307
  # The time at which the resource was updated and recorded at partner service.
2907
3308
  # Corresponds to the JSON property `updationTime`
2908
3309
  # @return [String]
@@ -2927,6 +3328,7 @@ module Google
2927
3328
  @creation_time = args[:creation_time] if args.key?(:creation_time)
2928
3329
  @current_state = args[:current_state] if args.key?(:current_state)
2929
3330
  @custom_metadata = args[:custom_metadata] if args.key?(:custom_metadata)
3331
+ @edition = args[:edition] if args.key?(:edition)
2930
3332
  @entitlements = args[:entitlements] if args.key?(:entitlements)
2931
3333
  @expected_state = args[:expected_state] if args.key?(:expected_state)
2932
3334
  @id = args[:id] if args.key?(:id)
@@ -2934,9 +3336,11 @@ module Google
2934
3336
  @location = args[:location] if args.key?(:location)
2935
3337
  @machine_configuration = args[:machine_configuration] if args.key?(:machine_configuration)
2936
3338
  @primary_resource_id = args[:primary_resource_id] if args.key?(:primary_resource_id)
3339
+ @primary_resource_location = args[:primary_resource_location] if args.key?(:primary_resource_location)
2937
3340
  @product = args[:product] if args.key?(:product)
2938
3341
  @resource_container = args[:resource_container] if args.key?(:resource_container)
2939
3342
  @resource_name = args[:resource_name] if args.key?(:resource_name)
3343
+ @tags_set = args[:tags_set] if args.key?(:tags_set)
2940
3344
  @updation_time = args[:updation_time] if args.key?(:updation_time)
2941
3345
  @user_label_set = args[:user_label_set] if args.key?(:user_label_set)
2942
3346
  end
@@ -3041,6 +3445,52 @@ module Google
3041
3445
  end
3042
3446
  end
3043
3447
 
3448
+ # Metadata for individual internal resources in an instance. e.g. spanner
3449
+ # instance can have multiple databases with unique configuration settings.
3450
+ # Similarly bigtable can have multiple clusters within same bigtable instance.
3451
+ class StorageDatabasecenterPartnerapiV1mainInternalResourceMetadata
3452
+ include Google::Apis::Core::Hashable
3453
+
3454
+ # Configuration for automatic backups
3455
+ # Corresponds to the JSON property `backupConfiguration`
3456
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainBackupConfiguration]
3457
+ attr_accessor :backup_configuration
3458
+
3459
+ # A backup run.
3460
+ # Corresponds to the JSON property `backupRun`
3461
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainBackupRun]
3462
+ attr_accessor :backup_run
3463
+
3464
+ # Product specification for Condor resources.
3465
+ # Corresponds to the JSON property `product`
3466
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterProtoCommonProduct]
3467
+ attr_accessor :product
3468
+
3469
+ # DatabaseResourceId will serve as primary key for any resource ingestion event.
3470
+ # Corresponds to the JSON property `resourceId`
3471
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseResourceId]
3472
+ attr_accessor :resource_id
3473
+
3474
+ # Required. internal resource name for spanner this will be database name e.g."
3475
+ # spanner.googleapis.com/projects/123/abc/instances/inst1/databases/db1"
3476
+ # Corresponds to the JSON property `resourceName`
3477
+ # @return [String]
3478
+ attr_accessor :resource_name
3479
+
3480
+ def initialize(**args)
3481
+ update!(**args)
3482
+ end
3483
+
3484
+ # Update properties of this object
3485
+ def update!(**args)
3486
+ @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
3487
+ @backup_run = args[:backup_run] if args.key?(:backup_run)
3488
+ @product = args[:product] if args.key?(:product)
3489
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
3490
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
3491
+ end
3492
+ end
3493
+
3044
3494
  # MachineConfiguration describes the configuration of a machine specific to
3045
3495
  # Database Resource.
3046
3496
  class StorageDatabasecenterPartnerapiV1mainMachineConfiguration
@@ -3058,6 +3508,17 @@ module Google
3058
3508
  # @return [Fixnum]
3059
3509
  attr_accessor :memory_size_in_bytes
3060
3510
 
3511
+ # Optional. Number of shards (if applicable).
3512
+ # Corresponds to the JSON property `shardCount`
3513
+ # @return [Fixnum]
3514
+ attr_accessor :shard_count
3515
+
3516
+ # Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto
3517
+ # validations again after bug fix.
3518
+ # Corresponds to the JSON property `vcpuCount`
3519
+ # @return [Float]
3520
+ attr_accessor :vcpu_count
3521
+
3061
3522
  def initialize(**args)
3062
3523
  update!(**args)
3063
3524
  end
@@ -3066,6 +3527,8 @@ module Google
3066
3527
  def update!(**args)
3067
3528
  @cpu_count = args[:cpu_count] if args.key?(:cpu_count)
3068
3529
  @memory_size_in_bytes = args[:memory_size_in_bytes] if args.key?(:memory_size_in_bytes)
3530
+ @shard_count = args[:shard_count] if args.key?(:shard_count)
3531
+ @vcpu_count = args[:vcpu_count] if args.key?(:vcpu_count)
3069
3532
  end
3070
3533
  end
3071
3534
 
@@ -3149,6 +3612,11 @@ module Google
3149
3612
  class StorageDatabasecenterPartnerapiV1mainRetentionSettings
3150
3613
  include Google::Apis::Core::Hashable
3151
3614
 
3615
+ # Duration based retention period i.e. 172800 seconds (2 days)
3616
+ # Corresponds to the JSON property `durationBasedRetention`
3617
+ # @return [String]
3618
+ attr_accessor :duration_based_retention
3619
+
3152
3620
  #
3153
3621
  # Corresponds to the JSON property `quantityBasedRetention`
3154
3622
  # @return [Fixnum]
@@ -3164,15 +3632,43 @@ module Google
3164
3632
  # @return [String]
3165
3633
  attr_accessor :time_based_retention
3166
3634
 
3635
+ # Timestamp based retention period i.e. 2024-05-01T00:00:00Z
3636
+ # Corresponds to the JSON property `timestampBasedRetentionTime`
3637
+ # @return [String]
3638
+ attr_accessor :timestamp_based_retention_time
3639
+
3167
3640
  def initialize(**args)
3168
3641
  update!(**args)
3169
3642
  end
3170
3643
 
3171
3644
  # Update properties of this object
3172
3645
  def update!(**args)
3646
+ @duration_based_retention = args[:duration_based_retention] if args.key?(:duration_based_retention)
3173
3647
  @quantity_based_retention = args[:quantity_based_retention] if args.key?(:quantity_based_retention)
3174
3648
  @retention_unit = args[:retention_unit] if args.key?(:retention_unit)
3175
3649
  @time_based_retention = args[:time_based_retention] if args.key?(:time_based_retention)
3650
+ @timestamp_based_retention_time = args[:timestamp_based_retention_time] if args.key?(:timestamp_based_retention_time)
3651
+ end
3652
+ end
3653
+
3654
+ # Message type for storing tags. Tags provide a way to create annotations for
3655
+ # resources, and in some cases conditionally allow or deny policies based on
3656
+ # whether a resource has a specific tag.
3657
+ class StorageDatabasecenterPartnerapiV1mainTags
3658
+ include Google::Apis::Core::Hashable
3659
+
3660
+ # The Tag key/value mappings.
3661
+ # Corresponds to the JSON property `tags`
3662
+ # @return [Hash<String,String>]
3663
+ attr_accessor :tags
3664
+
3665
+ def initialize(**args)
3666
+ update!(**args)
3667
+ end
3668
+
3669
+ # Update properties of this object
3670
+ def update!(**args)
3671
+ @tags = args[:tags] if args.key?(:tags)
3176
3672
  end
3177
3673
  end
3178
3674
 
@@ -3366,21 +3862,22 @@ module Google
3366
3862
  include Google::Apis::Core::Hashable
3367
3863
 
3368
3864
  # Optional. An optional request ID to identify requests. Specify a unique
3369
- # request ID so that if you must retry your request, the server will know to
3370
- # ignore the request if it has already been completed. The server will guarantee
3371
- # that for at least 60 minutes after the first request. For example, consider a
3372
- # situation where you make an initial request and the request times out. If you
3373
- # make the request again with the same request ID, the server can check if
3374
- # original operation with the same request ID was received, and if so, will
3375
- # ignore the second request. This prevents clients from accidentally creating
3376
- # duplicate commitments. The request ID must be a valid UUID with the exception
3377
- # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
3865
+ # request ID so that if you must retry your request, the server ignores the
3866
+ # request if it has already been completed. The server guarantees that for at
3867
+ # least 60 minutes since the first request. For example, consider a situation
3868
+ # where you make an initial request and the request times out. If you make the
3869
+ # request again with the same request ID, the server can check if the original
3870
+ # operation with the same request ID was received, and if so, ignores the second
3871
+ # request. This prevents clients from accidentally creating duplicate
3872
+ # commitments. The request ID must be a valid UUID with the exception that zero
3873
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
3378
3874
  # Corresponds to the JSON property `requestId`
3379
3875
  # @return [String]
3380
3876
  attr_accessor :request_id
3381
3877
 
3382
- # Optional. If set, performs request validation (e.g. permission checks and any
3383
- # other type of validation), but do not actually execute the delete.
3878
+ # Optional. If set, performs request validation, for example, permission checks
3879
+ # and any other type of validation, but does not actually execute the create
3880
+ # request.
3384
3881
  # Corresponds to the JSON property `validateOnly`
3385
3882
  # @return [Boolean]
3386
3883
  attr_accessor :validate_only
@@ -3426,6 +3923,11 @@ module Google
3426
3923
  # @return [String]
3427
3924
  attr_accessor :end_time
3428
3925
 
3926
+ # grace end time of the cluster.
3927
+ # Corresponds to the JSON property `graceEndTime`
3928
+ # @return [String]
3929
+ attr_accessor :grace_end_time
3930
+
3429
3931
  # start time of the trial cluster.
3430
3932
  # Corresponds to the JSON property `startTime`
3431
3933
  # @return [String]
@@ -3443,6 +3945,7 @@ module Google
3443
3945
  # Update properties of this object
3444
3946
  def update!(**args)
3445
3947
  @end_time = args[:end_time] if args.key?(:end_time)
3948
+ @grace_end_time = args[:grace_end_time] if args.key?(:grace_end_time)
3446
3949
  @start_time = args[:start_time] if args.key?(:start_time)
3447
3950
  @upgrade_time = args[:upgrade_time] if args.key?(:upgrade_time)
3448
3951
  end
@@ -3467,6 +3970,90 @@ module Google
3467
3970
  end
3468
3971
  end
3469
3972
 
3973
+ # Upgrades a cluster.
3974
+ class UpgradeClusterRequest
3975
+ include Google::Apis::Core::Hashable
3976
+
3977
+ # Optional. The current etag of the Cluster. If an etag is provided and does not
3978
+ # match the current etag of the Cluster, upgrade will be blocked and an ABORTED
3979
+ # error will be returned.
3980
+ # Corresponds to the JSON property `etag`
3981
+ # @return [String]
3982
+ attr_accessor :etag
3983
+
3984
+ # Optional. An optional request ID to identify requests. Specify a unique
3985
+ # request ID so that if you must retry your request, the server ignores the
3986
+ # request if it has already been completed. The server guarantees that for at
3987
+ # least 60 minutes since the first request. For example, consider a situation
3988
+ # where you make an initial request and the request times out. If you make the
3989
+ # request again with the same request ID, the server can check if the original
3990
+ # operation with the same request ID was received, and if so, ignores the second
3991
+ # request. This prevents clients from accidentally creating duplicate
3992
+ # commitments. The request ID must be a valid UUID with the exception that zero
3993
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
3994
+ # Corresponds to the JSON property `requestId`
3995
+ # @return [String]
3996
+ attr_accessor :request_id
3997
+
3998
+ # Optional. If set, performs request validation, for example, permission checks
3999
+ # and any other type of validation, but does not actually execute the create
4000
+ # request.
4001
+ # Corresponds to the JSON property `validateOnly`
4002
+ # @return [Boolean]
4003
+ attr_accessor :validate_only
4004
+ alias_method :validate_only?, :validate_only
4005
+
4006
+ # Required. The version the cluster is going to be upgraded to.
4007
+ # Corresponds to the JSON property `version`
4008
+ # @return [String]
4009
+ attr_accessor :version
4010
+
4011
+ def initialize(**args)
4012
+ update!(**args)
4013
+ end
4014
+
4015
+ # Update properties of this object
4016
+ def update!(**args)
4017
+ @etag = args[:etag] if args.key?(:etag)
4018
+ @request_id = args[:request_id] if args.key?(:request_id)
4019
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
4020
+ @version = args[:version] if args.key?(:version)
4021
+ end
4022
+ end
4023
+
4024
+ # UpgradeClusterResponse contains the response for upgrade cluster operation.
4025
+ class UpgradeClusterResponse
4026
+ include Google::Apis::Core::Hashable
4027
+
4028
+ # Array of upgrade details for the current cluster and all the secondary
4029
+ # clusters associated with this cluster.
4030
+ # Corresponds to the JSON property `clusterUpgradeDetails`
4031
+ # @return [Array<Google::Apis::AlloydbV1alpha::ClusterUpgradeDetails>]
4032
+ attr_accessor :cluster_upgrade_details
4033
+
4034
+ # A user friendly message summarising the upgrade operation details and the next
4035
+ # steps for the user if there is any.
4036
+ # Corresponds to the JSON property `message`
4037
+ # @return [String]
4038
+ attr_accessor :message
4039
+
4040
+ # Status of upgrade operation.
4041
+ # Corresponds to the JSON property `status`
4042
+ # @return [String]
4043
+ attr_accessor :status
4044
+
4045
+ def initialize(**args)
4046
+ update!(**args)
4047
+ end
4048
+
4049
+ # Update properties of this object
4050
+ def update!(**args)
4051
+ @cluster_upgrade_details = args[:cluster_upgrade_details] if args.key?(:cluster_upgrade_details)
4052
+ @message = args[:message] if args.key?(:message)
4053
+ @status = args[:status] if args.key?(:status)
4054
+ end
4055
+ end
4056
+
3470
4057
  # Message describing User object.
3471
4058
  class User
3472
4059
  include Google::Apis::Core::Hashable
@@ -3477,6 +4064,13 @@ module Google
3477
4064
  # @return [Array<String>]
3478
4065
  attr_accessor :database_roles
3479
4066
 
4067
+ # Input only. If the user already exists and it has additional roles, keep them
4068
+ # granted.
4069
+ # Corresponds to the JSON property `keepExtraRoles`
4070
+ # @return [Boolean]
4071
+ attr_accessor :keep_extra_roles
4072
+ alias_method :keep_extra_roles?, :keep_extra_roles
4073
+
3480
4074
  # Output only. Name of the resource in the form of projects/`project`/locations/`
3481
4075
  # location`/cluster/`cluster`/users/`user`.
3482
4076
  # Corresponds to the JSON property `name`
@@ -3500,6 +4094,7 @@ module Google
3500
4094
  # Update properties of this object
3501
4095
  def update!(**args)
3502
4096
  @database_roles = args[:database_roles] if args.key?(:database_roles)
4097
+ @keep_extra_roles = args[:keep_extra_roles] if args.key?(:keep_extra_roles)
3503
4098
  @name = args[:name] if args.key?(:name)
3504
4099
  @password = args[:password] if args.key?(:password)
3505
4100
  @user_type = args[:user_type] if args.key?(:user_type)