google-cloud-redis-v1beta1 0.4.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,6 +21,18 @@ module Google
21
21
  module Cloud
22
22
  module Redis
23
23
  module V1beta1
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
+
24
36
  # A Google Cloud Redis instance.
25
37
  # @!attribute [rw] name
26
38
  # @return [::String]
@@ -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,29 @@ 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.
69
88
  # @!attribute [r] host
70
89
  # @return [::String]
71
90
  # Output only. Hostname or IP address of the exposed Redis endpoint used by
72
- # clients to connect to the service.
91
+ # clients to connect to the service.
73
92
  # @!attribute [r] port
74
93
  # @return [::Integer]
75
94
  # Output only. The port number of the exposed Redis endpoint.
76
95
  # @!attribute [r] current_location_id
77
96
  # @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.
97
+ # Output only. The current zone where the Redis primary node is located. In
98
+ # basic tier, this will always be the same as [location_id]. In
99
+ # standard tier, this can be the zone of any node in the instance.
83
100
  # @!attribute [r] create_time
84
101
  # @return [::Google::Protobuf::Timestamp]
85
102
  # Output only. The time the instance was created.
@@ -133,9 +150,52 @@ module Google
133
150
  # operation.
134
151
  # @!attribute [rw] connect_mode
135
152
  # @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.
153
+ # Optional. The network connect mode of the Redis instance.
154
+ # If not provided, the connect mode defaults to DIRECT_PEERING.
155
+ # @!attribute [rw] auth_enabled
156
+ # @return [::Boolean]
157
+ # Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to
158
+ # "true" AUTH is enabled on the instance. Default value is "false" meaning
159
+ # AUTH is disabled.
160
+ # @!attribute [r] server_ca_certs
161
+ # @return [::Array<::Google::Cloud::Redis::V1beta1::TlsCertificate>]
162
+ # Output only. List of server CA certificates for the instance.
163
+ # @!attribute [rw] transit_encryption_mode
164
+ # @return [::Google::Cloud::Redis::V1beta1::Instance::TransitEncryptionMode]
165
+ # Optional. The TLS mode of the Redis instance.
166
+ # If not provided, TLS is disabled for the instance.
167
+ # @!attribute [rw] maintenance_policy
168
+ # @return [::Google::Cloud::Redis::V1beta1::MaintenancePolicy]
169
+ # Optional. The maintenance policy for the instance. If not provided,
170
+ # maintenance events can be performed at any time.
171
+ # @!attribute [r] maintenance_schedule
172
+ # @return [::Google::Cloud::Redis::V1beta1::MaintenanceSchedule]
173
+ # Output only. Date and time of upcoming maintenance events which have been
174
+ # scheduled.
175
+ # @!attribute [rw] replica_count
176
+ # @return [::Integer]
177
+ # Optional. The number of replica nodes. The valid range for the Standard Tier with
178
+ # read replicas enabled is [1-5] and defaults to 2. If read replicas are not
179
+ # enabled for a Standard Tier instance, the only valid value is 1 and the
180
+ # default is 1. The valid value for basic tier is 0 and the default is also
181
+ # 0.
182
+ # @!attribute [r] nodes
183
+ # @return [::Array<::Google::Cloud::Redis::V1beta1::NodeInfo>]
184
+ # Output only. Info per node.
185
+ # @!attribute [r] read_endpoint
186
+ # @return [::String]
187
+ # Output only. Hostname or IP address of the exposed readonly Redis
188
+ # endpoint. Standard tier only. Targets all healthy replica nodes in
189
+ # instance. Replication is asynchronous and replica nodes will exhibit some
190
+ # lag behind the primary. Write requests must target 'host'.
191
+ # @!attribute [r] read_endpoint_port
192
+ # @return [::Integer]
193
+ # Output only. The port number of the exposed readonly redis
194
+ # endpoint. Standard tier only. Write requests should target 'port'.
195
+ # @!attribute [rw] read_replicas_mode
196
+ # @return [::Google::Cloud::Redis::V1beta1::Instance::ReadReplicasMode]
197
+ # Optional. Read replica mode. Can only be specified when trying to create the
198
+ # instance.
139
199
  class Instance
140
200
  include ::Google::Protobuf::MessageExts
141
201
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -207,13 +267,133 @@ module Google
207
267
  # Not set.
208
268
  CONNECT_MODE_UNSPECIFIED = 0
209
269
 
210
- # Connect via directly peering with memorystore redis hosted service.
270
+ # Connect via direct peering to the Memorystore for Redis hosted service.
211
271
  DIRECT_PEERING = 1
212
272
 
213
- # Connect with google via private service access and share connection
214
- # across google managed services.
273
+ # Connect your Memorystore for Redis instance using Private Service
274
+ # Access. Private services access provides an IP address range for multiple
275
+ # Google Cloud services, including Memorystore.
215
276
  PRIVATE_SERVICE_ACCESS = 2
216
277
  end
278
+
279
+ # Available TLS modes.
280
+ module TransitEncryptionMode
281
+ # Not set.
282
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0
283
+
284
+ # Client to Server traffic encryption enabled with server authentication.
285
+ SERVER_AUTHENTICATION = 1
286
+
287
+ # TLS is disabled for the instance.
288
+ DISABLED = 2
289
+ end
290
+
291
+ # Read replicas mode.
292
+ module ReadReplicasMode
293
+ # If not set, Memorystore Redis backend will default to
294
+ # READ_REPLICAS_DISABLED.
295
+ READ_REPLICAS_MODE_UNSPECIFIED = 0
296
+
297
+ # If disabled, read endpoint will not be provided and the instance cannot
298
+ # scale up or down the number of replicas.
299
+ READ_REPLICAS_DISABLED = 1
300
+
301
+ # If enabled, read endpoint will be provided and the instance can scale
302
+ # up and down the number of replicas. Not valid for basic tier.
303
+ READ_REPLICAS_ENABLED = 2
304
+ end
305
+ end
306
+
307
+ # Request for {::Google::Cloud::Redis::V1beta1::CloudRedis::Client#reschedule_maintenance RescheduleMaintenance}.
308
+ # @!attribute [rw] name
309
+ # @return [::String]
310
+ # Required. Redis instance resource name using the form:
311
+ # `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
312
+ # where `location_id` refers to a GCP region.
313
+ # @!attribute [rw] reschedule_type
314
+ # @return [::Google::Cloud::Redis::V1beta1::RescheduleMaintenanceRequest::RescheduleType]
315
+ # Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
316
+ # @!attribute [rw] schedule_time
317
+ # @return [::Google::Protobuf::Timestamp]
318
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
319
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for
320
+ # example `2012-11-15T16:19:00.094Z`.
321
+ class RescheduleMaintenanceRequest
322
+ include ::Google::Protobuf::MessageExts
323
+ extend ::Google::Protobuf::MessageExts::ClassMethods
324
+
325
+ # Reschedule options.
326
+ module RescheduleType
327
+ # Not set.
328
+ RESCHEDULE_TYPE_UNSPECIFIED = 0
329
+
330
+ # If the user wants to schedule the maintenance to happen now.
331
+ IMMEDIATE = 1
332
+
333
+ # If the user wants to use the existing maintenance policy to find the
334
+ # next available window.
335
+ NEXT_AVAILABLE_WINDOW = 2
336
+
337
+ # If the user wants to reschedule the maintenance to a specific time.
338
+ SPECIFIC_TIME = 3
339
+ end
340
+ end
341
+
342
+ # Maintenance policy for an instance.
343
+ # @!attribute [r] create_time
344
+ # @return [::Google::Protobuf::Timestamp]
345
+ # Output only. The time when the policy was created.
346
+ # @!attribute [r] update_time
347
+ # @return [::Google::Protobuf::Timestamp]
348
+ # Output only. The time when the policy was last updated.
349
+ # @!attribute [rw] description
350
+ # @return [::String]
351
+ # Optional. Description of what this policy is for. Create/Update methods
352
+ # return INVALID_ARGUMENT if the length is greater than 512.
353
+ # @!attribute [rw] weekly_maintenance_window
354
+ # @return [::Array<::Google::Cloud::Redis::V1beta1::WeeklyMaintenanceWindow>]
355
+ # Optional. Maintenance window that is applied to resources covered by this
356
+ # policy. Minimum 1. For the current version, the maximum number of
357
+ # weekly_window is expected to be one.
358
+ class MaintenancePolicy
359
+ include ::Google::Protobuf::MessageExts
360
+ extend ::Google::Protobuf::MessageExts::ClassMethods
361
+ end
362
+
363
+ # Time window in which disruptive maintenance updates occur. Non-disruptive
364
+ # updates can occur inside or outside this window.
365
+ # @!attribute [rw] day
366
+ # @return [::Google::Type::DayOfWeek]
367
+ # Required. The day of week that maintenance updates occur.
368
+ # @!attribute [rw] start_time
369
+ # @return [::Google::Type::TimeOfDay]
370
+ # Required. Start time of the window in UTC time.
371
+ # @!attribute [r] duration
372
+ # @return [::Google::Protobuf::Duration]
373
+ # Output only. Duration of the maintenance window. The current window is fixed at 1 hour.
374
+ class WeeklyMaintenanceWindow
375
+ include ::Google::Protobuf::MessageExts
376
+ extend ::Google::Protobuf::MessageExts::ClassMethods
377
+ end
378
+
379
+ # Upcoming maintenance schedule. If no maintenance is scheduled, fields are not
380
+ # populated.
381
+ # @!attribute [r] start_time
382
+ # @return [::Google::Protobuf::Timestamp]
383
+ # Output only. The start time of any upcoming scheduled maintenance for this instance.
384
+ # @!attribute [r] end_time
385
+ # @return [::Google::Protobuf::Timestamp]
386
+ # Output only. The end time of any upcoming scheduled maintenance for this instance.
387
+ # @!attribute [rw] can_reschedule
388
+ # @return [::Boolean]
389
+ # If the scheduled maintenance can be rescheduled, default is true.
390
+ # @!attribute [r] schedule_deadline_time
391
+ # @return [::Google::Protobuf::Timestamp]
392
+ # Output only. The deadline that the maintenance schedule start time can not go beyond,
393
+ # including reschedule.
394
+ class MaintenanceSchedule
395
+ include ::Google::Protobuf::MessageExts
396
+ extend ::Google::Protobuf::MessageExts::ClassMethods
217
397
  end
218
398
 
219
399
  # Request for {::Google::Cloud::Redis::V1beta1::CloudRedis::Client#list_instances ListInstances}.
@@ -248,11 +428,12 @@ module Google
248
428
  #
249
429
  # If the `location_id` in the parent field of the request is "-", all regions
250
430
  # 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".
431
+ # If in such an aggregated query a location is unavailable, a placeholder
432
+ # Redis entry is included in the response with the `name` field set to a
433
+ # value of the form
434
+ # `projects/{project_id}/locations/{location_id}/instances/`- and the
435
+ # `status` field set to ERROR and `status_message` field set to "location not
436
+ # available for ListInstances".
256
437
  # @!attribute [rw] next_page_token
257
438
  # @return [::String]
258
439
  # Token to retrieve the next page of results, or empty if there are no more
@@ -276,6 +457,26 @@ module Google
276
457
  extend ::Google::Protobuf::MessageExts::ClassMethods
277
458
  end
278
459
 
460
+ # Request for {::Google::Cloud::Redis::V1beta1::CloudRedis::Client#get_instance_auth_string GetInstanceAuthString}.
461
+ # @!attribute [rw] name
462
+ # @return [::String]
463
+ # Required. Redis instance resource name using the form:
464
+ # `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
465
+ # where `location_id` refers to a GCP region.
466
+ class GetInstanceAuthStringRequest
467
+ include ::Google::Protobuf::MessageExts
468
+ extend ::Google::Protobuf::MessageExts::ClassMethods
469
+ end
470
+
471
+ # Instance AUTH string details.
472
+ # @!attribute [rw] auth_string
473
+ # @return [::String]
474
+ # AUTH string set on the instance.
475
+ class InstanceAuthString
476
+ include ::Google::Protobuf::MessageExts
477
+ extend ::Google::Protobuf::MessageExts::ClassMethods
478
+ end
479
+
279
480
  # Request for {::Google::Cloud::Redis::V1beta1::CloudRedis::Client#create_instance CreateInstance}.
280
481
  # @!attribute [rw] parent
281
482
  # @return [::String]
@@ -311,6 +512,7 @@ module Google
311
512
  # * `labels`
312
513
  # * `memorySizeGb`
313
514
  # * `redisConfig`
515
+ # * `replica_count`
314
516
  # @!attribute [rw] instance
315
517
  # @return [::Google::Cloud::Redis::V1beta1::Instance]
316
518
  # Required. Update description.
@@ -432,7 +634,7 @@ module Google
432
634
 
433
635
  # Instance failover will be protected with data loss control. More
434
636
  # specifically, the failover will only be performed if the current
435
- # replication offset diff between master and replica is under a certain
637
+ # replication offset diff between primary and replica is under a certain
436
638
  # threshold.
437
639
  LIMITED_DATA_LOSS = 1
438
640
 
@@ -471,6 +673,31 @@ module Google
471
673
  include ::Google::Protobuf::MessageExts
472
674
  extend ::Google::Protobuf::MessageExts::ClassMethods
473
675
  end
676
+
677
+ # TlsCertificate Resource
678
+ # @!attribute [rw] serial_number
679
+ # @return [::String]
680
+ # Serial number, as extracted from the certificate.
681
+ # @!attribute [rw] cert
682
+ # @return [::String]
683
+ # PEM representation.
684
+ # @!attribute [r] create_time
685
+ # @return [::Google::Protobuf::Timestamp]
686
+ # Output only. The time when the certificate was created in [RFC
687
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
688
+ # `2020-05-18T00:00:00.094Z`.
689
+ # @!attribute [r] expire_time
690
+ # @return [::Google::Protobuf::Timestamp]
691
+ # Output only. The time when the certificate expires in [RFC
692
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
693
+ # `2020-05-18T00:00:00.094Z`.
694
+ # @!attribute [rw] sha1_fingerprint
695
+ # @return [::String]
696
+ # Sha1 Fingerprint of the certificate.
697
+ class TlsCertificate
698
+ include ::Google::Protobuf::MessageExts
699
+ extend ::Google::Protobuf::MessageExts::ClassMethods
700
+ end
474
701
  end
475
702
  end
476
703
  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.3
4
+ version: 0.6.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-01-21 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