google-apis-alloydb_v1alpha 0.17.0 → 0.19.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,50 @@ module Google
804
909
  end
805
910
  end
806
911
 
912
+ # Options for exporting data in CSV format. For now, we only support a query to
913
+ # get the data that needs to be exported.
914
+ class CsvExportOptions
915
+ include Google::Apis::Core::Hashable
916
+
917
+ # Optional. Specifies the character that should appear before a data character
918
+ # that needs to be escaped. The default is the same as quote character. The
919
+ # value of this argument has to be a character in Hex ASCII Code.
920
+ # Corresponds to the JSON property `escapeCharacter`
921
+ # @return [String]
922
+ attr_accessor :escape_character
923
+
924
+ # Optional. Specifies the character that separates columns within each row (line)
925
+ # of the file. The default is comma. The value of this argument has to be a
926
+ # character in Hex ASCII Code.
927
+ # Corresponds to the JSON property `fieldDelimiter`
928
+ # @return [String]
929
+ attr_accessor :field_delimiter
930
+
931
+ # Optional. Specifies the quoting character to be used when a data value is
932
+ # quoted. The default is double-quote. The value of this argument has to be a
933
+ # character in Hex ASCII Code.
934
+ # Corresponds to the JSON property `quoteCharacter`
935
+ # @return [String]
936
+ attr_accessor :quote_character
937
+
938
+ # Required. The select_query used to extract the data.
939
+ # Corresponds to the JSON property `selectQuery`
940
+ # @return [String]
941
+ attr_accessor :select_query
942
+
943
+ def initialize(**args)
944
+ update!(**args)
945
+ end
946
+
947
+ # Update properties of this object
948
+ def update!(**args)
949
+ @escape_character = args[:escape_character] if args.key?(:escape_character)
950
+ @field_delimiter = args[:field_delimiter] if args.key?(:field_delimiter)
951
+ @quote_character = args[:quote_character] if args.key?(:quote_character)
952
+ @select_query = args[:select_query] if args.key?(:select_query)
953
+ end
954
+ end
955
+
807
956
  # A generic empty message that you can re-use to avoid defining duplicated empty
808
957
  # messages in your APIs. A typical example is to use it as the request or the
809
958
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -868,26 +1017,67 @@ module Google
868
1017
  end
869
1018
  end
870
1019
 
1020
+ # Export cluster request.
1021
+ class ExportClusterRequest
1022
+ include Google::Apis::Core::Hashable
1023
+
1024
+ # Options for exporting data in CSV format. For now, we only support a query to
1025
+ # get the data that needs to be exported.
1026
+ # Corresponds to the JSON property `csvExportOptions`
1027
+ # @return [Google::Apis::AlloydbV1alpha::CsvExportOptions]
1028
+ attr_accessor :csv_export_options
1029
+
1030
+ # Required. Name of the database where the query will be executed. Note - Value
1031
+ # provided should be the same as expected from `SELECT current_database();` and
1032
+ # NOT as a resource reference.
1033
+ # Corresponds to the JSON property `database`
1034
+ # @return [String]
1035
+ attr_accessor :database
1036
+
1037
+ # Destination for Export. Export will be done to cloud storage.
1038
+ # Corresponds to the JSON property `gcsDestination`
1039
+ # @return [Google::Apis::AlloydbV1alpha::GcsDestination]
1040
+ attr_accessor :gcs_destination
1041
+
1042
+ # Options for exporting data in SQL format.
1043
+ # Corresponds to the JSON property `sqlExportOptions`
1044
+ # @return [Google::Apis::AlloydbV1alpha::SqlExportOptions]
1045
+ attr_accessor :sql_export_options
1046
+
1047
+ def initialize(**args)
1048
+ update!(**args)
1049
+ end
1050
+
1051
+ # Update properties of this object
1052
+ def update!(**args)
1053
+ @csv_export_options = args[:csv_export_options] if args.key?(:csv_export_options)
1054
+ @database = args[:database] if args.key?(:database)
1055
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
1056
+ @sql_export_options = args[:sql_export_options] if args.key?(:sql_export_options)
1057
+ end
1058
+ end
1059
+
871
1060
  # Message for triggering failover on an Instance
872
1061
  class FailoverInstanceRequest
873
1062
  include Google::Apis::Core::Hashable
874
1063
 
875
1064
  # 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).
1065
+ # request ID so that if you must retry your request, the server ignores the
1066
+ # request if it has already been completed. The server guarantees that for at
1067
+ # least 60 minutes since the first request. For example, consider a situation
1068
+ # where you make an initial request and the request times out. If you make the
1069
+ # request again with the same request ID, the server can check if the original
1070
+ # operation with the same request ID was received, and if so, ignores the second
1071
+ # request. This prevents clients from accidentally creating duplicate
1072
+ # commitments. The request ID must be a valid UUID with the exception that zero
1073
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
885
1074
  # Corresponds to the JSON property `requestId`
886
1075
  # @return [String]
887
1076
  attr_accessor :request_id
888
1077
 
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.
1078
+ # Optional. If set, performs request validation, for example, permission checks
1079
+ # and any other type of validation, but does not actually execute the create
1080
+ # request.
891
1081
  # Corresponds to the JSON property `validateOnly`
892
1082
  # @return [Boolean]
893
1083
  attr_accessor :validate_only
@@ -904,6 +1094,27 @@ module Google
904
1094
  end
905
1095
  end
906
1096
 
1097
+ # Destination for Export. Export will be done to cloud storage.
1098
+ class GcsDestination
1099
+ include Google::Apis::Core::Hashable
1100
+
1101
+ # Required. The path to the file in Google Cloud Storage where the export will
1102
+ # be stored. The URI is in the form `gs://bucketName/fileName`. If the file
1103
+ # already exists, the request succeeds, but the operation fails.
1104
+ # Corresponds to the JSON property `uri`
1105
+ # @return [String]
1106
+ attr_accessor :uri
1107
+
1108
+ def initialize(**args)
1109
+ update!(**args)
1110
+ end
1111
+
1112
+ # Update properties of this object
1113
+ def update!(**args)
1114
+ @uri = args[:uri] if args.key?(:uri)
1115
+ end
1116
+ end
1117
+
907
1118
  # Cluster level configuration parameters related to the Gemini in Databases add-
908
1119
  # on.
909
1120
  class GeminiClusterConfig
@@ -1030,24 +1241,28 @@ module Google
1030
1241
  class GoogleTypeTimeOfDay
1031
1242
  include Google::Apis::Core::Hashable
1032
1243
 
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.
1244
+ # Hours of a day in 24 hour format. Must be greater than or equal to 0 and
1245
+ # typically must be less than or equal to 23. An API may choose to allow the
1246
+ # value "24:00:00" for scenarios like business closing time.
1035
1247
  # Corresponds to the JSON property `hours`
1036
1248
  # @return [Fixnum]
1037
1249
  attr_accessor :hours
1038
1250
 
1039
- # Minutes of hour of day. Must be from 0 to 59.
1251
+ # Minutes of an hour. Must be greater than or equal to 0 and less than or equal
1252
+ # to 59.
1040
1253
  # Corresponds to the JSON property `minutes`
1041
1254
  # @return [Fixnum]
1042
1255
  attr_accessor :minutes
1043
1256
 
1044
- # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1257
+ # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and
1258
+ # less than or equal to 999,999,999.
1045
1259
  # Corresponds to the JSON property `nanos`
1046
1260
  # @return [Fixnum]
1047
1261
  attr_accessor :nanos
1048
1262
 
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.
1263
+ # Seconds of a minute. Must be greater than or equal to 0 and typically must be
1264
+ # less than or equal to 59. An API may allow the value 60 if it allows leap-
1265
+ # seconds.
1051
1266
  # Corresponds to the JSON property `seconds`
1052
1267
  # @return [Fixnum]
1053
1268
  attr_accessor :seconds
@@ -1075,21 +1290,22 @@ module Google
1075
1290
  attr_accessor :fault_type
1076
1291
 
1077
1292
  # 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).
1293
+ # request ID so that if you must retry your request, the server ignores the
1294
+ # request if it has already been completed. The server guarantees that for at
1295
+ # least 60 minutes since the first request. For example, consider a situation
1296
+ # where you make an initial request and the request times out. If you make the
1297
+ # request again with the same request ID, the server can check if the original
1298
+ # operation with the same request ID was received, and if so, ignores the second
1299
+ # request. This prevents clients from accidentally creating duplicate
1300
+ # commitments. The request ID must be a valid UUID with the exception that zero
1301
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
1087
1302
  # Corresponds to the JSON property `requestId`
1088
1303
  # @return [String]
1089
1304
  attr_accessor :request_id
1090
1305
 
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.
1306
+ # Optional. If set, performs request validation, for example, permission checks
1307
+ # and any other type of validation, but does not actually execute the create
1308
+ # request.
1093
1309
  # Corresponds to the JSON property `validateOnly`
1094
1310
  # @return [Boolean]
1095
1311
  attr_accessor :validate_only
@@ -1137,16 +1353,17 @@ module Google
1137
1353
  # @return [String]
1138
1354
  attr_accessor :create_time
1139
1355
 
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.
1356
+ # Database flags. Set at the instance level. They are copied from the primary
1357
+ # instance on secondary instance creation. Flags that have restrictions default
1358
+ # to the value at primary instance on read instances during creation. Read
1359
+ # instances can set new flags or override existing flags that are relevant for
1360
+ # reads, for example, for enabling columnar cache on a read instance. Flags set
1361
+ # on read instance might or might not be present on the primary instance. This
1362
+ # is a list of "key": "value" pairs. "key": The name of the flag. These flags
1363
+ # are passed at instance setup time, so include both server options and system
1364
+ # variables for Postgres. Flags are specified with underscores, not hyphens. "
1365
+ # value": The value of the flag. Booleans are set to **on** for true and **off**
1366
+ # for false. This field must be omitted if the flag doesn't take a value.
1150
1367
  # Corresponds to the JSON property `databaseFlags`
1151
1368
  # @return [Hash<String,String>]
1152
1369
  attr_accessor :database_flags
@@ -1214,7 +1431,7 @@ module Google
1214
1431
  # @return [String]
1215
1432
  attr_accessor :name
1216
1433
 
1217
- # Metadata related to instance level network configuration.
1434
+ # Metadata related to instance-level network configuration.
1218
1435
  # Corresponds to the JSON property `networkConfig`
1219
1436
  # @return [Google::Apis::AlloydbV1alpha::InstanceNetworkConfig]
1220
1437
  attr_accessor :network_config
@@ -1347,7 +1564,7 @@ module Google
1347
1564
  end
1348
1565
  end
1349
1566
 
1350
- # Metadata related to instance level network configuration.
1567
+ # Metadata related to instance-level network configuration.
1351
1568
  class InstanceNetworkConfig
1352
1569
  include Google::Apis::Core::Hashable
1353
1570
 
@@ -1381,6 +1598,37 @@ module Google
1381
1598
  end
1382
1599
  end
1383
1600
 
1601
+ # Details regarding the upgrade of instaces associated with a cluster.
1602
+ class InstanceUpgradeDetails
1603
+ include Google::Apis::Core::Hashable
1604
+
1605
+ # Instance type.
1606
+ # Corresponds to the JSON property `instanceType`
1607
+ # @return [String]
1608
+ attr_accessor :instance_type
1609
+
1610
+ # Normalized name of the instance.
1611
+ # Corresponds to the JSON property `name`
1612
+ # @return [String]
1613
+ attr_accessor :name
1614
+
1615
+ # Upgrade status of the instance.
1616
+ # Corresponds to the JSON property `upgradeStatus`
1617
+ # @return [String]
1618
+ attr_accessor :upgrade_status
1619
+
1620
+ def initialize(**args)
1621
+ update!(**args)
1622
+ end
1623
+
1624
+ # Update properties of this object
1625
+ def update!(**args)
1626
+ @instance_type = args[:instance_type] if args.key?(:instance_type)
1627
+ @name = args[:name] if args.key?(:name)
1628
+ @upgrade_status = args[:upgrade_status] if args.key?(:upgrade_status)
1629
+ end
1630
+ end
1631
+
1384
1632
  # Restrictions on INTEGER type values.
1385
1633
  class IntegerRestrictions
1386
1634
  include Google::Apis::Core::Hashable
@@ -1781,8 +2029,8 @@ module Google
1781
2029
  class ObservabilityInstanceConfig
1782
2030
  include Google::Apis::Core::Hashable
1783
2031
 
1784
- # Observability feature status for an instance. This is a read-only flag and
1785
- # modifiable only by producer API. This flag is turned "off" by default.
2032
+ # Observability feature status for an instance. This flag is turned "off" by
2033
+ # default.
1786
2034
  # Corresponds to the JSON property `enabled`
1787
2035
  # @return [Boolean]
1788
2036
  attr_accessor :enabled
@@ -1801,7 +2049,7 @@ module Google
1801
2049
  alias_method :preserve_comments?, :preserve_comments
1802
2050
 
1803
2051
  # Number of query execution plans captured by Insights per minute for all
1804
- # queries combined. The default value is 5. Any integer between 0 to 20 is
2052
+ # queries combined. The default value is 200. Any integer between 0 to 200 is
1805
2053
  # considered valid.
1806
2054
  # Corresponds to the JSON property `queryPlansPerMinute`
1807
2055
  # @return [Fixnum]
@@ -1820,6 +2068,12 @@ module Google
1820
2068
  attr_accessor :track_active_queries
1821
2069
  alias_method :track_active_queries?, :track_active_queries
1822
2070
 
2071
+ # Track client address for an instance. If not set, default value is "off".
2072
+ # Corresponds to the JSON property `trackClientAddress`
2073
+ # @return [Boolean]
2074
+ attr_accessor :track_client_address
2075
+ alias_method :track_client_address?, :track_client_address
2076
+
1823
2077
  # Output only. Track wait event types during query execution for an instance.
1824
2078
  # This flag is turned "on" by default but tracking is enabled only after
1825
2079
  # observability enabled flag is also turned on. This is read-only flag and only
@@ -1849,6 +2103,7 @@ module Google
1849
2103
  @query_plans_per_minute = args[:query_plans_per_minute] if args.key?(:query_plans_per_minute)
1850
2104
  @record_application_tags = args[:record_application_tags] if args.key?(:record_application_tags)
1851
2105
  @track_active_queries = args[:track_active_queries] if args.key?(:track_active_queries)
2106
+ @track_client_address = args[:track_client_address] if args.key?(:track_client_address)
1852
2107
  @track_wait_event_types = args[:track_wait_event_types] if args.key?(:track_wait_event_types)
1853
2108
  @track_wait_events = args[:track_wait_events] if args.key?(:track_wait_events)
1854
2109
  end
@@ -2008,21 +2263,22 @@ module Google
2008
2263
  attr_accessor :etag
2009
2264
 
2010
2265
  # 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).
2266
+ # request ID so that if you must retry your request, the server ignores the
2267
+ # request if it has already been completed. The server guarantees that for at
2268
+ # least 60 minutes since the first request. For example, consider a situation
2269
+ # where you make an initial request and the request times out. If you make the
2270
+ # request again with the same request ID, the server can check if original
2271
+ # operation with the same request ID was received, and if so, will ignore the
2272
+ # second request. This prevents clients from accidentally creating duplicate
2273
+ # commitments. The request ID must be a valid UUID with the exception that zero
2274
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2020
2275
  # Corresponds to the JSON property `requestId`
2021
2276
  # @return [String]
2022
2277
  attr_accessor :request_id
2023
2278
 
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.
2279
+ # Optional. If set, performs request validation, for example, permission checks
2280
+ # and any other type of validation, but does not actually execute the create
2281
+ # request.
2026
2282
  # Corresponds to the JSON property `validateOnly`
2027
2283
  # @return [Boolean]
2028
2284
  attr_accessor :validate_only
@@ -2051,6 +2307,12 @@ module Google
2051
2307
  attr_accessor :psc_enabled
2052
2308
  alias_method :psc_enabled?, :psc_enabled
2053
2309
 
2310
+ # Output only. The project number that needs to be allowlisted on the network
2311
+ # attachment to enable outbound connectivity.
2312
+ # Corresponds to the JSON property `serviceOwnedProjectNumber`
2313
+ # @return [Fixnum]
2314
+ attr_accessor :service_owned_project_number
2315
+
2054
2316
  def initialize(**args)
2055
2317
  update!(**args)
2056
2318
  end
@@ -2058,6 +2320,7 @@ module Google
2058
2320
  # Update properties of this object
2059
2321
  def update!(**args)
2060
2322
  @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
2323
+ @service_owned_project_number = args[:service_owned_project_number] if args.key?(:service_owned_project_number)
2061
2324
  end
2062
2325
  end
2063
2326
 
@@ -2077,6 +2340,13 @@ module Google
2077
2340
  # @return [String]
2078
2341
  attr_accessor :psc_dns_name
2079
2342
 
2343
+ # Optional. Configurations for setting up PSC interfaces attached to the
2344
+ # instance which are used for outbound connectivity. Only primary instances can
2345
+ # have PSC interface attached. Currently we only support 0 or 1 PSC interface.
2346
+ # Corresponds to the JSON property `pscInterfaceConfigs`
2347
+ # @return [Array<Google::Apis::AlloydbV1alpha::PscInterfaceConfig>]
2348
+ attr_accessor :psc_interface_configs
2349
+
2080
2350
  # Output only. The service attachment created when Private Service Connect (PSC)
2081
2351
  # is enabled for the instance. The name of the resource will be in the format of
2082
2352
  # `projects//regions//serviceAttachments/`
@@ -2092,10 +2362,34 @@ module Google
2092
2362
  def update!(**args)
2093
2363
  @allowed_consumer_projects = args[:allowed_consumer_projects] if args.key?(:allowed_consumer_projects)
2094
2364
  @psc_dns_name = args[:psc_dns_name] if args.key?(:psc_dns_name)
2365
+ @psc_interface_configs = args[:psc_interface_configs] if args.key?(:psc_interface_configs)
2095
2366
  @service_attachment_link = args[:service_attachment_link] if args.key?(:service_attachment_link)
2096
2367
  end
2097
2368
  end
2098
2369
 
2370
+ # Configuration for setting up a PSC interface to enable outbound connectivity.
2371
+ class PscInterfaceConfig
2372
+ include Google::Apis::Core::Hashable
2373
+
2374
+ # The network attachment resource created in the consumer network to which the
2375
+ # PSC interface will be linked. This is of the format: "projects/$`
2376
+ # CONSUMER_PROJECT`/regions/$`REGION`/networkAttachments/$`
2377
+ # NETWORK_ATTACHMENT_NAME`". The network attachment must be in the same region
2378
+ # as the instance.
2379
+ # Corresponds to the JSON property `networkAttachmentResource`
2380
+ # @return [String]
2381
+ attr_accessor :network_attachment_resource
2382
+
2383
+ def initialize(**args)
2384
+ update!(**args)
2385
+ end
2386
+
2387
+ # Update properties of this object
2388
+ def update!(**args)
2389
+ @network_attachment_resource = args[:network_attachment_resource] if args.key?(:network_attachment_resource)
2390
+ end
2391
+ end
2392
+
2099
2393
  # A backup's position in a quantity-based retention queue, of backups with the
2100
2394
  # same source cluster and type, with length, retention, specified by the backup'
2101
2395
  # s retention policy. Once the position is greater than the retention, the
@@ -2216,22 +2510,29 @@ module Google
2216
2510
  class RestartInstanceRequest
2217
2511
  include Google::Apis::Core::Hashable
2218
2512
 
2513
+ # Optional. Full name of the nodes as obtained from INSTANCE_VIEW_FULL to
2514
+ # restart upon. Applicable only to read instances.
2515
+ # Corresponds to the JSON property `nodeIds`
2516
+ # @return [Array<String>]
2517
+ attr_accessor :node_ids
2518
+
2219
2519
  # 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).
2520
+ # request ID so that if you must retry your request, the server ignores the
2521
+ # request if it has already been completed. The server guarantees that for at
2522
+ # least 60 minutes since the first request. For example, consider a situation
2523
+ # where you make an initial request and the request times out. If you make the
2524
+ # request again with the same request ID, the server can check if the original
2525
+ # operation with the same request ID was received, and if so, ignores the second
2526
+ # request. This prevents clients from accidentally creating duplicate
2527
+ # commitments. The request ID must be a valid UUID with the exception that zero
2528
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2229
2529
  # Corresponds to the JSON property `requestId`
2230
2530
  # @return [String]
2231
2531
  attr_accessor :request_id
2232
2532
 
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.
2533
+ # Optional. If set, performs request validation, for example, permission checks
2534
+ # and any other type of validation, but does not actually execute the create
2535
+ # request.
2235
2536
  # Corresponds to the JSON property `validateOnly`
2236
2537
  # @return [Boolean]
2237
2538
  attr_accessor :validate_only
@@ -2243,6 +2544,7 @@ module Google
2243
2544
 
2244
2545
  # Update properties of this object
2245
2546
  def update!(**args)
2547
+ @node_ids = args[:node_ids] if args.key?(:node_ids)
2246
2548
  @request_id = args[:request_id] if args.key?(:request_id)
2247
2549
  @validate_only = args[:validate_only] if args.key?(:validate_only)
2248
2550
  end
@@ -2276,21 +2578,22 @@ module Google
2276
2578
  attr_accessor :continuous_backup_source
2277
2579
 
2278
2580
  # 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).
2581
+ # request ID so that if you must retry your request, the server ignores the
2582
+ # request if it has already been completed. The server guarantees that for at
2583
+ # least 60 minutes since the first request. For example, consider a situation
2584
+ # where you make an initial request and the request times out. If you make the
2585
+ # request again with the same request ID, the server can check if the original
2586
+ # operation with the same request ID was received, and if so, ignores the second
2587
+ # request. This prevents clients from accidentally creating duplicate
2588
+ # commitments. The request ID must be a valid UUID with the exception that zero
2589
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2288
2590
  # Corresponds to the JSON property `requestId`
2289
2591
  # @return [String]
2290
2592
  attr_accessor :request_id
2291
2593
 
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.
2594
+ # Optional. If set, performs request validation, for example, permission checks
2595
+ # and any other type of validation, but does not actually execute the create
2596
+ # request.
2294
2597
  # Corresponds to the JSON property `validateOnly`
2295
2598
  # @return [Boolean]
2296
2599
  attr_accessor :validate_only
@@ -2332,6 +2635,48 @@ module Google
2332
2635
  end
2333
2636
  end
2334
2637
 
2638
+ # Options for exporting data in SQL format.
2639
+ class SqlExportOptions
2640
+ include Google::Apis::Core::Hashable
2641
+
2642
+ # Optional. If true, output commands to DROP all the dumped database objects
2643
+ # prior to outputting the commands for creating them.
2644
+ # Corresponds to the JSON property `cleanTargetObjects`
2645
+ # @return [Boolean]
2646
+ attr_accessor :clean_target_objects
2647
+ alias_method :clean_target_objects?, :clean_target_objects
2648
+
2649
+ # Optional. If true, use DROP ... IF EXISTS commands to check for the object's
2650
+ # existence before dropping it in clean_target_objects mode.
2651
+ # Corresponds to the JSON property `ifExistTargetObjects`
2652
+ # @return [Boolean]
2653
+ attr_accessor :if_exist_target_objects
2654
+ alias_method :if_exist_target_objects?, :if_exist_target_objects
2655
+
2656
+ # Optional. If true, only export the schema.
2657
+ # Corresponds to the JSON property `schemaOnly`
2658
+ # @return [Boolean]
2659
+ attr_accessor :schema_only
2660
+ alias_method :schema_only?, :schema_only
2661
+
2662
+ # Optional. Tables to export from.
2663
+ # Corresponds to the JSON property `tables`
2664
+ # @return [Array<String>]
2665
+ attr_accessor :tables
2666
+
2667
+ def initialize(**args)
2668
+ update!(**args)
2669
+ end
2670
+
2671
+ # Update properties of this object
2672
+ def update!(**args)
2673
+ @clean_target_objects = args[:clean_target_objects] if args.key?(:clean_target_objects)
2674
+ @if_exist_target_objects = args[:if_exist_target_objects] if args.key?(:if_exist_target_objects)
2675
+ @schema_only = args[:schema_only] if args.key?(:schema_only)
2676
+ @tables = args[:tables] if args.key?(:tables)
2677
+ end
2678
+ end
2679
+
2335
2680
  # SSL configuration.
2336
2681
  class SslConfig
2337
2682
  include Google::Apis::Core::Hashable
@@ -2358,6 +2703,39 @@ module Google
2358
2703
  end
2359
2704
  end
2360
2705
 
2706
+ # Stage information for different stages in the upgrade process.
2707
+ class StageInfo
2708
+ include Google::Apis::Core::Hashable
2709
+
2710
+ # logs_url is the URL for the logs associated with a stage if that stage has
2711
+ # logs. Right now, only three stages have logs: ALLOYDB_PRECHECK,
2712
+ # PG_UPGRADE_CHECK, PRIMARY_INSTANCE_UPGRADE.
2713
+ # Corresponds to the JSON property `logsUrl`
2714
+ # @return [String]
2715
+ attr_accessor :logs_url
2716
+
2717
+ # The stage.
2718
+ # Corresponds to the JSON property `stage`
2719
+ # @return [String]
2720
+ attr_accessor :stage
2721
+
2722
+ # Status of the stage.
2723
+ # Corresponds to the JSON property `status`
2724
+ # @return [String]
2725
+ attr_accessor :status
2726
+
2727
+ def initialize(**args)
2728
+ update!(**args)
2729
+ end
2730
+
2731
+ # Update properties of this object
2732
+ def update!(**args)
2733
+ @logs_url = args[:logs_url] if args.key?(:logs_url)
2734
+ @stage = args[:stage] if args.key?(:stage)
2735
+ @status = args[:status] if args.key?(:status)
2736
+ end
2737
+ end
2738
+
2361
2739
  # The `Status` type defines a logical error model that is suitable for different
2362
2740
  # programming environments, including REST APIs and RPC APIs. It is used by [
2363
2741
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -2401,6 +2779,14 @@ module Google
2401
2779
  class StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration
2402
2780
  include Google::Apis::Core::Hashable
2403
2781
 
2782
+ # Checks for existence of (multi-cluster) routing configuration that allows
2783
+ # automatic failover to a different zone/region in case of an outage. Applicable
2784
+ # to Bigtable resources.
2785
+ # Corresponds to the JSON property `automaticFailoverRoutingConfigured`
2786
+ # @return [Boolean]
2787
+ attr_accessor :automatic_failover_routing_configured
2788
+ alias_method :automatic_failover_routing_configured?, :automatic_failover_routing_configured
2789
+
2404
2790
  # Availability type. Potential values: * `ZONAL`: The instance serves data from
2405
2791
  # only one zone. Outages in that zone affect data accessibility. * `REGIONAL`:
2406
2792
  # The instance can serve data from more than one zone in a region (it is highly
@@ -2434,6 +2820,7 @@ module Google
2434
2820
 
2435
2821
  # Update properties of this object
2436
2822
  def update!(**args)
2823
+ @automatic_failover_routing_configured = args[:automatic_failover_routing_configured] if args.key?(:automatic_failover_routing_configured)
2437
2824
  @availability_type = args[:availability_type] if args.key?(:availability_type)
2438
2825
  @cross_region_replica_configured = args[:cross_region_replica_configured] if args.key?(:cross_region_replica_configured)
2439
2826
  @external_replica_configured = args[:external_replica_configured] if args.key?(:external_replica_configured)
@@ -2539,16 +2926,17 @@ module Google
2539
2926
  end
2540
2927
  end
2541
2928
 
2542
- # Any custom metadata associated with the resource. i.e. A spanner instance can
2929
+ # Any custom metadata associated with the resource. e.g. A spanner instance can
2543
2930
  # have multiple databases with its own unique metadata. Information for these
2544
2931
  # individual databases can be captured in custom metadata data
2545
2932
  class StorageDatabasecenterPartnerapiV1mainCustomMetadataData
2546
2933
  include Google::Apis::Core::Hashable
2547
2934
 
2548
- #
2549
- # Corresponds to the JSON property `databaseMetadata`
2550
- # @return [Array<Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseMetadata>]
2551
- attr_accessor :database_metadata
2935
+ # Metadata for individual internal resources in an instance. e.g. spanner
2936
+ # instance can have multiple databases with unique configuration.
2937
+ # Corresponds to the JSON property `internalResourceMetadata`
2938
+ # @return [Array<Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainInternalResourceMetadata>]
2939
+ attr_accessor :internal_resource_metadata
2552
2940
 
2553
2941
  def initialize(**args)
2554
2942
  update!(**args)
@@ -2556,52 +2944,7 @@ module Google
2556
2944
 
2557
2945
  # Update properties of this object
2558
2946
  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
2593
-
2594
- def initialize(**args)
2595
- update!(**args)
2596
- end
2597
-
2598
- # Update properties of this object
2599
- 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)
2947
+ @internal_resource_metadata = args[:internal_resource_metadata] if args.key?(:internal_resource_metadata)
2605
2948
  end
2606
2949
  end
2607
2950
 
@@ -2620,7 +2963,7 @@ module Google
2620
2963
  # @return [String]
2621
2964
  attr_accessor :feed_type
2622
2965
 
2623
- # More feed data would be added in subsequent CLs
2966
+ #
2624
2967
  # Corresponds to the JSON property `observabilityMetricData`
2625
2968
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainObservabilityMetricData]
2626
2969
  attr_accessor :observability_metric_data
@@ -2640,7 +2983,7 @@ module Google
2640
2983
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseResourceId]
2641
2984
  attr_accessor :resource_id
2642
2985
 
2643
- # Common model for database resource instance metadata.
2986
+ # Common model for database resource instance metadata. Next ID: 23
2644
2987
  # Corresponds to the JSON property `resourceMetadata`
2645
2988
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata]
2646
2989
  attr_accessor :resource_metadata
@@ -2733,6 +3076,11 @@ module Google
2733
3076
  # @return [String]
2734
3077
  attr_accessor :signal_id
2735
3078
 
3079
+ # The severity of the signal, such as if it's a HIGH or LOW severity.
3080
+ # Corresponds to the JSON property `signalSeverity`
3081
+ # @return [String]
3082
+ attr_accessor :signal_severity
3083
+
2736
3084
  # Required. Type of signal, for example, `AVAILABLE_IN_MULTIPLE_ZONES`, `
2737
3085
  # LOGGING_MOST_ERRORS`, etc.
2738
3086
  # Corresponds to the JSON property `signalType`
@@ -2761,6 +3109,7 @@ module Google
2761
3109
  @resource_name = args[:resource_name] if args.key?(:resource_name)
2762
3110
  @signal_class = args[:signal_class] if args.key?(:signal_class)
2763
3111
  @signal_id = args[:signal_id] if args.key?(:signal_id)
3112
+ @signal_severity = args[:signal_severity] if args.key?(:signal_severity)
2764
3113
  @signal_type = args[:signal_type] if args.key?(:signal_type)
2765
3114
  @state = args[:state] if args.key?(:state)
2766
3115
  end
@@ -2782,8 +3131,10 @@ module Google
2782
3131
 
2783
3132
  # Required. The type of resource this ID is identifying. Ex redis.googleapis.com/
2784
3133
  # 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
3134
+ # alloydb.googleapis.com/Instance, spanner.googleapis.com/Instance, spanner.
3135
+ # googleapis.com/Database, firestore.googleapis.com/Database, sqladmin.
3136
+ # googleapis.com/Instance, bigtableadmin.googleapis.com/Cluster, bigtableadmin.
3137
+ # googleapis.com/Instance REQUIRED Please refer go/condor-common-datamodel
2787
3138
  # Corresponds to the JSON property `resourceType`
2788
3139
  # @return [String]
2789
3140
  attr_accessor :resource_type
@@ -2807,7 +3158,7 @@ module Google
2807
3158
  end
2808
3159
  end
2809
3160
 
2810
- # Common model for database resource instance metadata.
3161
+ # Common model for database resource instance metadata. Next ID: 23
2811
3162
  class StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata
2812
3163
  include Google::Apis::Core::Hashable
2813
3164
 
@@ -2837,13 +3188,20 @@ module Google
2837
3188
  # @return [String]
2838
3189
  attr_accessor :current_state
2839
3190
 
2840
- # Any custom metadata associated with the resource. i.e. A spanner instance can
3191
+ # Any custom metadata associated with the resource. e.g. A spanner instance can
2841
3192
  # have multiple databases with its own unique metadata. Information for these
2842
3193
  # individual databases can be captured in custom metadata data
2843
3194
  # Corresponds to the JSON property `customMetadata`
2844
3195
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainCustomMetadataData]
2845
3196
  attr_accessor :custom_metadata
2846
3197
 
3198
+ # Optional. Edition represents whether the instance is ENTERPRISE or
3199
+ # ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to
3200
+ # identify the edition of the instance.
3201
+ # Corresponds to the JSON property `edition`
3202
+ # @return [String]
3203
+ attr_accessor :edition
3204
+
2847
3205
  # Entitlements associated with the resource
2848
3206
  # Corresponds to the JSON property `entitlements`
2849
3207
  # @return [Array<Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainEntitlement>]
@@ -2882,6 +3240,12 @@ module Google
2882
3240
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseResourceId]
2883
3241
  attr_accessor :primary_resource_id
2884
3242
 
3243
+ # Primary resource location. REQUIRED if the immediate parent exists when first
3244
+ # time resource is getting ingested, otherwise optional.
3245
+ # Corresponds to the JSON property `primaryResourceLocation`
3246
+ # @return [String]
3247
+ attr_accessor :primary_resource_location
3248
+
2885
3249
  # Product specification for Condor resources.
2886
3250
  # Corresponds to the JSON property `product`
2887
3251
  # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterProtoCommonProduct]
@@ -2903,6 +3267,13 @@ module Google
2903
3267
  # @return [String]
2904
3268
  attr_accessor :resource_name
2905
3269
 
3270
+ # Message type for storing tags. Tags provide a way to create annotations for
3271
+ # resources, and in some cases conditionally allow or deny policies based on
3272
+ # whether a resource has a specific tag.
3273
+ # Corresponds to the JSON property `tagsSet`
3274
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainTags]
3275
+ attr_accessor :tags_set
3276
+
2906
3277
  # The time at which the resource was updated and recorded at partner service.
2907
3278
  # Corresponds to the JSON property `updationTime`
2908
3279
  # @return [String]
@@ -2927,6 +3298,7 @@ module Google
2927
3298
  @creation_time = args[:creation_time] if args.key?(:creation_time)
2928
3299
  @current_state = args[:current_state] if args.key?(:current_state)
2929
3300
  @custom_metadata = args[:custom_metadata] if args.key?(:custom_metadata)
3301
+ @edition = args[:edition] if args.key?(:edition)
2930
3302
  @entitlements = args[:entitlements] if args.key?(:entitlements)
2931
3303
  @expected_state = args[:expected_state] if args.key?(:expected_state)
2932
3304
  @id = args[:id] if args.key?(:id)
@@ -2934,9 +3306,11 @@ module Google
2934
3306
  @location = args[:location] if args.key?(:location)
2935
3307
  @machine_configuration = args[:machine_configuration] if args.key?(:machine_configuration)
2936
3308
  @primary_resource_id = args[:primary_resource_id] if args.key?(:primary_resource_id)
3309
+ @primary_resource_location = args[:primary_resource_location] if args.key?(:primary_resource_location)
2937
3310
  @product = args[:product] if args.key?(:product)
2938
3311
  @resource_container = args[:resource_container] if args.key?(:resource_container)
2939
3312
  @resource_name = args[:resource_name] if args.key?(:resource_name)
3313
+ @tags_set = args[:tags_set] if args.key?(:tags_set)
2940
3314
  @updation_time = args[:updation_time] if args.key?(:updation_time)
2941
3315
  @user_label_set = args[:user_label_set] if args.key?(:user_label_set)
2942
3316
  end
@@ -3041,6 +3415,52 @@ module Google
3041
3415
  end
3042
3416
  end
3043
3417
 
3418
+ # Metadata for individual internal resources in an instance. e.g. spanner
3419
+ # instance can have multiple databases with unique configuration settings.
3420
+ # Similarly bigtable can have multiple clusters within same bigtable instance.
3421
+ class StorageDatabasecenterPartnerapiV1mainInternalResourceMetadata
3422
+ include Google::Apis::Core::Hashable
3423
+
3424
+ # Configuration for automatic backups
3425
+ # Corresponds to the JSON property `backupConfiguration`
3426
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainBackupConfiguration]
3427
+ attr_accessor :backup_configuration
3428
+
3429
+ # A backup run.
3430
+ # Corresponds to the JSON property `backupRun`
3431
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainBackupRun]
3432
+ attr_accessor :backup_run
3433
+
3434
+ # Product specification for Condor resources.
3435
+ # Corresponds to the JSON property `product`
3436
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterProtoCommonProduct]
3437
+ attr_accessor :product
3438
+
3439
+ # DatabaseResourceId will serve as primary key for any resource ingestion event.
3440
+ # Corresponds to the JSON property `resourceId`
3441
+ # @return [Google::Apis::AlloydbV1alpha::StorageDatabasecenterPartnerapiV1mainDatabaseResourceId]
3442
+ attr_accessor :resource_id
3443
+
3444
+ # Required. internal resource name for spanner this will be database name e.g."
3445
+ # spanner.googleapis.com/projects/123/abc/instances/inst1/databases/db1"
3446
+ # Corresponds to the JSON property `resourceName`
3447
+ # @return [String]
3448
+ attr_accessor :resource_name
3449
+
3450
+ def initialize(**args)
3451
+ update!(**args)
3452
+ end
3453
+
3454
+ # Update properties of this object
3455
+ def update!(**args)
3456
+ @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
3457
+ @backup_run = args[:backup_run] if args.key?(:backup_run)
3458
+ @product = args[:product] if args.key?(:product)
3459
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
3460
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
3461
+ end
3462
+ end
3463
+
3044
3464
  # MachineConfiguration describes the configuration of a machine specific to
3045
3465
  # Database Resource.
3046
3466
  class StorageDatabasecenterPartnerapiV1mainMachineConfiguration
@@ -3058,6 +3478,11 @@ module Google
3058
3478
  # @return [Fixnum]
3059
3479
  attr_accessor :memory_size_in_bytes
3060
3480
 
3481
+ # Optional. Number of shards (if applicable).
3482
+ # Corresponds to the JSON property `shardCount`
3483
+ # @return [Fixnum]
3484
+ attr_accessor :shard_count
3485
+
3061
3486
  def initialize(**args)
3062
3487
  update!(**args)
3063
3488
  end
@@ -3066,6 +3491,7 @@ module Google
3066
3491
  def update!(**args)
3067
3492
  @cpu_count = args[:cpu_count] if args.key?(:cpu_count)
3068
3493
  @memory_size_in_bytes = args[:memory_size_in_bytes] if args.key?(:memory_size_in_bytes)
3494
+ @shard_count = args[:shard_count] if args.key?(:shard_count)
3069
3495
  end
3070
3496
  end
3071
3497
 
@@ -3149,6 +3575,11 @@ module Google
3149
3575
  class StorageDatabasecenterPartnerapiV1mainRetentionSettings
3150
3576
  include Google::Apis::Core::Hashable
3151
3577
 
3578
+ # Duration based retention period i.e. 172800 seconds (2 days)
3579
+ # Corresponds to the JSON property `durationBasedRetention`
3580
+ # @return [String]
3581
+ attr_accessor :duration_based_retention
3582
+
3152
3583
  #
3153
3584
  # Corresponds to the JSON property `quantityBasedRetention`
3154
3585
  # @return [Fixnum]
@@ -3164,15 +3595,43 @@ module Google
3164
3595
  # @return [String]
3165
3596
  attr_accessor :time_based_retention
3166
3597
 
3598
+ # Timestamp based retention period i.e. 2024-05-01T00:00:00Z
3599
+ # Corresponds to the JSON property `timestampBasedRetentionTime`
3600
+ # @return [String]
3601
+ attr_accessor :timestamp_based_retention_time
3602
+
3167
3603
  def initialize(**args)
3168
3604
  update!(**args)
3169
3605
  end
3170
3606
 
3171
3607
  # Update properties of this object
3172
3608
  def update!(**args)
3609
+ @duration_based_retention = args[:duration_based_retention] if args.key?(:duration_based_retention)
3173
3610
  @quantity_based_retention = args[:quantity_based_retention] if args.key?(:quantity_based_retention)
3174
3611
  @retention_unit = args[:retention_unit] if args.key?(:retention_unit)
3175
3612
  @time_based_retention = args[:time_based_retention] if args.key?(:time_based_retention)
3613
+ @timestamp_based_retention_time = args[:timestamp_based_retention_time] if args.key?(:timestamp_based_retention_time)
3614
+ end
3615
+ end
3616
+
3617
+ # Message type for storing tags. Tags provide a way to create annotations for
3618
+ # resources, and in some cases conditionally allow or deny policies based on
3619
+ # whether a resource has a specific tag.
3620
+ class StorageDatabasecenterPartnerapiV1mainTags
3621
+ include Google::Apis::Core::Hashable
3622
+
3623
+ # The Tag key/value mappings.
3624
+ # Corresponds to the JSON property `tags`
3625
+ # @return [Hash<String,String>]
3626
+ attr_accessor :tags
3627
+
3628
+ def initialize(**args)
3629
+ update!(**args)
3630
+ end
3631
+
3632
+ # Update properties of this object
3633
+ def update!(**args)
3634
+ @tags = args[:tags] if args.key?(:tags)
3176
3635
  end
3177
3636
  end
3178
3637
 
@@ -3366,21 +3825,22 @@ module Google
3366
3825
  include Google::Apis::Core::Hashable
3367
3826
 
3368
3827
  # 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).
3828
+ # request ID so that if you must retry your request, the server ignores the
3829
+ # request if it has already been completed. The server guarantees that for at
3830
+ # least 60 minutes since the first request. For example, consider a situation
3831
+ # where you make an initial request and the request times out. If you make the
3832
+ # request again with the same request ID, the server can check if the original
3833
+ # operation with the same request ID was received, and if so, ignores the second
3834
+ # request. This prevents clients from accidentally creating duplicate
3835
+ # commitments. The request ID must be a valid UUID with the exception that zero
3836
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
3378
3837
  # Corresponds to the JSON property `requestId`
3379
3838
  # @return [String]
3380
3839
  attr_accessor :request_id
3381
3840
 
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.
3841
+ # Optional. If set, performs request validation, for example, permission checks
3842
+ # and any other type of validation, but does not actually execute the create
3843
+ # request.
3384
3844
  # Corresponds to the JSON property `validateOnly`
3385
3845
  # @return [Boolean]
3386
3846
  attr_accessor :validate_only
@@ -3426,6 +3886,11 @@ module Google
3426
3886
  # @return [String]
3427
3887
  attr_accessor :end_time
3428
3888
 
3889
+ # grace end time of the cluster.
3890
+ # Corresponds to the JSON property `graceEndTime`
3891
+ # @return [String]
3892
+ attr_accessor :grace_end_time
3893
+
3429
3894
  # start time of the trial cluster.
3430
3895
  # Corresponds to the JSON property `startTime`
3431
3896
  # @return [String]
@@ -3443,6 +3908,7 @@ module Google
3443
3908
  # Update properties of this object
3444
3909
  def update!(**args)
3445
3910
  @end_time = args[:end_time] if args.key?(:end_time)
3911
+ @grace_end_time = args[:grace_end_time] if args.key?(:grace_end_time)
3446
3912
  @start_time = args[:start_time] if args.key?(:start_time)
3447
3913
  @upgrade_time = args[:upgrade_time] if args.key?(:upgrade_time)
3448
3914
  end
@@ -3467,6 +3933,90 @@ module Google
3467
3933
  end
3468
3934
  end
3469
3935
 
3936
+ # Upgrades a cluster.
3937
+ class UpgradeClusterRequest
3938
+ include Google::Apis::Core::Hashable
3939
+
3940
+ # Optional. The current etag of the Cluster. If an etag is provided and does not
3941
+ # match the current etag of the Cluster, upgrade will be blocked and an ABORTED
3942
+ # error will be returned.
3943
+ # Corresponds to the JSON property `etag`
3944
+ # @return [String]
3945
+ attr_accessor :etag
3946
+
3947
+ # Optional. An optional request ID to identify requests. Specify a unique
3948
+ # request ID so that if you must retry your request, the server ignores the
3949
+ # request if it has already been completed. The server guarantees that for at
3950
+ # least 60 minutes since the first request. For example, consider a situation
3951
+ # where you make an initial request and the request times out. If you make the
3952
+ # request again with the same request ID, the server can check if the original
3953
+ # operation with the same request ID was received, and if so, ignores the second
3954
+ # request. This prevents clients from accidentally creating duplicate
3955
+ # commitments. The request ID must be a valid UUID with the exception that zero
3956
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
3957
+ # Corresponds to the JSON property `requestId`
3958
+ # @return [String]
3959
+ attr_accessor :request_id
3960
+
3961
+ # Optional. If set, performs request validation, for example, permission checks
3962
+ # and any other type of validation, but does not actually execute the create
3963
+ # request.
3964
+ # Corresponds to the JSON property `validateOnly`
3965
+ # @return [Boolean]
3966
+ attr_accessor :validate_only
3967
+ alias_method :validate_only?, :validate_only
3968
+
3969
+ # Required. The version the cluster is going to be upgraded to.
3970
+ # Corresponds to the JSON property `version`
3971
+ # @return [String]
3972
+ attr_accessor :version
3973
+
3974
+ def initialize(**args)
3975
+ update!(**args)
3976
+ end
3977
+
3978
+ # Update properties of this object
3979
+ def update!(**args)
3980
+ @etag = args[:etag] if args.key?(:etag)
3981
+ @request_id = args[:request_id] if args.key?(:request_id)
3982
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
3983
+ @version = args[:version] if args.key?(:version)
3984
+ end
3985
+ end
3986
+
3987
+ # UpgradeClusterResponse contains the response for upgrade cluster operation.
3988
+ class UpgradeClusterResponse
3989
+ include Google::Apis::Core::Hashable
3990
+
3991
+ # Array of upgrade details for the current cluster and all the secondary
3992
+ # clusters associated with this cluster.
3993
+ # Corresponds to the JSON property `clusterUpgradeDetails`
3994
+ # @return [Array<Google::Apis::AlloydbV1alpha::ClusterUpgradeDetails>]
3995
+ attr_accessor :cluster_upgrade_details
3996
+
3997
+ # A user friendly message summarising the upgrade operation details and the next
3998
+ # steps for the user if there is any.
3999
+ # Corresponds to the JSON property `message`
4000
+ # @return [String]
4001
+ attr_accessor :message
4002
+
4003
+ # Status of upgrade operation.
4004
+ # Corresponds to the JSON property `status`
4005
+ # @return [String]
4006
+ attr_accessor :status
4007
+
4008
+ def initialize(**args)
4009
+ update!(**args)
4010
+ end
4011
+
4012
+ # Update properties of this object
4013
+ def update!(**args)
4014
+ @cluster_upgrade_details = args[:cluster_upgrade_details] if args.key?(:cluster_upgrade_details)
4015
+ @message = args[:message] if args.key?(:message)
4016
+ @status = args[:status] if args.key?(:status)
4017
+ end
4018
+ end
4019
+
3470
4020
  # Message describing User object.
3471
4021
  class User
3472
4022
  include Google::Apis::Core::Hashable
@@ -3477,6 +4027,13 @@ module Google
3477
4027
  # @return [Array<String>]
3478
4028
  attr_accessor :database_roles
3479
4029
 
4030
+ # Input only. If the user already exists and it has additional roles, keep them
4031
+ # granted.
4032
+ # Corresponds to the JSON property `keepExtraRoles`
4033
+ # @return [Boolean]
4034
+ attr_accessor :keep_extra_roles
4035
+ alias_method :keep_extra_roles?, :keep_extra_roles
4036
+
3480
4037
  # Output only. Name of the resource in the form of projects/`project`/locations/`
3481
4038
  # location`/cluster/`cluster`/users/`user`.
3482
4039
  # Corresponds to the JSON property `name`
@@ -3500,6 +4057,7 @@ module Google
3500
4057
  # Update properties of this object
3501
4058
  def update!(**args)
3502
4059
  @database_roles = args[:database_roles] if args.key?(:database_roles)
4060
+ @keep_extra_roles = args[:keep_extra_roles] if args.key?(:keep_extra_roles)
3503
4061
  @name = args[:name] if args.key?(:name)
3504
4062
  @password = args[:password] if args.key?(:password)
3505
4063
  @user_type = args[:user_type] if args.key?(:user_type)