google-apis-alloydb_v1alpha 0.18.0 → 0.20.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.
@@ -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)