google-cloud-redis-cluster-v1beta1 0.2.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -47,12 +47,6 @@ module Google
47
47
  # Note that location_id must be a GCP `region`; for example:
48
48
  # * `projects/redpepper-1290/locations/us-central1/clusters/my-redis`
49
49
  #
50
- # We use API version selector for Flex APIs
51
- # * The versioning strategy is release-based versioning
52
- # * Our backend CLH only deals with the superset version (called v1main)
53
- # * Existing backend for Redis Gen1 and MRR is not touched.
54
- # * More details in go/redis-flex-api-versioning
55
- #
56
50
  class Client
57
51
  # @private
58
52
  API_VERSION = ""
@@ -106,6 +100,22 @@ module Google
106
100
 
107
101
  default_config.rpcs.get_cluster_certificate_authority.timeout = 600.0
108
102
 
103
+ default_config.rpcs.reschedule_cluster_maintenance.timeout = 600.0
104
+
105
+ default_config.rpcs.list_backup_collections.timeout = 600.0
106
+
107
+ default_config.rpcs.get_backup_collection.timeout = 600.0
108
+
109
+ default_config.rpcs.list_backups.timeout = 600.0
110
+
111
+ default_config.rpcs.get_backup.timeout = 600.0
112
+
113
+ default_config.rpcs.delete_backup.timeout = 600.0
114
+
115
+ default_config.rpcs.export_backup.timeout = 600.0
116
+
117
+ default_config.rpcs.backup_cluster.timeout = 600.0
118
+
109
119
  default_config
110
120
  end
111
121
  yield @configure if block_given?
@@ -282,10 +292,10 @@ module Google
282
292
  # The `next_page_token` value returned from a previous
283
293
  # [ListClusters][CloudRedis.ListClusters] request, if any.
284
294
  # @yield [result, operation] Access the result along with the TransportOperation object
285
- # @yieldparam result [::Google::Cloud::Redis::Cluster::V1beta1::ListClustersResponse]
295
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Redis::Cluster::V1beta1::Cluster>]
286
296
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
287
297
  #
288
- # @return [::Google::Cloud::Redis::Cluster::V1beta1::ListClustersResponse]
298
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Redis::Cluster::V1beta1::Cluster>]
289
299
  #
290
300
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
291
301
  #
@@ -337,7 +347,9 @@ module Google
337
347
  retry_policy: @config.retry_policy
338
348
 
339
349
  @cloud_redis_cluster_stub.list_clusters request, options do |result, operation|
350
+ result = ::Gapic::Rest::PagedEnumerable.new @cloud_redis_cluster_stub, :list_clusters, "clusters", request, result, options
340
351
  yield result, operation if block_given?
352
+ throw :response, result
341
353
  end
342
354
  rescue ::Gapic::Rest::Error => e
343
355
  raise ::Google::Cloud::Error.from_error(e)
@@ -806,138 +818,884 @@ module Google
806
818
  end
807
819
 
808
820
  ##
809
- # Configuration class for the CloudRedisCluster REST API.
821
+ # Reschedules upcoming maintenance event.
810
822
  #
811
- # This class represents the configuration for CloudRedisCluster REST,
812
- # providing control over timeouts, retry behavior, logging, transport
813
- # parameters, and other low-level controls. Certain parameters can also be
814
- # applied individually to specific RPCs. See
815
- # {::Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client::Configuration::Rpcs}
816
- # for a list of RPCs that can be configured independently.
823
+ # @overload reschedule_cluster_maintenance(request, options = nil)
824
+ # Pass arguments to `reschedule_cluster_maintenance` via a request object, either of type
825
+ # {::Google::Cloud::Redis::Cluster::V1beta1::RescheduleClusterMaintenanceRequest} or an equivalent Hash.
817
826
  #
818
- # Configuration can be applied globally to all clients, or to a single client
819
- # on construction.
827
+ # @param request [::Google::Cloud::Redis::Cluster::V1beta1::RescheduleClusterMaintenanceRequest, ::Hash]
828
+ # A request object representing the call parameters. Required. To specify no
829
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
830
+ # @param options [::Gapic::CallOptions, ::Hash]
831
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
820
832
  #
821
- # @example
833
+ # @overload reschedule_cluster_maintenance(name: nil, reschedule_type: nil, schedule_time: nil)
834
+ # Pass arguments to `reschedule_cluster_maintenance` via keyword arguments. Note that at
835
+ # least one keyword argument is required. To specify no parameters, or to keep all
836
+ # the default parameter values, pass an empty Hash as a request object (see above).
822
837
  #
823
- # # Modify the global config, setting the timeout for
824
- # # list_clusters to 20 seconds,
825
- # # and all remaining timeouts to 10 seconds.
826
- # ::Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.configure do |config|
827
- # config.timeout = 10.0
828
- # config.rpcs.list_clusters.timeout = 20.0
829
- # end
838
+ # @param name [::String]
839
+ # Required. Redis Cluster instance resource name using the form:
840
+ # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
841
+ # where `location_id` refers to a GCP region.
842
+ # @param reschedule_type [::Google::Cloud::Redis::Cluster::V1beta1::RescheduleClusterMaintenanceRequest::RescheduleType]
843
+ # Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as
844
+ # well.
845
+ # @param schedule_time [::Google::Protobuf::Timestamp, ::Hash]
846
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
847
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for
848
+ # example `2012-11-15T16:19:00.094Z`.
849
+ # @yield [result, operation] Access the result along with the TransportOperation object
850
+ # @yieldparam result [::Gapic::Operation]
851
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
830
852
  #
831
- # # Apply the above configuration only to a new client.
832
- # client = ::Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new do |config|
833
- # config.timeout = 10.0
834
- # config.rpcs.list_clusters.timeout = 20.0
835
- # end
853
+ # @return [::Gapic::Operation]
836
854
  #
837
- # @!attribute [rw] endpoint
838
- # A custom service endpoint, as a hostname or hostname:port. The default is
839
- # nil, indicating to use the default endpoint in the current universe domain.
840
- # @return [::String,nil]
841
- # @!attribute [rw] credentials
842
- # Credentials to send with calls. You may provide any of the following types:
843
- # * (`String`) The path to a service account key file in JSON format
844
- # * (`Hash`) A service account key as a Hash
845
- # * (`Google::Auth::Credentials`) A googleauth credentials object
846
- # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
847
- # * (`Signet::OAuth2::Client`) A signet oauth2 client object
848
- # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
849
- # * (`nil`) indicating no credentials
850
- # @return [::Object]
851
- # @!attribute [rw] scope
852
- # The OAuth scopes
853
- # @return [::Array<::String>]
854
- # @!attribute [rw] lib_name
855
- # The library name as recorded in instrumentation and logging
856
- # @return [::String]
857
- # @!attribute [rw] lib_version
858
- # The library version as recorded in instrumentation and logging
859
- # @return [::String]
860
- # @!attribute [rw] timeout
861
- # The call timeout in seconds.
862
- # @return [::Numeric]
863
- # @!attribute [rw] metadata
864
- # Additional headers to be sent with the call.
865
- # @return [::Hash{::Symbol=>::String}]
866
- # @!attribute [rw] retry_policy
867
- # The retry policy. The value is a hash with the following keys:
868
- # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
869
- # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
870
- # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
871
- # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
872
- # trigger a retry.
873
- # @return [::Hash]
874
- # @!attribute [rw] quota_project
875
- # A separate project against which to charge quota.
876
- # @return [::String]
877
- # @!attribute [rw] universe_domain
878
- # The universe domain within which to make requests. This determines the
879
- # default endpoint URL. The default value of nil uses the environment
880
- # universe (usually the default "googleapis.com" universe).
881
- # @return [::String,nil]
882
- # @!attribute [rw] logger
883
- # A custom logger to use for request/response debug logging, or the value
884
- # `:default` (the default) to construct a default logger, or `nil` to
885
- # explicitly disable logging.
886
- # @return [::Logger,:default,nil]
855
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
887
856
  #
888
- class Configuration
889
- extend ::Gapic::Config
857
+ # @example Basic example
858
+ # require "google/cloud/redis/cluster/v1beta1"
859
+ #
860
+ # # Create a client object. The client can be reused for multiple calls.
861
+ # client = Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new
862
+ #
863
+ # # Create a request. To set request fields, pass in keyword arguments.
864
+ # request = Google::Cloud::Redis::Cluster::V1beta1::RescheduleClusterMaintenanceRequest.new
865
+ #
866
+ # # Call the reschedule_cluster_maintenance method.
867
+ # result = client.reschedule_cluster_maintenance request
868
+ #
869
+ # # The returned object is of type Gapic::Operation. You can use it to
870
+ # # check the status of an operation, cancel it, or wait for results.
871
+ # # Here is how to wait for a response.
872
+ # result.wait_until_done! timeout: 60
873
+ # if result.response?
874
+ # p result.response
875
+ # else
876
+ # puts "No response received."
877
+ # end
878
+ #
879
+ def reschedule_cluster_maintenance request, options = nil
880
+ raise ::ArgumentError, "request must be provided" if request.nil?
890
881
 
891
- # @private
892
- # The endpoint specific to the default "googleapis.com" universe. Deprecated.
893
- DEFAULT_ENDPOINT = "redis.googleapis.com"
882
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::Cluster::V1beta1::RescheduleClusterMaintenanceRequest
894
883
 
895
- config_attr :endpoint, nil, ::String, nil
896
- config_attr :credentials, nil do |value|
897
- allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
898
- allowed.any? { |klass| klass === value }
899
- end
900
- config_attr :scope, nil, ::String, ::Array, nil
901
- config_attr :lib_name, nil, ::String, nil
902
- config_attr :lib_version, nil, ::String, nil
903
- config_attr :timeout, nil, ::Numeric, nil
904
- config_attr :metadata, nil, ::Hash, nil
905
- config_attr :retry_policy, nil, ::Hash, ::Proc, nil
906
- config_attr :quota_project, nil, ::String, nil
907
- config_attr :universe_domain, nil, ::String, nil
884
+ # Converts hash and nil to an options object
885
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
908
886
 
909
- # @private
910
- # Overrides for http bindings for the RPCs of this service
911
- # are only used when this service is used as mixin, and only
912
- # by the host service.
913
- # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
914
- config_attr :bindings_override, {}, ::Hash, nil
915
- config_attr :logger, :default, ::Logger, nil, :default
887
+ # Customize the options with defaults
888
+ call_metadata = @config.rpcs.reschedule_cluster_maintenance.metadata.to_h
916
889
 
917
- # @private
918
- def initialize parent_config = nil
919
- @parent_config = parent_config unless parent_config.nil?
890
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
891
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
892
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
893
+ gapic_version: ::Google::Cloud::Redis::Cluster::V1beta1::VERSION,
894
+ transports_version_send: [:rest]
920
895
 
921
- yield self if block_given?
896
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
897
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
898
+
899
+ options.apply_defaults timeout: @config.rpcs.reschedule_cluster_maintenance.timeout,
900
+ metadata: call_metadata,
901
+ retry_policy: @config.rpcs.reschedule_cluster_maintenance.retry_policy
902
+
903
+ options.apply_defaults timeout: @config.timeout,
904
+ metadata: @config.metadata,
905
+ retry_policy: @config.retry_policy
906
+
907
+ @cloud_redis_cluster_stub.reschedule_cluster_maintenance request, options do |result, operation|
908
+ result = ::Gapic::Operation.new result, @operations_client, options: options
909
+ yield result, operation if block_given?
910
+ throw :response, result
922
911
  end
912
+ rescue ::Gapic::Rest::Error => e
913
+ raise ::Google::Cloud::Error.from_error(e)
914
+ end
923
915
 
924
- ##
925
- # Configurations for individual RPCs
926
- # @return [Rpcs]
927
- #
928
- def rpcs
929
- @rpcs ||= begin
930
- parent_rpcs = nil
931
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
932
- Rpcs.new parent_rpcs
933
- end
916
+ ##
917
+ # Lists all backup collections owned by a consumer project in either the
918
+ # specified location (region) or all locations.
919
+ #
920
+ # If `location_id` is specified as `-` (wildcard), then all regions
921
+ # available to the project are queried, and the results are aggregated.
922
+ #
923
+ # @overload list_backup_collections(request, options = nil)
924
+ # Pass arguments to `list_backup_collections` via a request object, either of type
925
+ # {::Google::Cloud::Redis::Cluster::V1beta1::ListBackupCollectionsRequest} or an equivalent Hash.
926
+ #
927
+ # @param request [::Google::Cloud::Redis::Cluster::V1beta1::ListBackupCollectionsRequest, ::Hash]
928
+ # A request object representing the call parameters. Required. To specify no
929
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
930
+ # @param options [::Gapic::CallOptions, ::Hash]
931
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
932
+ #
933
+ # @overload list_backup_collections(parent: nil, page_size: nil, page_token: nil)
934
+ # Pass arguments to `list_backup_collections` via keyword arguments. Note that at
935
+ # least one keyword argument is required. To specify no parameters, or to keep all
936
+ # the default parameter values, pass an empty Hash as a request object (see above).
937
+ #
938
+ # @param parent [::String]
939
+ # Required. The resource name of the backupCollection location using the
940
+ # form:
941
+ # `projects/{project_id}/locations/{location_id}`
942
+ # where `location_id` refers to a GCP region.
943
+ # @param page_size [::Integer]
944
+ # Optional. The maximum number of items to return.
945
+ #
946
+ # If not specified, a default value of 1000 will be used by the service.
947
+ # Regardless of the page_size value, the response may include a partial list
948
+ # and a caller should only rely on response's
949
+ # {::Google::Cloud::Redis::Cluster::V1beta1::ListBackupCollectionsResponse#next_page_token `next_page_token`}
950
+ # to determine if there are more clusters left to be queried.
951
+ # @param page_token [::String]
952
+ # Optional. The `next_page_token` value returned from a previous
953
+ # [ListBackupCollections] request, if any.
954
+ # @yield [result, operation] Access the result along with the TransportOperation object
955
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Redis::Cluster::V1beta1::BackupCollection>]
956
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
957
+ #
958
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Redis::Cluster::V1beta1::BackupCollection>]
959
+ #
960
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
961
+ #
962
+ # @example Basic example
963
+ # require "google/cloud/redis/cluster/v1beta1"
964
+ #
965
+ # # Create a client object. The client can be reused for multiple calls.
966
+ # client = Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new
967
+ #
968
+ # # Create a request. To set request fields, pass in keyword arguments.
969
+ # request = Google::Cloud::Redis::Cluster::V1beta1::ListBackupCollectionsRequest.new
970
+ #
971
+ # # Call the list_backup_collections method.
972
+ # result = client.list_backup_collections request
973
+ #
974
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
975
+ # # over elements, and API calls will be issued to fetch pages as needed.
976
+ # result.each do |item|
977
+ # # Each element is of type ::Google::Cloud::Redis::Cluster::V1beta1::BackupCollection.
978
+ # p item
979
+ # end
980
+ #
981
+ def list_backup_collections request, options = nil
982
+ raise ::ArgumentError, "request must be provided" if request.nil?
983
+
984
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::Cluster::V1beta1::ListBackupCollectionsRequest
985
+
986
+ # Converts hash and nil to an options object
987
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
988
+
989
+ # Customize the options with defaults
990
+ call_metadata = @config.rpcs.list_backup_collections.metadata.to_h
991
+
992
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
993
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
994
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
995
+ gapic_version: ::Google::Cloud::Redis::Cluster::V1beta1::VERSION,
996
+ transports_version_send: [:rest]
997
+
998
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
999
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1000
+
1001
+ options.apply_defaults timeout: @config.rpcs.list_backup_collections.timeout,
1002
+ metadata: call_metadata,
1003
+ retry_policy: @config.rpcs.list_backup_collections.retry_policy
1004
+
1005
+ options.apply_defaults timeout: @config.timeout,
1006
+ metadata: @config.metadata,
1007
+ retry_policy: @config.retry_policy
1008
+
1009
+ @cloud_redis_cluster_stub.list_backup_collections request, options do |result, operation|
1010
+ result = ::Gapic::Rest::PagedEnumerable.new @cloud_redis_cluster_stub, :list_backup_collections, "backup_collections", request, result, options
1011
+ yield result, operation if block_given?
1012
+ throw :response, result
934
1013
  end
1014
+ rescue ::Gapic::Rest::Error => e
1015
+ raise ::Google::Cloud::Error.from_error(e)
1016
+ end
935
1017
 
936
- ##
937
- # Configuration RPC class for the CloudRedisCluster API.
938
- #
939
- # Includes fields providing the configuration for each RPC in this service.
940
- # Each configuration object is of type `Gapic::Config::Method` and includes
1018
+ ##
1019
+ # Get a backup collection.
1020
+ #
1021
+ # @overload get_backup_collection(request, options = nil)
1022
+ # Pass arguments to `get_backup_collection` via a request object, either of type
1023
+ # {::Google::Cloud::Redis::Cluster::V1beta1::GetBackupCollectionRequest} or an equivalent Hash.
1024
+ #
1025
+ # @param request [::Google::Cloud::Redis::Cluster::V1beta1::GetBackupCollectionRequest, ::Hash]
1026
+ # A request object representing the call parameters. Required. To specify no
1027
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1028
+ # @param options [::Gapic::CallOptions, ::Hash]
1029
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1030
+ #
1031
+ # @overload get_backup_collection(name: nil)
1032
+ # Pass arguments to `get_backup_collection` via keyword arguments. Note that at
1033
+ # least one keyword argument is required. To specify no parameters, or to keep all
1034
+ # the default parameter values, pass an empty Hash as a request object (see above).
1035
+ #
1036
+ # @param name [::String]
1037
+ # Required. Redis backupCollection resource name using the form:
1038
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}`
1039
+ # where `location_id` refers to a GCP region.
1040
+ # @yield [result, operation] Access the result along with the TransportOperation object
1041
+ # @yieldparam result [::Google::Cloud::Redis::Cluster::V1beta1::BackupCollection]
1042
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1043
+ #
1044
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::BackupCollection]
1045
+ #
1046
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1047
+ #
1048
+ # @example Basic example
1049
+ # require "google/cloud/redis/cluster/v1beta1"
1050
+ #
1051
+ # # Create a client object. The client can be reused for multiple calls.
1052
+ # client = Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new
1053
+ #
1054
+ # # Create a request. To set request fields, pass in keyword arguments.
1055
+ # request = Google::Cloud::Redis::Cluster::V1beta1::GetBackupCollectionRequest.new
1056
+ #
1057
+ # # Call the get_backup_collection method.
1058
+ # result = client.get_backup_collection request
1059
+ #
1060
+ # # The returned object is of type Google::Cloud::Redis::Cluster::V1beta1::BackupCollection.
1061
+ # p result
1062
+ #
1063
+ def get_backup_collection request, options = nil
1064
+ raise ::ArgumentError, "request must be provided" if request.nil?
1065
+
1066
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::Cluster::V1beta1::GetBackupCollectionRequest
1067
+
1068
+ # Converts hash and nil to an options object
1069
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1070
+
1071
+ # Customize the options with defaults
1072
+ call_metadata = @config.rpcs.get_backup_collection.metadata.to_h
1073
+
1074
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1075
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1076
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1077
+ gapic_version: ::Google::Cloud::Redis::Cluster::V1beta1::VERSION,
1078
+ transports_version_send: [:rest]
1079
+
1080
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1081
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1082
+
1083
+ options.apply_defaults timeout: @config.rpcs.get_backup_collection.timeout,
1084
+ metadata: call_metadata,
1085
+ retry_policy: @config.rpcs.get_backup_collection.retry_policy
1086
+
1087
+ options.apply_defaults timeout: @config.timeout,
1088
+ metadata: @config.metadata,
1089
+ retry_policy: @config.retry_policy
1090
+
1091
+ @cloud_redis_cluster_stub.get_backup_collection request, options do |result, operation|
1092
+ yield result, operation if block_given?
1093
+ end
1094
+ rescue ::Gapic::Rest::Error => e
1095
+ raise ::Google::Cloud::Error.from_error(e)
1096
+ end
1097
+
1098
+ ##
1099
+ # Lists all backups owned by a backup collection.
1100
+ #
1101
+ # @overload list_backups(request, options = nil)
1102
+ # Pass arguments to `list_backups` via a request object, either of type
1103
+ # {::Google::Cloud::Redis::Cluster::V1beta1::ListBackupsRequest} or an equivalent Hash.
1104
+ #
1105
+ # @param request [::Google::Cloud::Redis::Cluster::V1beta1::ListBackupsRequest, ::Hash]
1106
+ # A request object representing the call parameters. Required. To specify no
1107
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1108
+ # @param options [::Gapic::CallOptions, ::Hash]
1109
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1110
+ #
1111
+ # @overload list_backups(parent: nil, page_size: nil, page_token: nil)
1112
+ # Pass arguments to `list_backups` via keyword arguments. Note that at
1113
+ # least one keyword argument is required. To specify no parameters, or to keep all
1114
+ # the default parameter values, pass an empty Hash as a request object (see above).
1115
+ #
1116
+ # @param parent [::String]
1117
+ # Required. The resource name of the backupCollection using the form:
1118
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}`
1119
+ # @param page_size [::Integer]
1120
+ # Optional. The maximum number of items to return.
1121
+ #
1122
+ # If not specified, a default value of 1000 will be used by the service.
1123
+ # Regardless of the page_size value, the response may include a partial list
1124
+ # and a caller should only rely on response's
1125
+ # {::Google::Cloud::Redis::Cluster::V1beta1::ListBackupsResponse#next_page_token `next_page_token`}
1126
+ # to determine if there are more clusters left to be queried.
1127
+ # @param page_token [::String]
1128
+ # Optional. The `next_page_token` value returned from a previous
1129
+ # [ListBackupCollections] request, if any.
1130
+ # @yield [result, operation] Access the result along with the TransportOperation object
1131
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Redis::Cluster::V1beta1::Backup>]
1132
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1133
+ #
1134
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::Redis::Cluster::V1beta1::Backup>]
1135
+ #
1136
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1137
+ #
1138
+ # @example Basic example
1139
+ # require "google/cloud/redis/cluster/v1beta1"
1140
+ #
1141
+ # # Create a client object. The client can be reused for multiple calls.
1142
+ # client = Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new
1143
+ #
1144
+ # # Create a request. To set request fields, pass in keyword arguments.
1145
+ # request = Google::Cloud::Redis::Cluster::V1beta1::ListBackupsRequest.new
1146
+ #
1147
+ # # Call the list_backups method.
1148
+ # result = client.list_backups request
1149
+ #
1150
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1151
+ # # over elements, and API calls will be issued to fetch pages as needed.
1152
+ # result.each do |item|
1153
+ # # Each element is of type ::Google::Cloud::Redis::Cluster::V1beta1::Backup.
1154
+ # p item
1155
+ # end
1156
+ #
1157
+ def list_backups request, options = nil
1158
+ raise ::ArgumentError, "request must be provided" if request.nil?
1159
+
1160
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::Cluster::V1beta1::ListBackupsRequest
1161
+
1162
+ # Converts hash and nil to an options object
1163
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1164
+
1165
+ # Customize the options with defaults
1166
+ call_metadata = @config.rpcs.list_backups.metadata.to_h
1167
+
1168
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1169
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1170
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1171
+ gapic_version: ::Google::Cloud::Redis::Cluster::V1beta1::VERSION,
1172
+ transports_version_send: [:rest]
1173
+
1174
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1175
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1176
+
1177
+ options.apply_defaults timeout: @config.rpcs.list_backups.timeout,
1178
+ metadata: call_metadata,
1179
+ retry_policy: @config.rpcs.list_backups.retry_policy
1180
+
1181
+ options.apply_defaults timeout: @config.timeout,
1182
+ metadata: @config.metadata,
1183
+ retry_policy: @config.retry_policy
1184
+
1185
+ @cloud_redis_cluster_stub.list_backups request, options do |result, operation|
1186
+ result = ::Gapic::Rest::PagedEnumerable.new @cloud_redis_cluster_stub, :list_backups, "backups", request, result, options
1187
+ yield result, operation if block_given?
1188
+ throw :response, result
1189
+ end
1190
+ rescue ::Gapic::Rest::Error => e
1191
+ raise ::Google::Cloud::Error.from_error(e)
1192
+ end
1193
+
1194
+ ##
1195
+ # Gets the details of a specific backup.
1196
+ #
1197
+ # @overload get_backup(request, options = nil)
1198
+ # Pass arguments to `get_backup` via a request object, either of type
1199
+ # {::Google::Cloud::Redis::Cluster::V1beta1::GetBackupRequest} or an equivalent Hash.
1200
+ #
1201
+ # @param request [::Google::Cloud::Redis::Cluster::V1beta1::GetBackupRequest, ::Hash]
1202
+ # A request object representing the call parameters. Required. To specify no
1203
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1204
+ # @param options [::Gapic::CallOptions, ::Hash]
1205
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1206
+ #
1207
+ # @overload get_backup(name: nil)
1208
+ # Pass arguments to `get_backup` via keyword arguments. Note that at
1209
+ # least one keyword argument is required. To specify no parameters, or to keep all
1210
+ # the default parameter values, pass an empty Hash as a request object (see above).
1211
+ #
1212
+ # @param name [::String]
1213
+ # Required. Redis backup resource name using the form:
1214
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`
1215
+ # @yield [result, operation] Access the result along with the TransportOperation object
1216
+ # @yieldparam result [::Google::Cloud::Redis::Cluster::V1beta1::Backup]
1217
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1218
+ #
1219
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::Backup]
1220
+ #
1221
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1222
+ #
1223
+ # @example Basic example
1224
+ # require "google/cloud/redis/cluster/v1beta1"
1225
+ #
1226
+ # # Create a client object. The client can be reused for multiple calls.
1227
+ # client = Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new
1228
+ #
1229
+ # # Create a request. To set request fields, pass in keyword arguments.
1230
+ # request = Google::Cloud::Redis::Cluster::V1beta1::GetBackupRequest.new
1231
+ #
1232
+ # # Call the get_backup method.
1233
+ # result = client.get_backup request
1234
+ #
1235
+ # # The returned object is of type Google::Cloud::Redis::Cluster::V1beta1::Backup.
1236
+ # p result
1237
+ #
1238
+ def get_backup request, options = nil
1239
+ raise ::ArgumentError, "request must be provided" if request.nil?
1240
+
1241
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::Cluster::V1beta1::GetBackupRequest
1242
+
1243
+ # Converts hash and nil to an options object
1244
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1245
+
1246
+ # Customize the options with defaults
1247
+ call_metadata = @config.rpcs.get_backup.metadata.to_h
1248
+
1249
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1250
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1251
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1252
+ gapic_version: ::Google::Cloud::Redis::Cluster::V1beta1::VERSION,
1253
+ transports_version_send: [:rest]
1254
+
1255
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1256
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1257
+
1258
+ options.apply_defaults timeout: @config.rpcs.get_backup.timeout,
1259
+ metadata: call_metadata,
1260
+ retry_policy: @config.rpcs.get_backup.retry_policy
1261
+
1262
+ options.apply_defaults timeout: @config.timeout,
1263
+ metadata: @config.metadata,
1264
+ retry_policy: @config.retry_policy
1265
+
1266
+ @cloud_redis_cluster_stub.get_backup request, options do |result, operation|
1267
+ yield result, operation if block_given?
1268
+ end
1269
+ rescue ::Gapic::Rest::Error => e
1270
+ raise ::Google::Cloud::Error.from_error(e)
1271
+ end
1272
+
1273
+ ##
1274
+ # Deletes a specific backup.
1275
+ #
1276
+ # @overload delete_backup(request, options = nil)
1277
+ # Pass arguments to `delete_backup` via a request object, either of type
1278
+ # {::Google::Cloud::Redis::Cluster::V1beta1::DeleteBackupRequest} or an equivalent Hash.
1279
+ #
1280
+ # @param request [::Google::Cloud::Redis::Cluster::V1beta1::DeleteBackupRequest, ::Hash]
1281
+ # A request object representing the call parameters. Required. To specify no
1282
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1283
+ # @param options [::Gapic::CallOptions, ::Hash]
1284
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1285
+ #
1286
+ # @overload delete_backup(name: nil, request_id: nil)
1287
+ # Pass arguments to `delete_backup` via keyword arguments. Note that at
1288
+ # least one keyword argument is required. To specify no parameters, or to keep all
1289
+ # the default parameter values, pass an empty Hash as a request object (see above).
1290
+ #
1291
+ # @param name [::String]
1292
+ # Required. Redis backup resource name using the form:
1293
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`
1294
+ # @param request_id [::String]
1295
+ # Optional. Idempotent request UUID.
1296
+ # @yield [result, operation] Access the result along with the TransportOperation object
1297
+ # @yieldparam result [::Gapic::Operation]
1298
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1299
+ #
1300
+ # @return [::Gapic::Operation]
1301
+ #
1302
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1303
+ #
1304
+ # @example Basic example
1305
+ # require "google/cloud/redis/cluster/v1beta1"
1306
+ #
1307
+ # # Create a client object. The client can be reused for multiple calls.
1308
+ # client = Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new
1309
+ #
1310
+ # # Create a request. To set request fields, pass in keyword arguments.
1311
+ # request = Google::Cloud::Redis::Cluster::V1beta1::DeleteBackupRequest.new
1312
+ #
1313
+ # # Call the delete_backup method.
1314
+ # result = client.delete_backup request
1315
+ #
1316
+ # # The returned object is of type Gapic::Operation. You can use it to
1317
+ # # check the status of an operation, cancel it, or wait for results.
1318
+ # # Here is how to wait for a response.
1319
+ # result.wait_until_done! timeout: 60
1320
+ # if result.response?
1321
+ # p result.response
1322
+ # else
1323
+ # puts "No response received."
1324
+ # end
1325
+ #
1326
+ def delete_backup request, options = nil
1327
+ raise ::ArgumentError, "request must be provided" if request.nil?
1328
+
1329
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::Cluster::V1beta1::DeleteBackupRequest
1330
+
1331
+ # Converts hash and nil to an options object
1332
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1333
+
1334
+ # Customize the options with defaults
1335
+ call_metadata = @config.rpcs.delete_backup.metadata.to_h
1336
+
1337
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1338
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1339
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1340
+ gapic_version: ::Google::Cloud::Redis::Cluster::V1beta1::VERSION,
1341
+ transports_version_send: [:rest]
1342
+
1343
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1344
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1345
+
1346
+ options.apply_defaults timeout: @config.rpcs.delete_backup.timeout,
1347
+ metadata: call_metadata,
1348
+ retry_policy: @config.rpcs.delete_backup.retry_policy
1349
+
1350
+ options.apply_defaults timeout: @config.timeout,
1351
+ metadata: @config.metadata,
1352
+ retry_policy: @config.retry_policy
1353
+
1354
+ @cloud_redis_cluster_stub.delete_backup request, options do |result, operation|
1355
+ result = ::Gapic::Operation.new result, @operations_client, options: options
1356
+ yield result, operation if block_given?
1357
+ throw :response, result
1358
+ end
1359
+ rescue ::Gapic::Rest::Error => e
1360
+ raise ::Google::Cloud::Error.from_error(e)
1361
+ end
1362
+
1363
+ ##
1364
+ # Exports a specific backup to a customer target Cloud Storage URI.
1365
+ #
1366
+ # @overload export_backup(request, options = nil)
1367
+ # Pass arguments to `export_backup` via a request object, either of type
1368
+ # {::Google::Cloud::Redis::Cluster::V1beta1::ExportBackupRequest} or an equivalent Hash.
1369
+ #
1370
+ # @param request [::Google::Cloud::Redis::Cluster::V1beta1::ExportBackupRequest, ::Hash]
1371
+ # A request object representing the call parameters. Required. To specify no
1372
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1373
+ # @param options [::Gapic::CallOptions, ::Hash]
1374
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1375
+ #
1376
+ # @overload export_backup(gcs_bucket: nil, name: nil)
1377
+ # Pass arguments to `export_backup` via keyword arguments. Note that at
1378
+ # least one keyword argument is required. To specify no parameters, or to keep all
1379
+ # the default parameter values, pass an empty Hash as a request object (see above).
1380
+ #
1381
+ # @param gcs_bucket [::String]
1382
+ # Google Cloud Storage bucket, like "my-bucket".
1383
+ # @param name [::String]
1384
+ # Required. Redis backup resource name using the form:
1385
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`
1386
+ # @yield [result, operation] Access the result along with the TransportOperation object
1387
+ # @yieldparam result [::Gapic::Operation]
1388
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1389
+ #
1390
+ # @return [::Gapic::Operation]
1391
+ #
1392
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1393
+ #
1394
+ # @example Basic example
1395
+ # require "google/cloud/redis/cluster/v1beta1"
1396
+ #
1397
+ # # Create a client object. The client can be reused for multiple calls.
1398
+ # client = Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new
1399
+ #
1400
+ # # Create a request. To set request fields, pass in keyword arguments.
1401
+ # request = Google::Cloud::Redis::Cluster::V1beta1::ExportBackupRequest.new
1402
+ #
1403
+ # # Call the export_backup method.
1404
+ # result = client.export_backup request
1405
+ #
1406
+ # # The returned object is of type Gapic::Operation. You can use it to
1407
+ # # check the status of an operation, cancel it, or wait for results.
1408
+ # # Here is how to wait for a response.
1409
+ # result.wait_until_done! timeout: 60
1410
+ # if result.response?
1411
+ # p result.response
1412
+ # else
1413
+ # puts "No response received."
1414
+ # end
1415
+ #
1416
+ def export_backup request, options = nil
1417
+ raise ::ArgumentError, "request must be provided" if request.nil?
1418
+
1419
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::Cluster::V1beta1::ExportBackupRequest
1420
+
1421
+ # Converts hash and nil to an options object
1422
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1423
+
1424
+ # Customize the options with defaults
1425
+ call_metadata = @config.rpcs.export_backup.metadata.to_h
1426
+
1427
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1428
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1429
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1430
+ gapic_version: ::Google::Cloud::Redis::Cluster::V1beta1::VERSION,
1431
+ transports_version_send: [:rest]
1432
+
1433
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1434
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1435
+
1436
+ options.apply_defaults timeout: @config.rpcs.export_backup.timeout,
1437
+ metadata: call_metadata,
1438
+ retry_policy: @config.rpcs.export_backup.retry_policy
1439
+
1440
+ options.apply_defaults timeout: @config.timeout,
1441
+ metadata: @config.metadata,
1442
+ retry_policy: @config.retry_policy
1443
+
1444
+ @cloud_redis_cluster_stub.export_backup request, options do |result, operation|
1445
+ result = ::Gapic::Operation.new result, @operations_client, options: options
1446
+ yield result, operation if block_given?
1447
+ throw :response, result
1448
+ end
1449
+ rescue ::Gapic::Rest::Error => e
1450
+ raise ::Google::Cloud::Error.from_error(e)
1451
+ end
1452
+
1453
+ ##
1454
+ # Backup Redis Cluster.
1455
+ # If this is the first time a backup is being created, a backup collection
1456
+ # will be created at the backend, and this backup belongs to this collection.
1457
+ # Both collection and backup will have a resource name. Backup will be
1458
+ # executed for each shard. A replica (primary if nonHA) will be selected to
1459
+ # perform the execution. Backup call will be rejected if there is an ongoing
1460
+ # backup or update operation. Be aware that during preview, if the cluster's
1461
+ # internal software version is too old, critical update will be performed
1462
+ # before actual backup. Once the internal software version is updated to the
1463
+ # minimum version required by the backup feature, subsequent backups will not
1464
+ # require critical update. After preview, there will be no critical update
1465
+ # needed for backup.
1466
+ #
1467
+ # @overload backup_cluster(request, options = nil)
1468
+ # Pass arguments to `backup_cluster` via a request object, either of type
1469
+ # {::Google::Cloud::Redis::Cluster::V1beta1::BackupClusterRequest} or an equivalent Hash.
1470
+ #
1471
+ # @param request [::Google::Cloud::Redis::Cluster::V1beta1::BackupClusterRequest, ::Hash]
1472
+ # A request object representing the call parameters. Required. To specify no
1473
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1474
+ # @param options [::Gapic::CallOptions, ::Hash]
1475
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1476
+ #
1477
+ # @overload backup_cluster(name: nil, ttl: nil, backup_id: nil)
1478
+ # Pass arguments to `backup_cluster` via keyword arguments. Note that at
1479
+ # least one keyword argument is required. To specify no parameters, or to keep all
1480
+ # the default parameter values, pass an empty Hash as a request object (see above).
1481
+ #
1482
+ # @param name [::String]
1483
+ # Required. Redis cluster resource name using the form:
1484
+ # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
1485
+ # where `location_id` refers to a GCP region.
1486
+ # @param ttl [::Google::Protobuf::Duration, ::Hash]
1487
+ # Optional. TTL for the backup to expire. Value range is 1 day to 100 years.
1488
+ # If not specified, the default value is 100 years.
1489
+ # @param backup_id [::String]
1490
+ # Optional. The id of the backup to be created. If not specified, the
1491
+ # default value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used.
1492
+ # @yield [result, operation] Access the result along with the TransportOperation object
1493
+ # @yieldparam result [::Gapic::Operation]
1494
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1495
+ #
1496
+ # @return [::Gapic::Operation]
1497
+ #
1498
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1499
+ #
1500
+ # @example Basic example
1501
+ # require "google/cloud/redis/cluster/v1beta1"
1502
+ #
1503
+ # # Create a client object. The client can be reused for multiple calls.
1504
+ # client = Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new
1505
+ #
1506
+ # # Create a request. To set request fields, pass in keyword arguments.
1507
+ # request = Google::Cloud::Redis::Cluster::V1beta1::BackupClusterRequest.new
1508
+ #
1509
+ # # Call the backup_cluster method.
1510
+ # result = client.backup_cluster request
1511
+ #
1512
+ # # The returned object is of type Gapic::Operation. You can use it to
1513
+ # # check the status of an operation, cancel it, or wait for results.
1514
+ # # Here is how to wait for a response.
1515
+ # result.wait_until_done! timeout: 60
1516
+ # if result.response?
1517
+ # p result.response
1518
+ # else
1519
+ # puts "No response received."
1520
+ # end
1521
+ #
1522
+ def backup_cluster request, options = nil
1523
+ raise ::ArgumentError, "request must be provided" if request.nil?
1524
+
1525
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Redis::Cluster::V1beta1::BackupClusterRequest
1526
+
1527
+ # Converts hash and nil to an options object
1528
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1529
+
1530
+ # Customize the options with defaults
1531
+ call_metadata = @config.rpcs.backup_cluster.metadata.to_h
1532
+
1533
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1534
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1535
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1536
+ gapic_version: ::Google::Cloud::Redis::Cluster::V1beta1::VERSION,
1537
+ transports_version_send: [:rest]
1538
+
1539
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1540
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1541
+
1542
+ options.apply_defaults timeout: @config.rpcs.backup_cluster.timeout,
1543
+ metadata: call_metadata,
1544
+ retry_policy: @config.rpcs.backup_cluster.retry_policy
1545
+
1546
+ options.apply_defaults timeout: @config.timeout,
1547
+ metadata: @config.metadata,
1548
+ retry_policy: @config.retry_policy
1549
+
1550
+ @cloud_redis_cluster_stub.backup_cluster request, options do |result, operation|
1551
+ result = ::Gapic::Operation.new result, @operations_client, options: options
1552
+ yield result, operation if block_given?
1553
+ throw :response, result
1554
+ end
1555
+ rescue ::Gapic::Rest::Error => e
1556
+ raise ::Google::Cloud::Error.from_error(e)
1557
+ end
1558
+
1559
+ ##
1560
+ # Configuration class for the CloudRedisCluster REST API.
1561
+ #
1562
+ # This class represents the configuration for CloudRedisCluster REST,
1563
+ # providing control over timeouts, retry behavior, logging, transport
1564
+ # parameters, and other low-level controls. Certain parameters can also be
1565
+ # applied individually to specific RPCs. See
1566
+ # {::Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client::Configuration::Rpcs}
1567
+ # for a list of RPCs that can be configured independently.
1568
+ #
1569
+ # Configuration can be applied globally to all clients, or to a single client
1570
+ # on construction.
1571
+ #
1572
+ # @example
1573
+ #
1574
+ # # Modify the global config, setting the timeout for
1575
+ # # list_clusters to 20 seconds,
1576
+ # # and all remaining timeouts to 10 seconds.
1577
+ # ::Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.configure do |config|
1578
+ # config.timeout = 10.0
1579
+ # config.rpcs.list_clusters.timeout = 20.0
1580
+ # end
1581
+ #
1582
+ # # Apply the above configuration only to a new client.
1583
+ # client = ::Google::Cloud::Redis::Cluster::V1beta1::CloudRedisCluster::Rest::Client.new do |config|
1584
+ # config.timeout = 10.0
1585
+ # config.rpcs.list_clusters.timeout = 20.0
1586
+ # end
1587
+ #
1588
+ # @!attribute [rw] endpoint
1589
+ # A custom service endpoint, as a hostname or hostname:port. The default is
1590
+ # nil, indicating to use the default endpoint in the current universe domain.
1591
+ # @return [::String,nil]
1592
+ # @!attribute [rw] credentials
1593
+ # Credentials to send with calls. You may provide any of the following types:
1594
+ # * (`String`) The path to a service account key file in JSON format
1595
+ # * (`Hash`) A service account key as a Hash
1596
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
1597
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
1598
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1599
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
1600
+ # * (`nil`) indicating no credentials
1601
+ #
1602
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
1603
+ # external source for authentication to Google Cloud, you must validate it before
1604
+ # providing it to a Google API client library. Providing an unvalidated credential
1605
+ # configuration to Google APIs can compromise the security of your systems and data.
1606
+ # For more information, refer to [Validate credential configurations from external
1607
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
1608
+ # @return [::Object]
1609
+ # @!attribute [rw] scope
1610
+ # The OAuth scopes
1611
+ # @return [::Array<::String>]
1612
+ # @!attribute [rw] lib_name
1613
+ # The library name as recorded in instrumentation and logging
1614
+ # @return [::String]
1615
+ # @!attribute [rw] lib_version
1616
+ # The library version as recorded in instrumentation and logging
1617
+ # @return [::String]
1618
+ # @!attribute [rw] timeout
1619
+ # The call timeout in seconds.
1620
+ # @return [::Numeric]
1621
+ # @!attribute [rw] metadata
1622
+ # Additional headers to be sent with the call.
1623
+ # @return [::Hash{::Symbol=>::String}]
1624
+ # @!attribute [rw] retry_policy
1625
+ # The retry policy. The value is a hash with the following keys:
1626
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1627
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1628
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1629
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1630
+ # trigger a retry.
1631
+ # @return [::Hash]
1632
+ # @!attribute [rw] quota_project
1633
+ # A separate project against which to charge quota.
1634
+ # @return [::String]
1635
+ # @!attribute [rw] universe_domain
1636
+ # The universe domain within which to make requests. This determines the
1637
+ # default endpoint URL. The default value of nil uses the environment
1638
+ # universe (usually the default "googleapis.com" universe).
1639
+ # @return [::String,nil]
1640
+ # @!attribute [rw] logger
1641
+ # A custom logger to use for request/response debug logging, or the value
1642
+ # `:default` (the default) to construct a default logger, or `nil` to
1643
+ # explicitly disable logging.
1644
+ # @return [::Logger,:default,nil]
1645
+ #
1646
+ class Configuration
1647
+ extend ::Gapic::Config
1648
+
1649
+ # @private
1650
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1651
+ DEFAULT_ENDPOINT = "redis.googleapis.com"
1652
+
1653
+ config_attr :endpoint, nil, ::String, nil
1654
+ config_attr :credentials, nil do |value|
1655
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1656
+ allowed.any? { |klass| klass === value }
1657
+ end
1658
+ config_attr :scope, nil, ::String, ::Array, nil
1659
+ config_attr :lib_name, nil, ::String, nil
1660
+ config_attr :lib_version, nil, ::String, nil
1661
+ config_attr :timeout, nil, ::Numeric, nil
1662
+ config_attr :metadata, nil, ::Hash, nil
1663
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1664
+ config_attr :quota_project, nil, ::String, nil
1665
+ config_attr :universe_domain, nil, ::String, nil
1666
+
1667
+ # @private
1668
+ # Overrides for http bindings for the RPCs of this service
1669
+ # are only used when this service is used as mixin, and only
1670
+ # by the host service.
1671
+ # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
1672
+ config_attr :bindings_override, {}, ::Hash, nil
1673
+ config_attr :logger, :default, ::Logger, nil, :default
1674
+
1675
+ # @private
1676
+ def initialize parent_config = nil
1677
+ @parent_config = parent_config unless parent_config.nil?
1678
+
1679
+ yield self if block_given?
1680
+ end
1681
+
1682
+ ##
1683
+ # Configurations for individual RPCs
1684
+ # @return [Rpcs]
1685
+ #
1686
+ def rpcs
1687
+ @rpcs ||= begin
1688
+ parent_rpcs = nil
1689
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
1690
+ Rpcs.new parent_rpcs
1691
+ end
1692
+ end
1693
+
1694
+ ##
1695
+ # Configuration RPC class for the CloudRedisCluster API.
1696
+ #
1697
+ # Includes fields providing the configuration for each RPC in this service.
1698
+ # Each configuration object is of type `Gapic::Config::Method` and includes
941
1699
  # the following configuration fields:
942
1700
  #
943
1701
  # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
@@ -981,6 +1739,46 @@ module Google
981
1739
  # @return [::Gapic::Config::Method]
982
1740
  #
983
1741
  attr_reader :get_cluster_certificate_authority
1742
+ ##
1743
+ # RPC-specific configuration for `reschedule_cluster_maintenance`
1744
+ # @return [::Gapic::Config::Method]
1745
+ #
1746
+ attr_reader :reschedule_cluster_maintenance
1747
+ ##
1748
+ # RPC-specific configuration for `list_backup_collections`
1749
+ # @return [::Gapic::Config::Method]
1750
+ #
1751
+ attr_reader :list_backup_collections
1752
+ ##
1753
+ # RPC-specific configuration for `get_backup_collection`
1754
+ # @return [::Gapic::Config::Method]
1755
+ #
1756
+ attr_reader :get_backup_collection
1757
+ ##
1758
+ # RPC-specific configuration for `list_backups`
1759
+ # @return [::Gapic::Config::Method]
1760
+ #
1761
+ attr_reader :list_backups
1762
+ ##
1763
+ # RPC-specific configuration for `get_backup`
1764
+ # @return [::Gapic::Config::Method]
1765
+ #
1766
+ attr_reader :get_backup
1767
+ ##
1768
+ # RPC-specific configuration for `delete_backup`
1769
+ # @return [::Gapic::Config::Method]
1770
+ #
1771
+ attr_reader :delete_backup
1772
+ ##
1773
+ # RPC-specific configuration for `export_backup`
1774
+ # @return [::Gapic::Config::Method]
1775
+ #
1776
+ attr_reader :export_backup
1777
+ ##
1778
+ # RPC-specific configuration for `backup_cluster`
1779
+ # @return [::Gapic::Config::Method]
1780
+ #
1781
+ attr_reader :backup_cluster
984
1782
 
985
1783
  # @private
986
1784
  def initialize parent_rpcs = nil
@@ -996,6 +1794,22 @@ module Google
996
1794
  @create_cluster = ::Gapic::Config::Method.new create_cluster_config
997
1795
  get_cluster_certificate_authority_config = parent_rpcs.get_cluster_certificate_authority if parent_rpcs.respond_to? :get_cluster_certificate_authority
998
1796
  @get_cluster_certificate_authority = ::Gapic::Config::Method.new get_cluster_certificate_authority_config
1797
+ reschedule_cluster_maintenance_config = parent_rpcs.reschedule_cluster_maintenance if parent_rpcs.respond_to? :reschedule_cluster_maintenance
1798
+ @reschedule_cluster_maintenance = ::Gapic::Config::Method.new reschedule_cluster_maintenance_config
1799
+ list_backup_collections_config = parent_rpcs.list_backup_collections if parent_rpcs.respond_to? :list_backup_collections
1800
+ @list_backup_collections = ::Gapic::Config::Method.new list_backup_collections_config
1801
+ get_backup_collection_config = parent_rpcs.get_backup_collection if parent_rpcs.respond_to? :get_backup_collection
1802
+ @get_backup_collection = ::Gapic::Config::Method.new get_backup_collection_config
1803
+ list_backups_config = parent_rpcs.list_backups if parent_rpcs.respond_to? :list_backups
1804
+ @list_backups = ::Gapic::Config::Method.new list_backups_config
1805
+ get_backup_config = parent_rpcs.get_backup if parent_rpcs.respond_to? :get_backup
1806
+ @get_backup = ::Gapic::Config::Method.new get_backup_config
1807
+ delete_backup_config = parent_rpcs.delete_backup if parent_rpcs.respond_to? :delete_backup
1808
+ @delete_backup = ::Gapic::Config::Method.new delete_backup_config
1809
+ export_backup_config = parent_rpcs.export_backup if parent_rpcs.respond_to? :export_backup
1810
+ @export_backup = ::Gapic::Config::Method.new export_backup_config
1811
+ backup_cluster_config = parent_rpcs.backup_cluster if parent_rpcs.respond_to? :backup_cluster
1812
+ @backup_cluster = ::Gapic::Config::Method.new backup_cluster_config
999
1813
 
1000
1814
  yield self if block_given?
1001
1815
  end