google-cloud-memorystore-v1beta 0.12.0 → 0.14.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.
@@ -22,6 +22,20 @@ module Google
22
22
  module Memorystore
23
23
  module V1beta
24
24
  # A Memorystore instance.
25
+ # @!attribute [rw] gcs_source
26
+ # @return [::Google::Cloud::Memorystore::V1beta::Instance::GcsBackupSource]
27
+ # Optional. Immutable. Backups that stored in Cloud Storage buckets.
28
+ # The Cloud Storage buckets need to be the same region as the instances.
29
+ # Read permission is required to import from the provided Cloud Storage
30
+ # Objects.
31
+ #
32
+ # Note: The following fields are mutually exclusive: `gcs_source`, `managed_backup_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
33
+ # @!attribute [rw] managed_backup_source
34
+ # @return [::Google::Cloud::Memorystore::V1beta::Instance::ManagedBackupSource]
35
+ # Optional. Immutable. Backups that generated and managed by memorystore
36
+ # service.
37
+ #
38
+ # Note: The following fields are mutually exclusive: `managed_backup_source`, `gcs_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
25
39
  # @!attribute [rw] name
26
40
  # @return [::String]
27
41
  # Identifier. Unique name of the instance.
@@ -58,18 +72,23 @@ module Google
58
72
  # @return [::Integer]
59
73
  # Optional. Number of shards for the instance.
60
74
  # @!attribute [r] discovery_endpoints
75
+ # @deprecated This field is deprecated and may be removed in the next major version update.
61
76
  # @return [::Array<::Google::Cloud::Memorystore::V1beta::DiscoveryEndpoint>]
62
- # Output only. Endpoints clients can connect to the instance through.
63
- # Currently only one discovery endpoint is supported.
77
+ # Output only. Deprecated: The discovery_endpoints parameter is deprecated.
78
+ # As a result, it will not be populated if the connections are created using
79
+ # endpoints parameter. Instead of this parameter, for discovery, use
80
+ # endpoints.connections.pscConnection and
81
+ # endpoints.connections.pscAutoConnection
82
+ # with connectionType CONNECTION_TYPE_DISCOVERY.
64
83
  # @!attribute [rw] node_type
65
84
  # @return [::Google::Cloud::Memorystore::V1beta::Instance::NodeType]
66
- # Optional. Immutable. Machine type for individual nodes of the instance.
85
+ # Optional. Machine type for individual nodes of the instance.
67
86
  # @!attribute [rw] persistence_config
68
87
  # @return [::Google::Cloud::Memorystore::V1beta::PersistenceConfig]
69
88
  # Optional. Persistence configuration of the instance.
70
89
  # @!attribute [rw] engine_version
71
90
  # @return [::String]
72
- # Optional. Immutable. Engine version of the instance.
91
+ # Optional. Engine version of the instance.
73
92
  # @!attribute [rw] engine_configs
74
93
  # @return [::Google::Protobuf::Map{::String => ::String}]
75
94
  # Optional. User-provided engine configurations for the instance.
@@ -84,15 +103,79 @@ module Google
84
103
  # @return [::Boolean]
85
104
  # Optional. If set to true deletion of the instance will fail.
86
105
  # @!attribute [rw] psc_auto_connections
106
+ # @deprecated This field is deprecated and may be removed in the next major version update.
87
107
  # @return [::Array<::Google::Cloud::Memorystore::V1beta::PscAutoConnection>]
88
- # Required. Immutable. User inputs and resource details of the auto-created
89
- # PSC connections.
108
+ # Optional. Immutable. Deprecated: Use the
109
+ # endpoints.connections.psc_auto_connection value instead.
110
+ # @!attribute [r] psc_attachment_details
111
+ # @return [::Array<::Google::Cloud::Memorystore::V1beta::PscAttachmentDetail>]
112
+ # Output only. Service attachment details to configure PSC connections.
90
113
  # @!attribute [rw] endpoints
91
114
  # @return [::Array<::Google::Cloud::Memorystore::V1beta::Instance::InstanceEndpoint>]
92
115
  # Optional. Endpoints for the instance.
93
116
  # @!attribute [rw] mode
94
117
  # @return [::Google::Cloud::Memorystore::V1beta::Instance::Mode]
95
- # Optional. The mode config for the instance.
118
+ # Optional. Immutable. The mode config for the instance.
119
+ # @!attribute [rw] simulate_maintenance_event
120
+ # @return [::Boolean]
121
+ # Optional. Input only. Simulate a maintenance event.
122
+ # @!attribute [rw] ondemand_maintenance
123
+ # @deprecated This field is deprecated and may be removed in the next major version update.
124
+ # @return [::Boolean]
125
+ # Optional. Input only. Ondemand maintenance for the instance.
126
+ # @!attribute [r] satisfies_pzs
127
+ # @return [::Boolean]
128
+ # Optional. Output only. Reserved for future use.
129
+ # @!attribute [r] satisfies_pzi
130
+ # @return [::Boolean]
131
+ # Optional. Output only. Reserved for future use.
132
+ # @!attribute [rw] maintenance_policy
133
+ # @return [::Google::Cloud::Memorystore::V1beta::MaintenancePolicy]
134
+ # Optional. The maintenance policy for the instance. If not provided,
135
+ # the maintenance event will be performed based on Memorystore
136
+ # internal rollout schedule.
137
+ # @!attribute [r] maintenance_schedule
138
+ # @return [::Google::Cloud::Memorystore::V1beta::MaintenanceSchedule]
139
+ # Output only. Published maintenance schedule.
140
+ # @!attribute [rw] cross_instance_replication_config
141
+ # @return [::Google::Cloud::Memorystore::V1beta::CrossInstanceReplicationConfig]
142
+ # Optional. The config for cross instance replication.
143
+ # @!attribute [rw] async_instance_endpoints_deletion_enabled
144
+ # @return [::Boolean]
145
+ # Optional. If true, instance endpoints that are created and registered by
146
+ # customers can be deleted asynchronously. That is, such an instance endpoint
147
+ # can be de-registered before the forwarding rules in the instance endpoint
148
+ # are deleted.
149
+ # @!attribute [rw] kms_key
150
+ # @return [::String]
151
+ # Optional. The KMS key used to encrypt the at-rest data of the cluster.
152
+ # @!attribute [r] encryption_info
153
+ # @return [::Google::Cloud::Memorystore::V1beta::EncryptionInfo]
154
+ # Output only. Encryption information of the data at rest of the cluster.
155
+ # @!attribute [r] backup_collection
156
+ # @return [::String]
157
+ # Output only. The backup collection full resource name. Example:
158
+ # projects/\\{project}/locations/\\{location}/backupCollections/\\{collection}
159
+ # @!attribute [rw] automated_backup_config
160
+ # @return [::Google::Cloud::Memorystore::V1beta::AutomatedBackupConfig]
161
+ # Optional. The automated backup config for the instance.
162
+ # @!attribute [rw] maintenance_version
163
+ # @return [::String]
164
+ # Optional. This field can be used to trigger self service update to indicate
165
+ # the desired maintenance version. The input to this field can be determined
166
+ # by the available_maintenance_versions field.
167
+ # @!attribute [r] effective_maintenance_version
168
+ # @return [::String]
169
+ # Output only. This field represents the actual maintenance version of the
170
+ # instance.
171
+ # @!attribute [r] available_maintenance_versions
172
+ # @return [::Array<::String>]
173
+ # Output only. This field is used to determine the available maintenance
174
+ # versions for the self service update.
175
+ # @!attribute [rw] allow_fewer_zones_deployment
176
+ # @deprecated This field is deprecated and may be removed in the next major version update.
177
+ # @return [::Boolean]
178
+ # Optional. Immutable. Deprecated, do not use.
96
179
  # @!attribute [rw] server_ca_mode
97
180
  # @return [::Google::Cloud::Memorystore::V1beta::Instance::ServerCaMode]
98
181
  # Optional. Immutable. The Server CA mode for the instance.
@@ -104,6 +187,9 @@ module Google
104
187
  # @!attribute [rw] rotate_server_certificate
105
188
  # @return [::Boolean]
106
189
  # Optional. Input only. Rotate the server certificates.
190
+ # @!attribute [r] migration_config
191
+ # @return [::Google::Cloud::Memorystore::V1beta::MigrationConfig]
192
+ # Output only. Migration config for the instance.
107
193
  class Instance
108
194
  include ::Google::Protobuf::MessageExts
109
195
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -123,12 +209,42 @@ module Google
123
209
  # @!attribute [r] target_replica_count
124
210
  # @return [::Integer]
125
211
  # Output only. Target number of replica nodes per shard for the instance.
212
+ # @!attribute [r] target_engine_version
213
+ # @return [::String]
214
+ # Output only. Target engine version for the instance.
215
+ # @!attribute [r] target_node_type
216
+ # @return [::Google::Cloud::Memorystore::V1beta::Instance::NodeType]
217
+ # Output only. Target node type for the instance.
126
218
  class UpdateInfo
127
219
  include ::Google::Protobuf::MessageExts
128
220
  extend ::Google::Protobuf::MessageExts::ClassMethods
129
221
  end
130
222
  end
131
223
 
224
+ # Backups that stored in Cloud Storage buckets.
225
+ # The Cloud Storage buckets need to be the same region as the instances.
226
+ # @!attribute [rw] uris
227
+ # @return [::Array<::String>]
228
+ # Optional. Example: gs://bucket1/object1, gs://bucket2/folder2/object2
229
+ class GcsBackupSource
230
+ include ::Google::Protobuf::MessageExts
231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
232
+ end
233
+
234
+ # Backups that generated and managed by memorystore.
235
+ # @!attribute [rw] backup
236
+ # @return [::String]
237
+ # Optional. Example:
238
+ # //memorystore.googleapis.com/projects/\\{project}/locations/\\{location}/backupCollections/\\{collection}/backups/\\{backup}
239
+ # A shorter version (without the prefix) of the backup name is also
240
+ # supported, like
241
+ # projects/\\{project}/locations/\\{location}/backupCollections/\\{collection}/backups/\\{backup_id}
242
+ # In this case, it assumes the backup is under memorystore.googleapis.com.
243
+ class ManagedBackupSource
244
+ include ::Google::Protobuf::MessageExts
245
+ extend ::Google::Protobuf::MessageExts::ClassMethods
246
+ end
247
+
132
248
  # InstanceEndpoint consists of PSC connections that are created
133
249
  # as a group in each VPC network for accessing the instance. In each group,
134
250
  # there shall be one connection for each service attachment in the cluster.
@@ -144,8 +260,8 @@ module Google
144
260
  # Information of each PSC connection.
145
261
  # @!attribute [rw] psc_auto_connection
146
262
  # @return [::Google::Cloud::Memorystore::V1beta::PscAutoConnection]
147
- # Detailed information of a PSC connection that is created through
148
- # service connectivity automation.
263
+ # Immutable. Detailed information of a PSC connection that is created
264
+ # through service connectivity automation.
149
265
  #
150
266
  # Note: The following fields are mutually exclusive: `psc_auto_connection`, `psc_connection`. If a field in that set is populated, all other fields in the set will automatically be cleared.
151
267
  # @!attribute [rw] psc_connection
@@ -192,6 +308,9 @@ module Google
192
308
 
193
309
  # Instance is being deleted.
194
310
  DELETING = 4
311
+
312
+ # Instance is being migrated.
313
+ MIGRATING = 6
195
314
  end
196
315
 
197
316
  # Possible authorization modes of the instance.
@@ -204,6 +323,9 @@ module Google
204
323
 
205
324
  # IAM basic authorization.
206
325
  IAM_AUTH = 2
326
+
327
+ # Token based authorization.
328
+ TOKEN_AUTH = 3
207
329
  end
208
330
 
209
331
  # Possible in-transit encryption modes of the instance.
@@ -296,11 +418,496 @@ module Google
296
418
  end
297
419
  end
298
420
 
421
+ # Request for `StartMigration`.
422
+ # @!attribute [rw] self_managed_source
423
+ # @return [::Google::Cloud::Memorystore::V1beta::SelfManagedSource]
424
+ # Required. Configuration for migrating from a self-managed Valkey/Redis
425
+ # instance
426
+ # @!attribute [rw] name
427
+ # @return [::String]
428
+ # Required. The resource name of the instance to start migration on.
429
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
430
+ class StartMigrationRequest
431
+ include ::Google::Protobuf::MessageExts
432
+ extend ::Google::Protobuf::MessageExts::ClassMethods
433
+ end
434
+
435
+ # Request for `FinishMigration`.
436
+ # @!attribute [rw] name
437
+ # @return [::String]
438
+ # Required. The resource name of the instance to finalize migration on.
439
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
440
+ # @!attribute [rw] force
441
+ # @return [::Boolean]
442
+ # Optional. By default, the `FinishMigration` operation ensures the target
443
+ # replication offset to catch up to the source offset as of the time of the
444
+ # call. Set this field to `true` to bypass this offset verification check.
445
+ class FinishMigrationRequest
446
+ include ::Google::Protobuf::MessageExts
447
+ extend ::Google::Protobuf::MessageExts::ClassMethods
448
+ end
449
+
450
+ # Details of the self-managed source instance.
451
+ # @!attribute [rw] ip_address
452
+ # @return [::String]
453
+ # Required. The IP address of the source instance.
454
+ # This IP address should be a stable IP address that can be accessed by the
455
+ # Memorystore instance throughout the migration process.
456
+ # @!attribute [rw] port
457
+ # @return [::Integer]
458
+ # Required. The port of the source instance.
459
+ # This port should be a stable port that can be accessed by the Memorystore
460
+ # instance throughout the migration process.
461
+ # @!attribute [rw] network_attachment
462
+ # @return [::String]
463
+ # Required. The resource name of the Private Service Connect Network
464
+ # Attachment used to establish connectivity to the source instance. This
465
+ # network attachment has the following requirements:
466
+ # 1. It must be in the same project as the Memorystore instance.
467
+ # 2. It must be in the same region as the Memorystore instance.
468
+ # 3. The subnet attached to the network attachment must be in the same VPC
469
+ # network as the source instance nodes.
470
+ #
471
+ # Format:
472
+ # projects/\\{project}/regions/\\{region}/networkAttachments/\\{network_attachment}
473
+ class SelfManagedSource
474
+ include ::Google::Protobuf::MessageExts
475
+ extend ::Google::Protobuf::MessageExts::ClassMethods
476
+ end
477
+
478
+ # Configuration for the migration of an instance.
479
+ # @!attribute [r] self_managed_source
480
+ # @return [::Google::Cloud::Memorystore::V1beta::SelfManagedSource]
481
+ # Output only. Configuration for migrating from a self-managed Valkey/Redis
482
+ # instance
483
+ # @!attribute [r] state
484
+ # @return [::Google::Cloud::Memorystore::V1beta::MigrationConfig::State]
485
+ # Output only. Migration state of the instance.
486
+ # @!attribute [r] force_finish_migration
487
+ # @return [::Boolean]
488
+ # Output only. Represents a boolean flag to force migration finalization
489
+ # without offset catch up validation between source and target before
490
+ # stopping replication.
491
+ class MigrationConfig
492
+ include ::Google::Protobuf::MessageExts
493
+ extend ::Google::Protobuf::MessageExts::ClassMethods
494
+
495
+ # Migration state of the instance.
496
+ # New values may be added in the future.
497
+ module State
498
+ # Instance has no migration related activity. This is the initial state.
499
+ STATE_UNSPECIFIED = 0
500
+
501
+ # Instance is not currently migrating. The instance underwent a migration
502
+ # attempt that failed, and the subsequent rollback was successful. The
503
+ # instance is now ready for a new migration attempt if desired.
504
+ ROLLED_BACK = 1
505
+
506
+ # Indicates a previous migration attempt failed. The high-level instance
507
+ # state will be `MIGRATING`. The instance is not ready for a new migration
508
+ # attempt. Rollback is in progress to restore the instance to its original
509
+ # state. The instance will remain in this state until rollback is
510
+ # successful.
511
+ ROLLING_BACK = 5
512
+
513
+ # Instance is in the process of migration. Instance has established
514
+ # successful replication and is ready for cutover.
515
+ REPLICATION_ESTABLISHED = 6
516
+
517
+ # Instance is successfully migrated.
518
+ MIGRATED = 4
519
+ end
520
+ end
521
+
522
+ # The automated backup config for an instance.
523
+ # @!attribute [rw] fixed_frequency_schedule
524
+ # @return [::Google::Cloud::Memorystore::V1beta::AutomatedBackupConfig::FixedFrequencySchedule]
525
+ # Optional. Trigger automated backups at a fixed frequency.
526
+ # @!attribute [rw] automated_backup_mode
527
+ # @return [::Google::Cloud::Memorystore::V1beta::AutomatedBackupConfig::AutomatedBackupMode]
528
+ # Optional. The automated backup mode. If the mode is disabled, the other
529
+ # fields will be ignored.
530
+ # @!attribute [rw] retention
531
+ # @return [::Google::Protobuf::Duration]
532
+ # Optional. How long to keep automated backups before the backups are
533
+ # deleted. The value should be between 1 day and 365 days. If not specified,
534
+ # the default value is 35 days.
535
+ class AutomatedBackupConfig
536
+ include ::Google::Protobuf::MessageExts
537
+ extend ::Google::Protobuf::MessageExts::ClassMethods
538
+
539
+ # This schedule allows the backup to be triggered at a fixed frequency
540
+ # (currently only daily is supported).
541
+ # @!attribute [rw] start_time
542
+ # @return [::Google::Type::TimeOfDay]
543
+ # Required. The start time of every automated backup in UTC. It must be set
544
+ # to the start of an hour. This field is required.
545
+ class FixedFrequencySchedule
546
+ include ::Google::Protobuf::MessageExts
547
+ extend ::Google::Protobuf::MessageExts::ClassMethods
548
+ end
549
+
550
+ # The automated backup mode.
551
+ module AutomatedBackupMode
552
+ # Default value. Automated backup config is not specified.
553
+ AUTOMATED_BACKUP_MODE_UNSPECIFIED = 0
554
+
555
+ # Automated backup config disabled.
556
+ DISABLED = 1
557
+
558
+ # Automated backup config enabled.
559
+ ENABLED = 2
560
+ end
561
+ end
562
+
563
+ # BackupCollection of an instance.
564
+ # @!attribute [rw] name
565
+ # @return [::String]
566
+ # Identifier. Full resource path of the backup collection.
567
+ # @!attribute [r] instance_uid
568
+ # @return [::String]
569
+ # Output only. The instance uid of the backup collection.
570
+ # @!attribute [r] instance
571
+ # @return [::String]
572
+ # Output only. The full resource path of the instance the backup collection
573
+ # belongs to. Example:
574
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}
575
+ # @!attribute [r] kms_key
576
+ # @return [::String]
577
+ # Output only. The KMS key used to encrypt the backups under this backup
578
+ # collection.
579
+ # @!attribute [r] uid
580
+ # @return [::String]
581
+ # Output only. System assigned unique identifier of the backup collection.
582
+ # @!attribute [r] create_time
583
+ # @return [::Google::Protobuf::Timestamp]
584
+ # Output only. The time when the backup collection was created.
585
+ # @!attribute [r] total_backup_size_bytes
586
+ # @return [::Integer]
587
+ # Output only. Total size of all backups in the backup collection.
588
+ # @!attribute [r] total_backup_count
589
+ # @return [::Integer]
590
+ # Output only. Total number of backups in the backup collection.
591
+ # @!attribute [r] last_backup_time
592
+ # @return [::Google::Protobuf::Timestamp]
593
+ # Output only. The last time a backup was created in the backup collection.
594
+ class BackupCollection
595
+ include ::Google::Protobuf::MessageExts
596
+ extend ::Google::Protobuf::MessageExts::ClassMethods
597
+ end
598
+
599
+ # Backup of an instance.
600
+ # @!attribute [rw] name
601
+ # @return [::String]
602
+ # Identifier. Full resource path of the backup. the last part of the name is
603
+ # the backup id with the following format: [YYYYMMDDHHMMSS]_[Shorted Instance
604
+ # UID] OR customer specified while backup instance. Example:
605
+ # 20240515123000_1234
606
+ # @!attribute [r] create_time
607
+ # @return [::Google::Protobuf::Timestamp]
608
+ # Output only. The time when the backup was created.
609
+ # @!attribute [r] instance
610
+ # @return [::String]
611
+ # Output only. Instance resource path of this backup.
612
+ # @!attribute [r] instance_uid
613
+ # @return [::String]
614
+ # Output only. Instance uid of this backup.
615
+ # @!attribute [r] total_size_bytes
616
+ # @return [::Integer]
617
+ # Output only. Total size of the backup in bytes.
618
+ # @!attribute [r] expire_time
619
+ # @return [::Google::Protobuf::Timestamp]
620
+ # Output only. The time when the backup will expire.
621
+ # @!attribute [r] engine_version
622
+ # @return [::String]
623
+ # Output only. valkey-7.5/valkey-8.0, etc.
624
+ # @!attribute [r] backup_files
625
+ # @return [::Array<::Google::Cloud::Memorystore::V1beta::BackupFile>]
626
+ # Output only. List of backup files of the backup.
627
+ # @!attribute [r] node_type
628
+ # @return [::Google::Cloud::Memorystore::V1beta::Instance::NodeType]
629
+ # Output only. Node type of the instance.
630
+ # @!attribute [r] replica_count
631
+ # @return [::Integer]
632
+ # Output only. Number of replicas for the instance.
633
+ # @!attribute [r] shard_count
634
+ # @return [::Integer]
635
+ # Output only. Number of shards for the instance.
636
+ # @!attribute [r] backup_type
637
+ # @return [::Google::Cloud::Memorystore::V1beta::Backup::BackupType]
638
+ # Output only. Type of the backup.
639
+ # @!attribute [r] state
640
+ # @return [::Google::Cloud::Memorystore::V1beta::Backup::State]
641
+ # Output only. State of the backup.
642
+ # @!attribute [r] encryption_info
643
+ # @return [::Google::Cloud::Memorystore::V1beta::EncryptionInfo]
644
+ # Output only. Encryption information of the backup.
645
+ # @!attribute [r] uid
646
+ # @return [::String]
647
+ # Output only. System assigned unique identifier of the backup.
648
+ class Backup
649
+ include ::Google::Protobuf::MessageExts
650
+ extend ::Google::Protobuf::MessageExts::ClassMethods
651
+
652
+ # Type of the backup.
653
+ module BackupType
654
+ # The default value, not set.
655
+ BACKUP_TYPE_UNSPECIFIED = 0
656
+
657
+ # On-demand backup.
658
+ ON_DEMAND = 1
659
+
660
+ # Automated backup.
661
+ AUTOMATED = 2
662
+ end
663
+
664
+ # State of the backup.
665
+ module State
666
+ # The default value, not set.
667
+ STATE_UNSPECIFIED = 0
668
+
669
+ # The backup is being created.
670
+ CREATING = 1
671
+
672
+ # The backup is active to be used.
673
+ ACTIVE = 2
674
+
675
+ # The backup is being deleted.
676
+ DELETING = 3
677
+
678
+ # The backup is currently suspended due to reasons like project deletion,
679
+ # billing account closure, etc.
680
+ SUSPENDED = 4
681
+ end
682
+ end
683
+
684
+ # Backup is consisted of multiple backup files.
685
+ # @!attribute [r] file_name
686
+ # @return [::String]
687
+ # Output only. e.g: <shard-id>.rdb
688
+ # @!attribute [r] size_bytes
689
+ # @return [::Integer]
690
+ # Output only. Size of the backup file in bytes.
691
+ # @!attribute [r] create_time
692
+ # @return [::Google::Protobuf::Timestamp]
693
+ # Output only. The time when the backup file was created.
694
+ class BackupFile
695
+ include ::Google::Protobuf::MessageExts
696
+ extend ::Google::Protobuf::MessageExts::ClassMethods
697
+ end
698
+
699
+ # Cross instance replication config.
700
+ # @!attribute [rw] instance_role
701
+ # @return [::Google::Cloud::Memorystore::V1beta::CrossInstanceReplicationConfig::InstanceRole]
702
+ # Required. The role of the instance in cross instance replication.
703
+ # @!attribute [rw] primary_instance
704
+ # @return [::Google::Cloud::Memorystore::V1beta::CrossInstanceReplicationConfig::RemoteInstance]
705
+ # Optional. Details of the primary instance that is used as the replication
706
+ # source for this secondary instance.
707
+ #
708
+ # This field is only set for a secondary instance.
709
+ # @!attribute [rw] secondary_instances
710
+ # @return [::Array<::Google::Cloud::Memorystore::V1beta::CrossInstanceReplicationConfig::RemoteInstance>]
711
+ # Optional. List of secondary instances that are replicating from this
712
+ # primary instance.
713
+ #
714
+ # This field is only set for a primary instance.
715
+ # @!attribute [r] update_time
716
+ # @return [::Google::Protobuf::Timestamp]
717
+ # Output only. The last time cross instance replication config was updated.
718
+ # @!attribute [r] membership
719
+ # @return [::Google::Cloud::Memorystore::V1beta::CrossInstanceReplicationConfig::Membership]
720
+ # Output only. An output only view of all the member instances participating
721
+ # in the cross instance replication. This view will be provided by every
722
+ # member instance irrespective of its instance role(primary or secondary).
723
+ #
724
+ # A primary instance can provide information about all the secondary
725
+ # instances replicating from it. However, a secondary instance only knows
726
+ # about the primary instance from which it is replicating. However, for
727
+ # scenarios, where the primary instance is unavailable(e.g. regional outage),
728
+ # a Getinstance request can be sent to any other member instance and this
729
+ # field will list all the member instances participating in cross instance
730
+ # replication.
731
+ class CrossInstanceReplicationConfig
732
+ include ::Google::Protobuf::MessageExts
733
+ extend ::Google::Protobuf::MessageExts::ClassMethods
734
+
735
+ # Details of the remote instance associated with this instance in a cross
736
+ # instance replication setup.
737
+ # @!attribute [rw] instance
738
+ # @return [::String]
739
+ # Optional. The full resource path of the remote instance in
740
+ # the format: projects/<project>/locations/<region>/instances/<instance-id>
741
+ # @!attribute [r] uid
742
+ # @return [::String]
743
+ # Output only. The unique identifier of the remote instance.
744
+ class RemoteInstance
745
+ include ::Google::Protobuf::MessageExts
746
+ extend ::Google::Protobuf::MessageExts::ClassMethods
747
+ end
748
+
749
+ # An output only view of all the member instances participating in the cross
750
+ # instance replication.
751
+ # @!attribute [r] primary_instance
752
+ # @return [::Google::Cloud::Memorystore::V1beta::CrossInstanceReplicationConfig::RemoteInstance]
753
+ # Output only. The primary instance that acts as the source of replication
754
+ # for the secondary instances.
755
+ # @!attribute [r] secondary_instances
756
+ # @return [::Array<::Google::Cloud::Memorystore::V1beta::CrossInstanceReplicationConfig::RemoteInstance>]
757
+ # Output only. The list of secondary instances replicating from the primary
758
+ # instance.
759
+ class Membership
760
+ include ::Google::Protobuf::MessageExts
761
+ extend ::Google::Protobuf::MessageExts::ClassMethods
762
+ end
763
+
764
+ # The role of the instance in cross instance replication.
765
+ module InstanceRole
766
+ # instance role is not set.
767
+ # The behavior is equivalent to NONE.
768
+ INSTANCE_ROLE_UNSPECIFIED = 0
769
+
770
+ # This instance does not participate in cross instance replication. It is
771
+ # an independent instance and does not replicate to or from any other
772
+ # instances.
773
+ NONE = 1
774
+
775
+ # A instance that allows both reads and writes. Any data written to this
776
+ # instance is also replicated to the attached secondary instances.
777
+ PRIMARY = 2
778
+
779
+ # A instance that allows only reads and replicates data from a primary
780
+ # instance.
781
+ SECONDARY = 3
782
+ end
783
+ end
784
+
785
+ # Token based auth user for the instance.
786
+ # @!attribute [rw] name
787
+ # @return [::String]
788
+ # Identifier. Token based auth user name.
789
+ # @!attribute [r] state
790
+ # @return [::Google::Cloud::Memorystore::V1beta::TokenAuthUser::State]
791
+ # Output only. The state of the token based auth user.
792
+ class TokenAuthUser
793
+ include ::Google::Protobuf::MessageExts
794
+ extend ::Google::Protobuf::MessageExts::ClassMethods
795
+
796
+ # Represents the different states of a token based auth user.
797
+ # New values may be added in the future.
798
+ module State
799
+ # Not set.
800
+ STATE_UNSPECIFIED = 0
801
+
802
+ # The auth user is active.
803
+ ACTIVE = 1
804
+
805
+ # The auth user is being created.
806
+ CREATING = 2
807
+
808
+ # The auth user is being updated.
809
+ UPDATING = 3
810
+
811
+ # The auth user is being deleted.
812
+ DELETING = 4
813
+ end
814
+ end
815
+
816
+ # Auth token for the instance.
817
+ # @!attribute [rw] name
818
+ # @return [::String]
819
+ # Identifier. Name of the auth token.
820
+ # @!attribute [r] token
821
+ # @return [::String]
822
+ # Output only. The auth token.
823
+ # @!attribute [r] create_time
824
+ # @return [::Google::Protobuf::Timestamp]
825
+ # Output only. Create time of the auth token.
826
+ # @!attribute [r] state
827
+ # @return [::Google::Cloud::Memorystore::V1beta::AuthToken::State]
828
+ # Output only. The state of the auth token.
829
+ class AuthToken
830
+ include ::Google::Protobuf::MessageExts
831
+ extend ::Google::Protobuf::MessageExts::ClassMethods
832
+
833
+ # Represents the different states of an auth token.
834
+ # New values may be added in the future.
835
+ module State
836
+ # Not set.
837
+ STATE_UNSPECIFIED = 0
838
+
839
+ # The auth token is active.
840
+ ACTIVE = 1
841
+
842
+ # The auth token is being created.
843
+ CREATING = 2
844
+
845
+ # The auth token is being deleted.
846
+ DELETING = 3
847
+ end
848
+ end
849
+
850
+ # Maintenance policy per instance.
851
+ # @!attribute [r] create_time
852
+ # @return [::Google::Protobuf::Timestamp]
853
+ # Output only. The time when the policy was created.
854
+ # @!attribute [r] update_time
855
+ # @return [::Google::Protobuf::Timestamp]
856
+ # Output only. The time when the policy was updated.
857
+ # @!attribute [rw] weekly_maintenance_window
858
+ # @return [::Array<::Google::Cloud::Memorystore::V1beta::WeeklyMaintenanceWindow>]
859
+ # Optional. Maintenance window that is applied to resources covered by this
860
+ # policy. Minimum 1. For the current version, the maximum number of
861
+ # weekly_window is expected to be one.
862
+ class MaintenancePolicy
863
+ include ::Google::Protobuf::MessageExts
864
+ extend ::Google::Protobuf::MessageExts::ClassMethods
865
+ end
866
+
867
+ # Time window specified for weekly operations.
868
+ # @!attribute [rw] day
869
+ # @return [::Google::Type::DayOfWeek]
870
+ # Optional. Allows to define schedule that runs specified day of the week.
871
+ # @!attribute [rw] start_time
872
+ # @return [::Google::Type::TimeOfDay]
873
+ # Optional. Start time of the window in UTC.
874
+ class WeeklyMaintenanceWindow
875
+ include ::Google::Protobuf::MessageExts
876
+ extend ::Google::Protobuf::MessageExts::ClassMethods
877
+ end
878
+
879
+ # Upcoming maintenance schedule.
880
+ # @!attribute [r] start_time
881
+ # @return [::Google::Protobuf::Timestamp]
882
+ # Output only. The start time of any upcoming scheduled maintenance for this
883
+ # instance.
884
+ # @!attribute [r] end_time
885
+ # @return [::Google::Protobuf::Timestamp]
886
+ # Output only. The end time of any upcoming scheduled maintenance for this
887
+ # instance.
888
+ class MaintenanceSchedule
889
+ include ::Google::Protobuf::MessageExts
890
+ extend ::Google::Protobuf::MessageExts::ClassMethods
891
+ end
892
+
893
+ # Configuration of a service attachment of the cluster, for creating PSC
894
+ # connections.
895
+ # @!attribute [r] service_attachment
896
+ # @return [::String]
897
+ # Output only. Service attachment URI which your self-created PscConnection
898
+ # should use as target.
899
+ # @!attribute [r] connection_type
900
+ # @return [::Google::Cloud::Memorystore::V1beta::ConnectionType]
901
+ # Output only. Type of Psc endpoint.
902
+ class PscAttachmentDetail
903
+ include ::Google::Protobuf::MessageExts
904
+ extend ::Google::Protobuf::MessageExts::ClassMethods
905
+ end
906
+
299
907
  # Details of consumer resources in a PSC connection.
300
- # @!attribute [r] port
908
+ # @!attribute [rw] port
301
909
  # @return [::Integer]
302
- # Optional. Output only. port will only be set for Primary/Reader or
303
- # Discovery endpoint.
910
+ # Optional. port will only be set for Primary/Reader or Discovery endpoint.
304
911
  # @!attribute [r] psc_connection_id
305
912
  # @return [::String]
306
913
  # Output only. The PSC connection id of the forwarding rule connected to the
@@ -321,7 +928,7 @@ module Google
321
928
  # @!attribute [rw] network
322
929
  # @return [::String]
323
930
  # Required. The network where the PSC endpoints are created, in the form of
324
- # projects/\\{project_id}/global/networks/\\{network_id}.
931
+ # projects/\\{project_id}/global/networks/\\{network_name}.
325
932
  # @!attribute [r] service_attachment
326
933
  # @return [::String]
327
934
  # Output only. The service attachment which is the target of the PSC
@@ -342,9 +949,12 @@ module Google
342
949
  end
343
950
 
344
951
  # User created Psc connection configuration.
345
- # @!attribute [r] psc_connection_id
952
+ # @!attribute [rw] port
953
+ # @return [::Integer]
954
+ # Optional. port will only be set for Primary/Reader or Discovery endpoint.
955
+ # @!attribute [rw] psc_connection_id
346
956
  # @return [::String]
347
- # Output only. The PSC connection id of the forwarding rule connected to the
957
+ # Required. The PSC connection id of the forwarding rule connected to the
348
958
  # service attachment.
349
959
  # @!attribute [rw] ip_address
350
960
  # @return [::String]
@@ -362,7 +972,7 @@ module Google
362
972
  # @!attribute [rw] network
363
973
  # @return [::String]
364
974
  # Required. The consumer network where the IP address resides, in the form of
365
- # projects/\\{project_id}/global/networks/\\{network_id}.
975
+ # projects/\\{project_id}/global/networks/\\{network_name}.
366
976
  # @!attribute [rw] service_attachment
367
977
  # @return [::String]
368
978
  # Required. The service attachment which is the target of the PSC connection,
@@ -393,7 +1003,7 @@ module Google
393
1003
  # @return [::String]
394
1004
  # Output only. The network where the IP address of the discovery endpoint
395
1005
  # will be reserved, in the form of
396
- # projects/\\{network_project}/global/networks/\\{network_id}.
1006
+ # projects/\\{network_project}/global/networks/\\{network_name}.
397
1007
  class DiscoveryEndpoint
398
1008
  include ::Google::Protobuf::MessageExts
399
1009
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -523,7 +1133,37 @@ module Google
523
1133
  end
524
1134
  end
525
1135
 
526
- # Request message for [ListInstances][].
1136
+ # Request for rescheduling instance maintenance.
1137
+ # @!attribute [rw] name
1138
+ # @return [::String]
1139
+ # Required. Name of the instance to reschedule maintenance for:
1140
+ # `projects/{project}/locations/{location_id}/instances/{instance}`
1141
+ # @!attribute [rw] reschedule_type
1142
+ # @return [::Google::Cloud::Memorystore::V1beta::RescheduleMaintenanceRequest::RescheduleType]
1143
+ # Required. If reschedule type is SPECIFIC_TIME, schedule_time must be set.
1144
+ # @!attribute [rw] schedule_time
1145
+ # @return [::Google::Protobuf::Timestamp]
1146
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
1147
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format.
1148
+ # Example: `2012-11-15T16:19:00.094Z`.
1149
+ class RescheduleMaintenanceRequest
1150
+ include ::Google::Protobuf::MessageExts
1151
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1152
+
1153
+ # Reschedule options.
1154
+ module RescheduleType
1155
+ # Not set.
1156
+ RESCHEDULE_TYPE_UNSPECIFIED = 0
1157
+
1158
+ # If the user wants to schedule the maintenance to happen now.
1159
+ IMMEDIATE = 1
1160
+
1161
+ # If the user wants to reschedule the maintenance to a specific time.
1162
+ SPECIFIC_TIME = 3
1163
+ end
1164
+ end
1165
+
1166
+ # Request message for `ListInstances`.
527
1167
  # @!attribute [rw] parent
528
1168
  # @return [::String]
529
1169
  # Required. The parent to list instances from.
@@ -547,7 +1187,7 @@ module Google
547
1187
  extend ::Google::Protobuf::MessageExts::ClassMethods
548
1188
  end
549
1189
 
550
- # Response message for [ListInstances][].
1190
+ # Response message for `ListInstances`.
551
1191
  # @!attribute [rw] instances
552
1192
  # @return [::Array<::Google::Cloud::Memorystore::V1beta::Instance>]
553
1193
  # If the \\{location} requested was "-" the response contains a list of
@@ -565,7 +1205,7 @@ module Google
565
1205
  extend ::Google::Protobuf::MessageExts::ClassMethods
566
1206
  end
567
1207
 
568
- # Request message for [GetInstance][].
1208
+ # Request message for `GetInstance`.
569
1209
  # @!attribute [rw] name
570
1210
  # @return [::String]
571
1211
  # Required. The name of the instance to retrieve.
@@ -668,7 +1308,162 @@ module Google
668
1308
  extend ::Google::Protobuf::MessageExts::ClassMethods
669
1309
  end
670
1310
 
671
- # Request message for [GetCertificateAuthority][].
1311
+ # Request for `ListBackupCollections`.
1312
+ # @!attribute [rw] parent
1313
+ # @return [::String]
1314
+ # Required. The resource name of the backupCollection location using the
1315
+ # form:
1316
+ # `projects/{project_id}/locations/{location_id}`
1317
+ # where `location_id` refers to a Google Cloud region.
1318
+ # @!attribute [rw] page_size
1319
+ # @return [::Integer]
1320
+ # Optional. The maximum number of items to return.
1321
+ #
1322
+ # If not specified, a default value of 1000 will be used by the service.
1323
+ # Regardless of the page_size value, the response may include a partial list
1324
+ # and a caller should only rely on response's
1325
+ # `next_page_token`
1326
+ # to determine if there are more clusters left to be queried.
1327
+ # @!attribute [rw] page_token
1328
+ # @return [::String]
1329
+ # Optional. The `next_page_token` value returned from a previous
1330
+ # `ListBackupCollections` request, if any.
1331
+ class ListBackupCollectionsRequest
1332
+ include ::Google::Protobuf::MessageExts
1333
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1334
+ end
1335
+
1336
+ # Response for `ListBackupCollections`.
1337
+ # @!attribute [rw] backup_collections
1338
+ # @return [::Array<::Google::Cloud::Memorystore::V1beta::BackupCollection>]
1339
+ # A list of backupCollections in the project.
1340
+ #
1341
+ # If the `location_id` in the parent field of the request is "-", all regions
1342
+ # available to the project are queried, and the results aggregated.
1343
+ # If in such an aggregated query a location is unavailable, a placeholder
1344
+ # backupCollection entry is included in the response with the `name` field
1345
+ # set to a value of the form
1346
+ # `projects/{project_id}/locations/{location_id}/backupCollections/`- and the
1347
+ # `status` field set to ERROR and `status_message` field set to "location not
1348
+ # available for ListBackupCollections".
1349
+ # @!attribute [rw] next_page_token
1350
+ # @return [::String]
1351
+ # Token to retrieve the next page of results, or empty if there are no more
1352
+ # results in the list.
1353
+ # @!attribute [rw] unreachable
1354
+ # @return [::Array<::String>]
1355
+ # Locations that could not be reached.
1356
+ class ListBackupCollectionsResponse
1357
+ include ::Google::Protobuf::MessageExts
1358
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1359
+ end
1360
+
1361
+ # Request for `GetBackupCollection`.
1362
+ # @!attribute [rw] name
1363
+ # @return [::String]
1364
+ # Required. Instance backupCollection resource name using the form:
1365
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}`
1366
+ # where `location_id` refers to a Google Cloud region.
1367
+ class GetBackupCollectionRequest
1368
+ include ::Google::Protobuf::MessageExts
1369
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1370
+ end
1371
+
1372
+ # Request for `ListBackups`.
1373
+ # @!attribute [rw] parent
1374
+ # @return [::String]
1375
+ # Required. The resource name of the backupCollection using the form:
1376
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}`
1377
+ # @!attribute [rw] page_size
1378
+ # @return [::Integer]
1379
+ # Optional. The maximum number of items to return.
1380
+ #
1381
+ # If not specified, a default value of 1000 will be used by the service.
1382
+ # Regardless of the page_size value, the response may include a partial list
1383
+ # and a caller should only rely on response's
1384
+ # `next_page_token`
1385
+ # to determine if there are more clusters left to be queried.
1386
+ # @!attribute [rw] page_token
1387
+ # @return [::String]
1388
+ # Optional. The `next_page_token` value returned from a previous
1389
+ # `ListBackupCollections` request, if any.
1390
+ class ListBackupsRequest
1391
+ include ::Google::Protobuf::MessageExts
1392
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1393
+ end
1394
+
1395
+ # Response for `ListBackups`.
1396
+ # @!attribute [rw] backups
1397
+ # @return [::Array<::Google::Cloud::Memorystore::V1beta::Backup>]
1398
+ # A list of backups in the project.
1399
+ # @!attribute [rw] next_page_token
1400
+ # @return [::String]
1401
+ # Token to retrieve the next page of results, or empty if there are no more
1402
+ # results in the list.
1403
+ # @!attribute [rw] unreachable
1404
+ # @return [::Array<::String>]
1405
+ # Backups that could not be reached.
1406
+ class ListBackupsResponse
1407
+ include ::Google::Protobuf::MessageExts
1408
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1409
+ end
1410
+
1411
+ # Request for `GetBackup`.
1412
+ # @!attribute [rw] name
1413
+ # @return [::String]
1414
+ # Required. Instance backup resource name using the form:
1415
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`
1416
+ class GetBackupRequest
1417
+ include ::Google::Protobuf::MessageExts
1418
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1419
+ end
1420
+
1421
+ # Request for `DeleteBackup`.
1422
+ # @!attribute [rw] name
1423
+ # @return [::String]
1424
+ # Required. Instance backup resource name using the form:
1425
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`
1426
+ # @!attribute [rw] request_id
1427
+ # @return [::String]
1428
+ # Optional. Idempotent request UUID.
1429
+ class DeleteBackupRequest
1430
+ include ::Google::Protobuf::MessageExts
1431
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1432
+ end
1433
+
1434
+ # Request for `ExportBackup`.
1435
+ # @!attribute [rw] gcs_bucket
1436
+ # @return [::String]
1437
+ # Google Cloud Storage bucket, like "my-bucket".
1438
+ # @!attribute [rw] name
1439
+ # @return [::String]
1440
+ # Required. Instance backup resource name using the form:
1441
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`
1442
+ class ExportBackupRequest
1443
+ include ::Google::Protobuf::MessageExts
1444
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1445
+ end
1446
+
1447
+ # Request for `BackupInstance`.
1448
+ # @!attribute [rw] name
1449
+ # @return [::String]
1450
+ # Required. Instance resource name using the form:
1451
+ # `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
1452
+ # where `location_id` refers to a Google Cloud region.
1453
+ # @!attribute [rw] ttl
1454
+ # @return [::Google::Protobuf::Duration]
1455
+ # Optional. TTL for the backup to expire. Value range is 1 day to 100 years.
1456
+ # If not specified, the default value is 100 years.
1457
+ # @!attribute [rw] backup_id
1458
+ # @return [::String]
1459
+ # Optional. The id of the backup to be created. If not specified, the
1460
+ # default value ([YYYYMMDDHHMMSS]_[Shortened Instance UID] is used.
1461
+ class BackupInstanceRequest
1462
+ include ::Google::Protobuf::MessageExts
1463
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1464
+ end
1465
+
1466
+ # Request message for `GetCertificateAuthority`.
672
1467
  # @!attribute [rw] name
673
1468
  # @return [::String]
674
1469
  # Required. The name of the certificate authority.
@@ -679,6 +1474,187 @@ module Google
679
1474
  extend ::Google::Protobuf::MessageExts::ClassMethods
680
1475
  end
681
1476
 
1477
+ # Request message for `ListTokenAuthUsers`.
1478
+ # @!attribute [rw] parent
1479
+ # @return [::String]
1480
+ # Required. The parent to list token auth users from.
1481
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
1482
+ # @!attribute [rw] page_size
1483
+ # @return [::Integer]
1484
+ # Optional. The maximum number of items to return. The maximum value is 1000;
1485
+ # values above 1000 will be coerced to 1000. If not specified, a default
1486
+ # value of 1000 will be used by the service. Regardless of the page_size
1487
+ # value, the response may include a partial list and a caller should only
1488
+ # rely on response's `next_page_token` to determine if there are more token
1489
+ # auth users left to be queried.
1490
+ # @!attribute [rw] page_token
1491
+ # @return [::String]
1492
+ # Optional. The `next_page_token` value returned from a previous
1493
+ # `ListTokenAuthUsers` request, if any.
1494
+ # @!attribute [rw] filter
1495
+ # @return [::String]
1496
+ # Optional. Expression for filtering results.
1497
+ # @!attribute [rw] order_by
1498
+ # @return [::String]
1499
+ # Optional. Sort results by a defined order.
1500
+ class ListTokenAuthUsersRequest
1501
+ include ::Google::Protobuf::MessageExts
1502
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1503
+ end
1504
+
1505
+ # Response message for `ListTokenAuthUsers`.
1506
+ # @!attribute [rw] token_auth_users
1507
+ # @return [::Array<::Google::Cloud::Memorystore::V1beta::TokenAuthUser>]
1508
+ # A list of token auth users in the project.
1509
+ # @!attribute [rw] next_page_token
1510
+ # @return [::String]
1511
+ # Token to retrieve the next page of results, or empty if there are no more
1512
+ # results in the list.
1513
+ # @!attribute [rw] unreachable
1514
+ # @return [::Array<::String>]
1515
+ # Unordered list. Token auth users that could not be reached.
1516
+ class ListTokenAuthUsersResponse
1517
+ include ::Google::Protobuf::MessageExts
1518
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1519
+ end
1520
+
1521
+ # Request message for `GetTokenAuthUser`.
1522
+ # @!attribute [rw] name
1523
+ # @return [::String]
1524
+ # Required. The name of token auth user for a basic auth enabled instance.
1525
+ # Format:
1526
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/tokenAuthUsers/\\{token_auth_user}
1527
+ class GetTokenAuthUserRequest
1528
+ include ::Google::Protobuf::MessageExts
1529
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1530
+ end
1531
+
1532
+ # Request message for `ListAuthTokens`.
1533
+ # @!attribute [rw] parent
1534
+ # @return [::String]
1535
+ # Required. The parent to list auth tokens from.
1536
+ # Format:
1537
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/tokenAuthUsers/\\{token_auth_user}
1538
+ # @!attribute [rw] page_size
1539
+ # @return [::Integer]
1540
+ # Optional. The maximum number of items to return. The maximum value is 1000;
1541
+ # values above 1000 will be coerced to 1000.
1542
+ #
1543
+ # If not specified, a default value of 1000 will be used by the service.
1544
+ # Regardless of the page_size value, the response may include a partial list
1545
+ # and a caller should only rely on response's
1546
+ # `next_page_token`
1547
+ # to determine if there are more auth tokens left to be queried.
1548
+ # @!attribute [rw] page_token
1549
+ # @return [::String]
1550
+ # Optional. The `next_page_token` value returned from a previous
1551
+ # `ListAuthTokens` request, if any.
1552
+ # @!attribute [rw] filter
1553
+ # @return [::String]
1554
+ # Optional. Expression for filtering results.
1555
+ # @!attribute [rw] order_by
1556
+ # @return [::String]
1557
+ # Optional. Sort results by a defined order.
1558
+ class ListAuthTokensRequest
1559
+ include ::Google::Protobuf::MessageExts
1560
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1561
+ end
1562
+
1563
+ # Response message for `ListAuthTokens`.
1564
+ # @!attribute [rw] auth_tokens
1565
+ # @return [::Array<::Google::Cloud::Memorystore::V1beta::AuthToken>]
1566
+ # A list of auth tokens in the project.
1567
+ # @!attribute [rw] next_page_token
1568
+ # @return [::String]
1569
+ # Token to retrieve the next page of results, or empty if there are no more
1570
+ # results in the list.
1571
+ # @!attribute [rw] unreachable
1572
+ # @return [::Array<::String>]
1573
+ # Unordered list. Auth tokens that could not be reached.
1574
+ class ListAuthTokensResponse
1575
+ include ::Google::Protobuf::MessageExts
1576
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1577
+ end
1578
+
1579
+ # Request message for `GetAuthToken`.
1580
+ # @!attribute [rw] name
1581
+ # @return [::String]
1582
+ # Required. The name of token auth user for a token auth enabled instance.
1583
+ # Format:
1584
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/tokenAuthUsers/\\{token_auth_user}/authTokens/\\{auth_token}
1585
+ class GetAuthTokenRequest
1586
+ include ::Google::Protobuf::MessageExts
1587
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1588
+ end
1589
+
1590
+ # Request message for `AddTokenAuthUser`.
1591
+ # @!attribute [rw] instance
1592
+ # @return [::String]
1593
+ # Required. The instance resource that this token auth user will be added
1594
+ # for. Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
1595
+ # @!attribute [rw] token_auth_user
1596
+ # @return [::String]
1597
+ # Required. The name of the token auth user to add.
1598
+ class AddTokenAuthUserRequest
1599
+ include ::Google::Protobuf::MessageExts
1600
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1601
+ end
1602
+
1603
+ # Request message for `DeleteTokenAuthUser`.
1604
+ # @!attribute [rw] name
1605
+ # @return [::String]
1606
+ # Required. The name of the token auth user to delete.
1607
+ # Format:
1608
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/tokenAuthUsers/\\{token_auth_user}
1609
+ # @!attribute [rw] request_id
1610
+ # @return [::String]
1611
+ # Optional. An optional request ID to identify requests. Specify a unique
1612
+ # request ID so that if you must retry your request, the server will know to
1613
+ # ignore the request if it has already been completed. The server will
1614
+ # guarantee that for at least 60 minutes after the first request.
1615
+ #
1616
+ # For example, consider a situation where you make an initial request and the
1617
+ # request times out. If you make the request again with the same request
1618
+ # ID, the server can check if original operation with the same request ID
1619
+ # was received, and if so, will ignore the second request. This prevents
1620
+ # clients from accidentally creating duplicate commitments.
1621
+ #
1622
+ # The request ID must be a valid UUID with the exception that zero UUID is
1623
+ # not supported (00000000-0000-0000-0000-000000000000).
1624
+ # @!attribute [rw] force
1625
+ # @return [::Boolean]
1626
+ # Optional. If set to true, any auth tokens from this user will also be
1627
+ # deleted. Otherwise, the request will only work if the user has no auth
1628
+ # tokens.
1629
+ class DeleteTokenAuthUserRequest
1630
+ include ::Google::Protobuf::MessageExts
1631
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1632
+ end
1633
+
1634
+ # Request message for `AddAuthToken`.
1635
+ # @!attribute [rw] token_auth_user
1636
+ # @return [::String]
1637
+ # Required. The name of the token auth user resource that this token will be
1638
+ # added for.
1639
+ # @!attribute [rw] auth_token
1640
+ # @return [::Google::Cloud::Memorystore::V1beta::AuthToken]
1641
+ # Required. The auth token to add.
1642
+ class AddAuthTokenRequest
1643
+ include ::Google::Protobuf::MessageExts
1644
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1645
+ end
1646
+
1647
+ # Request message for `DeleteAuthToken`.
1648
+ # @!attribute [rw] name
1649
+ # @return [::String]
1650
+ # Required. The name of the token auth user resource that this token will be
1651
+ # deleted from. Format:
1652
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}/tokenAuthUsers/\\{token_auth_user}/authTokens/\\{name}
1653
+ class DeleteAuthTokenRequest
1654
+ include ::Google::Protobuf::MessageExts
1655
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1656
+ end
1657
+
682
1658
  # A certificate authority for an instance.
683
1659
  # @!attribute [rw] managed_server_ca
684
1660
  # @return [::Google::Cloud::Memorystore::V1beta::CertificateAuthority::ManagedCertificateAuthority]
@@ -744,8 +1720,7 @@ module Google
744
1720
  end
745
1721
  end
746
1722
 
747
- # Request for
748
- # {::Google::Cloud::Memorystore::V1beta::Memorystore::Client#get_shared_regional_certificate_authority GetSharedRegionalCertificateAuthority}.
1723
+ # Request for `GetSharedRegionalCertificateAuthority`.
749
1724
  # @!attribute [rw] name
750
1725
  # @return [::String]
751
1726
  # Required. Regional certificate authority resource name using the form:
@@ -787,6 +1762,71 @@ module Google
787
1762
  extend ::Google::Protobuf::MessageExts::ClassMethods
788
1763
  end
789
1764
 
1765
+ # EncryptionInfo describes the encryption information of a cluster.
1766
+ # @!attribute [r] encryption_type
1767
+ # @return [::Google::Cloud::Memorystore::V1beta::EncryptionInfo::Type]
1768
+ # Output only. Type of encryption.
1769
+ # @!attribute [r] kms_key_versions
1770
+ # @return [::Array<::String>]
1771
+ # Output only. KMS key versions that are being used to protect the data
1772
+ # at-rest.
1773
+ # @!attribute [r] kms_key_primary_state
1774
+ # @return [::Google::Cloud::Memorystore::V1beta::EncryptionInfo::KmsKeyState]
1775
+ # Output only. The state of the primary version of the KMS key perceived by
1776
+ # the system. This field is not populated in backups.
1777
+ # @!attribute [r] last_update_time
1778
+ # @return [::Google::Protobuf::Timestamp]
1779
+ # Output only. The most recent time when the encryption info was updated.
1780
+ class EncryptionInfo
1781
+ include ::Google::Protobuf::MessageExts
1782
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1783
+
1784
+ # Possible encryption types.
1785
+ module Type
1786
+ # Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.
1787
+ TYPE_UNSPECIFIED = 0
1788
+
1789
+ # The data is encrypted at rest with a key that is fully managed by Google.
1790
+ # No key version will be populated. This is the default state.
1791
+ GOOGLE_DEFAULT_ENCRYPTION = 1
1792
+
1793
+ # The data is encrypted at rest with a key that is managed by the customer.
1794
+ # KMS key versions will be populated.
1795
+ CUSTOMER_MANAGED_ENCRYPTION = 2
1796
+ end
1797
+
1798
+ # The state of the KMS key perceived by the system. Refer to the public
1799
+ # documentation for the impact of each state.
1800
+ module KmsKeyState
1801
+ # The default value. This value is unused.
1802
+ KMS_KEY_STATE_UNSPECIFIED = 0
1803
+
1804
+ # The KMS key is enabled and correctly configured.
1805
+ ENABLED = 1
1806
+
1807
+ # Permission denied on the KMS key.
1808
+ PERMISSION_DENIED = 2
1809
+
1810
+ # The KMS key is disabled.
1811
+ DISABLED = 3
1812
+
1813
+ # The KMS key is destroyed.
1814
+ DESTROYED = 4
1815
+
1816
+ # The KMS key is scheduled to be destroyed.
1817
+ DESTROY_SCHEDULED = 5
1818
+
1819
+ # The EKM key is unreachable.
1820
+ EKM_KEY_UNREACHABLE_DETECTED = 6
1821
+
1822
+ # Billing is disabled for the project.
1823
+ BILLING_DISABLED = 7
1824
+
1825
+ # All other unknown failures.
1826
+ UNKNOWN_FAILURE = 8
1827
+ end
1828
+ end
1829
+
790
1830
  # Status of the PSC connection.
791
1831
  module PscConnectionStatus
792
1832
  # PSC connection status is not specified.