google-cloud-redis-v1beta1 0.4.4 → 0.7.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.
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