google-cloud-redis-v1 0.5.3 → 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.
@@ -21,7 +21,19 @@ module Google
21
21
  module Cloud
22
22
  module Redis
23
23
  module V1
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::V1::Instance#alternative_location_id alternative_location_id} is also provided, it must be
48
- # different from {::Google::Cloud::Redis::V1::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::V1::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,12 +74,24 @@ 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
@@ -75,11 +101,9 @@ module Google
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::V1::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::V1::Instance#location_id location_id} or {::Google::Cloud::Redis::V1::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.
@@ -135,6 +159,49 @@ module Google
135
159
  # @return [::Google::Cloud::Redis::V1::Instance::ConnectMode]
136
160
  # Optional. The network connect mode of the Redis instance.
137
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::V1::TlsCertificate>]
169
+ # Output only. List of server CA certificates for the instance.
170
+ # @!attribute [rw] transit_encryption_mode
171
+ # @return [::Google::Cloud::Redis::V1::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::V1::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::V1::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::V1::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::V1::Instance::ReadReplicasMode]
204
+ # Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED.
138
205
  class Instance
139
206
  include ::Google::Protobuf::MessageExts
140
207
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -214,6 +281,125 @@ module Google
214
281
  # Google Cloud services, including Memorystore.
215
282
  PRIVATE_SERVICE_ACCESS = 2
216
283
  end
284
+
285
+ # Available TLS modes.
286
+ module TransitEncryptionMode
287
+ # Not set.
288
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0
289
+
290
+ # Client to Server traffic encryption enabled with server authentication.
291
+ SERVER_AUTHENTICATION = 1
292
+
293
+ # TLS is disabled for the instance.
294
+ DISABLED = 2
295
+ end
296
+
297
+ # Read replicas mode.
298
+ module ReadReplicasMode
299
+ # If not set, Memorystore Redis backend will default to
300
+ # READ_REPLICAS_DISABLED.
301
+ READ_REPLICAS_MODE_UNSPECIFIED = 0
302
+
303
+ # If disabled, read endpoint will not be provided and the instance cannot
304
+ # scale up or down the number of replicas.
305
+ READ_REPLICAS_DISABLED = 1
306
+
307
+ # If enabled, read endpoint will be provided and the instance can scale
308
+ # up and down the number of replicas. Not valid for basic tier.
309
+ READ_REPLICAS_ENABLED = 2
310
+ end
311
+ end
312
+
313
+ # Request for {::Google::Cloud::Redis::V1::CloudRedis::Client#reschedule_maintenance RescheduleMaintenance}.
314
+ # @!attribute [rw] name
315
+ # @return [::String]
316
+ # Required. Redis instance resource name using the form:
317
+ # `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
318
+ # where `location_id` refers to a GCP region.
319
+ # @!attribute [rw] reschedule_type
320
+ # @return [::Google::Cloud::Redis::V1::RescheduleMaintenanceRequest::RescheduleType]
321
+ # Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
322
+ # @!attribute [rw] schedule_time
323
+ # @return [::Google::Protobuf::Timestamp]
324
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
325
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for
326
+ # example `2012-11-15T16:19:00.094Z`.
327
+ class RescheduleMaintenanceRequest
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+
331
+ # Reschedule options.
332
+ module RescheduleType
333
+ # Not set.
334
+ RESCHEDULE_TYPE_UNSPECIFIED = 0
335
+
336
+ # If the user wants to schedule the maintenance to happen now.
337
+ IMMEDIATE = 1
338
+
339
+ # If the user wants to use the existing maintenance policy to find the
340
+ # next available window.
341
+ NEXT_AVAILABLE_WINDOW = 2
342
+
343
+ # If the user wants to reschedule the maintenance to a specific time.
344
+ SPECIFIC_TIME = 3
345
+ end
346
+ end
347
+
348
+ # Maintenance policy for an instance.
349
+ # @!attribute [r] create_time
350
+ # @return [::Google::Protobuf::Timestamp]
351
+ # Output only. The time when the policy was created.
352
+ # @!attribute [r] update_time
353
+ # @return [::Google::Protobuf::Timestamp]
354
+ # Output only. The time when the policy was last updated.
355
+ # @!attribute [rw] description
356
+ # @return [::String]
357
+ # Optional. Description of what this policy is for. Create/Update methods
358
+ # return INVALID_ARGUMENT if the length is greater than 512.
359
+ # @!attribute [rw] weekly_maintenance_window
360
+ # @return [::Array<::Google::Cloud::Redis::V1::WeeklyMaintenanceWindow>]
361
+ # Optional. Maintenance window that is applied to resources covered by this
362
+ # policy. Minimum 1. For the current version, the maximum number of
363
+ # weekly_window is expected to be one.
364
+ class MaintenancePolicy
365
+ include ::Google::Protobuf::MessageExts
366
+ extend ::Google::Protobuf::MessageExts::ClassMethods
367
+ end
368
+
369
+ # Time window in which disruptive maintenance updates occur. Non-disruptive
370
+ # updates can occur inside or outside this window.
371
+ # @!attribute [rw] day
372
+ # @return [::Google::Type::DayOfWeek]
373
+ # Required. The day of week that maintenance updates occur.
374
+ # @!attribute [rw] start_time
375
+ # @return [::Google::Type::TimeOfDay]
376
+ # Required. Start time of the window in UTC time.
377
+ # @!attribute [r] duration
378
+ # @return [::Google::Protobuf::Duration]
379
+ # Output only. Duration of the maintenance window. The current window is fixed at 1 hour.
380
+ class WeeklyMaintenanceWindow
381
+ include ::Google::Protobuf::MessageExts
382
+ extend ::Google::Protobuf::MessageExts::ClassMethods
383
+ end
384
+
385
+ # Upcoming maintenance schedule. If no maintenance is scheduled, fields are not
386
+ # populated.
387
+ # @!attribute [r] start_time
388
+ # @return [::Google::Protobuf::Timestamp]
389
+ # Output only. The start time of any upcoming scheduled maintenance for this instance.
390
+ # @!attribute [r] end_time
391
+ # @return [::Google::Protobuf::Timestamp]
392
+ # Output only. The end time of any upcoming scheduled maintenance for this instance.
393
+ # @!attribute [rw] can_reschedule
394
+ # @return [::Boolean]
395
+ # If the scheduled maintenance can be rescheduled, default is true.
396
+ # @!attribute [r] schedule_deadline_time
397
+ # @return [::Google::Protobuf::Timestamp]
398
+ # Output only. The deadline that the maintenance schedule start time can not go beyond,
399
+ # including reschedule.
400
+ class MaintenanceSchedule
401
+ include ::Google::Protobuf::MessageExts
402
+ extend ::Google::Protobuf::MessageExts::ClassMethods
217
403
  end
218
404
 
219
405
  # Request for {::Google::Cloud::Redis::V1::CloudRedis::Client#list_instances ListInstances}.
@@ -248,11 +434,12 @@ module Google
248
434
  #
249
435
  # If the `location_id` in the parent field of the request is "-", all regions
250
436
  # 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".
437
+ # If in such an aggregated query a location is unavailable, a placeholder
438
+ # Redis entry is included in the response with the `name` field set to a
439
+ # value of the form
440
+ # `projects/{project_id}/locations/{location_id}/instances/`- and the
441
+ # `status` field set to ERROR and `status_message` field set to "location not
442
+ # available for ListInstances".
256
443
  # @!attribute [rw] next_page_token
257
444
  # @return [::String]
258
445
  # Token to retrieve the next page of results, or empty if there are no more
@@ -276,6 +463,26 @@ module Google
276
463
  extend ::Google::Protobuf::MessageExts::ClassMethods
277
464
  end
278
465
 
466
+ # Request for {::Google::Cloud::Redis::V1::CloudRedis::Client#get_instance_auth_string GetInstanceAuthString}.
467
+ # @!attribute [rw] name
468
+ # @return [::String]
469
+ # Required. Redis instance resource name using the form:
470
+ # `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
471
+ # where `location_id` refers to a GCP region.
472
+ class GetInstanceAuthStringRequest
473
+ include ::Google::Protobuf::MessageExts
474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
475
+ end
476
+
477
+ # Instance AUTH string details.
478
+ # @!attribute [rw] auth_string
479
+ # @return [::String]
480
+ # AUTH string set on the instance.
481
+ class InstanceAuthString
482
+ include ::Google::Protobuf::MessageExts
483
+ extend ::Google::Protobuf::MessageExts::ClassMethods
484
+ end
485
+
279
486
  # Request for {::Google::Cloud::Redis::V1::CloudRedis::Client#create_instance CreateInstance}.
280
487
  # @!attribute [rw] parent
281
488
  # @return [::String]
@@ -311,6 +518,7 @@ module Google
311
518
  # * `labels`
312
519
  # * `memorySizeGb`
313
520
  # * `redisConfig`
521
+ # * `replica_count`
314
522
  # @!attribute [rw] instance
315
523
  # @return [::Google::Cloud::Redis::V1::Instance]
316
524
  # Required. Update description.
@@ -432,7 +640,7 @@ module Google
432
640
 
433
641
  # Instance failover will be protected with data loss control. More
434
642
  # specifically, the failover will only be performed if the current
435
- # replication offset diff between master and replica is under a certain
643
+ # replication offset diff between primary and replica is under a certain
436
644
  # threshold.
437
645
  LIMITED_DATA_LOSS = 1
438
646
 
@@ -498,6 +706,31 @@ module Google
498
706
  include ::Google::Protobuf::MessageExts
499
707
  extend ::Google::Protobuf::MessageExts::ClassMethods
500
708
  end
709
+
710
+ # TlsCertificate Resource
711
+ # @!attribute [rw] serial_number
712
+ # @return [::String]
713
+ # Serial number, as extracted from the certificate.
714
+ # @!attribute [rw] cert
715
+ # @return [::String]
716
+ # PEM representation.
717
+ # @!attribute [r] create_time
718
+ # @return [::Google::Protobuf::Timestamp]
719
+ # Output only. The time when the certificate was created in [RFC
720
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
721
+ # `2020-05-18T00:00:00.094Z`.
722
+ # @!attribute [r] expire_time
723
+ # @return [::Google::Protobuf::Timestamp]
724
+ # Output only. The time when the certificate expires in [RFC
725
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
726
+ # `2020-05-18T00:00:00.094Z`.
727
+ # @!attribute [rw] sha1_fingerprint
728
+ # @return [::String]
729
+ # Sha1 Fingerprint of the certificate.
730
+ class TlsCertificate
731
+ include ::Google::Protobuf::MessageExts
732
+ extend ::Google::Protobuf::MessageExts::ClassMethods
733
+ end
501
734
  end
502
735
  end
503
736
  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-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
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-08-11 00:00:00.000000000 Z
11
+ date: 2022-03-30 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 V1 API