google-cloud-redis-v1beta1 0.4.4 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e12e7634080ac529236383495c9737b8f8482e239eb4206939a6ecad6727e51
4
- data.tar.gz: e191a618b8521b268ecebe4eb6e78a6eb351690b7332ff03013008cf819e7ef6
3
+ metadata.gz: 46dc450124766139d895541a325a6f2389ac3a10b5886f5382a5a3c04e793697
4
+ data.tar.gz: 35e72ec051074737d233a586dccf0989934a6c6ac963628a72fe1ecb4d97f767
5
5
  SHA512:
6
- metadata.gz: 7d196c0aadc2888794b9de4f3b497e43b88477aa683c091c4e673bb175c1c5d90fc912979b6d79916155f66aa539896af1b672d2d748027efc7fc8d88670e2db
7
- data.tar.gz: e9c8f5c897b555a05d24b4428994af2e9c74c75a37a65453e3dac5ae415d45c6cf7bb4176b583a50ed56895e939ac51396baeb1185fd63ac68a91b6a641ae119
6
+ metadata.gz: 9d57667e6eda7b9eb3b661002b2d49be8dbdefdec47222669546f6124f4e64cb85063f291608c97bc957a67e2940b4a4db2add46349a9473ccb2f2f590abfab5
7
+ data.tar.gz: 2f947939ef3ae2c3e71506975f3d6e6c5baf0d1db2cd48319b52d84d14db05ad479fe81d3505e25ba383ae2e002f6a2b687769672553dd068967d6eb9392cc44
data/.yardopts CHANGED
@@ -1,5 +1,5 @@
1
1
  --no-private
2
- --title=Google Cloud Memorystore for Redis V1beta1 API
2
+ --title="Google Cloud Memorystore for Redis V1beta1 API"
3
3
  --exclude _pb\.rb$
4
4
  --markup markdown
5
5
  --markup-provider redcarpet
data/AUTHENTICATION.md CHANGED
@@ -120,15 +120,6 @@ To configure your system for this, simply:
120
120
  **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
121
121
  *should* only be used during development.
122
122
 
123
- [gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
124
- [dev-console]: https://console.cloud.google.com/project
125
-
126
- [enable-apis]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/enable-apis.png
127
-
128
- [create-new-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account.png
129
- [create-new-service-account-existing-keys]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/create-new-service-account-existing-keys.png
130
- [reuse-service-account]: https://raw.githubusercontent.com/GoogleCloudPlatform/gcloud-common/master/authentication/reuse-service-account.png
131
-
132
123
  ## Creating a Service Account
133
124
 
134
125
  Google Cloud requires **Service Account Credentials** to
@@ -139,31 +130,22 @@ If you are not running this client within
139
130
  [Google Cloud Platform environments](#google-cloud-platform-environments), you
140
131
  need a Google Developers service account.
141
132
 
142
- 1. Visit the [Google Developers Console][dev-console].
133
+ 1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
143
134
  2. Create a new project or click on an existing project.
144
- 3. Activate the slide-out navigation tray and select **API Manager**. From
135
+ 3. Activate the menu in the upper left and select **APIs & Services**. From
145
136
  here, you will enable the APIs that your application requires.
146
137
 
147
- ![Enable the APIs that your application requires][enable-apis]
148
-
149
138
  *Note: You may need to enable billing in order to use these services.*
150
139
 
151
140
  4. Select **Credentials** from the side navigation.
152
141
 
153
- You should see a screen like one of the following.
154
-
155
- ![Create a new service account][create-new-service-account]
156
-
157
- ![Create a new service account With Existing Keys][create-new-service-account-existing-keys]
158
-
159
- Find the "Add credentials" drop down and select "Service account" to be
160
- guided through downloading a new JSON key file.
142
+ Find the "Create credentials" drop down near the top of the page, and select
143
+ "Service account" to be guided through downloading a new JSON key file.
161
144
 
162
145
  If you want to re-use an existing service account, you can easily generate a
163
- new key file. Just select the account you wish to re-use, and click "Generate
164
- new JSON key":
165
-
166
- ![Re-use an existing service account][reuse-service-account]
146
+ new key file. Just select the account you wish to re-use, click the pencil
147
+ tool on the right side to edit the service account, select the **Keys** tab,
148
+ and then select **Add Key**.
167
149
 
168
150
  The key file you download will be used by this library to authenticate API
169
151
  requests and should be stored in a secure location.
data/README.md CHANGED
@@ -37,7 +37,7 @@ request = ::Google::Cloud::Redis::V1beta1::ListInstancesRequest.new # (request f
37
37
  response = client.list_instances request
38
38
  ```
39
39
 
40
- View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-redis-v1beta1/latest)
40
+ View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/google-cloud-redis-v1beta1/latest)
41
41
  for class and method documentation.
42
42
 
43
43
  See also the [Product Documentation](https://cloud.google.com/memorystore/docs/redis)
@@ -40,7 +40,7 @@ module Google
40
40
  # * As such, Redis instances are resources of the form:
41
41
  # `/projects/{project_id}/locations/{location_id}/instances/{instance_id}`
42
42
  #
43
- # Note that location_id must be refering to a GCP `region`; for example:
43
+ # Note that location_id must be referring to a GCP `region`; for example:
44
44
  # * `projects/redpepper-1290/locations/us-central1/instances/my-redis`
45
45
  #
46
46
  class Client
@@ -82,6 +82,8 @@ module Google
82
82
 
83
83
  default_config.rpcs.get_instance.timeout = 600.0
84
84
 
85
+ default_config.rpcs.get_instance_auth_string.timeout = 600.0
86
+
85
87
  default_config.rpcs.create_instance.timeout = 600.0
86
88
 
87
89
  default_config.rpcs.update_instance.timeout = 600.0
@@ -167,6 +169,7 @@ module Google
167
169
 
168
170
  @operations_client = Operations.new do |config|
169
171
  config.credentials = credentials
172
+ config.quota_project = @quota_project_id
170
173
  config.endpoint = @config.endpoint
171
174
  end
172
175
 
@@ -388,6 +391,95 @@ module Google
388
391
  raise ::Google::Cloud::Error.from_error(e)
389
392
  end
390
393
 
394
+ ##
395
+ # Gets the AUTH string for a Redis instance. If AUTH is not enabled for the
396
+ # instance the response will be empty. This information is not included in
397
+ # the details returned to GetInstance.
398
+ #
399
+ # @overload get_instance_auth_string(request, options = nil)
400
+ # Pass arguments to `get_instance_auth_string` via a request object, either of type
401
+ # {::Google::Cloud::Redis::V1beta1::GetInstanceAuthStringRequest} or an equivalent Hash.
402
+ #
403
+ # @param request [::Google::Cloud::Redis::V1beta1::GetInstanceAuthStringRequest, ::Hash]
404
+ # A request object representing the call parameters. Required. To specify no
405
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
406
+ # @param options [::Gapic::CallOptions, ::Hash]
407
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
408
+ #
409
+ # @overload get_instance_auth_string(name: nil)
410
+ # Pass arguments to `get_instance_auth_string` via keyword arguments. Note that at
411
+ # least one keyword argument is required. To specify no parameters, or to keep all
412
+ # the default parameter values, pass an empty Hash as a request object (see above).
413
+ #
414
+ # @param name [::String]
415
+ # Required. Redis instance resource name using the form:
416
+ # `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
417
+ # where `location_id` refers to a GCP region.
418
+ #
419
+ # @yield [response, operation] Access the result along with the RPC operation
420
+ # @yieldparam response [::Google::Cloud::Redis::V1beta1::InstanceAuthString]
421
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
422
+ #
423
+ # @return [::Google::Cloud::Redis::V1beta1::InstanceAuthString]
424
+ #
425
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
426
+ #
427
+ # @example Basic example
428
+ # require "google/cloud/redis/v1beta1"
429
+ #
430
+ # # Create a client object. The client can be reused for multiple calls.
431
+ # client = Google::Cloud::Redis::V1beta1::CloudRedis::Client.new
432
+ #
433
+ # # Create a request. To set request fields, pass in keyword arguments.
434
+ # request = Google::Cloud::Redis::V1beta1::GetInstanceAuthStringRequest.new
435
+ #
436
+ # # Call the get_instance_auth_string method.
437
+ # result = client.get_instance_auth_string request
438
+ #
439
+ # # The returned object is of type Google::Cloud::Redis::V1beta1::InstanceAuthString.
440
+ # p result
441
+ #
442
+ def get_instance_auth_string request, options = nil
443
+ raise ::ArgumentError, "request must be provided" if request.nil?
444
+
445
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::V1beta1::GetInstanceAuthStringRequest
446
+
447
+ # Converts hash and nil to an options object
448
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
449
+
450
+ # Customize the options with defaults
451
+ metadata = @config.rpcs.get_instance_auth_string.metadata.to_h
452
+
453
+ # Set x-goog-api-client and x-goog-user-project headers
454
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
455
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
456
+ gapic_version: ::Google::Cloud::Redis::V1beta1::VERSION
457
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
458
+
459
+ header_params = {}
460
+ if request.name
461
+ header_params["name"] = request.name
462
+ end
463
+
464
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
465
+ metadata[:"x-goog-request-params"] ||= request_params_header
466
+
467
+ options.apply_defaults timeout: @config.rpcs.get_instance_auth_string.timeout,
468
+ metadata: metadata,
469
+ retry_policy: @config.rpcs.get_instance_auth_string.retry_policy
470
+
471
+ options.apply_defaults timeout: @config.timeout,
472
+ metadata: @config.metadata,
473
+ retry_policy: @config.retry_policy
474
+
475
+ @cloud_redis_stub.call_rpc :get_instance_auth_string, request, options: options do |response, operation|
476
+ yield response, operation if block_given?
477
+ return response
478
+ end
479
+ rescue ::GRPC::BadStatus => e
480
+ raise ::Google::Cloud::Error.from_error(e)
481
+ end
482
+
391
483
  ##
392
484
  # Creates a Redis instance based on the specified tier and memory size.
393
485
  #
@@ -396,7 +488,7 @@ module Google
396
488
  #
397
489
  # The creation is executed asynchronously and callers may check the returned
398
490
  # operation to track its progress. Once the operation is completed the Redis
399
- # instance will be fully functional. Completed longrunning.Operation will
491
+ # instance will be fully functional. The completed longrunning.Operation will
400
492
  # contain the new instance object in the response field.
401
493
  #
402
494
  # The returned operation is automatically deleted after a few hours, so there
@@ -536,6 +628,7 @@ module Google
536
628
  # * `labels`
537
629
  # * `memorySizeGb`
538
630
  # * `redisConfig`
631
+ # * `replica_count`
539
632
  # @param instance [::Google::Cloud::Redis::V1beta1::Instance, ::Hash]
540
633
  # Required. Update description.
541
634
  # Only fields specified in update_mask are updated.
@@ -917,7 +1010,7 @@ module Google
917
1010
  end
918
1011
 
919
1012
  ##
920
- # Initiates a failover of the master node to current replica node for a
1013
+ # Initiates a failover of the primary node to current replica node for a
921
1014
  # specific STANDARD tier Cloud Memorystore for Redis instance.
922
1015
  #
923
1016
  # @overload failover_instance(request, options = nil)
@@ -1111,6 +1204,108 @@ module Google
1111
1204
  raise ::Google::Cloud::Error.from_error(e)
1112
1205
  end
1113
1206
 
1207
+ ##
1208
+ # Reschedule maintenance for a given instance in a given project and
1209
+ # location.
1210
+ #
1211
+ # @overload reschedule_maintenance(request, options = nil)
1212
+ # Pass arguments to `reschedule_maintenance` via a request object, either of type
1213
+ # {::Google::Cloud::Redis::V1beta1::RescheduleMaintenanceRequest} or an equivalent Hash.
1214
+ #
1215
+ # @param request [::Google::Cloud::Redis::V1beta1::RescheduleMaintenanceRequest, ::Hash]
1216
+ # A request object representing the call parameters. Required. To specify no
1217
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1218
+ # @param options [::Gapic::CallOptions, ::Hash]
1219
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1220
+ #
1221
+ # @overload reschedule_maintenance(name: nil, reschedule_type: nil, schedule_time: nil)
1222
+ # Pass arguments to `reschedule_maintenance` via keyword arguments. Note that at
1223
+ # least one keyword argument is required. To specify no parameters, or to keep all
1224
+ # the default parameter values, pass an empty Hash as a request object (see above).
1225
+ #
1226
+ # @param name [::String]
1227
+ # Required. Redis instance resource name using the form:
1228
+ # `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
1229
+ # where `location_id` refers to a GCP region.
1230
+ # @param reschedule_type [::Google::Cloud::Redis::V1beta1::RescheduleMaintenanceRequest::RescheduleType]
1231
+ # Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
1232
+ # @param schedule_time [::Google::Protobuf::Timestamp, ::Hash]
1233
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
1234
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for
1235
+ # example `2012-11-15T16:19:00.094Z`.
1236
+ #
1237
+ # @yield [response, operation] Access the result along with the RPC operation
1238
+ # @yieldparam response [::Gapic::Operation]
1239
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1240
+ #
1241
+ # @return [::Gapic::Operation]
1242
+ #
1243
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1244
+ #
1245
+ # @example Basic example
1246
+ # require "google/cloud/redis/v1beta1"
1247
+ #
1248
+ # # Create a client object. The client can be reused for multiple calls.
1249
+ # client = Google::Cloud::Redis::V1beta1::CloudRedis::Client.new
1250
+ #
1251
+ # # Create a request. To set request fields, pass in keyword arguments.
1252
+ # request = Google::Cloud::Redis::V1beta1::RescheduleMaintenanceRequest.new
1253
+ #
1254
+ # # Call the reschedule_maintenance method.
1255
+ # result = client.reschedule_maintenance request
1256
+ #
1257
+ # # The returned object is of type Gapic::Operation. You can use this
1258
+ # # object to check the status of an operation, cancel it, or wait
1259
+ # # for results. Here is how to block until completion:
1260
+ # result.wait_until_done! timeout: 60
1261
+ # if result.response?
1262
+ # p result.response
1263
+ # else
1264
+ # puts "Error!"
1265
+ # end
1266
+ #
1267
+ def reschedule_maintenance request, options = nil
1268
+ raise ::ArgumentError, "request must be provided" if request.nil?
1269
+
1270
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::V1beta1::RescheduleMaintenanceRequest
1271
+
1272
+ # Converts hash and nil to an options object
1273
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1274
+
1275
+ # Customize the options with defaults
1276
+ metadata = @config.rpcs.reschedule_maintenance.metadata.to_h
1277
+
1278
+ # Set x-goog-api-client and x-goog-user-project headers
1279
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1280
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1281
+ gapic_version: ::Google::Cloud::Redis::V1beta1::VERSION
1282
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1283
+
1284
+ header_params = {}
1285
+ if request.name
1286
+ header_params["name"] = request.name
1287
+ end
1288
+
1289
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1290
+ metadata[:"x-goog-request-params"] ||= request_params_header
1291
+
1292
+ options.apply_defaults timeout: @config.rpcs.reschedule_maintenance.timeout,
1293
+ metadata: metadata,
1294
+ retry_policy: @config.rpcs.reschedule_maintenance.retry_policy
1295
+
1296
+ options.apply_defaults timeout: @config.timeout,
1297
+ metadata: @config.metadata,
1298
+ retry_policy: @config.retry_policy
1299
+
1300
+ @cloud_redis_stub.call_rpc :reschedule_maintenance, request, options: options do |response, operation|
1301
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1302
+ yield response, operation if block_given?
1303
+ return response
1304
+ end
1305
+ rescue ::GRPC::BadStatus => e
1306
+ raise ::Google::Cloud::Error.from_error(e)
1307
+ end
1308
+
1114
1309
  ##
1115
1310
  # Configuration class for the CloudRedis API.
1116
1311
  #
@@ -1257,6 +1452,11 @@ module Google
1257
1452
  #
1258
1453
  attr_reader :get_instance
1259
1454
  ##
1455
+ # RPC-specific configuration for `get_instance_auth_string`
1456
+ # @return [::Gapic::Config::Method]
1457
+ #
1458
+ attr_reader :get_instance_auth_string
1459
+ ##
1260
1460
  # RPC-specific configuration for `create_instance`
1261
1461
  # @return [::Gapic::Config::Method]
1262
1462
  #
@@ -1291,6 +1491,11 @@ module Google
1291
1491
  # @return [::Gapic::Config::Method]
1292
1492
  #
1293
1493
  attr_reader :delete_instance
1494
+ ##
1495
+ # RPC-specific configuration for `reschedule_maintenance`
1496
+ # @return [::Gapic::Config::Method]
1497
+ #
1498
+ attr_reader :reschedule_maintenance
1294
1499
 
1295
1500
  # @private
1296
1501
  def initialize parent_rpcs = nil
@@ -1298,6 +1503,8 @@ module Google
1298
1503
  @list_instances = ::Gapic::Config::Method.new list_instances_config
1299
1504
  get_instance_config = parent_rpcs.get_instance if parent_rpcs.respond_to? :get_instance
1300
1505
  @get_instance = ::Gapic::Config::Method.new get_instance_config
1506
+ get_instance_auth_string_config = parent_rpcs.get_instance_auth_string if parent_rpcs.respond_to? :get_instance_auth_string
1507
+ @get_instance_auth_string = ::Gapic::Config::Method.new get_instance_auth_string_config
1301
1508
  create_instance_config = parent_rpcs.create_instance if parent_rpcs.respond_to? :create_instance
1302
1509
  @create_instance = ::Gapic::Config::Method.new create_instance_config
1303
1510
  update_instance_config = parent_rpcs.update_instance if parent_rpcs.respond_to? :update_instance
@@ -1312,6 +1519,8 @@ module Google
1312
1519
  @failover_instance = ::Gapic::Config::Method.new failover_instance_config
1313
1520
  delete_instance_config = parent_rpcs.delete_instance if parent_rpcs.respond_to? :delete_instance
1314
1521
  @delete_instance = ::Gapic::Config::Method.new delete_instance_config
1522
+ reschedule_maintenance_config = parent_rpcs.reschedule_maintenance if parent_rpcs.respond_to? :reschedule_maintenance
1523
+ @reschedule_maintenance = ::Gapic::Config::Method.new reschedule_maintenance_config
1315
1524
 
1316
1525
  yield self if block_given?
1317
1526
  end
@@ -45,7 +45,7 @@ module Google
45
45
  # * As such, Redis instances are resources of the form:
46
46
  # `/projects/{project_id}/locations/{location_id}/instances/{instance_id}`
47
47
  #
48
- # Note that location_id must be refering to a GCP `region`; for example:
48
+ # Note that location_id must be referring to a GCP `region`; for example:
49
49
  # * `projects/redpepper-1290/locations/us-central1/instances/my-redis`
50
50
  #
51
51
  # To load this service and instantiate a client:
@@ -6,12 +6,19 @@ require 'google/api/client_pb'
6
6
  require 'google/api/field_behavior_pb'
7
7
  require 'google/api/resource_pb'
8
8
  require 'google/longrunning/operations_pb'
9
+ require 'google/protobuf/duration_pb'
9
10
  require 'google/protobuf/field_mask_pb'
10
11
  require 'google/protobuf/timestamp_pb'
12
+ require 'google/type/dayofweek_pb'
13
+ require 'google/type/timeofday_pb'
11
14
  require 'google/protobuf'
12
15
 
13
16
  Google::Protobuf::DescriptorPool.generated_pool.build do
14
17
  add_file("google/cloud/redis/v1beta1/cloud_redis.proto", :syntax => :proto3) do
18
+ add_message "google.cloud.redis.v1beta1.NodeInfo" do
19
+ optional :id, :string, 1
20
+ optional :zone, :string, 2
21
+ end
15
22
  add_message "google.cloud.redis.v1beta1.Instance" do
16
23
  optional :name, :string, 1
17
24
  optional :display_name, :string, 2
@@ -20,6 +27,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
20
27
  optional :alternative_location_id, :string, 5
21
28
  optional :redis_version, :string, 7
22
29
  optional :reserved_ip_range, :string, 9
30
+ optional :secondary_ip_range, :string, 30
23
31
  optional :host, :string, 10
24
32
  optional :port, :int32, 11
25
33
  optional :current_location_id, :string, 12
@@ -32,6 +40,17 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
32
40
  optional :authorized_network, :string, 20
33
41
  optional :persistence_iam_identity, :string, 21
34
42
  optional :connect_mode, :enum, 22, "google.cloud.redis.v1beta1.Instance.ConnectMode"
43
+ optional :auth_enabled, :bool, 23
44
+ repeated :server_ca_certs, :message, 25, "google.cloud.redis.v1beta1.TlsCertificate"
45
+ optional :transit_encryption_mode, :enum, 26, "google.cloud.redis.v1beta1.Instance.TransitEncryptionMode"
46
+ optional :maintenance_policy, :message, 27, "google.cloud.redis.v1beta1.MaintenancePolicy"
47
+ optional :maintenance_schedule, :message, 28, "google.cloud.redis.v1beta1.MaintenanceSchedule"
48
+ optional :replica_count, :int32, 31
49
+ repeated :nodes, :message, 32, "google.cloud.redis.v1beta1.NodeInfo"
50
+ optional :read_endpoint, :string, 33
51
+ optional :read_endpoint_port, :int32, 34
52
+ optional :read_replicas_mode, :enum, 35, "google.cloud.redis.v1beta1.Instance.ReadReplicasMode"
53
+ optional :persistence_config, :message, 37, "google.cloud.redis.v1beta1.PersistenceConfig"
35
54
  end
36
55
  add_enum "google.cloud.redis.v1beta1.Instance.State" do
37
56
  value :STATE_UNSPECIFIED, 0
@@ -54,6 +73,62 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
54
73
  value :DIRECT_PEERING, 1
55
74
  value :PRIVATE_SERVICE_ACCESS, 2
56
75
  end
76
+ add_enum "google.cloud.redis.v1beta1.Instance.TransitEncryptionMode" do
77
+ value :TRANSIT_ENCRYPTION_MODE_UNSPECIFIED, 0
78
+ value :SERVER_AUTHENTICATION, 1
79
+ value :DISABLED, 2
80
+ end
81
+ add_enum "google.cloud.redis.v1beta1.Instance.ReadReplicasMode" do
82
+ value :READ_REPLICAS_MODE_UNSPECIFIED, 0
83
+ value :READ_REPLICAS_DISABLED, 1
84
+ value :READ_REPLICAS_ENABLED, 2
85
+ end
86
+ add_message "google.cloud.redis.v1beta1.PersistenceConfig" do
87
+ optional :persistence_mode, :enum, 1, "google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode"
88
+ optional :rdb_snapshot_period, :enum, 2, "google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod"
89
+ optional :rdb_next_snapshot_time, :message, 4, "google.protobuf.Timestamp"
90
+ optional :rdb_snapshot_start_time, :message, 5, "google.protobuf.Timestamp"
91
+ end
92
+ add_enum "google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode" do
93
+ value :PERSISTENCE_MODE_UNSPECIFIED, 0
94
+ value :DISABLED, 1
95
+ value :RDB, 2
96
+ end
97
+ add_enum "google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod" do
98
+ value :SNAPSHOT_PERIOD_UNSPECIFIED, 0
99
+ value :ONE_HOUR, 3
100
+ value :SIX_HOURS, 4
101
+ value :TWELVE_HOURS, 5
102
+ value :TWENTY_FOUR_HOURS, 6
103
+ end
104
+ add_message "google.cloud.redis.v1beta1.RescheduleMaintenanceRequest" do
105
+ optional :name, :string, 1
106
+ optional :reschedule_type, :enum, 2, "google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType"
107
+ optional :schedule_time, :message, 3, "google.protobuf.Timestamp"
108
+ end
109
+ add_enum "google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType" do
110
+ value :RESCHEDULE_TYPE_UNSPECIFIED, 0
111
+ value :IMMEDIATE, 1
112
+ value :NEXT_AVAILABLE_WINDOW, 2
113
+ value :SPECIFIC_TIME, 3
114
+ end
115
+ add_message "google.cloud.redis.v1beta1.MaintenancePolicy" do
116
+ optional :create_time, :message, 1, "google.protobuf.Timestamp"
117
+ optional :update_time, :message, 2, "google.protobuf.Timestamp"
118
+ optional :description, :string, 3
119
+ repeated :weekly_maintenance_window, :message, 4, "google.cloud.redis.v1beta1.WeeklyMaintenanceWindow"
120
+ end
121
+ add_message "google.cloud.redis.v1beta1.WeeklyMaintenanceWindow" do
122
+ optional :day, :enum, 1, "google.type.DayOfWeek"
123
+ optional :start_time, :message, 2, "google.type.TimeOfDay"
124
+ optional :duration, :message, 3, "google.protobuf.Duration"
125
+ end
126
+ add_message "google.cloud.redis.v1beta1.MaintenanceSchedule" do
127
+ optional :start_time, :message, 1, "google.protobuf.Timestamp"
128
+ optional :end_time, :message, 2, "google.protobuf.Timestamp"
129
+ optional :can_reschedule, :bool, 3
130
+ optional :schedule_deadline_time, :message, 5, "google.protobuf.Timestamp"
131
+ end
57
132
  add_message "google.cloud.redis.v1beta1.ListInstancesRequest" do
58
133
  optional :parent, :string, 1
59
134
  optional :page_size, :int32, 2
@@ -67,6 +142,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
67
142
  add_message "google.cloud.redis.v1beta1.GetInstanceRequest" do
68
143
  optional :name, :string, 1
69
144
  end
145
+ add_message "google.cloud.redis.v1beta1.GetInstanceAuthStringRequest" do
146
+ optional :name, :string, 1
147
+ end
148
+ add_message "google.cloud.redis.v1beta1.InstanceAuthString" do
149
+ optional :auth_string, :string, 1
150
+ end
70
151
  add_message "google.cloud.redis.v1beta1.CreateInstanceRequest" do
71
152
  optional :parent, :string, 1
72
153
  optional :instance_id, :string, 2
@@ -121,6 +202,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
121
202
  end
122
203
  add_message "google.cloud.redis.v1beta1.ZoneMetadata" do
123
204
  end
205
+ add_message "google.cloud.redis.v1beta1.TlsCertificate" do
206
+ optional :serial_number, :string, 1
207
+ optional :cert, :string, 2
208
+ optional :create_time, :message, 3, "google.protobuf.Timestamp"
209
+ optional :expire_time, :message, 4, "google.protobuf.Timestamp"
210
+ optional :sha1_fingerprint, :string, 5
211
+ end
124
212
  end
125
213
  end
126
214
 
@@ -128,13 +216,26 @@ module Google
128
216
  module Cloud
129
217
  module Redis
130
218
  module V1beta1
219
+ NodeInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.NodeInfo").msgclass
131
220
  Instance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance").msgclass
132
221
  Instance::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.State").enummodule
133
222
  Instance::Tier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.Tier").enummodule
134
223
  Instance::ConnectMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.ConnectMode").enummodule
224
+ Instance::TransitEncryptionMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.TransitEncryptionMode").enummodule
225
+ Instance::ReadReplicasMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.ReadReplicasMode").enummodule
226
+ PersistenceConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.PersistenceConfig").msgclass
227
+ PersistenceConfig::PersistenceMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode").enummodule
228
+ PersistenceConfig::SnapshotPeriod = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod").enummodule
229
+ RescheduleMaintenanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.RescheduleMaintenanceRequest").msgclass
230
+ RescheduleMaintenanceRequest::RescheduleType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType").enummodule
231
+ MaintenancePolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.MaintenancePolicy").msgclass
232
+ WeeklyMaintenanceWindow = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.WeeklyMaintenanceWindow").msgclass
233
+ MaintenanceSchedule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.MaintenanceSchedule").msgclass
135
234
  ListInstancesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ListInstancesRequest").msgclass
136
235
  ListInstancesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ListInstancesResponse").msgclass
137
236
  GetInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.GetInstanceRequest").msgclass
237
+ GetInstanceAuthStringRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.GetInstanceAuthStringRequest").msgclass
238
+ InstanceAuthString = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.InstanceAuthString").msgclass
138
239
  CreateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.CreateInstanceRequest").msgclass
139
240
  UpdateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.UpdateInstanceRequest").msgclass
140
241
  UpgradeInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.UpgradeInstanceRequest").msgclass
@@ -149,6 +250,7 @@ module Google
149
250
  FailoverInstanceRequest::DataProtectionMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode").enummodule
150
251
  LocationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.LocationMetadata").msgclass
151
252
  ZoneMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ZoneMetadata").msgclass
253
+ TlsCertificate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.TlsCertificate").msgclass
152
254
  end
153
255
  end
154
256
  end
@@ -37,7 +37,7 @@ module Google
37
37
  # * As such, Redis instances are resources of the form:
38
38
  # `/projects/{project_id}/locations/{location_id}/instances/{instance_id}`
39
39
  #
40
- # Note that location_id must be refering to a GCP `region`; for example:
40
+ # Note that location_id must be referring to a GCP `region`; for example:
41
41
  # * `projects/redpepper-1290/locations/us-central1/instances/my-redis`
42
42
  class Service
43
43
 
@@ -59,6 +59,10 @@ module Google
59
59
  rpc :ListInstances, ::Google::Cloud::Redis::V1beta1::ListInstancesRequest, ::Google::Cloud::Redis::V1beta1::ListInstancesResponse
60
60
  # Gets the details of a specific Redis instance.
61
61
  rpc :GetInstance, ::Google::Cloud::Redis::V1beta1::GetInstanceRequest, ::Google::Cloud::Redis::V1beta1::Instance
62
+ # Gets the AUTH string for a Redis instance. If AUTH is not enabled for the
63
+ # instance the response will be empty. This information is not included in
64
+ # the details returned to GetInstance.
65
+ rpc :GetInstanceAuthString, ::Google::Cloud::Redis::V1beta1::GetInstanceAuthStringRequest, ::Google::Cloud::Redis::V1beta1::InstanceAuthString
62
66
  # Creates a Redis instance based on the specified tier and memory size.
63
67
  #
64
68
  # By default, the instance is accessible from the project's
@@ -66,7 +70,7 @@ module Google
66
70
  #
67
71
  # The creation is executed asynchronously and callers may check the returned
68
72
  # operation to track its progress. Once the operation is completed the Redis
69
- # instance will be fully functional. Completed longrunning.Operation will
73
+ # instance will be fully functional. The completed longrunning.Operation will
70
74
  # contain the new instance object in the response field.
71
75
  #
72
76
  # The returned operation is automatically deleted after a few hours, so there
@@ -97,12 +101,15 @@ module Google
97
101
  # The returned operation is automatically deleted after a few hours, so
98
102
  # there is no need to call DeleteOperation.
99
103
  rpc :ExportInstance, ::Google::Cloud::Redis::V1beta1::ExportInstanceRequest, ::Google::Longrunning::Operation
100
- # Initiates a failover of the master node to current replica node for a
104
+ # Initiates a failover of the primary node to current replica node for a
101
105
  # specific STANDARD tier Cloud Memorystore for Redis instance.
102
106
  rpc :FailoverInstance, ::Google::Cloud::Redis::V1beta1::FailoverInstanceRequest, ::Google::Longrunning::Operation
103
107
  # Deletes a specific Redis instance. Instance stops serving and data is
104
108
  # deleted.
105
109
  rpc :DeleteInstance, ::Google::Cloud::Redis::V1beta1::DeleteInstanceRequest, ::Google::Longrunning::Operation
110
+ # Reschedule maintenance for a given instance in a given project and
111
+ # location.
112
+ rpc :RescheduleMaintenance, ::Google::Cloud::Redis::V1beta1::RescheduleMaintenanceRequest, ::Google::Longrunning::Operation
106
113
  end
107
114
 
108
115
  Stub = Service.rpc_stub_class
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Redis
23
23
  module V1beta1
24
- VERSION = "0.4.4"
24
+ VERSION = "0.7.0"
25
25
  end
26
26
  end
27
27
  end
@@ -33,11 +33,7 @@ module Google
33
33
  # // For Kubernetes resources, the format is {api group}/{kind}.
34
34
  # option (google.api.resource) = {
35
35
  # type: "pubsub.googleapis.com/Topic"
36
- # name_descriptor: {
37
- # pattern: "projects/{project}/topics/{topic}"
38
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
- # parent_name_extractor: "projects/{project}"
40
- # }
36
+ # pattern: "projects/{project}/topics/{topic}"
41
37
  # };
42
38
  # }
43
39
  #
@@ -45,10 +41,7 @@ module Google
45
41
  #
46
42
  # resources:
47
43
  # - type: "pubsub.googleapis.com/Topic"
48
- # name_descriptor:
49
- # - pattern: "projects/{project}/topics/{topic}"
50
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
- # parent_name_extractor: "projects/{project}"
44
+ # pattern: "projects/{project}/topics/{topic}"
52
45
  #
53
46
  # Sometimes, resources have multiple patterns, typically because they can
54
47
  # live under multiple parents.
@@ -58,26 +51,10 @@ module Google
58
51
  # message LogEntry {
59
52
  # option (google.api.resource) = {
60
53
  # type: "logging.googleapis.com/LogEntry"
61
- # name_descriptor: {
62
- # pattern: "projects/{project}/logs/{log}"
63
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
- # parent_name_extractor: "projects/{project}"
65
- # }
66
- # name_descriptor: {
67
- # pattern: "folders/{folder}/logs/{log}"
68
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
- # parent_name_extractor: "folders/{folder}"
70
- # }
71
- # name_descriptor: {
72
- # pattern: "organizations/{organization}/logs/{log}"
73
- # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
- # parent_name_extractor: "organizations/{organization}"
75
- # }
76
- # name_descriptor: {
77
- # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
- # parent_type: "billing.googleapis.com/BillingAccount"
79
- # parent_name_extractor: "billingAccounts/{billing_account}"
80
- # }
54
+ # pattern: "projects/{project}/logs/{log}"
55
+ # pattern: "folders/{folder}/logs/{log}"
56
+ # pattern: "organizations/{organization}/logs/{log}"
57
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
81
58
  # };
82
59
  # }
83
60
  #
@@ -85,48 +62,10 @@ module Google
85
62
  #
86
63
  # resources:
87
64
  # - type: 'logging.googleapis.com/LogEntry'
88
- # name_descriptor:
89
- # - pattern: "projects/{project}/logs/{log}"
90
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
- # parent_name_extractor: "projects/{project}"
92
- # - pattern: "folders/{folder}/logs/{log}"
93
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
- # parent_name_extractor: "folders/{folder}"
95
- # - pattern: "organizations/{organization}/logs/{log}"
96
- # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
- # parent_name_extractor: "organizations/{organization}"
98
- # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
- # parent_type: "billing.googleapis.com/BillingAccount"
100
- # parent_name_extractor: "billingAccounts/{billing_account}"
101
- #
102
- # For flexible resources, the resource name doesn't contain parent names, but
103
- # the resource itself has parents for policy evaluation.
104
- #
105
- # Example:
106
- #
107
- # message Shelf {
108
- # option (google.api.resource) = {
109
- # type: "library.googleapis.com/Shelf"
110
- # name_descriptor: {
111
- # pattern: "shelves/{shelf}"
112
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
- # }
114
- # name_descriptor: {
115
- # pattern: "shelves/{shelf}"
116
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
- # }
118
- # };
119
- # }
120
- #
121
- # The ResourceDescriptor Yaml config will look like:
122
- #
123
- # resources:
124
- # - type: 'library.googleapis.com/Shelf'
125
- # name_descriptor:
126
- # - pattern: "shelves/{shelf}"
127
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
- # - pattern: "shelves/{shelf}"
129
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
65
+ # pattern: "projects/{project}/logs/{log}"
66
+ # pattern: "folders/{folder}/logs/{log}"
67
+ # pattern: "organizations/{organization}/logs/{log}"
68
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
130
69
  # @!attribute [rw] type
131
70
  # @return [::String]
132
71
  # The resource type. It must be in the format of
@@ -21,7 +21,19 @@ module Google
21
21
  module Cloud
22
22
  module Redis
23
23
  module V1beta1
24
- # A Google Cloud Redis instance.
24
+ # Node specific properties.
25
+ # @!attribute [r] id
26
+ # @return [::String]
27
+ # Output only. Node identifying string. e.g. 'node-0', 'node-1'
28
+ # @!attribute [r] zone
29
+ # @return [::String]
30
+ # Output only. Location of the node.
31
+ class NodeInfo
32
+ include ::Google::Protobuf::MessageExts
33
+ extend ::Google::Protobuf::MessageExts::ClassMethods
34
+ end
35
+
36
+ # A Memorystore for Redis instance.
25
37
  # @!attribute [rw] name
26
38
  # @return [::String]
27
39
  # Required. Unique name of the resource in this scope including project and
@@ -42,15 +54,17 @@ module Google
42
54
  # @!attribute [rw] location_id
43
55
  # @return [::String]
44
56
  # Optional. The zone where the instance will be provisioned. If not provided,
45
- # the service will choose a zone for the instance. For STANDARD_HA tier,
46
- # instances will be created across two zones for protection against zonal
47
- # failures. If {::Google::Cloud::Redis::V1beta1::Instance#alternative_location_id alternative_location_id} is also provided, it must be
48
- # different from {::Google::Cloud::Redis::V1beta1::Instance#location_id location_id}.
57
+ # the service will choose a zone from the specified region for the instance.
58
+ # For standard tier, additional nodes will be added across multiple zones for
59
+ # protection against zonal failures. If specified, at least one node will be
60
+ # provisioned in this zone.
49
61
  # @!attribute [rw] alternative_location_id
50
62
  # @return [::String]
51
- # Optional. Only applicable to STANDARD_HA tier which protects the instance
52
- # against zonal failures by provisioning it across two zones. If provided, it
53
- # must be a different zone from the one provided in {::Google::Cloud::Redis::V1beta1::Instance#location_id location_id}.
63
+ # Optional. If specified, at least one node will be provisioned in this zone
64
+ # in addition to the zone specified in location_id. Only applicable to
65
+ # standard tier. If provided, it must be a different zone from the one
66
+ # provided in [location_id]. Additional nodes beyond the first 2 will be
67
+ # placed in zones selected by the service.
54
68
  # @!attribute [rw] redis_version
55
69
  # @return [::String]
56
70
  # Optional. The version of Redis software.
@@ -60,26 +74,36 @@ module Google
60
74
  # * `REDIS_3_2` for Redis 3.2 compatibility
61
75
  # * `REDIS_4_0` for Redis 4.0 compatibility (default)
62
76
  # * `REDIS_5_0` for Redis 5.0 compatibility
77
+ # * `REDIS_6_X` for Redis 6.x compatibility
63
78
  # @!attribute [rw] reserved_ip_range
64
79
  # @return [::String]
65
- # Optional. The CIDR range of internal addresses that are reserved for this
66
- # instance. If not provided, the service will choose an unused /29 block,
67
- # for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be unique
68
- # and non-overlapping with existing subnets in an authorized network.
80
+ # Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
81
+ # that are reserved for this instance. Range must
82
+ # be unique and non-overlapping with existing subnets in an authorized
83
+ # network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
84
+ # address ranges associated with this private service access connection.
85
+ # If not provided, the service will choose an unused /29 block, for
86
+ # example, 10.0.0.0/29 or 192.168.0.0/29. For READ_REPLICAS_ENABLED
87
+ # the default block size is /28.
88
+ # @!attribute [rw] secondary_ip_range
89
+ # @return [::String]
90
+ # Optional. Additional IP range for node placement. Required when enabling read
91
+ # replicas on an existing instance. For DIRECT_PEERING mode value must be a
92
+ # CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode value
93
+ # must be the name of an allocated address range associated with the private
94
+ # service access connection, or "auto".
69
95
  # @!attribute [r] host
70
96
  # @return [::String]
71
97
  # Output only. Hostname or IP address of the exposed Redis endpoint used by
72
- # clients to connect to the service.
98
+ # clients to connect to the service.
73
99
  # @!attribute [r] port
74
100
  # @return [::Integer]
75
101
  # Output only. The port number of the exposed Redis endpoint.
76
102
  # @!attribute [r] current_location_id
77
103
  # @return [::String]
78
- # Output only. The current zone where the Redis endpoint is placed. For Basic
79
- # Tier instances, this will always be the same as the {::Google::Cloud::Redis::V1beta1::Instance#location_id location_id}
80
- # provided by the user at creation time. For Standard Tier instances,
81
- # this can be either {::Google::Cloud::Redis::V1beta1::Instance#location_id location_id} or {::Google::Cloud::Redis::V1beta1::Instance#alternative_location_id alternative_location_id} and can
82
- # change after a failover event.
104
+ # Output only. The current zone where the Redis primary node is located. In
105
+ # basic tier, this will always be the same as [location_id]. In
106
+ # standard tier, this can be the zone of any node in the instance.
83
107
  # @!attribute [r] create_time
84
108
  # @return [::Google::Protobuf::Timestamp]
85
109
  # Output only. The time the instance was created.
@@ -133,9 +157,54 @@ module Google
133
157
  # operation.
134
158
  # @!attribute [rw] connect_mode
135
159
  # @return [::Google::Cloud::Redis::V1beta1::Instance::ConnectMode]
136
- # Optional. The connect mode of Redis instance.
137
- # If not provided, default one will be used.
138
- # Current default: DIRECT_PEERING.
160
+ # Optional. The network connect mode of the Redis instance.
161
+ # If not provided, the connect mode defaults to DIRECT_PEERING.
162
+ # @!attribute [rw] auth_enabled
163
+ # @return [::Boolean]
164
+ # Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to
165
+ # "true" AUTH is enabled on the instance. Default value is "false" meaning
166
+ # AUTH is disabled.
167
+ # @!attribute [r] server_ca_certs
168
+ # @return [::Array<::Google::Cloud::Redis::V1beta1::TlsCertificate>]
169
+ # Output only. List of server CA certificates for the instance.
170
+ # @!attribute [rw] transit_encryption_mode
171
+ # @return [::Google::Cloud::Redis::V1beta1::Instance::TransitEncryptionMode]
172
+ # Optional. The TLS mode of the Redis instance.
173
+ # If not provided, TLS is disabled for the instance.
174
+ # @!attribute [rw] maintenance_policy
175
+ # @return [::Google::Cloud::Redis::V1beta1::MaintenancePolicy]
176
+ # Optional. The maintenance policy for the instance. If not provided,
177
+ # maintenance events can be performed at any time.
178
+ # @!attribute [r] maintenance_schedule
179
+ # @return [::Google::Cloud::Redis::V1beta1::MaintenanceSchedule]
180
+ # Output only. Date and time of upcoming maintenance events which have been
181
+ # scheduled.
182
+ # @!attribute [rw] replica_count
183
+ # @return [::Integer]
184
+ # Optional. The number of replica nodes. The valid range for the Standard Tier with
185
+ # read replicas enabled is [1-5] and defaults to 2. If read replicas are not
186
+ # enabled for a Standard Tier instance, the only valid value is 1 and the
187
+ # default is 1. The valid value for basic tier is 0 and the default is also
188
+ # 0.
189
+ # @!attribute [r] nodes
190
+ # @return [::Array<::Google::Cloud::Redis::V1beta1::NodeInfo>]
191
+ # Output only. Info per node.
192
+ # @!attribute [r] read_endpoint
193
+ # @return [::String]
194
+ # Output only. Hostname or IP address of the exposed readonly Redis
195
+ # endpoint. Standard tier only. Targets all healthy replica nodes in
196
+ # instance. Replication is asynchronous and replica nodes will exhibit some
197
+ # lag behind the primary. Write requests must target 'host'.
198
+ # @!attribute [r] read_endpoint_port
199
+ # @return [::Integer]
200
+ # Output only. The port number of the exposed readonly redis
201
+ # endpoint. Standard tier only. Write requests should target 'port'.
202
+ # @!attribute [rw] read_replicas_mode
203
+ # @return [::Google::Cloud::Redis::V1beta1::Instance::ReadReplicasMode]
204
+ # Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED.
205
+ # @!attribute [rw] persistence_config
206
+ # @return [::Google::Cloud::Redis::V1beta1::PersistenceConfig]
207
+ # Optional. Persistence configuration parameters
139
208
  class Instance
140
209
  include ::Google::Protobuf::MessageExts
141
210
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -207,13 +276,190 @@ module Google
207
276
  # Not set.
208
277
  CONNECT_MODE_UNSPECIFIED = 0
209
278
 
210
- # Connect via directly peering with memorystore redis hosted service.
279
+ # Connect via direct peering to the Memorystore for Redis hosted service.
211
280
  DIRECT_PEERING = 1
212
281
 
213
- # Connect with google via private service access and share connection
214
- # across google managed services.
282
+ # Connect your Memorystore for Redis instance using Private Service
283
+ # Access. Private services access provides an IP address range for multiple
284
+ # Google Cloud services, including Memorystore.
215
285
  PRIVATE_SERVICE_ACCESS = 2
216
286
  end
287
+
288
+ # Available TLS modes.
289
+ module TransitEncryptionMode
290
+ # Not set.
291
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0
292
+
293
+ # Client to Server traffic encryption enabled with server authentication.
294
+ SERVER_AUTHENTICATION = 1
295
+
296
+ # TLS is disabled for the instance.
297
+ DISABLED = 2
298
+ end
299
+
300
+ # Read replicas mode.
301
+ module ReadReplicasMode
302
+ # If not set, Memorystore Redis backend will default to
303
+ # READ_REPLICAS_DISABLED.
304
+ READ_REPLICAS_MODE_UNSPECIFIED = 0
305
+
306
+ # If disabled, read endpoint will not be provided and the instance cannot
307
+ # scale up or down the number of replicas.
308
+ READ_REPLICAS_DISABLED = 1
309
+
310
+ # If enabled, read endpoint will be provided and the instance can scale
311
+ # up and down the number of replicas. Not valid for basic tier.
312
+ READ_REPLICAS_ENABLED = 2
313
+ end
314
+ end
315
+
316
+ # Configuration of the persistence functionality.
317
+ # @!attribute [rw] persistence_mode
318
+ # @return [::Google::Cloud::Redis::V1beta1::PersistenceConfig::PersistenceMode]
319
+ # Optional. Controls whether Persistence features are enabled.
320
+ # If not provided, the existing value will be used.
321
+ # @!attribute [rw] rdb_snapshot_period
322
+ # @return [::Google::Cloud::Redis::V1beta1::PersistenceConfig::SnapshotPeriod]
323
+ # Optional. Period between RDB snapshots. Snapshots will be attempted every period
324
+ # starting from the provided snapshot start time. For example, a start time
325
+ # of 01/01/2033 06:45 and SIX_HOURS snapshot period will do nothing until
326
+ # 01/01/2033, and then trigger snapshots every day at 06:45, 12:45, 18:45,
327
+ # and 00:45 the next day, and so on.
328
+ # If not provided, TWENTY_FOUR_HOURS will be used as default.
329
+ # @!attribute [r] rdb_next_snapshot_time
330
+ # @return [::Google::Protobuf::Timestamp]
331
+ # Output only. The next time that a snapshot attempt is scheduled to occur.
332
+ # @!attribute [rw] rdb_snapshot_start_time
333
+ # @return [::Google::Protobuf::Timestamp]
334
+ # Optional. Date and time that the first snapshot was/will be attempted, and to which
335
+ # future snapshots will be aligned.
336
+ # If not provided, the current time will be used.
337
+ class PersistenceConfig
338
+ include ::Google::Protobuf::MessageExts
339
+ extend ::Google::Protobuf::MessageExts::ClassMethods
340
+
341
+ # Available Persistence modes.
342
+ module PersistenceMode
343
+ # Not set.
344
+ PERSISTENCE_MODE_UNSPECIFIED = 0
345
+
346
+ # Persistence is disabled for the instance,
347
+ # and any existing snapshots are deleted.
348
+ DISABLED = 1
349
+
350
+ # RDB based Persistence is enabled.
351
+ RDB = 2
352
+ end
353
+
354
+ # Available snapshot periods for scheduling.
355
+ module SnapshotPeriod
356
+ # Not set.
357
+ SNAPSHOT_PERIOD_UNSPECIFIED = 0
358
+
359
+ # Snapshot every 1 hour.
360
+ ONE_HOUR = 3
361
+
362
+ # Snapshot every 6 hours.
363
+ SIX_HOURS = 4
364
+
365
+ # Snapshot every 12 hours.
366
+ TWELVE_HOURS = 5
367
+
368
+ # Snapshot every 24 hours.
369
+ TWENTY_FOUR_HOURS = 6
370
+ end
371
+ end
372
+
373
+ # Request for {::Google::Cloud::Redis::V1beta1::CloudRedis::Client#reschedule_maintenance RescheduleMaintenance}.
374
+ # @!attribute [rw] name
375
+ # @return [::String]
376
+ # Required. Redis instance resource name using the form:
377
+ # `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
378
+ # where `location_id` refers to a GCP region.
379
+ # @!attribute [rw] reschedule_type
380
+ # @return [::Google::Cloud::Redis::V1beta1::RescheduleMaintenanceRequest::RescheduleType]
381
+ # Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
382
+ # @!attribute [rw] schedule_time
383
+ # @return [::Google::Protobuf::Timestamp]
384
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
385
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for
386
+ # example `2012-11-15T16:19:00.094Z`.
387
+ class RescheduleMaintenanceRequest
388
+ include ::Google::Protobuf::MessageExts
389
+ extend ::Google::Protobuf::MessageExts::ClassMethods
390
+
391
+ # Reschedule options.
392
+ module RescheduleType
393
+ # Not set.
394
+ RESCHEDULE_TYPE_UNSPECIFIED = 0
395
+
396
+ # If the user wants to schedule the maintenance to happen now.
397
+ IMMEDIATE = 1
398
+
399
+ # If the user wants to use the existing maintenance policy to find the
400
+ # next available window.
401
+ NEXT_AVAILABLE_WINDOW = 2
402
+
403
+ # If the user wants to reschedule the maintenance to a specific time.
404
+ SPECIFIC_TIME = 3
405
+ end
406
+ end
407
+
408
+ # Maintenance policy for an instance.
409
+ # @!attribute [r] create_time
410
+ # @return [::Google::Protobuf::Timestamp]
411
+ # Output only. The time when the policy was created.
412
+ # @!attribute [r] update_time
413
+ # @return [::Google::Protobuf::Timestamp]
414
+ # Output only. The time when the policy was last updated.
415
+ # @!attribute [rw] description
416
+ # @return [::String]
417
+ # Optional. Description of what this policy is for. Create/Update methods
418
+ # return INVALID_ARGUMENT if the length is greater than 512.
419
+ # @!attribute [rw] weekly_maintenance_window
420
+ # @return [::Array<::Google::Cloud::Redis::V1beta1::WeeklyMaintenanceWindow>]
421
+ # Optional. Maintenance window that is applied to resources covered by this
422
+ # policy. Minimum 1. For the current version, the maximum number of
423
+ # weekly_window is expected to be one.
424
+ class MaintenancePolicy
425
+ include ::Google::Protobuf::MessageExts
426
+ extend ::Google::Protobuf::MessageExts::ClassMethods
427
+ end
428
+
429
+ # Time window in which disruptive maintenance updates occur. Non-disruptive
430
+ # updates can occur inside or outside this window.
431
+ # @!attribute [rw] day
432
+ # @return [::Google::Type::DayOfWeek]
433
+ # Required. The day of week that maintenance updates occur.
434
+ # @!attribute [rw] start_time
435
+ # @return [::Google::Type::TimeOfDay]
436
+ # Required. Start time of the window in UTC time.
437
+ # @!attribute [r] duration
438
+ # @return [::Google::Protobuf::Duration]
439
+ # Output only. Duration of the maintenance window. The current window is fixed at 1 hour.
440
+ class WeeklyMaintenanceWindow
441
+ include ::Google::Protobuf::MessageExts
442
+ extend ::Google::Protobuf::MessageExts::ClassMethods
443
+ end
444
+
445
+ # Upcoming maintenance schedule. If no maintenance is scheduled, fields are not
446
+ # populated.
447
+ # @!attribute [r] start_time
448
+ # @return [::Google::Protobuf::Timestamp]
449
+ # Output only. The start time of any upcoming scheduled maintenance for this instance.
450
+ # @!attribute [r] end_time
451
+ # @return [::Google::Protobuf::Timestamp]
452
+ # Output only. The end time of any upcoming scheduled maintenance for this instance.
453
+ # @!attribute [rw] can_reschedule
454
+ # @return [::Boolean]
455
+ # If the scheduled maintenance can be rescheduled, default is true.
456
+ # @!attribute [r] schedule_deadline_time
457
+ # @return [::Google::Protobuf::Timestamp]
458
+ # Output only. The deadline that the maintenance schedule start time can not go beyond,
459
+ # including reschedule.
460
+ class MaintenanceSchedule
461
+ include ::Google::Protobuf::MessageExts
462
+ extend ::Google::Protobuf::MessageExts::ClassMethods
217
463
  end
218
464
 
219
465
  # Request for {::Google::Cloud::Redis::V1beta1::CloudRedis::Client#list_instances ListInstances}.
@@ -248,11 +494,12 @@ module Google
248
494
  #
249
495
  # If the `location_id` in the parent field of the request is "-", all regions
250
496
  # available to the project are queried, and the results aggregated.
251
- # If in such an aggregated query a location is unavailable, a dummy Redis
252
- # entry is included in the response with the `name` field set to a value of
253
- # the form `projects/{project_id}/locations/{location_id}/instances/`- and
254
- # the `status` field set to ERROR and `status_message` field set to "location
255
- # not available for ListInstances".
497
+ # If in such an aggregated query a location is unavailable, a placeholder
498
+ # Redis entry is included in the response with the `name` field set to a
499
+ # value of the form
500
+ # `projects/{project_id}/locations/{location_id}/instances/`- and the
501
+ # `status` field set to ERROR and `status_message` field set to "location not
502
+ # available for ListInstances".
256
503
  # @!attribute [rw] next_page_token
257
504
  # @return [::String]
258
505
  # Token to retrieve the next page of results, or empty if there are no more
@@ -276,6 +523,26 @@ module Google
276
523
  extend ::Google::Protobuf::MessageExts::ClassMethods
277
524
  end
278
525
 
526
+ # Request for {::Google::Cloud::Redis::V1beta1::CloudRedis::Client#get_instance_auth_string GetInstanceAuthString}.
527
+ # @!attribute [rw] name
528
+ # @return [::String]
529
+ # Required. Redis instance resource name using the form:
530
+ # `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
531
+ # where `location_id` refers to a GCP region.
532
+ class GetInstanceAuthStringRequest
533
+ include ::Google::Protobuf::MessageExts
534
+ extend ::Google::Protobuf::MessageExts::ClassMethods
535
+ end
536
+
537
+ # Instance AUTH string details.
538
+ # @!attribute [rw] auth_string
539
+ # @return [::String]
540
+ # AUTH string set on the instance.
541
+ class InstanceAuthString
542
+ include ::Google::Protobuf::MessageExts
543
+ extend ::Google::Protobuf::MessageExts::ClassMethods
544
+ end
545
+
279
546
  # Request for {::Google::Cloud::Redis::V1beta1::CloudRedis::Client#create_instance CreateInstance}.
280
547
  # @!attribute [rw] parent
281
548
  # @return [::String]
@@ -311,6 +578,7 @@ module Google
311
578
  # * `labels`
312
579
  # * `memorySizeGb`
313
580
  # * `redisConfig`
581
+ # * `replica_count`
314
582
  # @!attribute [rw] instance
315
583
  # @return [::Google::Cloud::Redis::V1beta1::Instance]
316
584
  # Required. Update description.
@@ -432,7 +700,7 @@ module Google
432
700
 
433
701
  # Instance failover will be protected with data loss control. More
434
702
  # specifically, the failover will only be performed if the current
435
- # replication offset diff between master and replica is under a certain
703
+ # replication offset diff between primary and replica is under a certain
436
704
  # threshold.
437
705
  LIMITED_DATA_LOSS = 1
438
706
 
@@ -471,6 +739,31 @@ module Google
471
739
  include ::Google::Protobuf::MessageExts
472
740
  extend ::Google::Protobuf::MessageExts::ClassMethods
473
741
  end
742
+
743
+ # TlsCertificate Resource
744
+ # @!attribute [rw] serial_number
745
+ # @return [::String]
746
+ # Serial number, as extracted from the certificate.
747
+ # @!attribute [rw] cert
748
+ # @return [::String]
749
+ # PEM representation.
750
+ # @!attribute [r] create_time
751
+ # @return [::Google::Protobuf::Timestamp]
752
+ # Output only. The time when the certificate was created in [RFC
753
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
754
+ # `2020-05-18T00:00:00.094Z`.
755
+ # @!attribute [r] expire_time
756
+ # @return [::Google::Protobuf::Timestamp]
757
+ # Output only. The time when the certificate expires in [RFC
758
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
759
+ # `2020-05-18T00:00:00.094Z`.
760
+ # @!attribute [rw] sha1_fingerprint
761
+ # @return [::String]
762
+ # Sha1 Fingerprint of the certificate.
763
+ class TlsCertificate
764
+ include ::Google::Protobuf::MessageExts
765
+ extend ::Google::Protobuf::MessageExts::ClassMethods
766
+ end
474
767
  end
475
768
  end
476
769
  end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Type
22
+ # Represents a day of the week.
23
+ module DayOfWeek
24
+ # The day of the week is unspecified.
25
+ DAY_OF_WEEK_UNSPECIFIED = 0
26
+
27
+ # Monday
28
+ MONDAY = 1
29
+
30
+ # Tuesday
31
+ TUESDAY = 2
32
+
33
+ # Wednesday
34
+ WEDNESDAY = 3
35
+
36
+ # Thursday
37
+ THURSDAY = 4
38
+
39
+ # Friday
40
+ FRIDAY = 5
41
+
42
+ # Saturday
43
+ SATURDAY = 6
44
+
45
+ # Sunday
46
+ SUNDAY = 7
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Type
22
+ # Represents a time of day. The date and time zone are either not significant
23
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
24
+ # types are [google.type.Date][google.type.Date] and
25
+ # `google.protobuf.Timestamp`.
26
+ # @!attribute [rw] hours
27
+ # @return [::Integer]
28
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
29
+ # to allow the value "24:00:00" for scenarios like business closing time.
30
+ # @!attribute [rw] minutes
31
+ # @return [::Integer]
32
+ # Minutes of hour of day. Must be from 0 to 59.
33
+ # @!attribute [rw] seconds
34
+ # @return [::Integer]
35
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
36
+ # allow the value 60 if it allows leap-seconds.
37
+ # @!attribute [rw] nanos
38
+ # @return [::Integer]
39
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
40
+ class TimeOfDay
41
+ include ::Google::Protobuf::MessageExts
42
+ extend ::Google::Protobuf::MessageExts::ClassMethods
43
+ end
44
+ end
45
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-redis-v1beta1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.7.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: 2021-11-08 00:00:00.000000000 Z
11
+ date: 2022-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -190,6 +190,8 @@ files:
190
190
  - proto_docs/google/protobuf/field_mask.rb
191
191
  - proto_docs/google/protobuf/timestamp.rb
192
192
  - proto_docs/google/rpc/status.rb
193
+ - proto_docs/google/type/dayofweek.rb
194
+ - proto_docs/google/type/timeofday.rb
193
195
  homepage: https://github.com/googleapis/google-cloud-ruby
194
196
  licenses:
195
197
  - Apache-2.0
@@ -209,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
211
  - !ruby/object:Gem::Version
210
212
  version: '0'
211
213
  requirements: []
212
- rubygems_version: 3.2.17
214
+ rubygems_version: 3.3.5
213
215
  signing_key:
214
216
  specification_version: 4
215
217
  summary: API Client library for the Google Cloud Memorystore for Redis V1beta1 API