google-cloud-spanner-admin-instance-v1 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -25,7 +25,7 @@ module Google
25
25
  module V1
26
26
  # @!attribute [rw] location
27
27
  # @return [::String]
28
- # The location of the serving resources, e.g. "us-central1".
28
+ # The location of the serving resources, e.g., "us-central1".
29
29
  # @!attribute [rw] type
30
30
  # @return [::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo::ReplicaType]
31
31
  # The type of replica.
@@ -94,16 +94,21 @@ module Google
94
94
  # @return [::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>]
95
95
  # The geographic placement of nodes in this instance configuration and their
96
96
  # replication properties.
97
+ #
98
+ # To create user-managed configurations, input
99
+ # `replicas` must include all replicas in `replicas` of the `base_config`
100
+ # and include one or more replicas in the `optional_replicas` of the
101
+ # `base_config`.
97
102
  # @!attribute [r] optional_replicas
98
103
  # @return [::Array<::Google::Cloud::Spanner::Admin::Instance::V1::ReplicaInfo>]
99
- # Output only. The available optional replicas to choose from for user
100
- # managed configurations. Populated for Google managed configurations.
104
+ # Output only. The available optional replicas to choose from for
105
+ # user-managed configurations. Populated for Google-managed configurations.
101
106
  # @!attribute [rw] base_config
102
107
  # @return [::String]
103
108
  # Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
104
- # based on which this configuration is created. Only set for user managed
109
+ # based on which this configuration is created. Only set for user-managed
105
110
  # configurations. `base_config` must refer to a configuration of type
106
- # GOOGLE_MANAGED in the same project as this configuration.
111
+ # `GOOGLE_MANAGED` in the same project as this configuration.
107
112
  # @!attribute [rw] labels
108
113
  # @return [::Google::Protobuf::Map{::String => ::String}]
109
114
  # Cloud Labels are a flexible and lightweight mechanism for organizing cloud
@@ -153,6 +158,16 @@ module Google
153
158
  # @return [::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig::State]
154
159
  # Output only. The current instance configuration state. Applicable only for
155
160
  # `USER_MANAGED` configurations.
161
+ # @!attribute [r] free_instance_availability
162
+ # @return [::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig::FreeInstanceAvailability]
163
+ # Output only. Describes whether free instances are available to be created
164
+ # in this instance configuration.
165
+ # @!attribute [r] quorum_type
166
+ # @return [::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig::QuorumType]
167
+ # Output only. The `QuorumType` of the instance configuration.
168
+ # @!attribute [r] storage_limit_per_processing_unit
169
+ # @return [::Integer]
170
+ # Output only. The storage limit in bytes per processing unit.
156
171
  class InstanceConfig
157
172
  include ::Google::Protobuf::MessageExts
158
173
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -171,10 +186,10 @@ module Google
171
186
  # Unspecified.
172
187
  TYPE_UNSPECIFIED = 0
173
188
 
174
- # Google managed configuration.
189
+ # Google-managed configuration.
175
190
  GOOGLE_MANAGED = 1
176
191
 
177
- # User managed configuration.
192
+ # User-managed configuration.
178
193
  USER_MANAGED = 2
179
194
  end
180
195
 
@@ -190,6 +205,53 @@ module Google
190
205
  # create instances.
191
206
  READY = 2
192
207
  end
208
+
209
+ # Describes the availability for free instances to be created in an instance
210
+ # configuration.
211
+ module FreeInstanceAvailability
212
+ # Not specified.
213
+ FREE_INSTANCE_AVAILABILITY_UNSPECIFIED = 0
214
+
215
+ # Indicates that free instances are available to be created in this
216
+ # instance configuration.
217
+ AVAILABLE = 1
218
+
219
+ # Indicates that free instances are not supported in this instance
220
+ # configuration.
221
+ UNSUPPORTED = 2
222
+
223
+ # Indicates that free instances are currently not available to be created
224
+ # in this instance configuration.
225
+ DISABLED = 3
226
+
227
+ # Indicates that additional free instances cannot be created in this
228
+ # instance configuration because the project has reached its limit of free
229
+ # instances.
230
+ QUOTA_EXCEEDED = 4
231
+ end
232
+
233
+ # Indicates the quorum type of this instance configuration.
234
+ module QuorumType
235
+ # Quorum type not specified.
236
+ QUORUM_TYPE_UNSPECIFIED = 0
237
+
238
+ # An instance configuration tagged with `REGION` quorum type forms a write
239
+ # quorum in a single region.
240
+ REGION = 1
241
+
242
+ # An instance configuration tagged with the `DUAL_REGION` quorum type forms
243
+ # a write quorum with exactly two read-write regions in a multi-region
244
+ # configuration.
245
+ #
246
+ # This instance configuration requires failover in the event of
247
+ # regional failures.
248
+ DUAL_REGION = 2
249
+
250
+ # An instance configuration tagged with the `MULTI_REGION` quorum type
251
+ # forms a write quorum from replicas that are spread across more than one
252
+ # region in a multi-region configuration.
253
+ MULTI_REGION = 3
254
+ end
193
255
  end
194
256
 
195
257
  # ReplicaComputeCapacity describes the amount of server resources that are
@@ -276,7 +338,7 @@ module Google
276
338
  # Required. The target storage utilization percentage that the autoscaler
277
339
  # should be trying to achieve for the instance. This number is on a scale
278
340
  # from 0 (no utilization) to 100 (full utilization). The valid range is
279
- # [10, 100] inclusive.
341
+ # [10, 99] inclusive.
280
342
  class AutoscalingTargets
281
343
  include ::Google::Protobuf::MessageExts
282
344
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -347,9 +409,6 @@ module Google
347
409
  # This might be zero in API responses for instances that are not yet in the
348
410
  # `READY` state.
349
411
  #
350
- # If the instance has varying node count across replicas (achieved by
351
- # setting asymmetric_autoscaling_options in autoscaling config), the
352
- # node_count here is the maximum node count across all replicas.
353
412
  #
354
413
  # For more information, see
355
414
  # [Compute capacity, nodes, and processing
@@ -369,10 +428,6 @@ module Google
369
428
  # This might be zero in API responses for instances that are not yet in the
370
429
  # `READY` state.
371
430
  #
372
- # If the instance has varying processing units per replica
373
- # (achieved by setting asymmetric_autoscaling_options in autoscaling config),
374
- # the processing_units here is the maximum processing units across all
375
- # replicas.
376
431
  #
377
432
  # For more information, see
378
433
  # [Compute capacity, nodes and processing
@@ -418,6 +473,9 @@ module Google
418
473
  # specific characters being disallowed. For example, representing labels
419
474
  # as the string: name + "_" + value would prove problematic if we were to
420
475
  # allow "_" in a future release.
476
+ # @!attribute [rw] instance_type
477
+ # @return [::Google::Cloud::Spanner::Admin::Instance::V1::Instance::InstanceType]
478
+ # The `InstanceType` of the current instance.
421
479
  # @!attribute [rw] endpoint_uris
422
480
  # @return [::Array<::String>]
423
481
  # Deprecated. This field is not populated.
@@ -427,20 +485,24 @@ module Google
427
485
  # @!attribute [r] update_time
428
486
  # @return [::Google::Protobuf::Timestamp]
429
487
  # Output only. The time at which the instance was most recently updated.
488
+ # @!attribute [rw] free_instance_metadata
489
+ # @return [::Google::Cloud::Spanner::Admin::Instance::V1::FreeInstanceMetadata]
490
+ # Free instance metadata. Only populated for free instances.
430
491
  # @!attribute [rw] edition
431
492
  # @return [::Google::Cloud::Spanner::Admin::Instance::V1::Instance::Edition]
432
493
  # Optional. The `Edition` of the current instance.
433
494
  # @!attribute [rw] default_backup_schedule_type
434
495
  # @return [::Google::Cloud::Spanner::Admin::Instance::V1::Instance::DefaultBackupScheduleType]
435
- # Optional. Controls the default backup behavior for new databases within the
436
- # instance.
496
+ # Optional. Controls the default backup schedule behavior for new databases
497
+ # within the instance. By default, a backup schedule is created automatically
498
+ # when a new database is created in a new instance.
437
499
  #
438
- # Note that `AUTOMATIC` is not permitted for free instances, as backups and
439
- # backup schedules are not allowed for free instances.
500
+ # Note that the `AUTOMATIC` value isn't permitted for free instances,
501
+ # as backups and backup schedules aren't supported for free instances.
440
502
  #
441
503
  # In the `GetInstance` or `ListInstances` response, if the value of
442
- # default_backup_schedule_type is unset or NONE, no default backup
443
- # schedule will be created for new databases within the instance.
504
+ # `default_backup_schedule_type` isn't set, or set to `NONE`, Spanner doesn't
505
+ # create a default backup schedule for new databases in the instance.
444
506
  class Instance
445
507
  include ::Google::Protobuf::MessageExts
446
508
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -469,6 +531,24 @@ module Google
469
531
  READY = 2
470
532
  end
471
533
 
534
+ # The type of this instance. The type can be used to distinguish product
535
+ # variants, that can affect aspects like: usage restrictions, quotas and
536
+ # billing. Currently this is used to distinguish FREE_INSTANCE vs PROVISIONED
537
+ # instances.
538
+ module InstanceType
539
+ # Not specified.
540
+ INSTANCE_TYPE_UNSPECIFIED = 0
541
+
542
+ # Provisioned instances have dedicated resources, standard usage limits and
543
+ # support.
544
+ PROVISIONED = 1
545
+
546
+ # Free instances provide no guarantee for dedicated resources,
547
+ # [node_count, processing_units] should be 0. They come
548
+ # with stricter usage limits and limited support.
549
+ FREE_INSTANCE = 2
550
+ end
551
+
472
552
  # The edition selected for this instance. Different editions provide
473
553
  # different capabilities at different price points.
474
554
  module Edition
@@ -485,21 +565,22 @@ module Google
485
565
  ENTERPRISE_PLUS = 3
486
566
  end
487
567
 
488
- # Indicates the default backup behavior for new databases within the
489
- # instance.
568
+ # Indicates the
569
+ # [default backup
570
+ # schedule](https://cloud.google.com/spanner/docs/backup#default-backup-schedules)
571
+ # behavior for new databases within the instance.
490
572
  module DefaultBackupScheduleType
491
573
  # Not specified.
492
574
  DEFAULT_BACKUP_SCHEDULE_TYPE_UNSPECIFIED = 0
493
575
 
494
- # No default backup schedule will be created automatically on creation of a
495
- # database within the instance.
576
+ # A default backup schedule isn't created automatically when a new database
577
+ # is created in the instance.
496
578
  NONE = 1
497
579
 
498
- # A default backup schedule will be created automatically on creation of a
499
- # database within the instance. The default backup schedule creates a full
500
- # backup every 24 hours and retains the backup for a period of 7 days. Once
501
- # created, the default backup schedule can be edited/deleted similar to any
502
- # other backup schedule.
580
+ # A default backup schedule is created automatically when a new database
581
+ # is created in the instance. The default backup schedule creates a full
582
+ # backup every 24 hours. These full backups are retained for 7 days.
583
+ # You can edit or delete the default backup schedule once it's created.
503
584
  AUTOMATIC = 2
504
585
  end
505
586
  end
@@ -553,7 +634,7 @@ module Google
553
634
  end
554
635
 
555
636
  # The request for
556
- # [CreateInstanceConfigRequest][InstanceAdmin.CreateInstanceConfigRequest].
637
+ # {::Google::Cloud::Spanner::Admin::Instance::V1::InstanceAdmin::Client#create_instance_config CreateInstanceConfig}.
557
638
  # @!attribute [rw] parent
558
639
  # @return [::String]
559
640
  # Required. The name of the project in which to create the instance
@@ -566,10 +647,10 @@ module Google
566
647
  # conflicts with Google-managed configurations.
567
648
  # @!attribute [rw] instance_config
568
649
  # @return [::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig]
569
- # Required. The InstanceConfig proto of the configuration to create.
570
- # instance_config.name must be
650
+ # Required. The `InstanceConfig` proto of the configuration to create.
651
+ # `instance_config.name` must be
571
652
  # `<parent>/instanceConfigs/<instance_config_id>`.
572
- # instance_config.base_config must be a Google managed configuration name,
653
+ # `instance_config.base_config` must be a Google-managed configuration name,
573
654
  # e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
574
655
  # @!attribute [rw] validate_only
575
656
  # @return [::Boolean]
@@ -581,7 +662,7 @@ module Google
581
662
  end
582
663
 
583
664
  # The request for
584
- # [UpdateInstanceConfigRequest][InstanceAdmin.UpdateInstanceConfigRequest].
665
+ # {::Google::Cloud::Spanner::Admin::Instance::V1::InstanceAdmin::Client#update_instance_config UpdateInstanceConfig}.
585
666
  # @!attribute [rw] instance_config
586
667
  # @return [::Google::Cloud::Spanner::Admin::Instance::V1::InstanceConfig]
587
668
  # Required. The user instance configuration to update, which must always
@@ -609,7 +690,7 @@ module Google
609
690
  end
610
691
 
611
692
  # The request for
612
- # [DeleteInstanceConfigRequest][InstanceAdmin.DeleteInstanceConfigRequest].
693
+ # {::Google::Cloud::Spanner::Admin::Instance::V1::InstanceAdmin::Client#delete_instance_config DeleteInstanceConfig}.
613
694
  # @!attribute [rw] name
614
695
  # @return [::String]
615
696
  # Required. The name of the instance configuration to be deleted.
@@ -649,8 +730,7 @@ module Google
649
730
  # must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
650
731
  # Colon `:` is the contains operator. Filter rules are not case sensitive.
651
732
  #
652
- # The following fields in the {::Google::Longrunning::Operation Operation}
653
- # are eligible for filtering:
733
+ # The following fields in the Operation are eligible for filtering:
654
734
  #
655
735
  # * `name` - The name of the long-running operation
656
736
  # * `done` - False if the operation is in progress, else true.
@@ -704,10 +784,10 @@ module Google
704
784
  # {::Google::Cloud::Spanner::Admin::Instance::V1::InstanceAdmin::Client#list_instance_config_operations ListInstanceConfigOperations}.
705
785
  # @!attribute [rw] operations
706
786
  # @return [::Array<::Google::Longrunning::Operation>]
707
- # The list of matching instance configuration [long-running
708
- # operations][google.longrunning.Operation]. Each operation's name will be
787
+ # The list of matching instance configuration long-running operations. Each
788
+ # operation's name will be
709
789
  # prefixed by the name of the instance configuration. The operation's
710
- # {::Google::Longrunning::Operation#metadata metadata} field type
790
+ # metadata field type
711
791
  # `metadata.type_url` describes the type of the metadata.
712
792
  # @!attribute [rw] next_page_token
713
793
  # @return [::String]
@@ -910,6 +990,42 @@ module Google
910
990
  extend ::Google::Protobuf::MessageExts::ClassMethods
911
991
  end
912
992
 
993
+ # Free instance specific metadata that is kept even after an instance has been
994
+ # upgraded for tracking purposes.
995
+ # @!attribute [r] expire_time
996
+ # @return [::Google::Protobuf::Timestamp]
997
+ # Output only. Timestamp after which the instance will either be upgraded or
998
+ # scheduled for deletion after a grace period. ExpireBehavior is used to
999
+ # choose between upgrading or scheduling the free instance for deletion. This
1000
+ # timestamp is set during the creation of a free instance.
1001
+ # @!attribute [r] upgrade_time
1002
+ # @return [::Google::Protobuf::Timestamp]
1003
+ # Output only. If present, the timestamp at which the free instance was
1004
+ # upgraded to a provisioned instance.
1005
+ # @!attribute [rw] expire_behavior
1006
+ # @return [::Google::Cloud::Spanner::Admin::Instance::V1::FreeInstanceMetadata::ExpireBehavior]
1007
+ # Specifies the expiration behavior of a free instance. The default of
1008
+ # ExpireBehavior is `REMOVE_AFTER_GRACE_PERIOD`. This can be modified during
1009
+ # or after creation, and before expiration.
1010
+ class FreeInstanceMetadata
1011
+ include ::Google::Protobuf::MessageExts
1012
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1013
+
1014
+ # Allows users to change behavior when a free instance expires.
1015
+ module ExpireBehavior
1016
+ # Not specified.
1017
+ EXPIRE_BEHAVIOR_UNSPECIFIED = 0
1018
+
1019
+ # When the free instance expires, upgrade the instance to a provisioned
1020
+ # instance.
1021
+ FREE_TO_PROVISIONED = 1
1022
+
1023
+ # When the free instance expires, disable the instance, and delete it
1024
+ # after the grace period passes if it has not been upgraded.
1025
+ REMOVE_AFTER_GRACE_PERIOD = 2
1026
+ end
1027
+ end
1028
+
913
1029
  # Metadata type for the operation returned by
914
1030
  # {::Google::Cloud::Spanner::Admin::Instance::V1::InstanceAdmin::Client#create_instance_config CreateInstanceConfig}.
915
1031
  # @!attribute [rw] instance_config
@@ -970,8 +1086,8 @@ module Google
970
1086
  # @return [::Integer]
971
1087
  # The number of nodes allocated to this instance partition.
972
1088
  #
973
- # Users can set the node_count field to specify the target number of nodes
974
- # allocated to the instance partition.
1089
+ # Users can set the `node_count` field to specify the target number of
1090
+ # nodes allocated to the instance partition.
975
1091
  #
976
1092
  # This may be zero in API responses for instance partitions that are not
977
1093
  # yet in state `READY`.
@@ -979,11 +1095,11 @@ module Google
979
1095
  # @return [::Integer]
980
1096
  # The number of processing units allocated to this instance partition.
981
1097
  #
982
- # Users can set the processing_units field to specify the target number of
983
- # processing units allocated to the instance partition.
1098
+ # Users can set the `processing_units` field to specify the target number
1099
+ # of processing units allocated to the instance partition.
984
1100
  #
985
- # This may be zero in API responses for instance partitions that are not
986
- # yet in state `READY`.
1101
+ # This might be zero in API responses for instance partitions that are not
1102
+ # yet in the `READY` state.
987
1103
  # @!attribute [r] state
988
1104
  # @return [::Google::Cloud::Spanner::Admin::Instance::V1::InstancePartition::State]
989
1105
  # Output only. The current instance partition state.
@@ -1001,7 +1117,9 @@ module Google
1001
1117
  # The existence of any referencing database prevents the instance partition
1002
1118
  # from being deleted.
1003
1119
  # @!attribute [r] referencing_backups
1120
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1004
1121
  # @return [::Array<::String>]
1122
+ # Output only. Deprecated: This field is not populated.
1005
1123
  # Output only. The names of the backups that reference this instance
1006
1124
  # partition. Referencing backups should share the parent instance. The
1007
1125
  # existence of any referencing backup prevents the instance partition from
@@ -1162,7 +1280,9 @@ module Google
1162
1280
  # @!attribute [rw] parent
1163
1281
  # @return [::String]
1164
1282
  # Required. The instance whose instance partitions should be listed. Values
1165
- # are of the form `projects/<project>/instances/<instance>`.
1283
+ # are of the form `projects/<project>/instances/<instance>`. Use `{instance}
1284
+ # = '-'` to list instance partitions for all Instances in a project, e.g.,
1285
+ # `projects/myproject/instances/-`.
1166
1286
  # @!attribute [rw] page_size
1167
1287
  # @return [::Integer]
1168
1288
  # Number of instance partitions to be returned in the response. If 0 or less,
@@ -1198,9 +1318,9 @@ module Google
1198
1318
  # call to fetch more of the matching instance partitions.
1199
1319
  # @!attribute [rw] unreachable
1200
1320
  # @return [::Array<::String>]
1201
- # The list of unreachable instance partitions.
1202
- # It includes the names of instance partitions whose metadata could
1203
- # not be retrieved within
1321
+ # The list of unreachable instances or instance partitions.
1322
+ # It includes the names of instances or instance partitions whose metadata
1323
+ # could not be retrieved within
1204
1324
  # {::Google::Cloud::Spanner::Admin::Instance::V1::ListInstancePartitionsRequest#instance_partition_deadline instance_partition_deadline}.
1205
1325
  class ListInstancePartitionsResponse
1206
1326
  include ::Google::Protobuf::MessageExts
@@ -1223,8 +1343,7 @@ module Google
1223
1343
  # must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
1224
1344
  # Colon `:` is the contains operator. Filter rules are not case sensitive.
1225
1345
  #
1226
- # The following fields in the {::Google::Longrunning::Operation Operation}
1227
- # are eligible for filtering:
1346
+ # The following fields in the Operation are eligible for filtering:
1228
1347
  #
1229
1348
  # * `name` - The name of the long-running operation
1230
1349
  # * `done` - False if the operation is in progress, else true.
@@ -1274,7 +1393,8 @@ module Google
1274
1393
  # Optional. Deadline used while retrieving metadata for instance partition
1275
1394
  # operations. Instance partitions whose operation metadata cannot be
1276
1395
  # retrieved within this deadline will be added to
1277
- # [unreachable][ListInstancePartitionOperationsResponse.unreachable] in
1396
+ # {::Google::Cloud::Spanner::Admin::Instance::V1::ListInstancePartitionOperationsResponse#unreachable_instance_partitions unreachable_instance_partitions}
1397
+ # in
1278
1398
  # {::Google::Cloud::Spanner::Admin::Instance::V1::ListInstancePartitionOperationsResponse ListInstancePartitionOperationsResponse}.
1279
1399
  class ListInstancePartitionOperationsRequest
1280
1400
  include ::Google::Protobuf::MessageExts
@@ -1285,10 +1405,10 @@ module Google
1285
1405
  # {::Google::Cloud::Spanner::Admin::Instance::V1::InstanceAdmin::Client#list_instance_partition_operations ListInstancePartitionOperations}.
1286
1406
  # @!attribute [rw] operations
1287
1407
  # @return [::Array<::Google::Longrunning::Operation>]
1288
- # The list of matching instance partition [long-running
1289
- # operations][google.longrunning.Operation]. Each operation's name will be
1408
+ # The list of matching instance partition long-running operations. Each
1409
+ # operation's name will be
1290
1410
  # prefixed by the instance partition's name. The operation's
1291
- # {::Google::Longrunning::Operation#metadata metadata} field type
1411
+ # metadata field type
1292
1412
  # `metadata.type_url` describes the type of the metadata.
1293
1413
  # @!attribute [rw] next_page_token
1294
1414
  # @return [::String]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-spanner-admin-instance-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
11
+ date: 2025-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common