google-cloud-redis 0.3.0 → 0.4.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 +4 -4
- data/lib/google/cloud/redis/v1/cloud_redis_client.rb +192 -22
- data/lib/google/cloud/redis/v1/cloud_redis_client_config.json +11 -1
- data/lib/google/cloud/redis/v1/cloud_redis_pb.rb +33 -1
- data/lib/google/cloud/redis/v1/cloud_redis_services_pb.rb +18 -2
- data/lib/google/cloud/redis/v1/doc/google/cloud/redis/v1/cloud_redis.rb +76 -6
- data/lib/google/cloud/redis/v1beta1/cloud_redis_client.rb +190 -19
- data/lib/google/cloud/redis/v1beta1/cloud_redis_client_config.json +11 -1
- data/lib/google/cloud/redis/v1beta1/cloud_redis_pb.rb +32 -1
- data/lib/google/cloud/redis/v1beta1/cloud_redis_services_pb.rb +18 -2
- data/lib/google/cloud/redis/v1beta1/doc/google/cloud/redis/v1beta1/cloud_redis.rb +69 -19
- data/lib/google/cloud/redis/version.rb +22 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: daa5d848262260c423a5e94f8e0fb5435f8a2ee14a07da9f5149284f0f1eac0f
|
4
|
+
data.tar.gz: 1bd8d217b08af39038a6549c330e849b75ee811d691bb201a67c92e9016675a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3a17b7ce2507c765af55b03b45829352754450eadcd448ebf018c7bd8762f557a801b50ae78bb1eb79f54635935acd017bbd4a0a2df445c43b9d221dcf87558
|
7
|
+
data.tar.gz: 920098ec49c9a73df79b8e08f1dfb11092d86b581fb34370ceaf8733081b4430b2f42a84590120f1fdf2408cc3722e509cf3a31870f55dee600b30089ec5a7d5
|
@@ -29,6 +29,7 @@ require "google/longrunning/operations_client"
|
|
29
29
|
|
30
30
|
require "google/cloud/redis/v1/cloud_redis_pb"
|
31
31
|
require "google/cloud/redis/v1/credentials"
|
32
|
+
require "google/cloud/redis/version"
|
32
33
|
|
33
34
|
module Google
|
34
35
|
module Cloud
|
@@ -195,7 +196,7 @@ module Google
|
|
195
196
|
updater_proc = credentials.updater_proc
|
196
197
|
end
|
197
198
|
|
198
|
-
package_version =
|
199
|
+
package_version = Google::Cloud::Redis::VERSION
|
199
200
|
|
200
201
|
google_api_client = "gl-ruby/#{RUBY_VERSION}"
|
201
202
|
google_api_client << " #{lib_name}/#{lib_version}" if lib_name
|
@@ -268,9 +269,17 @@ module Google
|
|
268
269
|
{'instance.name' => request.instance.name}
|
269
270
|
end
|
270
271
|
)
|
271
|
-
@
|
272
|
-
@cloud_redis_stub.method(:
|
273
|
-
defaults["
|
272
|
+
@import_instance = Google::Gax.create_api_call(
|
273
|
+
@cloud_redis_stub.method(:import_instance),
|
274
|
+
defaults["import_instance"],
|
275
|
+
exception_transformer: exception_transformer,
|
276
|
+
params_extractor: proc do |request|
|
277
|
+
{'name' => request.name}
|
278
|
+
end
|
279
|
+
)
|
280
|
+
@export_instance = Google::Gax.create_api_call(
|
281
|
+
@cloud_redis_stub.method(:export_instance),
|
282
|
+
defaults["export_instance"],
|
274
283
|
exception_transformer: exception_transformer,
|
275
284
|
params_extractor: proc do |request|
|
276
285
|
{'name' => request.name}
|
@@ -284,6 +293,14 @@ module Google
|
|
284
293
|
{'name' => request.name}
|
285
294
|
end
|
286
295
|
)
|
296
|
+
@delete_instance = Google::Gax.create_api_call(
|
297
|
+
@cloud_redis_stub.method(:delete_instance),
|
298
|
+
defaults["delete_instance"],
|
299
|
+
exception_transformer: exception_transformer,
|
300
|
+
params_extractor: proc do |request|
|
301
|
+
{'name' => request.name}
|
302
|
+
end
|
303
|
+
)
|
287
304
|
end
|
288
305
|
|
289
306
|
# Service calls
|
@@ -300,7 +317,7 @@ module Google
|
|
300
317
|
# @param parent [String]
|
301
318
|
# Required. The resource name of the instance location using the form:
|
302
319
|
# `projects/{project_id}/locations/{location_id}`
|
303
|
-
# where `location_id` refers to a GCP region
|
320
|
+
# where `location_id` refers to a GCP region.
|
304
321
|
# @param page_size [Integer]
|
305
322
|
# The maximum number of resources contained in the underlying API
|
306
323
|
# response. If page streaming is performed per-resource, this
|
@@ -356,7 +373,7 @@ module Google
|
|
356
373
|
# @param name [String]
|
357
374
|
# Required. Redis instance resource name using the form:
|
358
375
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
359
|
-
# where `location_id` refers to a GCP region
|
376
|
+
# where `location_id` refers to a GCP region.
|
360
377
|
# @param options [Google::Gax::CallOptions]
|
361
378
|
# Overrides the default settings for this call, e.g, timeout,
|
362
379
|
# retries, etc.
|
@@ -399,7 +416,7 @@ module Google
|
|
399
416
|
# @param parent [String]
|
400
417
|
# Required. The resource name of the instance location using the form:
|
401
418
|
# `projects/{project_id}/locations/{location_id}`
|
402
|
-
# where `location_id` refers to a GCP region
|
419
|
+
# where `location_id` refers to a GCP region.
|
403
420
|
# @param instance_id [String]
|
404
421
|
# Required. The logical name of the Redis instance in the customer project
|
405
422
|
# with the following restrictions:
|
@@ -512,9 +529,8 @@ module Google
|
|
512
529
|
# paths_element_2 = "memory_size_gb"
|
513
530
|
# paths = [paths_element, paths_element_2]
|
514
531
|
# update_mask = { paths: paths }
|
515
|
-
# display_name = "
|
516
|
-
#
|
517
|
-
# instance = { display_name: display_name, memory_size_gb: memory_size_gb }
|
532
|
+
# display_name = " instance.memory_size_gb=4"
|
533
|
+
# instance = { display_name: display_name }
|
518
534
|
#
|
519
535
|
# # Register a callback during the method call.
|
520
536
|
# operation = cloud_redis_client.update_instance(update_mask, instance) do |op|
|
@@ -563,13 +579,23 @@ module Google
|
|
563
579
|
operation
|
564
580
|
end
|
565
581
|
|
566
|
-
#
|
567
|
-
#
|
582
|
+
# Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.
|
583
|
+
#
|
584
|
+
# Redis may stop serving during this operation. Instance state will be
|
585
|
+
# IMPORTING for entire operation. When complete, the instance will contain
|
586
|
+
# only data from the imported file.
|
587
|
+
#
|
588
|
+
# The returned operation is automatically deleted after a few hours, so
|
589
|
+
# there is no need to call DeleteOperation.
|
568
590
|
#
|
569
591
|
# @param name [String]
|
570
592
|
# Required. Redis instance resource name using the form:
|
571
593
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
572
|
-
# where `location_id` refers to a GCP region
|
594
|
+
# where `location_id` refers to a GCP region.
|
595
|
+
# @param input_config [Google::Cloud::Redis::V1::InputConfig | Hash]
|
596
|
+
# Required. Specify data to be imported.
|
597
|
+
# A hash of the same form as `Google::Cloud::Redis::V1::InputConfig`
|
598
|
+
# can also be provided.
|
573
599
|
# @param options [Google::Gax::CallOptions]
|
574
600
|
# Overrides the default settings for this call, e.g, timeout,
|
575
601
|
# retries, etc.
|
@@ -581,8 +607,11 @@ module Google
|
|
581
607
|
# cloud_redis_client = Google::Cloud::Redis.new(version: :v1)
|
582
608
|
# formatted_name = Google::Cloud::Redis::V1::CloudRedisClient.instance_path("[PROJECT]", "[LOCATION]", "[INSTANCE]")
|
583
609
|
#
|
610
|
+
# # TODO: Initialize `input_config`:
|
611
|
+
# input_config = {}
|
612
|
+
#
|
584
613
|
# # Register a callback during the method call.
|
585
|
-
# operation = cloud_redis_client.
|
614
|
+
# operation = cloud_redis_client.import_instance(formatted_name, input_config) do |op|
|
586
615
|
# raise op.results.message if op.error?
|
587
616
|
# op_results = op.results
|
588
617
|
# # Process the results.
|
@@ -608,17 +637,95 @@ module Google
|
|
608
637
|
# # completion.
|
609
638
|
# operation.wait_until_done!
|
610
639
|
|
611
|
-
def
|
640
|
+
def import_instance \
|
612
641
|
name,
|
642
|
+
input_config,
|
613
643
|
options: nil
|
614
644
|
req = {
|
615
|
-
name: name
|
645
|
+
name: name,
|
646
|
+
input_config: input_config
|
616
647
|
}.delete_if { |_, v| v.nil? }
|
617
|
-
req = Google::Gax::to_proto(req, Google::Cloud::Redis::V1::
|
648
|
+
req = Google::Gax::to_proto(req, Google::Cloud::Redis::V1::ImportInstanceRequest)
|
618
649
|
operation = Google::Gax::Operation.new(
|
619
|
-
@
|
650
|
+
@import_instance.call(req, options),
|
620
651
|
@operations_client,
|
621
|
-
Google::
|
652
|
+
Google::Cloud::Redis::V1::Instance,
|
653
|
+
Google::Cloud::Redis::V1::OperationMetadata,
|
654
|
+
call_options: options
|
655
|
+
)
|
656
|
+
operation.on_done { |operation| yield(operation) } if block_given?
|
657
|
+
operation
|
658
|
+
end
|
659
|
+
|
660
|
+
# Export Redis instance data into a Redis RDB format file in Cloud Storage.
|
661
|
+
#
|
662
|
+
# Redis will continue serving during this operation.
|
663
|
+
#
|
664
|
+
# The returned operation is automatically deleted after a few hours, so
|
665
|
+
# there is no need to call DeleteOperation.
|
666
|
+
#
|
667
|
+
# @param name [String]
|
668
|
+
# Required. Redis instance resource name using the form:
|
669
|
+
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
670
|
+
# where `location_id` refers to a GCP region.
|
671
|
+
# @param output_config [Google::Cloud::Redis::V1::OutputConfig | Hash]
|
672
|
+
# Required. Specify data to be exported.
|
673
|
+
# A hash of the same form as `Google::Cloud::Redis::V1::OutputConfig`
|
674
|
+
# can also be provided.
|
675
|
+
# @param options [Google::Gax::CallOptions]
|
676
|
+
# Overrides the default settings for this call, e.g, timeout,
|
677
|
+
# retries, etc.
|
678
|
+
# @return [Google::Gax::Operation]
|
679
|
+
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
680
|
+
# @example
|
681
|
+
# require "google/cloud/redis"
|
682
|
+
#
|
683
|
+
# cloud_redis_client = Google::Cloud::Redis.new(version: :v1)
|
684
|
+
# formatted_name = Google::Cloud::Redis::V1::CloudRedisClient.instance_path("[PROJECT]", "[LOCATION]", "[INSTANCE]")
|
685
|
+
#
|
686
|
+
# # TODO: Initialize `output_config`:
|
687
|
+
# output_config = {}
|
688
|
+
#
|
689
|
+
# # Register a callback during the method call.
|
690
|
+
# operation = cloud_redis_client.export_instance(formatted_name, output_config) do |op|
|
691
|
+
# raise op.results.message if op.error?
|
692
|
+
# op_results = op.results
|
693
|
+
# # Process the results.
|
694
|
+
#
|
695
|
+
# metadata = op.metadata
|
696
|
+
# # Process the metadata.
|
697
|
+
# end
|
698
|
+
#
|
699
|
+
# # Or use the return value to register a callback.
|
700
|
+
# operation.on_done do |op|
|
701
|
+
# raise op.results.message if op.error?
|
702
|
+
# op_results = op.results
|
703
|
+
# # Process the results.
|
704
|
+
#
|
705
|
+
# metadata = op.metadata
|
706
|
+
# # Process the metadata.
|
707
|
+
# end
|
708
|
+
#
|
709
|
+
# # Manually reload the operation.
|
710
|
+
# operation.reload!
|
711
|
+
#
|
712
|
+
# # Or block until the operation completes, triggering callbacks on
|
713
|
+
# # completion.
|
714
|
+
# operation.wait_until_done!
|
715
|
+
|
716
|
+
def export_instance \
|
717
|
+
name,
|
718
|
+
output_config,
|
719
|
+
options: nil
|
720
|
+
req = {
|
721
|
+
name: name,
|
722
|
+
output_config: output_config
|
723
|
+
}.delete_if { |_, v| v.nil? }
|
724
|
+
req = Google::Gax::to_proto(req, Google::Cloud::Redis::V1::ExportInstanceRequest)
|
725
|
+
operation = Google::Gax::Operation.new(
|
726
|
+
@export_instance.call(req, options),
|
727
|
+
@operations_client,
|
728
|
+
Google::Cloud::Redis::V1::Instance,
|
622
729
|
Google::Cloud::Redis::V1::OperationMetadata,
|
623
730
|
call_options: options
|
624
731
|
)
|
@@ -626,13 +733,13 @@ module Google
|
|
626
733
|
operation
|
627
734
|
end
|
628
735
|
|
629
|
-
#
|
630
|
-
# STANDARD tier
|
736
|
+
# Initiates a failover of the master node to current replica node for a
|
737
|
+
# specific STANDARD tier Cloud Memorystore for Redis instance.
|
631
738
|
#
|
632
739
|
# @param name [String]
|
633
740
|
# Required. Redis instance resource name using the form:
|
634
741
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
635
|
-
# where `location_id` refers to a GCP region
|
742
|
+
# where `location_id` refers to a GCP region.
|
636
743
|
# @param data_protection_mode [Google::Cloud::Redis::V1::FailoverInstanceRequest::DataProtectionMode]
|
637
744
|
# Optional. Available data protection modes that the user can choose. If it's
|
638
745
|
# unspecified, data protection mode will be LIMITED_DATA_LOSS by default.
|
@@ -696,6 +803,69 @@ module Google
|
|
696
803
|
operation.on_done { |operation| yield(operation) } if block_given?
|
697
804
|
operation
|
698
805
|
end
|
806
|
+
|
807
|
+
# Deletes a specific Redis instance. Instance stops serving and data is
|
808
|
+
# deleted.
|
809
|
+
#
|
810
|
+
# @param name [String]
|
811
|
+
# Required. Redis instance resource name using the form:
|
812
|
+
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
813
|
+
# where `location_id` refers to a GCP region.
|
814
|
+
# @param options [Google::Gax::CallOptions]
|
815
|
+
# Overrides the default settings for this call, e.g, timeout,
|
816
|
+
# retries, etc.
|
817
|
+
# @return [Google::Gax::Operation]
|
818
|
+
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
819
|
+
# @example
|
820
|
+
# require "google/cloud/redis"
|
821
|
+
#
|
822
|
+
# cloud_redis_client = Google::Cloud::Redis.new(version: :v1)
|
823
|
+
# formatted_name = Google::Cloud::Redis::V1::CloudRedisClient.instance_path("[PROJECT]", "[LOCATION]", "[INSTANCE]")
|
824
|
+
#
|
825
|
+
# # Register a callback during the method call.
|
826
|
+
# operation = cloud_redis_client.delete_instance(formatted_name) do |op|
|
827
|
+
# raise op.results.message if op.error?
|
828
|
+
# op_results = op.results
|
829
|
+
# # Process the results.
|
830
|
+
#
|
831
|
+
# metadata = op.metadata
|
832
|
+
# # Process the metadata.
|
833
|
+
# end
|
834
|
+
#
|
835
|
+
# # Or use the return value to register a callback.
|
836
|
+
# operation.on_done do |op|
|
837
|
+
# raise op.results.message if op.error?
|
838
|
+
# op_results = op.results
|
839
|
+
# # Process the results.
|
840
|
+
#
|
841
|
+
# metadata = op.metadata
|
842
|
+
# # Process the metadata.
|
843
|
+
# end
|
844
|
+
#
|
845
|
+
# # Manually reload the operation.
|
846
|
+
# operation.reload!
|
847
|
+
#
|
848
|
+
# # Or block until the operation completes, triggering callbacks on
|
849
|
+
# # completion.
|
850
|
+
# operation.wait_until_done!
|
851
|
+
|
852
|
+
def delete_instance \
|
853
|
+
name,
|
854
|
+
options: nil
|
855
|
+
req = {
|
856
|
+
name: name
|
857
|
+
}.delete_if { |_, v| v.nil? }
|
858
|
+
req = Google::Gax::to_proto(req, Google::Cloud::Redis::V1::DeleteInstanceRequest)
|
859
|
+
operation = Google::Gax::Operation.new(
|
860
|
+
@delete_instance.call(req, options),
|
861
|
+
@operations_client,
|
862
|
+
Google::Protobuf::Empty,
|
863
|
+
Google::Cloud::Redis::V1::OperationMetadata,
|
864
|
+
call_options: options
|
865
|
+
)
|
866
|
+
operation.on_done { |operation| yield(operation) } if block_given?
|
867
|
+
operation
|
868
|
+
end
|
699
869
|
end
|
700
870
|
end
|
701
871
|
end
|
@@ -40,7 +40,12 @@
|
|
40
40
|
"retry_codes_name": "non_idempotent",
|
41
41
|
"retry_params_name": "default"
|
42
42
|
},
|
43
|
-
"
|
43
|
+
"ImportInstance": {
|
44
|
+
"timeout_millis": 60000,
|
45
|
+
"retry_codes_name": "non_idempotent",
|
46
|
+
"retry_params_name": "default"
|
47
|
+
},
|
48
|
+
"ExportInstance": {
|
44
49
|
"timeout_millis": 60000,
|
45
50
|
"retry_codes_name": "non_idempotent",
|
46
51
|
"retry_params_name": "default"
|
@@ -49,6 +54,11 @@
|
|
49
54
|
"timeout_millis": 60000,
|
50
55
|
"retry_codes_name": "non_idempotent",
|
51
56
|
"retry_params_name": "default"
|
57
|
+
},
|
58
|
+
"DeleteInstance": {
|
59
|
+
"timeout_millis": 60000,
|
60
|
+
"retry_codes_name": "non_idempotent",
|
61
|
+
"retry_params_name": "default"
|
52
62
|
}
|
53
63
|
}
|
54
64
|
}
|
@@ -5,10 +5,10 @@
|
|
5
5
|
require 'google/protobuf'
|
6
6
|
|
7
7
|
require 'google/api/annotations_pb'
|
8
|
-
require 'google/api/resource_pb'
|
9
8
|
require 'google/longrunning/operations_pb'
|
10
9
|
require 'google/protobuf/field_mask_pb'
|
11
10
|
require 'google/protobuf/timestamp_pb'
|
11
|
+
require 'google/api/client_pb'
|
12
12
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
13
13
|
add_message "google.cloud.redis.v1.Instance" do
|
14
14
|
optional :name, :string, 1
|
@@ -28,6 +28,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
28
28
|
optional :tier, :enum, 17, "google.cloud.redis.v1.Instance.Tier"
|
29
29
|
optional :memory_size_gb, :int32, 18
|
30
30
|
optional :authorized_network, :string, 20
|
31
|
+
optional :persistence_iam_identity, :string, 21
|
31
32
|
end
|
32
33
|
add_enum "google.cloud.redis.v1.Instance.State" do
|
33
34
|
value :STATE_UNSPECIFIED, 0
|
@@ -37,6 +38,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
37
38
|
value :DELETING, 4
|
38
39
|
value :REPAIRING, 5
|
39
40
|
value :MAINTENANCE, 6
|
41
|
+
value :IMPORTING, 8
|
40
42
|
value :FAILING_OVER, 9
|
41
43
|
end
|
42
44
|
add_enum "google.cloud.redis.v1.Instance.Tier" do
|
@@ -69,6 +71,30 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
69
71
|
add_message "google.cloud.redis.v1.DeleteInstanceRequest" do
|
70
72
|
optional :name, :string, 1
|
71
73
|
end
|
74
|
+
add_message "google.cloud.redis.v1.GcsSource" do
|
75
|
+
optional :uri, :string, 1
|
76
|
+
end
|
77
|
+
add_message "google.cloud.redis.v1.InputConfig" do
|
78
|
+
oneof :source do
|
79
|
+
optional :gcs_source, :message, 1, "google.cloud.redis.v1.GcsSource"
|
80
|
+
end
|
81
|
+
end
|
82
|
+
add_message "google.cloud.redis.v1.ImportInstanceRequest" do
|
83
|
+
optional :name, :string, 1
|
84
|
+
optional :input_config, :message, 3, "google.cloud.redis.v1.InputConfig"
|
85
|
+
end
|
86
|
+
add_message "google.cloud.redis.v1.GcsDestination" do
|
87
|
+
optional :uri, :string, 1
|
88
|
+
end
|
89
|
+
add_message "google.cloud.redis.v1.OutputConfig" do
|
90
|
+
oneof :destination do
|
91
|
+
optional :gcs_destination, :message, 1, "google.cloud.redis.v1.GcsDestination"
|
92
|
+
end
|
93
|
+
end
|
94
|
+
add_message "google.cloud.redis.v1.ExportInstanceRequest" do
|
95
|
+
optional :name, :string, 1
|
96
|
+
optional :output_config, :message, 3, "google.cloud.redis.v1.OutputConfig"
|
97
|
+
end
|
72
98
|
add_message "google.cloud.redis.v1.FailoverInstanceRequest" do
|
73
99
|
optional :name, :string, 1
|
74
100
|
optional :data_protection_mode, :enum, 2, "google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode"
|
@@ -107,6 +133,12 @@ module Google
|
|
107
133
|
CreateInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.CreateInstanceRequest").msgclass
|
108
134
|
UpdateInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.UpdateInstanceRequest").msgclass
|
109
135
|
DeleteInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.DeleteInstanceRequest").msgclass
|
136
|
+
GcsSource = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.GcsSource").msgclass
|
137
|
+
InputConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.InputConfig").msgclass
|
138
|
+
ImportInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.ImportInstanceRequest").msgclass
|
139
|
+
GcsDestination = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.GcsDestination").msgclass
|
140
|
+
OutputConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.OutputConfig").msgclass
|
141
|
+
ExportInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.ExportInstanceRequest").msgclass
|
110
142
|
FailoverInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.FailoverInstanceRequest").msgclass
|
111
143
|
FailoverInstanceRequest::DataProtectionMode = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode").enummodule
|
112
144
|
OperationMetadata = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.OperationMetadata").msgclass
|
@@ -79,8 +79,24 @@ module Google
|
|
79
79
|
# in the response field. The returned operation is automatically deleted
|
80
80
|
# after a few hours, so there is no need to call DeleteOperation.
|
81
81
|
rpc :UpdateInstance, UpdateInstanceRequest, Google::Longrunning::Operation
|
82
|
-
#
|
83
|
-
#
|
82
|
+
# Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.
|
83
|
+
#
|
84
|
+
# Redis may stop serving during this operation. Instance state will be
|
85
|
+
# IMPORTING for entire operation. When complete, the instance will contain
|
86
|
+
# only data from the imported file.
|
87
|
+
#
|
88
|
+
# The returned operation is automatically deleted after a few hours, so
|
89
|
+
# there is no need to call DeleteOperation.
|
90
|
+
rpc :ImportInstance, ImportInstanceRequest, Google::Longrunning::Operation
|
91
|
+
# Export Redis instance data into a Redis RDB format file in Cloud Storage.
|
92
|
+
#
|
93
|
+
# Redis will continue serving during this operation.
|
94
|
+
#
|
95
|
+
# The returned operation is automatically deleted after a few hours, so
|
96
|
+
# there is no need to call DeleteOperation.
|
97
|
+
rpc :ExportInstance, ExportInstanceRequest, Google::Longrunning::Operation
|
98
|
+
# Initiates a failover of the master node to current replica node for a
|
99
|
+
# specific STANDARD tier Cloud Memorystore for Redis instance.
|
84
100
|
rpc :FailoverInstance, FailoverInstanceRequest, Google::Longrunning::Operation
|
85
101
|
# Deletes a specific Redis instance. Instance stops serving and data is
|
86
102
|
# deleted.
|
@@ -52,7 +52,10 @@ module Google
|
|
52
52
|
# Optional. The version of Redis software.
|
53
53
|
# If not provided, latest supported version will be used. Updating the
|
54
54
|
# version will perform an upgrade/downgrade to the new version. Currently,
|
55
|
-
# the supported values are
|
55
|
+
# the supported values are:
|
56
|
+
#
|
57
|
+
# * `REDIS_4_0` for Redis 4.0 compatibility (default)
|
58
|
+
# * `REDIS_3_2` for Redis 3.2 compatibility
|
56
59
|
# @!attribute [rw] reserved_ip_range
|
57
60
|
# @return [String]
|
58
61
|
# Optional. The CIDR range of internal addresses that are reserved for this
|
@@ -89,8 +92,16 @@ module Google
|
|
89
92
|
# http://redis.io/topics/config. Currently, the only supported parameters
|
90
93
|
# are:
|
91
94
|
#
|
95
|
+
# Redis 3.2 and above:
|
96
|
+
#
|
92
97
|
# * maxmemory-policy
|
93
98
|
# * notify-keyspace-events
|
99
|
+
#
|
100
|
+
# Redis 4.0 and above:
|
101
|
+
#
|
102
|
+
# * activedefrag
|
103
|
+
# * lfu-log-factor
|
104
|
+
# * lfu-decay-time
|
94
105
|
# @!attribute [rw] tier
|
95
106
|
# @return [Google::Cloud::Redis::V1::Instance::Tier]
|
96
107
|
# Required. The service tier of the instance.
|
@@ -103,6 +114,13 @@ module Google
|
|
103
114
|
# [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the
|
104
115
|
# instance is connected. If left unspecified, the `default` network
|
105
116
|
# will be used.
|
117
|
+
# @!attribute [rw] persistence_iam_identity
|
118
|
+
# @return [String]
|
119
|
+
# Output only. Cloud IAM identity used by import / export operations to
|
120
|
+
# transfer data to/from Cloud Storage. Format is
|
121
|
+
# "serviceAccount:<service_account_email>". The value may change over time
|
122
|
+
# for a given instance so should be checked before each import/export
|
123
|
+
# operation.
|
106
124
|
class Instance
|
107
125
|
# Represents the different states of a Redis instance.
|
108
126
|
module State
|
@@ -129,6 +147,9 @@ module Google
|
|
129
147
|
# Maintenance is being performed on this Redis instance.
|
130
148
|
MAINTENANCE = 6
|
131
149
|
|
150
|
+
# Redis instance is importing data (availability may be affected).
|
151
|
+
IMPORTING = 8
|
152
|
+
|
132
153
|
# Redis instance is failing over (availability may be affected).
|
133
154
|
FAILING_OVER = 9
|
134
155
|
end
|
@@ -151,7 +172,7 @@ module Google
|
|
151
172
|
# @return [String]
|
152
173
|
# Required. The resource name of the instance location using the form:
|
153
174
|
# `projects/{project_id}/locations/{location_id}`
|
154
|
-
# where `location_id` refers to a GCP region
|
175
|
+
# where `location_id` refers to a GCP region.
|
155
176
|
# @!attribute [rw] page_size
|
156
177
|
# @return [Integer]
|
157
178
|
# The maximum number of items to return.
|
@@ -194,7 +215,7 @@ module Google
|
|
194
215
|
# @return [String]
|
195
216
|
# Required. Redis instance resource name using the form:
|
196
217
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
197
|
-
# where `location_id` refers to a GCP region
|
218
|
+
# where `location_id` refers to a GCP region.
|
198
219
|
class GetInstanceRequest; end
|
199
220
|
|
200
221
|
# Request for {Google::Cloud::Redis::V1::CloudRedis::CreateInstance CreateInstance}.
|
@@ -202,7 +223,7 @@ module Google
|
|
202
223
|
# @return [String]
|
203
224
|
# Required. The resource name of the instance location using the form:
|
204
225
|
# `projects/{project_id}/locations/{location_id}`
|
205
|
-
# where `location_id` refers to a GCP region
|
226
|
+
# where `location_id` refers to a GCP region.
|
206
227
|
# @!attribute [rw] instance_id
|
207
228
|
# @return [String]
|
208
229
|
# Required. The logical name of the Redis instance in the customer project
|
@@ -240,21 +261,70 @@ module Google
|
|
240
261
|
# @return [String]
|
241
262
|
# Required. Redis instance resource name using the form:
|
242
263
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
243
|
-
# where `location_id` refers to a GCP region
|
264
|
+
# where `location_id` refers to a GCP region.
|
244
265
|
class DeleteInstanceRequest; end
|
245
266
|
|
267
|
+
# The Cloud Storage location for the input content
|
268
|
+
# @!attribute [rw] uri
|
269
|
+
# @return [String]
|
270
|
+
# Required. Source data URI. (e.g. 'gs://my_bucket/my_object').
|
271
|
+
class GcsSource; end
|
272
|
+
|
273
|
+
# The input content
|
274
|
+
# @!attribute [rw] gcs_source
|
275
|
+
# @return [Google::Cloud::Redis::V1::GcsSource]
|
276
|
+
# Google Cloud Storage location where input content is located.
|
277
|
+
class InputConfig; end
|
278
|
+
|
279
|
+
# Request for {Google::Cloud::Redis::V1::CloudRedis::ImportInstance Import}.
|
280
|
+
# @!attribute [rw] name
|
281
|
+
# @return [String]
|
282
|
+
# Required. Redis instance resource name using the form:
|
283
|
+
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
284
|
+
# where `location_id` refers to a GCP region.
|
285
|
+
# @!attribute [rw] input_config
|
286
|
+
# @return [Google::Cloud::Redis::V1::InputConfig]
|
287
|
+
# Required. Specify data to be imported.
|
288
|
+
class ImportInstanceRequest; end
|
289
|
+
|
290
|
+
# The Cloud Storage location for the output content
|
291
|
+
# @!attribute [rw] uri
|
292
|
+
# @return [String]
|
293
|
+
# Required. Data destination URI (e.g.
|
294
|
+
# 'gs://my_bucket/my_object'). Existing files will be overwritten.
|
295
|
+
class GcsDestination; end
|
296
|
+
|
297
|
+
# The output content
|
298
|
+
# @!attribute [rw] gcs_destination
|
299
|
+
# @return [Google::Cloud::Redis::V1::GcsDestination]
|
300
|
+
# Google Cloud Storage destination for output content.
|
301
|
+
class OutputConfig; end
|
302
|
+
|
303
|
+
# Request for {Google::Cloud::Redis::V1::CloudRedis::ExportInstance Export}.
|
304
|
+
# @!attribute [rw] name
|
305
|
+
# @return [String]
|
306
|
+
# Required. Redis instance resource name using the form:
|
307
|
+
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
308
|
+
# where `location_id` refers to a GCP region.
|
309
|
+
# @!attribute [rw] output_config
|
310
|
+
# @return [Google::Cloud::Redis::V1::OutputConfig]
|
311
|
+
# Required. Specify data to be exported.
|
312
|
+
class ExportInstanceRequest; end
|
313
|
+
|
246
314
|
# Request for {Google::Cloud::Redis::V1::CloudRedis::FailoverInstance Failover}.
|
247
315
|
# @!attribute [rw] name
|
248
316
|
# @return [String]
|
249
317
|
# Required. Redis instance resource name using the form:
|
250
318
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
251
|
-
# where `location_id` refers to a GCP region
|
319
|
+
# where `location_id` refers to a GCP region.
|
252
320
|
# @!attribute [rw] data_protection_mode
|
253
321
|
# @return [Google::Cloud::Redis::V1::FailoverInstanceRequest::DataProtectionMode]
|
254
322
|
# Optional. Available data protection modes that the user can choose. If it's
|
255
323
|
# unspecified, data protection mode will be LIMITED_DATA_LOSS by default.
|
256
324
|
class FailoverInstanceRequest
|
257
325
|
module DataProtectionMode
|
326
|
+
# Defaults to LIMITED_DATA_LOSS if a data protection mode is not
|
327
|
+
# specified.
|
258
328
|
DATA_PROTECTION_MODE_UNSPECIFIED = 0
|
259
329
|
|
260
330
|
# Instance failover will be protected with data loss control. More
|
@@ -29,6 +29,7 @@ require "google/longrunning/operations_client"
|
|
29
29
|
|
30
30
|
require "google/cloud/redis/v1beta1/cloud_redis_pb"
|
31
31
|
require "google/cloud/redis/v1beta1/credentials"
|
32
|
+
require "google/cloud/redis/version"
|
32
33
|
|
33
34
|
module Google
|
34
35
|
module Cloud
|
@@ -195,7 +196,7 @@ module Google
|
|
195
196
|
updater_proc = credentials.updater_proc
|
196
197
|
end
|
197
198
|
|
198
|
-
package_version =
|
199
|
+
package_version = Google::Cloud::Redis::VERSION
|
199
200
|
|
200
201
|
google_api_client = "gl-ruby/#{RUBY_VERSION}"
|
201
202
|
google_api_client << " #{lib_name}/#{lib_version}" if lib_name
|
@@ -268,9 +269,17 @@ module Google
|
|
268
269
|
{'instance.name' => request.instance.name}
|
269
270
|
end
|
270
271
|
)
|
271
|
-
@
|
272
|
-
@cloud_redis_stub.method(:
|
273
|
-
defaults["
|
272
|
+
@import_instance = Google::Gax.create_api_call(
|
273
|
+
@cloud_redis_stub.method(:import_instance),
|
274
|
+
defaults["import_instance"],
|
275
|
+
exception_transformer: exception_transformer,
|
276
|
+
params_extractor: proc do |request|
|
277
|
+
{'name' => request.name}
|
278
|
+
end
|
279
|
+
)
|
280
|
+
@export_instance = Google::Gax.create_api_call(
|
281
|
+
@cloud_redis_stub.method(:export_instance),
|
282
|
+
defaults["export_instance"],
|
274
283
|
exception_transformer: exception_transformer,
|
275
284
|
params_extractor: proc do |request|
|
276
285
|
{'name' => request.name}
|
@@ -284,6 +293,14 @@ module Google
|
|
284
293
|
{'name' => request.name}
|
285
294
|
end
|
286
295
|
)
|
296
|
+
@delete_instance = Google::Gax.create_api_call(
|
297
|
+
@cloud_redis_stub.method(:delete_instance),
|
298
|
+
defaults["delete_instance"],
|
299
|
+
exception_transformer: exception_transformer,
|
300
|
+
params_extractor: proc do |request|
|
301
|
+
{'name' => request.name}
|
302
|
+
end
|
303
|
+
)
|
287
304
|
end
|
288
305
|
|
289
306
|
# Service calls
|
@@ -300,7 +317,7 @@ module Google
|
|
300
317
|
# @param parent [String]
|
301
318
|
# Required. The resource name of the instance location using the form:
|
302
319
|
# `projects/{project_id}/locations/{location_id}`
|
303
|
-
# where `location_id` refers to a GCP region
|
320
|
+
# where `location_id` refers to a GCP region.
|
304
321
|
# @param page_size [Integer]
|
305
322
|
# The maximum number of resources contained in the underlying API
|
306
323
|
# response. If page streaming is performed per-resource, this
|
@@ -356,7 +373,7 @@ module Google
|
|
356
373
|
# @param name [String]
|
357
374
|
# Required. Redis instance resource name using the form:
|
358
375
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
359
|
-
# where `location_id` refers to a GCP region
|
376
|
+
# where `location_id` refers to a GCP region.
|
360
377
|
# @param options [Google::Gax::CallOptions]
|
361
378
|
# Overrides the default settings for this call, e.g, timeout,
|
362
379
|
# retries, etc.
|
@@ -399,7 +416,7 @@ module Google
|
|
399
416
|
# @param parent [String]
|
400
417
|
# Required. The resource name of the instance location using the form:
|
401
418
|
# `projects/{project_id}/locations/{location_id}`
|
402
|
-
# where `location_id` refers to a GCP region
|
419
|
+
# where `location_id` refers to a GCP region.
|
403
420
|
# @param instance_id [String]
|
404
421
|
# Required. The logical name of the Redis instance in the customer project
|
405
422
|
# with the following restrictions:
|
@@ -563,13 +580,23 @@ module Google
|
|
563
580
|
operation
|
564
581
|
end
|
565
582
|
|
566
|
-
#
|
567
|
-
#
|
583
|
+
# Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.
|
584
|
+
#
|
585
|
+
# Redis may stop serving during this operation. Instance state will be
|
586
|
+
# IMPORTING for entire operation. When complete, the instance will contain
|
587
|
+
# only data from the imported file.
|
588
|
+
#
|
589
|
+
# The returned operation is automatically deleted after a few hours, so
|
590
|
+
# there is no need to call DeleteOperation.
|
568
591
|
#
|
569
592
|
# @param name [String]
|
570
593
|
# Required. Redis instance resource name using the form:
|
571
594
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
572
|
-
# where `location_id` refers to a GCP region
|
595
|
+
# where `location_id` refers to a GCP region.
|
596
|
+
# @param input_config [Google::Cloud::Redis::V1beta1::InputConfig | Hash]
|
597
|
+
# Required. Specify data to be imported.
|
598
|
+
# A hash of the same form as `Google::Cloud::Redis::V1beta1::InputConfig`
|
599
|
+
# can also be provided.
|
573
600
|
# @param options [Google::Gax::CallOptions]
|
574
601
|
# Overrides the default settings for this call, e.g, timeout,
|
575
602
|
# retries, etc.
|
@@ -581,8 +608,11 @@ module Google
|
|
581
608
|
# cloud_redis_client = Google::Cloud::Redis.new(version: :v1beta1)
|
582
609
|
# formatted_name = Google::Cloud::Redis::V1beta1::CloudRedisClient.instance_path("[PROJECT]", "[LOCATION]", "[INSTANCE]")
|
583
610
|
#
|
611
|
+
# # TODO: Initialize `input_config`:
|
612
|
+
# input_config = {}
|
613
|
+
#
|
584
614
|
# # Register a callback during the method call.
|
585
|
-
# operation = cloud_redis_client.
|
615
|
+
# operation = cloud_redis_client.import_instance(formatted_name, input_config) do |op|
|
586
616
|
# raise op.results.message if op.error?
|
587
617
|
# op_results = op.results
|
588
618
|
# # Process the results.
|
@@ -608,17 +638,95 @@ module Google
|
|
608
638
|
# # completion.
|
609
639
|
# operation.wait_until_done!
|
610
640
|
|
611
|
-
def
|
641
|
+
def import_instance \
|
612
642
|
name,
|
643
|
+
input_config,
|
613
644
|
options: nil
|
614
645
|
req = {
|
615
|
-
name: name
|
646
|
+
name: name,
|
647
|
+
input_config: input_config
|
616
648
|
}.delete_if { |_, v| v.nil? }
|
617
|
-
req = Google::Gax::to_proto(req, Google::Cloud::Redis::V1beta1::
|
649
|
+
req = Google::Gax::to_proto(req, Google::Cloud::Redis::V1beta1::ImportInstanceRequest)
|
618
650
|
operation = Google::Gax::Operation.new(
|
619
|
-
@
|
651
|
+
@import_instance.call(req, options),
|
620
652
|
@operations_client,
|
621
|
-
Google::
|
653
|
+
Google::Cloud::Redis::V1beta1::Instance,
|
654
|
+
Google::Protobuf::Any,
|
655
|
+
call_options: options
|
656
|
+
)
|
657
|
+
operation.on_done { |operation| yield(operation) } if block_given?
|
658
|
+
operation
|
659
|
+
end
|
660
|
+
|
661
|
+
# Export Redis instance data into a Redis RDB format file in Cloud Storage.
|
662
|
+
#
|
663
|
+
# Redis will continue serving during this operation.
|
664
|
+
#
|
665
|
+
# The returned operation is automatically deleted after a few hours, so
|
666
|
+
# there is no need to call DeleteOperation.
|
667
|
+
#
|
668
|
+
# @param name [String]
|
669
|
+
# Required. Redis instance resource name using the form:
|
670
|
+
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
671
|
+
# where `location_id` refers to a GCP region.
|
672
|
+
# @param output_config [Google::Cloud::Redis::V1beta1::OutputConfig | Hash]
|
673
|
+
# Required. Specify data to be exported.
|
674
|
+
# A hash of the same form as `Google::Cloud::Redis::V1beta1::OutputConfig`
|
675
|
+
# can also be provided.
|
676
|
+
# @param options [Google::Gax::CallOptions]
|
677
|
+
# Overrides the default settings for this call, e.g, timeout,
|
678
|
+
# retries, etc.
|
679
|
+
# @return [Google::Gax::Operation]
|
680
|
+
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
681
|
+
# @example
|
682
|
+
# require "google/cloud/redis"
|
683
|
+
#
|
684
|
+
# cloud_redis_client = Google::Cloud::Redis.new(version: :v1beta1)
|
685
|
+
# formatted_name = Google::Cloud::Redis::V1beta1::CloudRedisClient.instance_path("[PROJECT]", "[LOCATION]", "[INSTANCE]")
|
686
|
+
#
|
687
|
+
# # TODO: Initialize `output_config`:
|
688
|
+
# output_config = {}
|
689
|
+
#
|
690
|
+
# # Register a callback during the method call.
|
691
|
+
# operation = cloud_redis_client.export_instance(formatted_name, output_config) do |op|
|
692
|
+
# raise op.results.message if op.error?
|
693
|
+
# op_results = op.results
|
694
|
+
# # Process the results.
|
695
|
+
#
|
696
|
+
# metadata = op.metadata
|
697
|
+
# # Process the metadata.
|
698
|
+
# end
|
699
|
+
#
|
700
|
+
# # Or use the return value to register a callback.
|
701
|
+
# operation.on_done do |op|
|
702
|
+
# raise op.results.message if op.error?
|
703
|
+
# op_results = op.results
|
704
|
+
# # Process the results.
|
705
|
+
#
|
706
|
+
# metadata = op.metadata
|
707
|
+
# # Process the metadata.
|
708
|
+
# end
|
709
|
+
#
|
710
|
+
# # Manually reload the operation.
|
711
|
+
# operation.reload!
|
712
|
+
#
|
713
|
+
# # Or block until the operation completes, triggering callbacks on
|
714
|
+
# # completion.
|
715
|
+
# operation.wait_until_done!
|
716
|
+
|
717
|
+
def export_instance \
|
718
|
+
name,
|
719
|
+
output_config,
|
720
|
+
options: nil
|
721
|
+
req = {
|
722
|
+
name: name,
|
723
|
+
output_config: output_config
|
724
|
+
}.delete_if { |_, v| v.nil? }
|
725
|
+
req = Google::Gax::to_proto(req, Google::Cloud::Redis::V1beta1::ExportInstanceRequest)
|
726
|
+
operation = Google::Gax::Operation.new(
|
727
|
+
@export_instance.call(req, options),
|
728
|
+
@operations_client,
|
729
|
+
Google::Cloud::Redis::V1beta1::Instance,
|
622
730
|
Google::Protobuf::Any,
|
623
731
|
call_options: options
|
624
732
|
)
|
@@ -626,13 +734,13 @@ module Google
|
|
626
734
|
operation
|
627
735
|
end
|
628
736
|
|
629
|
-
#
|
630
|
-
# STANDARD tier
|
737
|
+
# Initiates a failover of the master node to current replica node for a
|
738
|
+
# specific STANDARD tier Cloud Memorystore for Redis instance.
|
631
739
|
#
|
632
740
|
# @param name [String]
|
633
741
|
# Required. Redis instance resource name using the form:
|
634
742
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
635
|
-
# where `location_id` refers to a GCP region
|
743
|
+
# where `location_id` refers to a GCP region.
|
636
744
|
# @param data_protection_mode [Google::Cloud::Redis::V1beta1::FailoverInstanceRequest::DataProtectionMode]
|
637
745
|
# Optional. Available data protection modes that the user can choose. If it's
|
638
746
|
# unspecified, data protection mode will be LIMITED_DATA_LOSS by default.
|
@@ -696,6 +804,69 @@ module Google
|
|
696
804
|
operation.on_done { |operation| yield(operation) } if block_given?
|
697
805
|
operation
|
698
806
|
end
|
807
|
+
|
808
|
+
# Deletes a specific Redis instance. Instance stops serving and data is
|
809
|
+
# deleted.
|
810
|
+
#
|
811
|
+
# @param name [String]
|
812
|
+
# Required. Redis instance resource name using the form:
|
813
|
+
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
814
|
+
# where `location_id` refers to a GCP region.
|
815
|
+
# @param options [Google::Gax::CallOptions]
|
816
|
+
# Overrides the default settings for this call, e.g, timeout,
|
817
|
+
# retries, etc.
|
818
|
+
# @return [Google::Gax::Operation]
|
819
|
+
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
820
|
+
# @example
|
821
|
+
# require "google/cloud/redis"
|
822
|
+
#
|
823
|
+
# cloud_redis_client = Google::Cloud::Redis.new(version: :v1beta1)
|
824
|
+
# formatted_name = Google::Cloud::Redis::V1beta1::CloudRedisClient.instance_path("[PROJECT]", "[LOCATION]", "[INSTANCE]")
|
825
|
+
#
|
826
|
+
# # Register a callback during the method call.
|
827
|
+
# operation = cloud_redis_client.delete_instance(formatted_name) do |op|
|
828
|
+
# raise op.results.message if op.error?
|
829
|
+
# op_results = op.results
|
830
|
+
# # Process the results.
|
831
|
+
#
|
832
|
+
# metadata = op.metadata
|
833
|
+
# # Process the metadata.
|
834
|
+
# end
|
835
|
+
#
|
836
|
+
# # Or use the return value to register a callback.
|
837
|
+
# operation.on_done do |op|
|
838
|
+
# raise op.results.message if op.error?
|
839
|
+
# op_results = op.results
|
840
|
+
# # Process the results.
|
841
|
+
#
|
842
|
+
# metadata = op.metadata
|
843
|
+
# # Process the metadata.
|
844
|
+
# end
|
845
|
+
#
|
846
|
+
# # Manually reload the operation.
|
847
|
+
# operation.reload!
|
848
|
+
#
|
849
|
+
# # Or block until the operation completes, triggering callbacks on
|
850
|
+
# # completion.
|
851
|
+
# operation.wait_until_done!
|
852
|
+
|
853
|
+
def delete_instance \
|
854
|
+
name,
|
855
|
+
options: nil
|
856
|
+
req = {
|
857
|
+
name: name
|
858
|
+
}.delete_if { |_, v| v.nil? }
|
859
|
+
req = Google::Gax::to_proto(req, Google::Cloud::Redis::V1beta1::DeleteInstanceRequest)
|
860
|
+
operation = Google::Gax::Operation.new(
|
861
|
+
@delete_instance.call(req, options),
|
862
|
+
@operations_client,
|
863
|
+
Google::Protobuf::Empty,
|
864
|
+
Google::Protobuf::Any,
|
865
|
+
call_options: options
|
866
|
+
)
|
867
|
+
operation.on_done { |operation| yield(operation) } if block_given?
|
868
|
+
operation
|
869
|
+
end
|
699
870
|
end
|
700
871
|
end
|
701
872
|
end
|
@@ -40,7 +40,12 @@
|
|
40
40
|
"retry_codes_name": "non_idempotent",
|
41
41
|
"retry_params_name": "default"
|
42
42
|
},
|
43
|
-
"
|
43
|
+
"ImportInstance": {
|
44
|
+
"timeout_millis": 60000,
|
45
|
+
"retry_codes_name": "non_idempotent",
|
46
|
+
"retry_params_name": "default"
|
47
|
+
},
|
48
|
+
"ExportInstance": {
|
44
49
|
"timeout_millis": 60000,
|
45
50
|
"retry_codes_name": "non_idempotent",
|
46
51
|
"retry_params_name": "default"
|
@@ -49,6 +54,11 @@
|
|
49
54
|
"timeout_millis": 60000,
|
50
55
|
"retry_codes_name": "non_idempotent",
|
51
56
|
"retry_params_name": "default"
|
57
|
+
},
|
58
|
+
"DeleteInstance": {
|
59
|
+
"timeout_millis": 60000,
|
60
|
+
"retry_codes_name": "non_idempotent",
|
61
|
+
"retry_params_name": "default"
|
52
62
|
}
|
53
63
|
}
|
54
64
|
}
|
@@ -5,10 +5,10 @@
|
|
5
5
|
require 'google/protobuf'
|
6
6
|
|
7
7
|
require 'google/api/annotations_pb'
|
8
|
-
require 'google/api/resource_pb'
|
9
8
|
require 'google/longrunning/operations_pb'
|
10
9
|
require 'google/protobuf/field_mask_pb'
|
11
10
|
require 'google/protobuf/timestamp_pb'
|
11
|
+
require 'google/api/client_pb'
|
12
12
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
13
13
|
add_message "google.cloud.redis.v1beta1.Instance" do
|
14
14
|
optional :name, :string, 1
|
@@ -28,6 +28,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
28
28
|
optional :tier, :enum, 17, "google.cloud.redis.v1beta1.Instance.Tier"
|
29
29
|
optional :memory_size_gb, :int32, 18
|
30
30
|
optional :authorized_network, :string, 20
|
31
|
+
optional :persistence_iam_identity, :string, 21
|
31
32
|
end
|
32
33
|
add_enum "google.cloud.redis.v1beta1.Instance.State" do
|
33
34
|
value :STATE_UNSPECIFIED, 0
|
@@ -70,6 +71,30 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
70
71
|
add_message "google.cloud.redis.v1beta1.DeleteInstanceRequest" do
|
71
72
|
optional :name, :string, 1
|
72
73
|
end
|
74
|
+
add_message "google.cloud.redis.v1beta1.GcsSource" do
|
75
|
+
optional :uri, :string, 1
|
76
|
+
end
|
77
|
+
add_message "google.cloud.redis.v1beta1.InputConfig" do
|
78
|
+
oneof :source do
|
79
|
+
optional :gcs_source, :message, 1, "google.cloud.redis.v1beta1.GcsSource"
|
80
|
+
end
|
81
|
+
end
|
82
|
+
add_message "google.cloud.redis.v1beta1.ImportInstanceRequest" do
|
83
|
+
optional :name, :string, 1
|
84
|
+
optional :input_config, :message, 3, "google.cloud.redis.v1beta1.InputConfig"
|
85
|
+
end
|
86
|
+
add_message "google.cloud.redis.v1beta1.GcsDestination" do
|
87
|
+
optional :uri, :string, 1
|
88
|
+
end
|
89
|
+
add_message "google.cloud.redis.v1beta1.OutputConfig" do
|
90
|
+
oneof :destination do
|
91
|
+
optional :gcs_destination, :message, 1, "google.cloud.redis.v1beta1.GcsDestination"
|
92
|
+
end
|
93
|
+
end
|
94
|
+
add_message "google.cloud.redis.v1beta1.ExportInstanceRequest" do
|
95
|
+
optional :name, :string, 1
|
96
|
+
optional :output_config, :message, 3, "google.cloud.redis.v1beta1.OutputConfig"
|
97
|
+
end
|
73
98
|
add_message "google.cloud.redis.v1beta1.FailoverInstanceRequest" do
|
74
99
|
optional :name, :string, 1
|
75
100
|
optional :data_protection_mode, :enum, 2, "google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode"
|
@@ -99,6 +124,12 @@ module Google
|
|
99
124
|
CreateInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.CreateInstanceRequest").msgclass
|
100
125
|
UpdateInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.UpdateInstanceRequest").msgclass
|
101
126
|
DeleteInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.DeleteInstanceRequest").msgclass
|
127
|
+
GcsSource = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.GcsSource").msgclass
|
128
|
+
InputConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.InputConfig").msgclass
|
129
|
+
ImportInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ImportInstanceRequest").msgclass
|
130
|
+
GcsDestination = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.GcsDestination").msgclass
|
131
|
+
OutputConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.OutputConfig").msgclass
|
132
|
+
ExportInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ExportInstanceRequest").msgclass
|
102
133
|
FailoverInstanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.FailoverInstanceRequest").msgclass
|
103
134
|
FailoverInstanceRequest::DataProtectionMode = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode").enummodule
|
104
135
|
LocationMetadata = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.LocationMetadata").msgclass
|
@@ -79,8 +79,24 @@ module Google
|
|
79
79
|
# in the response field. The returned operation is automatically deleted
|
80
80
|
# after a few hours, so there is no need to call DeleteOperation.
|
81
81
|
rpc :UpdateInstance, UpdateInstanceRequest, Google::Longrunning::Operation
|
82
|
-
#
|
83
|
-
#
|
82
|
+
# Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.
|
83
|
+
#
|
84
|
+
# Redis may stop serving during this operation. Instance state will be
|
85
|
+
# IMPORTING for entire operation. When complete, the instance will contain
|
86
|
+
# only data from the imported file.
|
87
|
+
#
|
88
|
+
# The returned operation is automatically deleted after a few hours, so
|
89
|
+
# there is no need to call DeleteOperation.
|
90
|
+
rpc :ImportInstance, ImportInstanceRequest, Google::Longrunning::Operation
|
91
|
+
# Export Redis instance data into a Redis RDB format file in Cloud Storage.
|
92
|
+
#
|
93
|
+
# Redis will continue serving during this operation.
|
94
|
+
#
|
95
|
+
# The returned operation is automatically deleted after a few hours, so
|
96
|
+
# there is no need to call DeleteOperation.
|
97
|
+
rpc :ExportInstance, ExportInstanceRequest, Google::Longrunning::Operation
|
98
|
+
# Initiates a failover of the master node to current replica node for a
|
99
|
+
# specific STANDARD tier Cloud Memorystore for Redis instance.
|
84
100
|
rpc :FailoverInstance, FailoverInstanceRequest, Google::Longrunning::Operation
|
85
101
|
# Deletes a specific Redis instance. Instance stops serving and data is
|
86
102
|
# deleted.
|
@@ -54,8 +54,8 @@ module Google
|
|
54
54
|
# version will perform an upgrade/downgrade to the new version. Currently,
|
55
55
|
# the supported values are:
|
56
56
|
#
|
57
|
-
# * `REDIS_4_0` for Redis 4.0 compatibility
|
58
|
-
# * `REDIS_3_2` for Redis 3.2 compatibility
|
57
|
+
# * `REDIS_4_0` for Redis 4.0 compatibility (default)
|
58
|
+
# * `REDIS_3_2` for Redis 3.2 compatibility
|
59
59
|
# @!attribute [rw] reserved_ip_range
|
60
60
|
# @return [String]
|
61
61
|
# Optional. The CIDR range of internal addresses that are reserved for this
|
@@ -114,6 +114,13 @@ module Google
|
|
114
114
|
# [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the
|
115
115
|
# instance is connected. If left unspecified, the `default` network
|
116
116
|
# will be used.
|
117
|
+
# @!attribute [rw] persistence_iam_identity
|
118
|
+
# @return [String]
|
119
|
+
# Output only. Cloud IAM identity used by import / export operations to
|
120
|
+
# transfer data to/from Cloud Storage. Format is
|
121
|
+
# "serviceAccount:<service_account_email>". The value may change over time
|
122
|
+
# for a given instance so should be checked before each import/export
|
123
|
+
# operation.
|
117
124
|
class Instance
|
118
125
|
# Represents the different states of a Redis instance.
|
119
126
|
module State
|
@@ -160,13 +167,12 @@ module Google
|
|
160
167
|
end
|
161
168
|
end
|
162
169
|
|
163
|
-
# Request for
|
164
|
-
# {Google::Cloud::Redis::V1beta1::CloudRedis::ListInstances ListInstances}.
|
170
|
+
# Request for {Google::Cloud::Redis::V1beta1::CloudRedis::ListInstances ListInstances}.
|
165
171
|
# @!attribute [rw] parent
|
166
172
|
# @return [String]
|
167
173
|
# Required. The resource name of the instance location using the form:
|
168
174
|
# `projects/{project_id}/locations/{location_id}`
|
169
|
-
# where `location_id` refers to a GCP region
|
175
|
+
# where `location_id` refers to a GCP region.
|
170
176
|
# @!attribute [rw] page_size
|
171
177
|
# @return [Integer]
|
172
178
|
# The maximum number of items to return.
|
@@ -182,8 +188,7 @@ module Google
|
|
182
188
|
# if any.
|
183
189
|
class ListInstancesRequest; end
|
184
190
|
|
185
|
-
# Response for
|
186
|
-
# {Google::Cloud::Redis::V1beta1::CloudRedis::ListInstances ListInstances}.
|
191
|
+
# Response for {Google::Cloud::Redis::V1beta1::CloudRedis::ListInstances ListInstances}.
|
187
192
|
# @!attribute [rw] instances
|
188
193
|
# @return [Array<Google::Cloud::Redis::V1beta1::Instance>]
|
189
194
|
# A list of Redis instances in the project in the specified location,
|
@@ -210,16 +215,15 @@ module Google
|
|
210
215
|
# @return [String]
|
211
216
|
# Required. Redis instance resource name using the form:
|
212
217
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
213
|
-
# where `location_id` refers to a GCP region
|
218
|
+
# where `location_id` refers to a GCP region.
|
214
219
|
class GetInstanceRequest; end
|
215
220
|
|
216
|
-
# Request for
|
217
|
-
# {Google::Cloud::Redis::V1beta1::CloudRedis::CreateInstance CreateInstance}.
|
221
|
+
# Request for {Google::Cloud::Redis::V1beta1::CloudRedis::CreateInstance CreateInstance}.
|
218
222
|
# @!attribute [rw] parent
|
219
223
|
# @return [String]
|
220
224
|
# Required. The resource name of the instance location using the form:
|
221
225
|
# `projects/{project_id}/locations/{location_id}`
|
222
|
-
# where `location_id` refers to a GCP region
|
226
|
+
# where `location_id` refers to a GCP region.
|
223
227
|
# @!attribute [rw] instance_id
|
224
228
|
# @return [String]
|
225
229
|
# Required. The logical name of the Redis instance in the customer project
|
@@ -235,8 +239,7 @@ module Google
|
|
235
239
|
# Required. A Redis [Instance] resource
|
236
240
|
class CreateInstanceRequest; end
|
237
241
|
|
238
|
-
# Request for
|
239
|
-
# {Google::Cloud::Redis::V1beta1::CloudRedis::UpdateInstance UpdateInstance}.
|
242
|
+
# Request for {Google::Cloud::Redis::V1beta1::CloudRedis::UpdateInstance UpdateInstance}.
|
240
243
|
# @!attribute [rw] update_mask
|
241
244
|
# @return [Google::Protobuf::FieldMask]
|
242
245
|
# Required. Mask of fields to update. At least one path must be supplied in
|
@@ -253,28 +256,75 @@ module Google
|
|
253
256
|
# Only fields specified in update_mask are updated.
|
254
257
|
class UpdateInstanceRequest; end
|
255
258
|
|
256
|
-
# Request for
|
257
|
-
# {Google::Cloud::Redis::V1beta1::CloudRedis::DeleteInstance DeleteInstance}.
|
259
|
+
# Request for {Google::Cloud::Redis::V1beta1::CloudRedis::DeleteInstance DeleteInstance}.
|
258
260
|
# @!attribute [rw] name
|
259
261
|
# @return [String]
|
260
262
|
# Required. Redis instance resource name using the form:
|
261
263
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
262
|
-
# where `location_id` refers to a GCP region
|
264
|
+
# where `location_id` refers to a GCP region.
|
263
265
|
class DeleteInstanceRequest; end
|
264
266
|
|
265
|
-
#
|
266
|
-
#
|
267
|
+
# The Cloud Storage location for the input content
|
268
|
+
# @!attribute [rw] uri
|
269
|
+
# @return [String]
|
270
|
+
# Required. Source data URI. (e.g. 'gs://my_bucket/my_object').
|
271
|
+
class GcsSource; end
|
272
|
+
|
273
|
+
# The input content
|
274
|
+
# @!attribute [rw] gcs_source
|
275
|
+
# @return [Google::Cloud::Redis::V1beta1::GcsSource]
|
276
|
+
# Google Cloud Storage location where input content is located.
|
277
|
+
class InputConfig; end
|
278
|
+
|
279
|
+
# Request for {Google::Cloud::Redis::V1beta1::CloudRedis::ImportInstance Import}.
|
280
|
+
# @!attribute [rw] name
|
281
|
+
# @return [String]
|
282
|
+
# Required. Redis instance resource name using the form:
|
283
|
+
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
284
|
+
# where `location_id` refers to a GCP region.
|
285
|
+
# @!attribute [rw] input_config
|
286
|
+
# @return [Google::Cloud::Redis::V1beta1::InputConfig]
|
287
|
+
# Required. Specify data to be imported.
|
288
|
+
class ImportInstanceRequest; end
|
289
|
+
|
290
|
+
# The Cloud Storage location for the output content
|
291
|
+
# @!attribute [rw] uri
|
292
|
+
# @return [String]
|
293
|
+
# Required. Data destination URI (e.g.
|
294
|
+
# 'gs://my_bucket/my_object'). Existing files will be overwritten.
|
295
|
+
class GcsDestination; end
|
296
|
+
|
297
|
+
# The output content
|
298
|
+
# @!attribute [rw] gcs_destination
|
299
|
+
# @return [Google::Cloud::Redis::V1beta1::GcsDestination]
|
300
|
+
# Google Cloud Storage destination for output content.
|
301
|
+
class OutputConfig; end
|
302
|
+
|
303
|
+
# Request for {Google::Cloud::Redis::V1beta1::CloudRedis::ExportInstance Export}.
|
304
|
+
# @!attribute [rw] name
|
305
|
+
# @return [String]
|
306
|
+
# Required. Redis instance resource name using the form:
|
307
|
+
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
308
|
+
# where `location_id` refers to a GCP region.
|
309
|
+
# @!attribute [rw] output_config
|
310
|
+
# @return [Google::Cloud::Redis::V1beta1::OutputConfig]
|
311
|
+
# Required. Specify data to be exported.
|
312
|
+
class ExportInstanceRequest; end
|
313
|
+
|
314
|
+
# Request for {Google::Cloud::Redis::V1beta1::CloudRedis::FailoverInstance Failover}.
|
267
315
|
# @!attribute [rw] name
|
268
316
|
# @return [String]
|
269
317
|
# Required. Redis instance resource name using the form:
|
270
318
|
# `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
|
271
|
-
# where `location_id` refers to a GCP region
|
319
|
+
# where `location_id` refers to a GCP region.
|
272
320
|
# @!attribute [rw] data_protection_mode
|
273
321
|
# @return [Google::Cloud::Redis::V1beta1::FailoverInstanceRequest::DataProtectionMode]
|
274
322
|
# Optional. Available data protection modes that the user can choose. If it's
|
275
323
|
# unspecified, data protection mode will be LIMITED_DATA_LOSS by default.
|
276
324
|
class FailoverInstanceRequest
|
277
325
|
module DataProtectionMode
|
326
|
+
# Defaults to LIMITED_DATA_LOSS if a data protection mode is not
|
327
|
+
# specified.
|
278
328
|
DATA_PROTECTION_MODE_UNSPECIFIED = 0
|
279
329
|
|
280
330
|
# Instance failover will be protected with data loss control. More
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Copyright 2019 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
|
16
|
+
module Google
|
17
|
+
module Cloud
|
18
|
+
module Redis
|
19
|
+
VERSION = "0.4.0".freeze
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-redis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.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: 2019-
|
11
|
+
date: 2019-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-gax
|
@@ -150,6 +150,7 @@ files:
|
|
150
150
|
- lib/google/cloud/redis/v1beta1/doc/google/protobuf/field_mask.rb
|
151
151
|
- lib/google/cloud/redis/v1beta1/doc/google/protobuf/timestamp.rb
|
152
152
|
- lib/google/cloud/redis/v1beta1/doc/google/rpc/status.rb
|
153
|
+
- lib/google/cloud/redis/version.rb
|
153
154
|
homepage: https://github.com/googleapis/google-cloud-ruby/tree/master/google-cloud-redis
|
154
155
|
licenses:
|
155
156
|
- Apache-2.0
|