diff --git a/google-cloud-memorystore-v1/.owlbot-manifest.json b/google-cloud-memorystore-v1/.owlbot-manifest.json index 3f4032aeb838..8394ae1fe412 100644 --- a/google-cloud-memorystore-v1/.owlbot-manifest.json +++ b/google-cloud-memorystore-v1/.owlbot-manifest.json @@ -53,6 +53,7 @@ "snippets/memorystore/get_backup_collection.rb", "snippets/memorystore/get_certificate_authority.rb", "snippets/memorystore/get_instance.rb", + "snippets/memorystore/get_shared_regional_certificate_authority.rb", "snippets/memorystore/list_backup_collections.rb", "snippets/memorystore/list_backups.rb", "snippets/memorystore/list_instances.rb", diff --git a/google-cloud-memorystore-v1/gapic_metadata.json b/google-cloud-memorystore-v1/gapic_metadata.json index 3add7a73384b..87d428ba0d71 100644 --- a/google-cloud-memorystore-v1/gapic_metadata.json +++ b/google-cloud-memorystore-v1/gapic_metadata.json @@ -40,6 +40,11 @@ "get_certificate_authority" ] }, + "GetSharedRegionalCertificateAuthority": { + "methods": [ + "get_shared_regional_certificate_authority" + ] + }, "RescheduleMaintenance": { "methods": [ "reschedule_maintenance" diff --git a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/paths.rb b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/paths.rb index 7a32d42511a1..9776e8fde7ee 100644 --- a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/paths.rb +++ b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/paths.rb @@ -64,6 +64,25 @@ def backup_collection_path project:, location:, backup_collection: "projects/#{project}/locations/#{location}/backupCollections/#{backup_collection}" end + ## + # Create a fully-qualified CaPool resource string. + # + # The resource will be in the following format: + # + # `projects/{project}/locations/{location}/caPools/{ca_pool}` + # + # @param project [String] + # @param location [String] + # @param ca_pool [String] + # + # @return [::String] + def ca_pool_path project:, location:, ca_pool: + raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" + raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/" + + "projects/#{project}/locations/#{location}/caPools/#{ca_pool}" + end + ## # Create a fully-qualified CryptoKey resource string. # @@ -199,6 +218,23 @@ def service_attachment_path project:, region:, service_attachment: "projects/#{project}/regions/#{region}/serviceAttachments/#{service_attachment}" end + ## + # Create a fully-qualified SharedRegionalCertificateAuthority resource string. + # + # The resource will be in the following format: + # + # `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority` + # + # @param project [String] + # @param location [String] + # + # @return [::String] + def shared_regional_certificate_authority_path project:, location: + raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" + + "projects/#{project}/locations/#{location}/sharedRegionalCertificateAuthority" + end + extend self end end diff --git a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/rest/client.rb b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/rest/client.rb index 20f6c2799810..9caa64d3cc22 100644 --- a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/rest/client.rb +++ b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/rest/client.rb @@ -803,6 +803,87 @@ def get_certificate_authority request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Gets the details of shared regional certificate authority information for + # Memorystore instance. + # + # @overload get_shared_regional_certificate_authority(request, options = nil) + # Pass arguments to `get_shared_regional_certificate_authority` via a request object, either of type + # {::Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @overload get_shared_regional_certificate_authority(name: nil) + # Pass arguments to `get_shared_regional_certificate_authority` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # Required. Regional certificate authority resource name using the form: + # `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority` + # where `location_id` refers to a Google Cloud region. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/memorystore/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Memorystore::V1::Memorystore::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest.new + # + # # Call the get_shared_regional_certificate_authority method. + # result = client.get_shared_regional_certificate_authority request + # + # # The returned object is of type Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority. + # p result + # + def get_shared_regional_certificate_authority request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + call_metadata = @config.rpcs.get_shared_regional_certificate_authority.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::Memorystore::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.get_shared_regional_certificate_authority.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.get_shared_regional_certificate_authority.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @memorystore_stub.get_shared_regional_certificate_authority request, options do |result, operation| + yield result, operation if block_given? + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + ## # Reschedules upcoming maintenance event. # @@ -1724,6 +1805,11 @@ class Rpcs # attr_reader :get_certificate_authority ## + # RPC-specific configuration for `get_shared_regional_certificate_authority` + # @return [::Gapic::Config::Method] + # + attr_reader :get_shared_regional_certificate_authority + ## # RPC-specific configuration for `reschedule_maintenance` # @return [::Gapic::Config::Method] # @@ -1778,6 +1864,8 @@ def initialize parent_rpcs = nil @delete_instance = ::Gapic::Config::Method.new delete_instance_config get_certificate_authority_config = parent_rpcs.get_certificate_authority if parent_rpcs.respond_to? :get_certificate_authority @get_certificate_authority = ::Gapic::Config::Method.new get_certificate_authority_config + get_shared_regional_certificate_authority_config = parent_rpcs.get_shared_regional_certificate_authority if parent_rpcs.respond_to? :get_shared_regional_certificate_authority + @get_shared_regional_certificate_authority = ::Gapic::Config::Method.new get_shared_regional_certificate_authority_config reschedule_maintenance_config = parent_rpcs.reschedule_maintenance if parent_rpcs.respond_to? :reschedule_maintenance @reschedule_maintenance = ::Gapic::Config::Method.new reschedule_maintenance_config list_backup_collections_config = parent_rpcs.list_backup_collections if parent_rpcs.respond_to? :list_backup_collections diff --git a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/rest/service_stub.rb b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/rest/service_stub.rb index 831781ae4540..701601072960 100644 --- a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/rest/service_stub.rb +++ b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore/rest/service_stub.rb @@ -313,6 +313,46 @@ def get_certificate_authority request_pb, options = nil end end + ## + # Baseline implementation for the get_shared_regional_certificate_authority REST call + # + # @param request_pb [::Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest] + # A request object representing the call parameters. Required. + # @param options [::Gapic::CallOptions] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority] + # A result object deserialized from the server's reply + def get_shared_regional_certificate_authority request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_get_shared_regional_certificate_authority_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split "=", 2 } + else + {} + end + + response = @client_stub.make_http_request( + verb, + uri: uri, + body: body || "", + params: query_string_params, + method_name: "get_shared_regional_certificate_authority", + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority.decode_json response.body, ignore_unknown_fields: true + catch :response do + yield result, operation if block_given? + result + end + end + ## # Baseline implementation for the reschedule_maintenance REST call # @@ -761,6 +801,27 @@ def self.transcode_get_certificate_authority_request request_pb transcoder.transcode request_pb end + ## + # @private + # + # GRPC transcoding helper method for the get_shared_regional_certificate_authority REST call + # + # @param request_pb [::Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def self.transcode_get_shared_regional_certificate_authority_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :get, + uri_template: "/v1/{name}", + matches: [ + ["name", %r{^projects/[^/]+/locations/[^/]+/sharedRegionalCertificateAuthority/?$}, false] + ] + ) + transcoder.transcode request_pb + end + ## # @private # diff --git a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore_pb.rb b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore_pb.rb index e3f81980b870..e556abc53ee6 100644 --- a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore_pb.rb +++ b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore_pb.rb @@ -18,7 +18,7 @@ require 'google/type/timeofday_pb' -descriptor_data = "\n-google/cloud/memorystore/v1/memorystore.proto\x12\x1bgoogle.cloud.memorystore.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/type/dayofweek.proto\x1a\x1bgoogle/type/timeofday.proto\"\xa7#\n\x08Instance\x12S\n\ngcs_source\x18\x17 \x01(\x0b\x32\x35.google.cloud.memorystore.v1.Instance.GcsBackupSourceB\x06\xe0\x41\x01\xe0\x41\x05H\x00\x12\x62\n\x15managed_backup_source\x18\x18 \x01(\x0b\x32\x39.google.cloud.memorystore.v1.Instance.ManagedBackupSourceB\x06\xe0\x41\x01\xe0\x41\x05H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x06labels\x18\x04 \x03(\x0b\x32\x31.google.cloud.memorystore.v1.Instance.LabelsEntryB\x03\xe0\x41\x01\x12?\n\x05state\x18\x05 \x01(\x0e\x32+.google.cloud.memorystore.v1.Instance.StateB\x03\xe0\x41\x03\x12H\n\nstate_info\x18\x06 \x01(\x0b\x32/.google.cloud.memorystore.v1.Instance.StateInfoB\x03\xe0\x41\x03\x12\x18\n\x03uid\x18\x07 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x1f\n\rreplica_count\x18\x08 \x01(\x05\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12[\n\x12\x61uthorization_mode\x18\t \x01(\x0e\x32\x37.google.cloud.memorystore.v1.Instance.AuthorizationModeB\x06\xe0\x41\x01\xe0\x41\x05\x12\x64\n\x17transit_encryption_mode\x18\n \x01(\x0e\x32;.google.cloud.memorystore.v1.Instance.TransitEncryptionModeB\x06\xe0\x41\x01\xe0\x41\x05\x12\x18\n\x0bshard_count\x18\x0b \x01(\x05\x42\x03\xe0\x41\x01\x12R\n\x13\x64iscovery_endpoints\x18\x0c \x03(\x0b\x32..google.cloud.memorystore.v1.DiscoveryEndpointB\x05\x18\x01\xe0\x41\x03\x12\x46\n\tnode_type\x18\r \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x01\x12O\n\x12persistence_config\x18\x0e \x01(\x0b\x32..google.cloud.memorystore.v1.PersistenceConfigB\x03\xe0\x41\x01\x12\x1b\n\x0e\x65ngine_version\x18\x0f \x01(\tB\x03\xe0\x41\x01\x12U\n\x0e\x65ngine_configs\x18\x10 \x03(\x0b\x32\x38.google.cloud.memorystore.v1.Instance.EngineConfigsEntryB\x03\xe0\x41\x01\x12\x41\n\x0bnode_config\x18\x11 \x01(\x0b\x32\'.google.cloud.memorystore.v1.NodeConfigB\x03\xe0\x41\x03\x12]\n\x18zone_distribution_config\x18\x12 \x01(\x0b\x32\x33.google.cloud.memorystore.v1.ZoneDistributionConfigB\x06\xe0\x41\x01\xe0\x41\x05\x12-\n\x1b\x64\x65letion_protection_enabled\x18\x13 \x01(\x08\x42\x03\xe0\x41\x01H\x02\x88\x01\x01\x12V\n\x14psc_auto_connections\x18\x14 \x03(\x0b\x32..google.cloud.memorystore.v1.PscAutoConnectionB\x08\x18\x01\xe0\x41\x01\xe0\x41\x05\x12U\n\x16psc_attachment_details\x18\x15 \x03(\x0b\x32\x30.google.cloud.memorystore.v1.PscAttachmentDetailB\x03\xe0\x41\x03\x12N\n\tendpoints\x18\x19 \x03(\x0b\x32\x36.google.cloud.memorystore.v1.Instance.InstanceEndpointB\x03\xe0\x41\x01\x12=\n\x04mode\x18\x1a \x01(\x0e\x32*.google.cloud.memorystore.v1.Instance.ModeB\x03\xe0\x41\x01\x12/\n\x1asimulate_maintenance_event\x18\x1b \x01(\x08\x42\x06\xe0\x41\x01\xe0\x41\x04H\x03\x88\x01\x01\x12+\n\x14ondemand_maintenance\x18\x1c \x01(\x08\x42\x08\x18\x01\xe0\x41\x01\xe0\x41\x04H\x04\x88\x01\x01\x12\"\n\rsatisfies_pzs\x18\x1d \x01(\x08\x42\x06\xe0\x41\x03\xe0\x41\x01H\x05\x88\x01\x01\x12\"\n\rsatisfies_pzi\x18\x1e \x01(\x08\x42\x06\xe0\x41\x03\xe0\x41\x01H\x06\x88\x01\x01\x12O\n\x12maintenance_policy\x18\x1f \x01(\x0b\x32..google.cloud.memorystore.v1.MaintenancePolicyB\x03\xe0\x41\x01\x12S\n\x14maintenance_schedule\x18 \x01(\x0b\x32\x30.google.cloud.memorystore.v1.MaintenanceScheduleB\x03\xe0\x41\x03\x12k\n!cross_instance_replication_config\x18! \x01(\x0b\x32;.google.cloud.memorystore.v1.CrossInstanceReplicationConfigB\x03\xe0\x41\x01\x12;\n)async_instance_endpoints_deletion_enabled\x18, \x01(\x08\x42\x03\xe0\x41\x01H\x07\x88\x01\x01\x12?\n\x07kms_key\x18- \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKeyH\x08\x88\x01\x01\x12I\n\x0f\x65ncryption_info\x18. \x01(\x0b\x32+.google.cloud.memorystore.v1.EncryptionInfoB\x03\xe0\x41\x03\x12S\n\x11\x62\x61\x63kup_collection\x18/ \x01(\tB3\xe0\x41\x03\xfa\x41-\n+memorystore.googleapis.com/BackupCollectionH\t\x88\x01\x01\x12X\n\x17\x61utomated_backup_config\x18\x30 \x01(\x0b\x32\x32.google.cloud.memorystore.v1.AutomatedBackupConfigB\x03\xe0\x41\x01\x12%\n\x13maintenance_version\x18\x31 \x01(\tB\x03\xe0\x41\x01H\n\x88\x01\x01\x12/\n\x1d\x65\x66\x66\x65\x63tive_maintenance_version\x18\x32 \x01(\tB\x03\xe0\x41\x03H\x0b\x88\x01\x01\x12+\n\x1e\x61vailable_maintenance_versions\x18\x33 \x03(\tB\x03\xe0\x41\x03\x12.\n\x1c\x61llow_fewer_zones_deployment\x18\x36 \x01(\x08\x42\x08\x18\x01\xe0\x41\x01\xe0\x41\x05\x1a\xa4\x03\n\tStateInfo\x12V\n\x0bupdate_info\x18\x01 \x01(\x0b\x32:.google.cloud.memorystore.v1.Instance.StateInfo.UpdateInfoB\x03\xe0\x41\x03H\x00\x1a\xb6\x02\n\nUpdateInfo\x12$\n\x12target_shard_count\x18\x01 \x01(\x05\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12&\n\x14target_replica_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x03H\x01\x88\x01\x01\x12\'\n\x15target_engine_version\x18\x03 \x01(\tB\x03\xe0\x41\x03H\x02\x88\x01\x01\x12R\n\x10target_node_type\x18\x04 \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x03H\x03\x88\x01\x01\x42\x15\n\x13_target_shard_countB\x17\n\x15_target_replica_countB\x18\n\x16_target_engine_versionB\x13\n\x11_target_node_typeB\x06\n\x04info\x1a$\n\x0fGcsBackupSource\x12\x11\n\x04uris\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a*\n\x13ManagedBackupSource\x12\x13\n\x06\x62\x61\x63kup\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x64\n\x10InstanceEndpoint\x12P\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x36.google.cloud.memorystore.v1.Instance.ConnectionDetailB\x03\xe0\x41\x01\x1a\xba\x01\n\x10\x43onnectionDetail\x12R\n\x13psc_auto_connection\x18\x01 \x01(\x0b\x32..google.cloud.memorystore.v1.PscAutoConnectionB\x03\xe0\x41\x05H\x00\x12\x44\n\x0epsc_connection\x18\x02 \x01(\x0b\x32*.google.cloud.memorystore.v1.PscConnectionH\x00\x42\x0c\n\nconnection\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x34\n\x12\x45ngineConfigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"T\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0c\n\x08\x44\x45LETING\x10\x04\"X\n\x11\x41uthorizationMode\x12\"\n\x1e\x41UTHORIZATION_MODE_UNSPECIFIED\x10\x00\x12\x11\n\rAUTH_DISABLED\x10\x01\x12\x0c\n\x08IAM_AUTH\x10\x02\"|\n\x15TransitEncryptionMode\x12\'\n#TRANSIT_ENCRYPTION_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bTRANSIT_ENCRYPTION_DISABLED\x10\x01\x12\x19\n\x15SERVER_AUTHENTICATION\x10\x02\"w\n\x08NodeType\x12\x19\n\x15NODE_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10SHARED_CORE_NANO\x10\x01\x12\x12\n\x0eHIGHMEM_MEDIUM\x10\x02\x12\x12\n\x0eHIGHMEM_XLARGE\x10\x03\x12\x12\n\x0eSTANDARD_SMALL\x10\x04\"S\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x12\n\nSTANDALONE\x10\x01\x1a\x02\x08\x01\x12\x0b\n\x07\x43LUSTER\x10\x02\x12\x14\n\x10\x43LUSTER_DISABLED\x10\x04:{\xea\x41x\n#memorystore.googleapis.com/Instance\x12.google.cloud.memorystore.v1.PersistenceConfig.PersistenceModeB\x03\xe0\x41\x01\x12Q\n\nrdb_config\x18\x02 \x01(\x0b\x32\x38.google.cloud.memorystore.v1.PersistenceConfig.RDBConfigB\x03\xe0\x41\x01\x12Q\n\naof_config\x18\x03 \x01(\x0b\x32\x38.google.cloud.memorystore.v1.PersistenceConfig.AOFConfigB\x03\xe0\x41\x01\x1a\xb1\x02\n\tRDBConfig\x12i\n\x13rdb_snapshot_period\x18\x01 \x01(\x0e\x32G.google.cloud.memorystore.v1.PersistenceConfig.RDBConfig.SnapshotPeriodB\x03\xe0\x41\x01\x12@\n\x17rdb_snapshot_start_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"w\n\x0eSnapshotPeriod\x12\x1f\n\x1bSNAPSHOT_PERIOD_UNSPECIFIED\x10\x00\x12\x0c\n\x08ONE_HOUR\x10\x01\x12\r\n\tSIX_HOURS\x10\x02\x12\x10\n\x0cTWELVE_HOURS\x10\x03\x12\x15\n\x11TWENTY_FOUR_HOURS\x10\x04\x1a\xbf\x01\n\tAOFConfig\x12_\n\x0c\x61ppend_fsync\x18\x01 \x01(\x0e\x32\x44.google.cloud.memorystore.v1.PersistenceConfig.AOFConfig.AppendFsyncB\x03\xe0\x41\x01\"Q\n\x0b\x41ppendFsync\x12\x1c\n\x18\x41PPEND_FSYNC_UNSPECIFIED\x10\x00\x12\t\n\x05NEVER\x10\x01\x12\r\n\tEVERY_SEC\x10\x02\x12\n\n\x06\x41LWAYS\x10\x03\"S\n\x0fPersistenceMode\x12 \n\x1cPERSISTENCE_MODE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x07\n\x03RDB\x10\x02\x12\x07\n\x03\x41OF\x10\x03\"\"\n\nNodeConfig\x12\x14\n\x07size_gb\x18\x01 \x01(\x01\x42\x03\xe0\x41\x03\"\xe9\x01\n\x16ZoneDistributionConfig\x12\x11\n\x04zone\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12[\n\x04mode\x18\x01 \x01(\x0e\x32H.google.cloud.memorystore.v1.ZoneDistributionConfig.ZoneDistributionModeB\x03\xe0\x41\x01\"_\n\x14ZoneDistributionMode\x12&\n\"ZONE_DISTRIBUTION_MODE_UNSPECIFIED\x10\x00\x12\x0e\n\nMULTI_ZONE\x10\x01\x12\x0f\n\x0bSINGLE_ZONE\x10\x02\"\xce\x02\n\x1cRescheduleMaintenanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x66\n\x0freschedule_type\x18\x02 \x01(\x0e\x32H.google.cloud.memorystore.v1.RescheduleMaintenanceRequest.RescheduleTypeB\x03\xe0\x41\x02\x12\x36\n\rschedule_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"S\n\x0eRescheduleType\x12\x1f\n\x1bRESCHEDULE_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tIMMEDIATE\x10\x01\x12\x11\n\rSPECIFIC_TIME\x10\x03\"\xb0\x01\n\x14ListInstancesRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#memorystore.googleapis.com/Instance\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x7f\n\x15ListInstancesResponse\x12\x38\n\tinstances\x18\x01 \x03(\x0b\x32%.google.cloud.memorystore.v1.Instance\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"O\n\x12GetInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\"\xcd\x01\n\x15\x43reateInstanceRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#memorystore.googleapis.com/Instance\x12\x18\n\x0binstance_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12<\n\x08instance\x18\x03 \x01(\x0b\x32%.google.cloud.memorystore.v1.InstanceB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xac\x01\n\x15UpdateInstanceRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12<\n\x08instance\x18\x02 \x01(\x0b\x32%.google.cloud.memorystore.v1.InstanceB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"s\n\x15\x44\x65leteInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x94\x01\n\x1cListBackupCollectionsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+memorystore.googleapis.com/BackupCollection\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x98\x01\n\x1dListBackupCollectionsResponse\x12I\n\x12\x62\x61\x63kup_collections\x18\x01 \x03(\x0b\x32-.google.cloud.memorystore.v1.BackupCollection\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x1aGetBackupCollectionRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+memorystore.googleapis.com/BackupCollection\"\x80\x01\n\x12ListBackupsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!memorystore.googleapis.com/Backup\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"y\n\x13ListBackupsResponse\x12\x34\n\x07\x62\x61\x63kups\x18\x01 \x03(\x0b\x32#.google.cloud.memorystore.v1.Backup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x10GetBackupRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/Backup\"o\n\x13\x44\x65leteBackupRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/Backup\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"s\n\x13\x45xportBackupRequest\x12\x14\n\ngcs_bucket\x18\x02 \x01(\tH\x00\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/BackupB\r\n\x0b\x64\x65stination\"\xaa\x01\n\x15\x42\x61\x63kupInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12+\n\x03ttl\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x1b\n\tbackup_id\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x0c\n\n_backup_id\"[\n\x1eGetCertificateAuthorityRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\"\x89\x04\n\x14\x43\x65rtificateAuthority\x12j\n\x11managed_server_ca\x18\x02 \x01(\x0b\x32M.google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthorityH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x1a\xab\x01\n\x1bManagedCertificateAuthority\x12i\n\x08\x63\x61_certs\x18\x01 \x03(\x0b\x32W.google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthority.CertChain\x1a!\n\tCertChain\x12\x14\n\x0c\x63\x65rtificates\x18\x01 \x03(\t:\xb6\x01\xea\x41\xb2\x01\n/memorystore.googleapis.com/CertificateAuthority\x12Qprojects/{project}/locations/{location}/instances/{instance}/certificateAuthority*\x16\x63\x65rtificateAuthorities2\x14\x63\x65rtificateAuthorityB\x0b\n\tserver_ca\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\"\xf6\x04\n\x0e\x45ncryptionInfo\x12N\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x30.google.cloud.memorystore.v1.EncryptionInfo.TypeB\x03\xe0\x41\x03\x12J\n\x10kms_key_versions\x18\x02 \x03(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12[\n\x15kms_key_primary_state\x18\x03 \x01(\x0e\x32\x37.google.cloud.memorystore.v1.EncryptionInfo.KmsKeyStateB\x03\xe0\x41\x03\x12\x39\n\x10last_update_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"\\\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x01\x12\x1f\n\x1b\x43USTOMER_MANAGED_ENCRYPTION\x10\x02\"\xd1\x01\n\x0bKmsKeyState\x12\x1d\n\x19KMS_KEY_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x15\n\x11PERMISSION_DENIED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x03\x12\r\n\tDESTROYED\x10\x04\x12\x15\n\x11\x44\x45STROY_SCHEDULED\x10\x05\x12 \n\x1c\x45KM_KEY_UNREACHABLE_DETECTED\x10\x06\x12\x14\n\x10\x42ILLING_DISABLED\x10\x07\x12\x13\n\x0fUNKNOWN_FAILURE\x10\x08*W\n\x13PscConnectionStatus\x12%\n!PSC_CONNECTION_STATUS_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\r\n\tNOT_FOUND\x10\x02*\x89\x01\n\x0e\x43onnectionType\x12\x1f\n\x1b\x43ONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x43ONNECTION_TYPE_DISCOVERY\x10\x01\x12\x1b\n\x17\x43ONNECTION_TYPE_PRIMARY\x10\x02\x12\x1a\n\x16\x43ONNECTION_TYPE_READER\x10\x03\x32\xd8\x17\n\x0bMemorystore\x12\xb6\x01\n\rListInstances\x12\x31.google.cloud.memorystore.v1.ListInstancesRequest\x1a\x32.google.cloud.memorystore.v1.ListInstancesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/instances\x12\xa3\x01\n\x0bGetInstance\x12/.google.cloud.memorystore.v1.GetInstanceRequest\x1a%.google.cloud.memorystore.v1.Instance\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/instances/*}\x12\xe2\x01\n\x0e\x43reateInstance\x12\x32.google.cloud.memorystore.v1.CreateInstanceRequest\x1a\x1d.google.longrunning.Operation\"}\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x1bparent,instance,instance_id\x82\xd3\xe4\x93\x02\x39\"-/v1/{parent=projects/*/locations/*}/instances:\x08instance\x12\xe4\x01\n\x0eUpdateInstance\x12\x32.google.cloud.memorystore.v1.UpdateInstanceRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x14instance,update_mask\x82\xd3\xe4\x93\x02\x42\x32\x36/v1/{instance.name=projects/*/locations/*/instances/*}:\x08instance\x12\xce\x01\n\x0e\x44\x65leteInstance\x12\x32.google.cloud.memorystore.v1.DeleteInstanceRequest\x1a\x1d.google.longrunning.Operation\"i\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/instances/*}\x12\xdc\x01\n\x17GetCertificateAuthority\x12;.google.cloud.memorystore.v1.GetCertificateAuthorityRequest\x1a\x31.google.cloud.memorystore.v1.CertificateAuthority\"Q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x44\x12\x42/v1/{name=projects/*/locations/*/instances/*}/certificateAuthority\x12\x87\x02\n\x15RescheduleMaintenance\x12\x39.google.cloud.memorystore.v1.RescheduleMaintenanceRequest\x1a\x1d.google.longrunning.Operation\"\x93\x01\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\"name,reschedule_type,schedule_time\x82\xd3\xe4\x93\x02H\"C/v1/{name=projects/*/locations/*/instances/*}:rescheduleMaintenance:\x01*\x12\xd6\x01\n\x15ListBackupCollections\x12\x39.google.cloud.memorystore.v1.ListBackupCollectionsRequest\x1a:.google.cloud.memorystore.v1.ListBackupCollectionsResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/backupCollections\x12\xc3\x01\n\x13GetBackupCollection\x12\x37.google.cloud.memorystore.v1.GetBackupCollectionRequest\x1a-.google.cloud.memorystore.v1.BackupCollection\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/backupCollections/*}\x12\xc2\x01\n\x0bListBackups\x12/.google.cloud.memorystore.v1.ListBackupsRequest\x1a\x30.google.cloud.memorystore.v1.ListBackupsResponse\"P\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x41\x12?/v1/{parent=projects/*/locations/*/backupCollections/*}/backups\x12\xaf\x01\n\tGetBackup\x12-.google.cloud.memorystore.v1.GetBackupRequest\x1a#.google.cloud.memorystore.v1.Backup\"N\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41\x12?/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}\x12\xdc\x01\n\x0c\x44\x65leteBackup\x12\x30.google.cloud.memorystore.v1.DeleteBackupRequest\x1a\x1d.google.longrunning.Operation\"{\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41*?/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}\x12\xd0\x01\n\x0c\x45xportBackup\x12\x30.google.cloud.memorystore.v1.ExportBackupRequest\x1a\x1d.google.longrunning.Operation\"o\xca\x41\x1b\n\x06\x42\x61\x63kup\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02K\"F/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}:export:\x01*\x12\xcb\x01\n\x0e\x42\x61\x63kupInstance\x12\x32.google.cloud.memorystore.v1.BackupInstanceRequest\x1a\x1d.google.longrunning.Operation\"f\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\"4/v1/{name=projects/*/locations/*/instances/*}:backup:\x01*\x1aN\xca\x41\x1amemorystore.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xb1\x06\n\x1f\x63om.google.cloud.memorystore.v1B\x0bV1mainProtoP\x01ZAcloud.google.com/go/memorystore/apiv1/memorystorepb;memorystorepb\xaa\x02\x1bGoogle.Cloud.Memorystore.V1\xca\x02\x1bGoogle\\Cloud\\Memorystore\\V1\xea\x02\x1eGoogle::Cloud::Memorystore::V1\xea\x41n\n%compute.googleapis.com/ForwardingRule\x12\x45projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}\xea\x41N\n\x1e\x63ompute.googleapis.com/Network\x12,projects/{project}/global/networks/{network}\xea\x41w\n(compute.googleapis.com/ServiceAttachment\x12Kprojects/{project}/regions/{region}/serviceAttachments/{service_attachment}\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}b\x06proto3" +descriptor_data = "\n-google/cloud/memorystore/v1/memorystore.proto\x12\x1bgoogle.cloud.memorystore.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/type/dayofweek.proto\x1a\x1bgoogle/type/timeofday.proto\"\xe9\'\n\x08Instance\x12S\n\ngcs_source\x18\x17 \x01(\x0b\x32\x35.google.cloud.memorystore.v1.Instance.GcsBackupSourceB\x06\xe0\x41\x01\xe0\x41\x05H\x00\x12\x62\n\x15managed_backup_source\x18\x18 \x01(\x0b\x32\x39.google.cloud.memorystore.v1.Instance.ManagedBackupSourceB\x06\xe0\x41\x01\xe0\x41\x05H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x06labels\x18\x04 \x03(\x0b\x32\x31.google.cloud.memorystore.v1.Instance.LabelsEntryB\x03\xe0\x41\x01\x12?\n\x05state\x18\x05 \x01(\x0e\x32+.google.cloud.memorystore.v1.Instance.StateB\x03\xe0\x41\x03\x12H\n\nstate_info\x18\x06 \x01(\x0b\x32/.google.cloud.memorystore.v1.Instance.StateInfoB\x03\xe0\x41\x03\x12\x18\n\x03uid\x18\x07 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x1f\n\rreplica_count\x18\x08 \x01(\x05\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12[\n\x12\x61uthorization_mode\x18\t \x01(\x0e\x32\x37.google.cloud.memorystore.v1.Instance.AuthorizationModeB\x06\xe0\x41\x01\xe0\x41\x05\x12\x64\n\x17transit_encryption_mode\x18\n \x01(\x0e\x32;.google.cloud.memorystore.v1.Instance.TransitEncryptionModeB\x06\xe0\x41\x01\xe0\x41\x05\x12\x18\n\x0bshard_count\x18\x0b \x01(\x05\x42\x03\xe0\x41\x01\x12R\n\x13\x64iscovery_endpoints\x18\x0c \x03(\x0b\x32..google.cloud.memorystore.v1.DiscoveryEndpointB\x05\x18\x01\xe0\x41\x03\x12\x46\n\tnode_type\x18\r \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x01\x12O\n\x12persistence_config\x18\x0e \x01(\x0b\x32..google.cloud.memorystore.v1.PersistenceConfigB\x03\xe0\x41\x01\x12\x1b\n\x0e\x65ngine_version\x18\x0f \x01(\tB\x03\xe0\x41\x01\x12U\n\x0e\x65ngine_configs\x18\x10 \x03(\x0b\x32\x38.google.cloud.memorystore.v1.Instance.EngineConfigsEntryB\x03\xe0\x41\x01\x12\x41\n\x0bnode_config\x18\x11 \x01(\x0b\x32\'.google.cloud.memorystore.v1.NodeConfigB\x03\xe0\x41\x03\x12]\n\x18zone_distribution_config\x18\x12 \x01(\x0b\x32\x33.google.cloud.memorystore.v1.ZoneDistributionConfigB\x06\xe0\x41\x01\xe0\x41\x05\x12-\n\x1b\x64\x65letion_protection_enabled\x18\x13 \x01(\x08\x42\x03\xe0\x41\x01H\x02\x88\x01\x01\x12V\n\x14psc_auto_connections\x18\x14 \x03(\x0b\x32..google.cloud.memorystore.v1.PscAutoConnectionB\x08\x18\x01\xe0\x41\x01\xe0\x41\x05\x12U\n\x16psc_attachment_details\x18\x15 \x03(\x0b\x32\x30.google.cloud.memorystore.v1.PscAttachmentDetailB\x03\xe0\x41\x03\x12N\n\tendpoints\x18\x19 \x03(\x0b\x32\x36.google.cloud.memorystore.v1.Instance.InstanceEndpointB\x03\xe0\x41\x01\x12=\n\x04mode\x18\x1a \x01(\x0e\x32*.google.cloud.memorystore.v1.Instance.ModeB\x03\xe0\x41\x01\x12/\n\x1asimulate_maintenance_event\x18\x1b \x01(\x08\x42\x06\xe0\x41\x01\xe0\x41\x04H\x03\x88\x01\x01\x12+\n\x14ondemand_maintenance\x18\x1c \x01(\x08\x42\x08\x18\x01\xe0\x41\x01\xe0\x41\x04H\x04\x88\x01\x01\x12\"\n\rsatisfies_pzs\x18\x1d \x01(\x08\x42\x06\xe0\x41\x03\xe0\x41\x01H\x05\x88\x01\x01\x12\"\n\rsatisfies_pzi\x18\x1e \x01(\x08\x42\x06\xe0\x41\x03\xe0\x41\x01H\x06\x88\x01\x01\x12O\n\x12maintenance_policy\x18\x1f \x01(\x0b\x32..google.cloud.memorystore.v1.MaintenancePolicyB\x03\xe0\x41\x01\x12S\n\x14maintenance_schedule\x18 \x01(\x0b\x32\x30.google.cloud.memorystore.v1.MaintenanceScheduleB\x03\xe0\x41\x03\x12k\n!cross_instance_replication_config\x18! \x01(\x0b\x32;.google.cloud.memorystore.v1.CrossInstanceReplicationConfigB\x03\xe0\x41\x01\x12;\n)async_instance_endpoints_deletion_enabled\x18, \x01(\x08\x42\x03\xe0\x41\x01H\x07\x88\x01\x01\x12?\n\x07kms_key\x18- \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKeyH\x08\x88\x01\x01\x12I\n\x0f\x65ncryption_info\x18. \x01(\x0b\x32+.google.cloud.memorystore.v1.EncryptionInfoB\x03\xe0\x41\x03\x12S\n\x11\x62\x61\x63kup_collection\x18/ \x01(\tB3\xe0\x41\x03\xfa\x41-\n+memorystore.googleapis.com/BackupCollectionH\t\x88\x01\x01\x12X\n\x17\x61utomated_backup_config\x18\x30 \x01(\x0b\x32\x32.google.cloud.memorystore.v1.AutomatedBackupConfigB\x03\xe0\x41\x01\x12%\n\x13maintenance_version\x18\x31 \x01(\tB\x03\xe0\x41\x01H\n\x88\x01\x01\x12/\n\x1d\x65\x66\x66\x65\x63tive_maintenance_version\x18\x32 \x01(\tB\x03\xe0\x41\x03H\x0b\x88\x01\x01\x12+\n\x1e\x61vailable_maintenance_versions\x18\x33 \x03(\tB\x03\xe0\x41\x03\x12.\n\x1c\x61llow_fewer_zones_deployment\x18\x36 \x01(\x08\x42\x08\x18\x01\xe0\x41\x01\xe0\x41\x05\x12W\n\x0eserver_ca_mode\x18\x38 \x01(\x0e\x32\x32.google.cloud.memorystore.v1.Instance.ServerCaModeB\x06\xe0\x41\x01\xe0\x41\x05H\x0c\x88\x01\x01\x12G\n\x0eserver_ca_pool\x18\x39 \x01(\tB*\xe0\x41\x01\xe0\x41\x05\xfa\x41!\n\x1fprivateca.googleapis.com/CaPoolH\r\x88\x01\x01\x12.\n\x19rotate_server_certificate\x18: \x01(\x08\x42\x06\xe0\x41\x01\xe0\x41\x04H\x0e\x88\x01\x01\x1a\xa4\x03\n\tStateInfo\x12V\n\x0bupdate_info\x18\x01 \x01(\x0b\x32:.google.cloud.memorystore.v1.Instance.StateInfo.UpdateInfoB\x03\xe0\x41\x03H\x00\x1a\xb6\x02\n\nUpdateInfo\x12$\n\x12target_shard_count\x18\x01 \x01(\x05\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12&\n\x14target_replica_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x03H\x01\x88\x01\x01\x12\'\n\x15target_engine_version\x18\x03 \x01(\tB\x03\xe0\x41\x03H\x02\x88\x01\x01\x12R\n\x10target_node_type\x18\x04 \x01(\x0e\x32..google.cloud.memorystore.v1.Instance.NodeTypeB\x03\xe0\x41\x03H\x03\x88\x01\x01\x42\x15\n\x13_target_shard_countB\x17\n\x15_target_replica_countB\x18\n\x16_target_engine_versionB\x13\n\x11_target_node_typeB\x06\n\x04info\x1a$\n\x0fGcsBackupSource\x12\x11\n\x04uris\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a*\n\x13ManagedBackupSource\x12\x13\n\x06\x62\x61\x63kup\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x64\n\x10InstanceEndpoint\x12P\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x36.google.cloud.memorystore.v1.Instance.ConnectionDetailB\x03\xe0\x41\x01\x1a\xba\x01\n\x10\x43onnectionDetail\x12R\n\x13psc_auto_connection\x18\x01 \x01(\x0b\x32..google.cloud.memorystore.v1.PscAutoConnectionB\x03\xe0\x41\x05H\x00\x12\x44\n\x0epsc_connection\x18\x02 \x01(\x0b\x32*.google.cloud.memorystore.v1.PscConnectionH\x00\x42\x0c\n\nconnection\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x34\n\x12\x45ngineConfigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"T\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0c\n\x08\x44\x45LETING\x10\x04\"X\n\x11\x41uthorizationMode\x12\"\n\x1e\x41UTHORIZATION_MODE_UNSPECIFIED\x10\x00\x12\x11\n\rAUTH_DISABLED\x10\x01\x12\x0c\n\x08IAM_AUTH\x10\x02\"|\n\x15TransitEncryptionMode\x12\'\n#TRANSIT_ENCRYPTION_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bTRANSIT_ENCRYPTION_DISABLED\x10\x01\x12\x19\n\x15SERVER_AUTHENTICATION\x10\x02\"w\n\x08NodeType\x12\x19\n\x15NODE_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10SHARED_CORE_NANO\x10\x01\x12\x12\n\x0eHIGHMEM_MEDIUM\x10\x02\x12\x12\n\x0eHIGHMEM_XLARGE\x10\x03\x12\x12\n\x0eSTANDARD_SMALL\x10\x04\"S\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x12\n\nSTANDALONE\x10\x01\x1a\x02\x08\x01\x12\x0b\n\x07\x43LUSTER\x10\x02\x12\x14\n\x10\x43LUSTER_DISABLED\x10\x04\"\xa9\x02\n\x0cServerCaMode\x12\x1e\n\x1aSERVER_CA_MODE_UNSPECIFIED\x10\x00\x12\"\n\x1eGOOGLE_MANAGED_PER_INSTANCE_CA\x10\x01\x12\x1c\n\x18GOOGLE_MANAGED_SHARED_CA\x10\x02\x12\x1b\n\x17\x43USTOMER_MANAGED_CAS_CA\x10\x03\x12\x35\n-SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA\x10\x01\x1a\x02\x08\x01\x12/\n\'SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA\x10\x02\x1a\x02\x08\x01\x12.\n&SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA\x10\x03\x1a\x02\x08\x01\x1a\x02\x10\x01:{\xea\x41x\n#memorystore.googleapis.com/Instance\x12.google.cloud.memorystore.v1.PersistenceConfig.PersistenceModeB\x03\xe0\x41\x01\x12Q\n\nrdb_config\x18\x02 \x01(\x0b\x32\x38.google.cloud.memorystore.v1.PersistenceConfig.RDBConfigB\x03\xe0\x41\x01\x12Q\n\naof_config\x18\x03 \x01(\x0b\x32\x38.google.cloud.memorystore.v1.PersistenceConfig.AOFConfigB\x03\xe0\x41\x01\x1a\xb1\x02\n\tRDBConfig\x12i\n\x13rdb_snapshot_period\x18\x01 \x01(\x0e\x32G.google.cloud.memorystore.v1.PersistenceConfig.RDBConfig.SnapshotPeriodB\x03\xe0\x41\x01\x12@\n\x17rdb_snapshot_start_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"w\n\x0eSnapshotPeriod\x12\x1f\n\x1bSNAPSHOT_PERIOD_UNSPECIFIED\x10\x00\x12\x0c\n\x08ONE_HOUR\x10\x01\x12\r\n\tSIX_HOURS\x10\x02\x12\x10\n\x0cTWELVE_HOURS\x10\x03\x12\x15\n\x11TWENTY_FOUR_HOURS\x10\x04\x1a\xbf\x01\n\tAOFConfig\x12_\n\x0c\x61ppend_fsync\x18\x01 \x01(\x0e\x32\x44.google.cloud.memorystore.v1.PersistenceConfig.AOFConfig.AppendFsyncB\x03\xe0\x41\x01\"Q\n\x0b\x41ppendFsync\x12\x1c\n\x18\x41PPEND_FSYNC_UNSPECIFIED\x10\x00\x12\t\n\x05NEVER\x10\x01\x12\r\n\tEVERY_SEC\x10\x02\x12\n\n\x06\x41LWAYS\x10\x03\"S\n\x0fPersistenceMode\x12 \n\x1cPERSISTENCE_MODE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x07\n\x03RDB\x10\x02\x12\x07\n\x03\x41OF\x10\x03\"\"\n\nNodeConfig\x12\x14\n\x07size_gb\x18\x01 \x01(\x01\x42\x03\xe0\x41\x03\"\xe9\x01\n\x16ZoneDistributionConfig\x12\x11\n\x04zone\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12[\n\x04mode\x18\x01 \x01(\x0e\x32H.google.cloud.memorystore.v1.ZoneDistributionConfig.ZoneDistributionModeB\x03\xe0\x41\x01\"_\n\x14ZoneDistributionMode\x12&\n\"ZONE_DISTRIBUTION_MODE_UNSPECIFIED\x10\x00\x12\x0e\n\nMULTI_ZONE\x10\x01\x12\x0f\n\x0bSINGLE_ZONE\x10\x02\"\xce\x02\n\x1cRescheduleMaintenanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x66\n\x0freschedule_type\x18\x02 \x01(\x0e\x32H.google.cloud.memorystore.v1.RescheduleMaintenanceRequest.RescheduleTypeB\x03\xe0\x41\x02\x12\x36\n\rschedule_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"S\n\x0eRescheduleType\x12\x1f\n\x1bRESCHEDULE_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tIMMEDIATE\x10\x01\x12\x11\n\rSPECIFIC_TIME\x10\x03\"\xb0\x01\n\x14ListInstancesRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#memorystore.googleapis.com/Instance\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x7f\n\x15ListInstancesResponse\x12\x38\n\tinstances\x18\x01 \x03(\x0b\x32%.google.cloud.memorystore.v1.Instance\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"O\n\x12GetInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\"\xcd\x01\n\x15\x43reateInstanceRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\x12#memorystore.googleapis.com/Instance\x12\x18\n\x0binstance_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12<\n\x08instance\x18\x03 \x01(\x0b\x32%.google.cloud.memorystore.v1.InstanceB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xac\x01\n\x15UpdateInstanceRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12<\n\x08instance\x18\x02 \x01(\x0b\x32%.google.cloud.memorystore.v1.InstanceB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"s\n\x15\x44\x65leteInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x94\x01\n\x1cListBackupCollectionsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+memorystore.googleapis.com/BackupCollection\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x98\x01\n\x1dListBackupCollectionsResponse\x12I\n\x12\x62\x61\x63kup_collections\x18\x01 \x03(\x0b\x32-.google.cloud.memorystore.v1.BackupCollection\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x1aGetBackupCollectionRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+memorystore.googleapis.com/BackupCollection\"\x80\x01\n\x12ListBackupsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!memorystore.googleapis.com/Backup\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"y\n\x13ListBackupsResponse\x12\x34\n\x07\x62\x61\x63kups\x18\x01 \x03(\x0b\x32#.google.cloud.memorystore.v1.Backup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x10GetBackupRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/Backup\"o\n\x13\x44\x65leteBackupRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/Backup\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"s\n\x13\x45xportBackupRequest\x12\x14\n\ngcs_bucket\x18\x02 \x01(\tH\x00\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!memorystore.googleapis.com/BackupB\r\n\x0b\x64\x65stination\"\xaa\x01\n\x15\x42\x61\x63kupInstanceRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\x12+\n\x03ttl\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x1b\n\tbackup_id\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x0c\n\n_backup_id\"[\n\x1eGetCertificateAuthorityRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#memorystore.googleapis.com/Instance\"\x89\x04\n\x14\x43\x65rtificateAuthority\x12j\n\x11managed_server_ca\x18\x02 \x01(\x0b\x32M.google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthorityH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x1a\xab\x01\n\x1bManagedCertificateAuthority\x12i\n\x08\x63\x61_certs\x18\x01 \x03(\x0b\x32W.google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthority.CertChain\x1a!\n\tCertChain\x12\x14\n\x0c\x63\x65rtificates\x18\x01 \x03(\t:\xb6\x01\xea\x41\xb2\x01\n/memorystore.googleapis.com/CertificateAuthority\x12Qprojects/{project}/locations/{location}/instances/{instance}/certificateAuthority*\x16\x63\x65rtificateAuthorities2\x14\x63\x65rtificateAuthorityB\x0b\n\tserver_ca\"\x80\x05\n\"SharedRegionalCertificateAuthority\x12\x80\x01\n\x11managed_server_ca\x18\x02 \x01(\x0b\x32\x63.google.cloud.memorystore.v1.SharedRegionalCertificateAuthority.RegionalManagedCertificateAuthorityH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x1a\xda\x01\n#RegionalManagedCertificateAuthority\x12\x87\x01\n\x08\x63\x61_certs\x18\x01 \x03(\x0b\x32u.google.cloud.memorystore.v1.SharedRegionalCertificateAuthority.RegionalManagedCertificateAuthority.RegionalCertChain\x1a)\n\x11RegionalCertChain\x12\x14\n\x0c\x63\x65rtificates\x18\x01 \x03(\t:\xd9\x01\xea\x41\xd5\x01\n=memorystore.googleapis.com/SharedRegionalCertificateAuthority\x12Jprojects/{project}/locations/{location}/sharedRegionalCertificateAuthority*$sharedRegionalCertificateAuthorities2\"sharedRegionalCertificateAuthorityB\x0b\n\tserver_ca\"\x83\x01\n,GetSharedRegionalCertificateAuthorityRequest\x12S\n\x04name\x18\x01 \x01(\tBE\xe0\x41\x02\xfa\x41?\n=memorystore.googleapis.com/SharedRegionalCertificateAuthority\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\"\xf6\x04\n\x0e\x45ncryptionInfo\x12N\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x30.google.cloud.memorystore.v1.EncryptionInfo.TypeB\x03\xe0\x41\x03\x12J\n\x10kms_key_versions\x18\x02 \x03(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12[\n\x15kms_key_primary_state\x18\x03 \x01(\x0e\x32\x37.google.cloud.memorystore.v1.EncryptionInfo.KmsKeyStateB\x03\xe0\x41\x03\x12\x39\n\x10last_update_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"\\\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x01\x12\x1f\n\x1b\x43USTOMER_MANAGED_ENCRYPTION\x10\x02\"\xd1\x01\n\x0bKmsKeyState\x12\x1d\n\x19KMS_KEY_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x15\n\x11PERMISSION_DENIED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x03\x12\r\n\tDESTROYED\x10\x04\x12\x15\n\x11\x44\x45STROY_SCHEDULED\x10\x05\x12 \n\x1c\x45KM_KEY_UNREACHABLE_DETECTED\x10\x06\x12\x14\n\x10\x42ILLING_DISABLED\x10\x07\x12\x13\n\x0fUNKNOWN_FAILURE\x10\x08*W\n\x13PscConnectionStatus\x12%\n!PSC_CONNECTION_STATUS_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\r\n\tNOT_FOUND\x10\x02*\x89\x01\n\x0e\x43onnectionType\x12\x1f\n\x1b\x43ONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x43ONNECTION_TYPE_DISCOVERY\x10\x01\x12\x1b\n\x17\x43ONNECTION_TYPE_PRIMARY\x10\x02\x12\x1a\n\x16\x43ONNECTION_TYPE_READER\x10\x03\x32\xe3\x19\n\x0bMemorystore\x12\xb6\x01\n\rListInstances\x12\x31.google.cloud.memorystore.v1.ListInstancesRequest\x1a\x32.google.cloud.memorystore.v1.ListInstancesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/instances\x12\xa3\x01\n\x0bGetInstance\x12/.google.cloud.memorystore.v1.GetInstanceRequest\x1a%.google.cloud.memorystore.v1.Instance\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/instances/*}\x12\xe2\x01\n\x0e\x43reateInstance\x12\x32.google.cloud.memorystore.v1.CreateInstanceRequest\x1a\x1d.google.longrunning.Operation\"}\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x1bparent,instance,instance_id\x82\xd3\xe4\x93\x02\x39\"-/v1/{parent=projects/*/locations/*}/instances:\x08instance\x12\xe4\x01\n\x0eUpdateInstance\x12\x32.google.cloud.memorystore.v1.UpdateInstanceRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x14instance,update_mask\x82\xd3\xe4\x93\x02\x42\x32\x36/v1/{instance.name=projects/*/locations/*/instances/*}:\x08instance\x12\xce\x01\n\x0e\x44\x65leteInstance\x12\x32.google.cloud.memorystore.v1.DeleteInstanceRequest\x1a\x1d.google.longrunning.Operation\"i\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/instances/*}\x12\xdc\x01\n\x17GetCertificateAuthority\x12;.google.cloud.memorystore.v1.GetCertificateAuthorityRequest\x1a\x31.google.cloud.memorystore.v1.CertificateAuthority\"Q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x44\x12\x42/v1/{name=projects/*/locations/*/instances/*}/certificateAuthority\x12\x88\x02\n%GetSharedRegionalCertificateAuthority\x12I.google.cloud.memorystore.v1.GetSharedRegionalCertificateAuthorityRequest\x1a?.google.cloud.memorystore.v1.SharedRegionalCertificateAuthority\"S\xda\x41\x04name\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/{name=projects/*/locations/*/sharedRegionalCertificateAuthority}\x12\x87\x02\n\x15RescheduleMaintenance\x12\x39.google.cloud.memorystore.v1.RescheduleMaintenanceRequest\x1a\x1d.google.longrunning.Operation\"\x93\x01\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\"name,reschedule_type,schedule_time\x82\xd3\xe4\x93\x02H\"C/v1/{name=projects/*/locations/*/instances/*}:rescheduleMaintenance:\x01*\x12\xd6\x01\n\x15ListBackupCollections\x12\x39.google.cloud.memorystore.v1.ListBackupCollectionsRequest\x1a:.google.cloud.memorystore.v1.ListBackupCollectionsResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/backupCollections\x12\xc3\x01\n\x13GetBackupCollection\x12\x37.google.cloud.memorystore.v1.GetBackupCollectionRequest\x1a-.google.cloud.memorystore.v1.BackupCollection\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/backupCollections/*}\x12\xc2\x01\n\x0bListBackups\x12/.google.cloud.memorystore.v1.ListBackupsRequest\x1a\x30.google.cloud.memorystore.v1.ListBackupsResponse\"P\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x41\x12?/v1/{parent=projects/*/locations/*/backupCollections/*}/backups\x12\xaf\x01\n\tGetBackup\x12-.google.cloud.memorystore.v1.GetBackupRequest\x1a#.google.cloud.memorystore.v1.Backup\"N\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41\x12?/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}\x12\xdc\x01\n\x0c\x44\x65leteBackup\x12\x30.google.cloud.memorystore.v1.DeleteBackupRequest\x1a\x1d.google.longrunning.Operation\"{\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41*?/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}\x12\xd0\x01\n\x0c\x45xportBackup\x12\x30.google.cloud.memorystore.v1.ExportBackupRequest\x1a\x1d.google.longrunning.Operation\"o\xca\x41\x1b\n\x06\x42\x61\x63kup\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02K\"F/v1/{name=projects/*/locations/*/backupCollections/*/backups/*}:export:\x01*\x12\xcb\x01\n\x0e\x42\x61\x63kupInstance\x12\x32.google.cloud.memorystore.v1.BackupInstanceRequest\x1a\x1d.google.longrunning.Operation\"f\xca\x41\x1d\n\x08Instance\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\"4/v1/{name=projects/*/locations/*/instances/*}:backup:\x01*\x1aN\xca\x41\x1amemorystore.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x90\x07\n\x1f\x63om.google.cloud.memorystore.v1B\x0bV1mainProtoP\x01ZAcloud.google.com/go/memorystore/apiv1/memorystorepb;memorystorepb\xaa\x02\x1bGoogle.Cloud.Memorystore.V1\xca\x02\x1bGoogle\\Cloud\\Memorystore\\V1\xea\x02\x1eGoogle::Cloud::Memorystore::V1\xea\x41n\n%compute.googleapis.com/ForwardingRule\x12\x45projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}\xea\x41N\n\x1e\x63ompute.googleapis.com/Network\x12,projects/{project}/global/networks/{network}\xea\x41w\n(compute.googleapis.com/ServiceAttachment\x12Kprojects/{project}/regions/{region}/serviceAttachments/{service_attachment}\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}\xea\x41\\\n\x1fprivateca.googleapis.com/CaPool\x12\x39projects/{project}/locations/{location}/caPools/{ca_pool}b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -39,6 +39,7 @@ module V1 Instance::TransitEncryptionMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.Instance.TransitEncryptionMode").enummodule Instance::NodeType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.Instance.NodeType").enummodule Instance::Mode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.Instance.Mode").enummodule + Instance::ServerCaMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.Instance.ServerCaMode").enummodule AutomatedBackupConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.AutomatedBackupConfig").msgclass AutomatedBackupConfig::FixedFrequencySchedule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.AutomatedBackupConfig.FixedFrequencySchedule").msgclass AutomatedBackupConfig::AutomatedBackupMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.AutomatedBackupConfig.AutomatedBackupMode").enummodule @@ -88,6 +89,10 @@ module V1 CertificateAuthority = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.CertificateAuthority").msgclass CertificateAuthority::ManagedCertificateAuthority = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthority").msgclass CertificateAuthority::ManagedCertificateAuthority::CertChain = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.CertificateAuthority.ManagedCertificateAuthority.CertChain").msgclass + SharedRegionalCertificateAuthority = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.SharedRegionalCertificateAuthority").msgclass + SharedRegionalCertificateAuthority::RegionalManagedCertificateAuthority = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.SharedRegionalCertificateAuthority.RegionalManagedCertificateAuthority").msgclass + SharedRegionalCertificateAuthority::RegionalManagedCertificateAuthority::RegionalCertChain = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.SharedRegionalCertificateAuthority.RegionalManagedCertificateAuthority.RegionalCertChain").msgclass + GetSharedRegionalCertificateAuthorityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.GetSharedRegionalCertificateAuthorityRequest").msgclass OperationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.OperationMetadata").msgclass EncryptionInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.EncryptionInfo").msgclass EncryptionInfo::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.memorystore.v1.EncryptionInfo.Type").enummodule diff --git a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore_services_pb.rb b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore_services_pb.rb index 8f221a66807d..7f62a037cedc 100644 --- a/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore_services_pb.rb +++ b/google-cloud-memorystore-v1/lib/google/cloud/memorystore/v1/memorystore_services_pb.rb @@ -45,6 +45,9 @@ class Service rpc :DeleteInstance, ::Google::Cloud::Memorystore::V1::DeleteInstanceRequest, ::Google::Longrunning::Operation # Gets details about the certificate authority for an Instance. rpc :GetCertificateAuthority, ::Google::Cloud::Memorystore::V1::GetCertificateAuthorityRequest, ::Google::Cloud::Memorystore::V1::CertificateAuthority + # Gets the details of shared regional certificate authority information for + # Memorystore instance. + rpc :GetSharedRegionalCertificateAuthority, ::Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest, ::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority # Reschedules upcoming maintenance event. rpc :RescheduleMaintenance, ::Google::Cloud::Memorystore::V1::RescheduleMaintenanceRequest, ::Google::Longrunning::Operation # Lists all backup collections owned by a consumer project in either the diff --git a/google-cloud-memorystore-v1/proto_docs/google/api/client.rb b/google-cloud-memorystore-v1/proto_docs/google/api/client.rb index 483a6510978e..a8b1b06d1cad 100644 --- a/google-cloud-memorystore-v1/proto_docs/google/api/client.rb +++ b/google-cloud-memorystore-v1/proto_docs/google/api/client.rb @@ -141,9 +141,10 @@ class Publishing # # Example of a YAML configuration:: # - # publishing: - # java_settings: - # library_package: com.google.cloud.pubsub.v1 + # publishing: + # library_settings: + # java_settings: + # library_package: com.google.cloud.pubsub.v1 # @!attribute [rw] service_class_names # @return [::Google::Protobuf::Map{::String => ::String}] # Configure the Java class name to use instead of the service's for its @@ -155,11 +156,11 @@ class Publishing # # Example of a YAML configuration:: # - # publishing: - # java_settings: - # service_class_names: - # - google.pubsub.v1.Publisher: TopicAdmin - # - google.pubsub.v1.Subscriber: SubscriptionAdmin + # publishing: + # java_settings: + # service_class_names: + # - google.pubsub.v1.Publisher: TopicAdmin + # - google.pubsub.v1.Subscriber: SubscriptionAdmin # @!attribute [rw] common # @return [::Google::Api::CommonLanguageSettings] # Some settings. @@ -190,6 +191,20 @@ class CppSettings # @!attribute [rw] common # @return [::Google::Api::CommonLanguageSettings] # Some settings. + # @!attribute [rw] library_package + # @return [::String] + # The package name to use in Php. Clobbers the php_namespace option + # set in the protobuf. This should be used **only** by APIs + # who have already set the language_settings.php.package_name" field + # in gapic.yaml. API teams should use the protobuf php_namespace option + # where possible. + # + # Example of a YAML configuration:: + # + # publishing: + # library_settings: + # php_settings: + # library_package: Google\Cloud\PubSub\V1 class PhpSettings include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -318,10 +333,12 @@ class RubySettings # service names and values are the name to be used for the service client # and call options. # - # publishing: - # go_settings: - # renamed_services: - # Publisher: TopicAdmin + # Example: + # + # publishing: + # go_settings: + # renamed_services: + # Publisher: TopicAdmin class GoSettings include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -344,10 +361,10 @@ class RenamedServicesEntry # # Example: # - # publishing: - # method_settings: - # - selector: google.storage.control.v2.StorageControl.CreateFolder - # # method settings for CreateFolder... + # publishing: + # method_settings: + # - selector: google.storage.control.v2.StorageControl.CreateFolder + # # method settings for CreateFolder... # @!attribute [rw] long_running # @return [::Google::Api::MethodSettings::LongRunning] # Describes settings to use for long-running operations when generating @@ -356,14 +373,14 @@ class RenamedServicesEntry # # Example of a YAML configuration:: # - # publishing: - # method_settings: - # - selector: google.cloud.speech.v2.Speech.BatchRecognize - # long_running: - # initial_poll_delay: 60s # 1 minute - # poll_delay_multiplier: 1.5 - # max_poll_delay: 360s # 6 minutes - # total_poll_timeout: 54000s # 90 minutes + # publishing: + # method_settings: + # - selector: google.cloud.speech.v2.Speech.BatchRecognize + # long_running: + # initial_poll_delay: 60s # 1 minute + # poll_delay_multiplier: 1.5 + # max_poll_delay: 360s # 6 minutes + # total_poll_timeout: 54000s # 90 minutes # @!attribute [rw] auto_populated_fields # @return [::Array<::String>] # List of top-level fields of the request message, that should be @@ -372,11 +389,24 @@ class RenamedServicesEntry # # Example of a YAML configuration: # - # publishing: - # method_settings: - # - selector: google.example.v1.ExampleService.CreateExample - # auto_populated_fields: - # - request_id + # publishing: + # method_settings: + # - selector: google.example.v1.ExampleService.CreateExample + # auto_populated_fields: + # - request_id + # @!attribute [rw] batching + # @return [::Google::Api::BatchingConfigProto] + # Batching configuration for an API method in client libraries. + # + # Example of a YAML configuration: + # + # publishing: + # method_settings: + # - selector: google.example.v1.ExampleService.BatchCreateExample + # batching: + # element_count_threshold: 1000 + # request_byte_threshold: 100000000 + # delay_threshold_millis: 10 class MethodSettings include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -428,6 +458,77 @@ class SelectiveGapicGeneration extend ::Google::Protobuf::MessageExts::ClassMethods end + # `BatchingConfigProto` defines the batching configuration for an API method. + # @!attribute [rw] thresholds + # @return [::Google::Api::BatchingSettingsProto] + # The thresholds which trigger a batched request to be sent. + # @!attribute [rw] batch_descriptor + # @return [::Google::Api::BatchingDescriptorProto] + # The request and response fields used in batching. + class BatchingConfigProto + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # `BatchingSettingsProto` specifies a set of batching thresholds, each of + # which acts as a trigger to send a batch of messages as a request. At least + # one threshold must be positive nonzero. + # @!attribute [rw] element_count_threshold + # @return [::Integer] + # The number of elements of a field collected into a batch which, if + # exceeded, causes the batch to be sent. + # @!attribute [rw] request_byte_threshold + # @return [::Integer] + # The aggregated size of the batched field which, if exceeded, causes the + # batch to be sent. This size is computed by aggregating the sizes of the + # request field to be batched, not of the entire request message. + # @!attribute [rw] delay_threshold + # @return [::Google::Protobuf::Duration] + # The duration after which a batch should be sent, starting from the addition + # of the first message to that batch. + # @!attribute [rw] element_count_limit + # @return [::Integer] + # The maximum number of elements collected in a batch that could be accepted + # by server. + # @!attribute [rw] request_byte_limit + # @return [::Integer] + # The maximum size of the request that could be accepted by server. + # @!attribute [rw] flow_control_element_limit + # @return [::Integer] + # The maximum number of elements allowed by flow control. + # @!attribute [rw] flow_control_byte_limit + # @return [::Integer] + # The maximum size of data allowed by flow control. + # @!attribute [rw] flow_control_limit_exceeded_behavior + # @return [::Google::Api::FlowControlLimitExceededBehaviorProto] + # The behavior to take when the flow control limit is exceeded. + class BatchingSettingsProto + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # `BatchingDescriptorProto` specifies the fields of the request message to be + # used for batching, and, optionally, the fields of the response message to be + # used for demultiplexing. + # @!attribute [rw] batched_field + # @return [::String] + # The repeated field in the request message to be aggregated by batching. + # @!attribute [rw] discriminator_fields + # @return [::Array<::String>] + # A list of the fields in the request message. Two requests will be batched + # together only if the values of every field specified in + # `request_discriminator_fields` is equal between the two requests. + # @!attribute [rw] subresponse_field + # @return [::String] + # Optional. When present, indicates the field in the response message to be + # used to demultiplex the response into multiple response messages, in + # correspondence with the multiple request messages originally batched + # together. + class BatchingDescriptorProto + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + # The organization for which the client libraries are being published. # Affects the url where generated docs are published, etc. module ClientLibraryOrganization @@ -469,5 +570,20 @@ module ClientLibraryDestination # Publish the library to package managers like nuget.org and npmjs.com. PACKAGE_MANAGER = 20 end + + # The behavior to take when the flow control limit is exceeded. + module FlowControlLimitExceededBehaviorProto + # Default behavior, system-defined. + UNSET_BEHAVIOR = 0 + + # Stop operation, raise error. + THROW_EXCEPTION = 1 + + # Pause operation until limit clears. + BLOCK = 2 + + # Continue operation, disregard limit. + IGNORE = 3 + end end end diff --git a/google-cloud-memorystore-v1/proto_docs/google/cloud/memorystore/v1/memorystore.rb b/google-cloud-memorystore-v1/proto_docs/google/cloud/memorystore/v1/memorystore.rb index d5506e52efe3..44b2dc3aa075 100644 --- a/google-cloud-memorystore-v1/proto_docs/google/cloud/memorystore/v1/memorystore.rb +++ b/google-cloud-memorystore-v1/proto_docs/google/cloud/memorystore/v1/memorystore.rb @@ -176,6 +176,17 @@ module V1 # @deprecated This field is deprecated and may be removed in the next major version update. # @return [::Boolean] # Optional. Immutable. Deprecated, do not use. + # @!attribute [rw] server_ca_mode + # @return [::Google::Cloud::Memorystore::V1::Instance::ServerCaMode] + # Optional. Immutable. The Server CA mode for the instance. + # @!attribute [rw] server_ca_pool + # @return [::String] + # Optional. Immutable. The customer-managed CA pool for the instance. Only + # applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: + # "projects/\\{project}/locations/\\{region}/caPools/\\{ca_pool}". + # @!attribute [rw] rotate_server_certificate + # @return [::Boolean] + # Optional. Input only. Rotate the server certificates. class Instance include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -354,6 +365,30 @@ module Mode # Cluster mode is disabled for the instance. CLUSTER_DISABLED = 4 end + + # The Server CA mode for the instance. + module ServerCaMode + # Server CA mode not specified. + SERVER_CA_MODE_UNSPECIFIED = 0 + + # Each instance has its own Google-managed CA. + GOOGLE_MANAGED_PER_INSTANCE_CA = 1 + + # The instance uses a Google-managed shared CA for the instance's region. + GOOGLE_MANAGED_SHARED_CA = 2 + + # The instance uses a customer-managed CA from CAS. + CUSTOMER_MANAGED_CAS_CA = 3 + + # Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead. + SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA = 1 + + # Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead. + SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA = 2 + + # Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead. + SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA = 3 + end end # The automated backup config for an instance. @@ -1278,6 +1313,51 @@ class CertChain end end + # Shared regional certificate authority for an instance. + # @!attribute [rw] managed_server_ca + # @return [::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority::RegionalManagedCertificateAuthority] + # CA certificate chains for memorystore managed server authentication. + # @!attribute [rw] name + # @return [::String] + # Identifier. Unique name of the resource in this scope including project and + # location using the form: + # `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority` + class SharedRegionalCertificateAuthority + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # CA certificate chains for memorystore managed server authentication. + # @!attribute [rw] ca_certs + # @return [::Array<::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority::RegionalManagedCertificateAuthority::RegionalCertChain>] + # The PEM encoded CA certificate chains for memorystore managed + # server authentication + class RegionalManagedCertificateAuthority + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # The certificates that form the CA chain, from leaf to root order. + # @!attribute [rw] certificates + # @return [::Array<::String>] + # The certificates that form the CA chain, from leaf to root order. + class RegionalCertChain + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end + + # Request for + # {::Google::Cloud::Memorystore::V1::Memorystore::Rest::Client#get_shared_regional_certificate_authority GetSharedRegionalCertificateAuthority}. + # @!attribute [rw] name + # @return [::String] + # Required. Regional certificate authority resource name using the form: + # `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority` + # where `location_id` refers to a Google Cloud region. + class GetSharedRegionalCertificateAuthorityRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + # Represents the metadata of a long-running operation. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] diff --git a/google-cloud-memorystore-v1/proto_docs/google/type/timeofday.rb b/google-cloud-memorystore-v1/proto_docs/google/type/timeofday.rb index 2945a0388a91..7398716a2aa5 100644 --- a/google-cloud-memorystore-v1/proto_docs/google/type/timeofday.rb +++ b/google-cloud-memorystore-v1/proto_docs/google/type/timeofday.rb @@ -25,18 +25,22 @@ module Type # `google.protobuf.Timestamp`. # @!attribute [rw] hours # @return [::Integer] - # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose - # to allow the value "24:00:00" for scenarios like business closing time. + # Hours of a day in 24 hour format. Must be greater than or equal to 0 and + # typically must be less than or equal to 23. An API may choose to allow the + # value "24:00:00" for scenarios like business closing time. # @!attribute [rw] minutes # @return [::Integer] - # Minutes of hour of day. Must be from 0 to 59. + # Minutes of an hour. Must be greater than or equal to 0 and less than or + # equal to 59. # @!attribute [rw] seconds # @return [::Integer] - # Seconds of minutes of the time. Must normally be from 0 to 59. An API may - # allow the value 60 if it allows leap-seconds. + # Seconds of a minute. Must be greater than or equal to 0 and typically must + # be less than or equal to 59. An API may allow the value 60 if it allows + # leap-seconds. # @!attribute [rw] nanos # @return [::Integer] - # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 + # and less than or equal to 999,999,999. class TimeOfDay include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-memorystore-v1/snippets/memorystore/get_shared_regional_certificate_authority.rb b/google-cloud-memorystore-v1/snippets/memorystore/get_shared_regional_certificate_authority.rb new file mode 100644 index 000000000000..12874c3e2d45 --- /dev/null +++ b/google-cloud-memorystore-v1/snippets/memorystore/get_shared_regional_certificate_authority.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START memorystore_v1_generated_Memorystore_GetSharedRegionalCertificateAuthority_sync] +require "google/cloud/memorystore/v1" + +## +# Snippet for the get_shared_regional_certificate_authority call in the Memorystore service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::Memorystore::V1::Memorystore::Rest::Client#get_shared_regional_certificate_authority. +# +def get_shared_regional_certificate_authority + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::Memorystore::V1::Memorystore::Rest::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest.new + + # Call the get_shared_regional_certificate_authority method. + result = client.get_shared_regional_certificate_authority request + + # The returned object is of type Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority. + p result +end +# [END memorystore_v1_generated_Memorystore_GetSharedRegionalCertificateAuthority_sync] diff --git a/google-cloud-memorystore-v1/snippets/snippet_metadata_google.cloud.memorystore.v1.json b/google-cloud-memorystore-v1/snippets/snippet_metadata_google.cloud.memorystore.v1.json index b2a95e40a598..06c68316fa66 100644 --- a/google-cloud-memorystore-v1/snippets/snippet_metadata_google.cloud.memorystore.v1.json +++ b/google-cloud-memorystore-v1/snippets/snippet_metadata_google.cloud.memorystore.v1.json @@ -251,6 +251,46 @@ } ] }, + { + "region_tag": "memorystore_v1_generated_Memorystore_GetSharedRegionalCertificateAuthority_sync", + "title": "Snippet for the get_shared_regional_certificate_authority call in the Memorystore service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::Memorystore::V1::Memorystore::Rest::Client#get_shared_regional_certificate_authority.", + "file": "memorystore/get_shared_regional_certificate_authority.rb", + "language": "RUBY", + "client_method": { + "short_name": "get_shared_regional_certificate_authority", + "full_name": "::Google::Cloud::Memorystore::V1::Memorystore::Rest::Client#get_shared_regional_certificate_authority", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest", + "name": "request" + } + ], + "result_type": "::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority", + "client": { + "short_name": "Memorystore::Rest::Client", + "full_name": "::Google::Cloud::Memorystore::V1::Memorystore::Rest::Client" + }, + "method": { + "short_name": "GetSharedRegionalCertificateAuthority", + "full_name": "google.cloud.memorystore.v1.Memorystore.GetSharedRegionalCertificateAuthority", + "service": { + "short_name": "Memorystore", + "full_name": "google.cloud.memorystore.v1.Memorystore" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, { "region_tag": "memorystore_v1_generated_Memorystore_RescheduleMaintenance_sync", "title": "Snippet for the reschedule_maintenance call in the Memorystore service", diff --git a/google-cloud-memorystore-v1/test/google/cloud/memorystore/v1/memorystore_rest_test.rb b/google-cloud-memorystore-v1/test/google/cloud/memorystore/v1/memorystore_rest_test.rb index 7a6daf8f3ff1..31e1ee88e043 100644 --- a/google-cloud-memorystore-v1/test/google/cloud/memorystore/v1/memorystore_rest_test.rb +++ b/google-cloud-memorystore-v1/test/google/cloud/memorystore/v1/memorystore_rest_test.rb @@ -412,6 +412,60 @@ def test_get_certificate_authority end end + def test_get_shared_regional_certificate_authority + # Create test objects. + client_result = ::Google::Cloud::Memorystore::V1::SharedRegionalCertificateAuthority.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_shared_regional_certificate_authority_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::Memorystore::V1::Memorystore::Rest::ServiceStub.stub :transcode_get_shared_regional_certificate_authority_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, get_shared_regional_certificate_authority_client_stub do + # Create client + client = ::Google::Cloud::Memorystore::V1::Memorystore::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + client.get_shared_regional_certificate_authority({ name: name }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + client.get_shared_regional_certificate_authority name: name do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + client.get_shared_regional_certificate_authority ::Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest.new(name: name) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + client.get_shared_regional_certificate_authority({ name: name }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + client.get_shared_regional_certificate_authority(::Google::Cloud::Memorystore::V1::GetSharedRegionalCertificateAuthorityRequest.new(name: name), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, get_shared_regional_certificate_authority_client_stub.call_count + end + end + end + def test_reschedule_maintenance # Create test objects. client_result = ::Google::Longrunning::Operation.new