google-apis-alloydb_v1alpha 0.17.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -247,6 +247,13 @@ module Google
247
247
  # @return [String]
248
248
  attr_accessor :state
249
249
 
250
+ # Optional. Input only. Immutable. Tag keys/values directly bound to this
251
+ # resource. For example: ``` "123/environment": "production", "123/costCenter": "
252
+ # marketing" ```
253
+ # Corresponds to the JSON property `tags`
254
+ # @return [Hash<String,String>]
255
+ attr_accessor :tags
256
+
250
257
  # The backup type, which suggests the trigger for the backup.
251
258
  # Corresponds to the JSON property `type`
252
259
  # @return [String]
@@ -289,6 +296,7 @@ module Google
289
296
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
290
297
  @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
291
298
  @state = args[:state] if args.key?(:state)
299
+ @tags = args[:tags] if args.key?(:tags)
292
300
  @type = args[:type] if args.key?(:type)
293
301
  @uid = args[:uid] if args.key?(:uid)
294
302
  @update_time = args[:update_time] if args.key?(:update_time)
@@ -389,6 +397,38 @@ module Google
389
397
  end
390
398
  end
391
399
 
400
+ # The source CloudSQL backup resource.
401
+ class CloudSqlBackupRunSource
402
+ include Google::Apis::Core::Hashable
403
+
404
+ # Required. The CloudSQL backup run ID.
405
+ # Corresponds to the JSON property `backupRunId`
406
+ # @return [Fixnum]
407
+ attr_accessor :backup_run_id
408
+
409
+ # Required. The CloudSQL instance ID.
410
+ # Corresponds to the JSON property `instanceId`
411
+ # @return [String]
412
+ attr_accessor :instance_id
413
+
414
+ # The project ID of the source CloudSQL instance. This should be the same as the
415
+ # AlloyDB cluster's project.
416
+ # Corresponds to the JSON property `project`
417
+ # @return [String]
418
+ attr_accessor :project
419
+
420
+ def initialize(**args)
421
+ update!(**args)
422
+ end
423
+
424
+ # Update properties of this object
425
+ def update!(**args)
426
+ @backup_run_id = args[:backup_run_id] if args.key?(:backup_run_id)
427
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
428
+ @project = args[:project] if args.key?(:project)
429
+ end
430
+ end
431
+
392
432
  # A cluster is a collection of regional AlloyDB resources. It can include a
393
433
  # primary instance and one or more read pool instances. All cluster resources
394
434
  # share a storage layer, which scales as needed.
@@ -413,6 +453,11 @@ module Google
413
453
  # @return [Google::Apis::AlloydbV1alpha::BackupSource]
414
454
  attr_accessor :backup_source
415
455
 
456
+ # The source CloudSQL backup resource.
457
+ # Corresponds to the JSON property `cloudsqlBackupRunSource`
458
+ # @return [Google::Apis::AlloydbV1alpha::CloudSqlBackupRunSource]
459
+ attr_accessor :cloudsql_backup_run_source
460
+
416
461
  # Output only. The type of the cluster. This is an output-only field and it's
417
462
  # populated at the Cluster creation time or the Cluster promotion time. The
418
463
  # cluster type is determined by which RPC was used to create the cluster (i.e. `
@@ -586,6 +631,13 @@ module Google
586
631
  # @return [String]
587
632
  attr_accessor :subscription_type
588
633
 
634
+ # Optional. Input only. Immutable. Tag keys/values directly bound to this
635
+ # resource. For example: ``` "123/environment": "production", "123/costCenter": "
636
+ # marketing" ```
637
+ # Corresponds to the JSON property `tags`
638
+ # @return [Hash<String,String>]
639
+ attr_accessor :tags
640
+
589
641
  # Contains information and all metadata related to TRIAL clusters.
590
642
  # Corresponds to the JSON property `trialMetadata`
591
643
  # @return [Google::Apis::AlloydbV1alpha::TrialMetadata]
@@ -611,6 +663,7 @@ module Google
611
663
  @annotations = args[:annotations] if args.key?(:annotations)
612
664
  @automated_backup_policy = args[:automated_backup_policy] if args.key?(:automated_backup_policy)
613
665
  @backup_source = args[:backup_source] if args.key?(:backup_source)
666
+ @cloudsql_backup_run_source = args[:cloudsql_backup_run_source] if args.key?(:cloudsql_backup_run_source)
614
667
  @cluster_type = args[:cluster_type] if args.key?(:cluster_type)
615
668
  @continuous_backup_config = args[:continuous_backup_config] if args.key?(:continuous_backup_config)
616
669
  @continuous_backup_info = args[:continuous_backup_info] if args.key?(:continuous_backup_info)
@@ -639,12 +692,64 @@ module Google
639
692
  @ssl_config = args[:ssl_config] if args.key?(:ssl_config)
640
693
  @state = args[:state] if args.key?(:state)
641
694
  @subscription_type = args[:subscription_type] if args.key?(:subscription_type)
695
+ @tags = args[:tags] if args.key?(:tags)
642
696
  @trial_metadata = args[:trial_metadata] if args.key?(:trial_metadata)
643
697
  @uid = args[:uid] if args.key?(:uid)
644
698
  @update_time = args[:update_time] if args.key?(:update_time)
645
699
  end
646
700
  end
647
701
 
702
+ # Upgrade details of a cluster. This cluster can be primary or secondary.
703
+ class ClusterUpgradeDetails
704
+ include Google::Apis::Core::Hashable
705
+
706
+ # Cluster type which can either be primary or secondary.
707
+ # Corresponds to the JSON property `clusterType`
708
+ # @return [String]
709
+ attr_accessor :cluster_type
710
+
711
+ # Database version of the cluster after the upgrade operation. This will be the
712
+ # target version if the upgrade was successful otherwise it remains the same as
713
+ # that before the upgrade operation.
714
+ # Corresponds to the JSON property `databaseVersion`
715
+ # @return [String]
716
+ attr_accessor :database_version
717
+
718
+ # Upgrade details of the instances directly associated with this cluster.
719
+ # Corresponds to the JSON property `instanceUpgradeDetails`
720
+ # @return [Array<Google::Apis::AlloydbV1alpha::InstanceUpgradeDetails>]
721
+ attr_accessor :instance_upgrade_details
722
+
723
+ # Normalized name of the cluster
724
+ # Corresponds to the JSON property `name`
725
+ # @return [String]
726
+ attr_accessor :name
727
+
728
+ # Array containing stage info associated with this cluster.
729
+ # Corresponds to the JSON property `stageInfo`
730
+ # @return [Array<Google::Apis::AlloydbV1alpha::StageInfo>]
731
+ attr_accessor :stage_info
732
+
733
+ # Upgrade status of the cluster.
734
+ # Corresponds to the JSON property `upgradeStatus`
735
+ # @return [String]
736
+ attr_accessor :upgrade_status
737
+
738
+ def initialize(**args)
739
+ update!(**args)
740
+ end
741
+
742
+ # Update properties of this object
743
+ def update!(**args)
744
+ @cluster_type = args[:cluster_type] if args.key?(:cluster_type)
745
+ @database_version = args[:database_version] if args.key?(:database_version)
746
+ @instance_upgrade_details = args[:instance_upgrade_details] if args.key?(:instance_upgrade_details)
747
+ @name = args[:name] if args.key?(:name)
748
+ @stage_info = args[:stage_info] if args.key?(:stage_info)
749
+ @upgrade_status = args[:upgrade_status] if args.key?(:upgrade_status)
750
+ end
751
+ end
752
+
648
753
  # ConnectionInfo singleton resource. https://google.aip.dev/156
649
754
  class ConnectionInfo
650
755
  include Google::Apis::Core::Hashable
@@ -804,6 +909,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)