diff --git a/google-cloud-storage-control-v2/.owlbot-manifest.json b/google-cloud-storage-control-v2/.owlbot-manifest.json index 34bae834e8d7..70957e108dd0 100644 --- a/google-cloud-storage-control-v2/.owlbot-manifest.json +++ b/google-cloud-storage-control-v2/.owlbot-manifest.json @@ -58,6 +58,7 @@ "snippets/storage_control/delete_folder_recursive.rb", "snippets/storage_control/delete_managed_folder.rb", "snippets/storage_control/disable_anywhere_cache.rb", + "snippets/storage_control/disable_rapid_cache.rb", "snippets/storage_control/get_anywhere_cache.rb", "snippets/storage_control/get_folder.rb", "snippets/storage_control/get_folder_intelligence_config.rb", diff --git a/google-cloud-storage-control-v2/gapic_metadata.json b/google-cloud-storage-control-v2/gapic_metadata.json index fd2ac660ee0a..3394715ff472 100644 --- a/google-cloud-storage-control-v2/gapic_metadata.json +++ b/google-cloud-storage-control-v2/gapic_metadata.json @@ -115,6 +115,11 @@ "update_rapid_cache" ] }, + "DisableRapidCache": { + "methods": [ + "disable_rapid_cache" + ] + }, "GetRapidCache": { "methods": [ "get_rapid_cache" diff --git a/google-cloud-storage-control-v2/lib/google/cloud/storage/control/v2/storage_control/client.rb b/google-cloud-storage-control-v2/lib/google/cloud/storage/control/v2/storage_control/client.rb index 7aa9d32ee9e6..3e49c427cb0b 100644 --- a/google-cloud-storage-control-v2/lib/google/cloud/storage/control/v2/storage_control/client.rb +++ b/google-cloud-storage-control-v2/lib/google/cloud/storage/control/v2/storage_control/client.rb @@ -2482,6 +2482,108 @@ def update_rapid_cache request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Disables a Rapid Cache instance. + # + # @overload disable_rapid_cache(request, options = nil) + # Pass arguments to `disable_rapid_cache` via a request object, either of type + # {::Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest, ::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 disable_rapid_cache(name: nil, request_id: nil) + # Pass arguments to `disable_rapid_cache` 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. The name field in the request should be: + # `projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}` + # @param request_id [::String] + # Optional. A unique identifier for this request. UUID is the recommended + # format, but other formats are still accepted. This request is only + # idempotent if a `request_id` is provided. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::Operation] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/storage/control/v2" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Storage::Control::V2::StorageControl::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest.new + # + # # Call the disable_rapid_cache method. + # result = client.disable_rapid_cache request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def disable_rapid_cache request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest + + # 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 + metadata = @config.rpcs.disable_rapid_cache.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + 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::Storage::Control::V2::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + regex_match = %r{^(?projects/[^/]+/buckets/[^/]+)(?:/(?<__wildcard__>.*))?$}.match request.name + if regex_match + header_params["bucket"] = regex_match["bucket".to_s] + end + end + + request_params_header = URI.encode_www_form header_params + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.disable_rapid_cache.timeout, + metadata: metadata, + retry_policy: @config.rpcs.disable_rapid_cache.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @storage_control_stub.call_rpc :disable_rapid_cache, request, options: options do |response, operation| + response = ::Gapic::Operation.new response, @operations_client, options: options + yield response, operation if block_given? + throw :response, response + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + ## # Gets a Rapid Cache instance. # @@ -4434,6 +4536,11 @@ class Rpcs # attr_reader :update_rapid_cache ## + # RPC-specific configuration for `disable_rapid_cache` + # @return [::Gapic::Config::Method] + # + attr_reader :disable_rapid_cache + ## # RPC-specific configuration for `get_rapid_cache` # @return [::Gapic::Config::Method] # @@ -4563,6 +4670,8 @@ def initialize parent_rpcs = nil @create_rapid_cache = ::Gapic::Config::Method.new create_rapid_cache_config update_rapid_cache_config = parent_rpcs.update_rapid_cache if parent_rpcs.respond_to? :update_rapid_cache @update_rapid_cache = ::Gapic::Config::Method.new update_rapid_cache_config + disable_rapid_cache_config = parent_rpcs.disable_rapid_cache if parent_rpcs.respond_to? :disable_rapid_cache + @disable_rapid_cache = ::Gapic::Config::Method.new disable_rapid_cache_config get_rapid_cache_config = parent_rpcs.get_rapid_cache if parent_rpcs.respond_to? :get_rapid_cache @get_rapid_cache = ::Gapic::Config::Method.new get_rapid_cache_config list_rapid_caches_config = parent_rpcs.list_rapid_caches if parent_rpcs.respond_to? :list_rapid_caches diff --git a/google-cloud-storage-control-v2/lib/google/storage/control/v2/storage_control_pb.rb b/google-cloud-storage-control-v2/lib/google/storage/control/v2/storage_control_pb.rb index 7e13ceb11a3c..197dde06ddf2 100644 --- a/google-cloud-storage-control-v2/lib/google/storage/control/v2/storage_control_pb.rb +++ b/google-cloud-storage-control-v2/lib/google/storage/control/v2/storage_control_pb.rb @@ -22,7 +22,7 @@ require 'google/type/interval_pb' -descriptor_data = "\n/google/storage/control/v2/storage_control.proto\x12\x19google.storage.control.v2\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\x18google/api/routing.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x1agoogle/type/interval.proto\"+\n\x11PendingRenameInfo\x12\x16\n\toperation\x18\x01 \x01(\tB\x03\xe0\x41\x03\"\xe2\x02\n\x06\x46older\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x1b\n\x0emetageneration\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12N\n\x13pending_rename_info\x18\x07 \x01(\x0b\x32,.google.storage.control.v2.PendingRenameInfoB\x03\xe0\x41\x03:l\xea\x41i\n\x1dstorage.googleapis.com/Folder\x12\x37projects/{project}/buckets/{bucket}/folders/{folder=**}*\x07\x66olders2\x06\x66older\"\xf4\x01\n\x10GetFolderRequest\x12\x33\n\x04name\x18\x06 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Folder\x12$\n\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\xd5\x01\n\x13\x43reateFolderRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\x12\x1dstorage.googleapis.com/Folder\x12\x36\n\x06\x66older\x18\x02 \x01(\x0b\x32!.google.storage.control.v2.FolderB\x03\xe0\x41\x02\x12\x16\n\tfolder_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\trecursive\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xf7\x01\n\x13\x44\x65leteFolderRequest\x12\x33\n\x04name\x18\x06 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Folder\x12$\n\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\x8c\x02\n\x12ListFoldersRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\x12\x1dstorage.googleapis.com/Folder\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\x06prefix\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tdelimiter\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12 \n\x13lexicographic_start\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11lexicographic_end\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12\x1f\n\nrequest_id\x18\t \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"b\n\x13ListFoldersResponse\x12\x32\n\x07\x66olders\x18\x01 \x03(\x0b\x32!.google.storage.control.v2.Folder\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x9b\x02\n\x13RenameFolderRequest\x12\x33\n\x04name\x18\x07 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Folder\x12\"\n\x15\x64\x65stination_folder_id\x18\x08 \x01(\tB\x03\xe0\x41\x02\x12$\n\x17if_metageneration_match\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x06 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\x8a\x02\n\x1c\x44\x65leteFolderRecursiveRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Folder\x12)\n\x17if_metageneration_match\x18\x02 \x01(\x03\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x12-\n\x1bif_metageneration_not_match\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\x9a\x02\n\"CommonLongRunningOperationMetadata\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\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04type\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x05 \x01(\x08\x42\x03\xe0\x41\x03\x12\x1d\n\x10progress_percent\x18\x06 \x01(\x05\x42\x03\xe0\x41\x03\"\xa7\x01\n\x14RenameFolderMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x18\n\x10source_folder_id\x18\x02 \x01(\t\x12\x1d\n\x15\x64\x65stination_folder_id\x18\x03 \x01(\t\"\x8a\x01\n\x1d\x44\x65leteFolderRecursiveMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x11\n\tfolder_id\x18\x02 \x01(\t\"\xfb\x04\n\rStorageLayout\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\x08location\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rlocation_type\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x64\n\x17\x63ustom_placement_config\x18\x04 \x01(\x0b\x32>.google.storage.control.v2.StorageLayout.CustomPlacementConfigB\x03\xe0\x41\x03\x12\x63\n\x16hierarchical_namespace\x18\x05 \x01(\x0b\x32>.google.storage.control.v2.StorageLayout.HierarchicalNamespaceB\x03\xe0\x41\x03\x12V\n\x10rapid_cache_info\x18\x06 \x01(\x0b\x32\x37.google.storage.control.v2.StorageLayout.RapidCacheInfoB\x03\xe0\x41\x03\x1a/\n\x15\x43ustomPlacementConfig\x12\x16\n\x0e\x64\x61ta_locations\x18\x01 \x03(\t\x1a(\n\x15HierarchicalNamespace\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a)\n\x0eRapidCacheInfo\x12\x17\n\ncache_type\x18\x01 \x01(\tB\x03\xe0\x41\x03:{\xea\x41x\n$storage.googleapis.com/StorageLayout\x12\x31projects/{project}/buckets/{bucket}/storageLayout*\x0estorageLayouts2\rstorageLayout\"\x86\x01\n\x17GetStorageLayoutRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/StorageLayout\x12\x0e\n\x06prefix\x18\x02 \x01(\t\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x9d\x07\n\rManagedFolder\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x1b\n\x0emetageneration\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12Z\n\x12rapid_cache_config\x18\x06 \x01(\x0b\x32\x39.google.storage.control.v2.ManagedFolder.RapidCacheConfigH\x00\x88\x01\x01\x1a\xe8\x03\n\x10RapidCacheConfig\x12^\n\x08policies\x18\x01 \x03(\x0b\x32G.google.storage.control.v2.ManagedFolder.RapidCacheConfig.PoliciesEntryB\x03\xe0\x41\x01\x1a\xf6\x01\n\x10RapidCachePolicy\x12\x1b\n\x0erapid_cache_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12v\n\x0fingest_on_write\x18\x02 \x01(\x0e\x32X.google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy.IngestOnWriteB\x03\xe0\x41\x02\"M\n\rIngestOnWrite\x12\x1f\n\x1bINGEST_ON_WRITE_UNSPECIFIED\x10\x00\x12\x1b\n\x17INGEST_ON_WRITE_ENABLED\x10\x01\x1a{\n\rPoliciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12Y\n\x05value\x18\x02 \x01(\x0b\x32J.google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy:\x02\x38\x01:\x91\x01\xea\x41\x8d\x01\n$storage.googleapis.com/ManagedFolder\x12\x46projects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}*\x0emanagedFolders2\rmanagedFolderB\x15\n\x13_rapid_cache_config\"\x82\x02\n\x17GetManagedFolderRequest\x12:\n\x04name\x18\x06 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/ManagedFolder\x12$\n\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\xe2\x01\n\x1a\x43reateManagedFolderRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$storage.googleapis.com/ManagedFolder\x12\x45\n\x0emanaged_folder\x18\x02 \x01(\x0b\x32(.google.storage.control.v2.ManagedFolderB\x03\xe0\x41\x02\x12\x1e\n\x11managed_folder_id\x18\x03 \x01(\tB\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\"\x9e\x02\n\x1a\x44\x65leteManagedFolderRequest\x12:\n\x04name\x18\x07 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/ManagedFolder\x12$\n\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x17\n\x0f\x61llow_non_empty\x18\x05 \x01(\x08\x12\x1f\n\nrequest_id\x18\x06 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\xc0\x01\n\x19ListManagedFoldersRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$storage.googleapis.com/ManagedFolder\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\x06prefix\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"x\n\x1aListManagedFoldersResponse\x12\x41\n\x0fmanaged_folders\x18\x01 \x03(\x0b\x32(.google.storage.control.v2.ManagedFolder\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xd0\x02\n\x1aUpdateManagedFolderRequest\x12\x45\n\x0emanaged_folder\x18\x01 \x01(\x0b\x32(.google.storage.control.v2.ManagedFolderB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12)\n\x17if_metageneration_match\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x12-\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\xe7\x02\n\x1b\x43reateAnywhereCacheMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1e\n\x11\x61nywhere_cache_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04zone\x18\x06 \x01(\tH\x01\x88\x01\x01\x12+\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1d\n\x10\x61\x64mission_policy\x18\x05 \x01(\tH\x03\x88\x01\x01\x12!\n\x0fingest_on_write\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01H\x04\x88\x01\x01\x42\x14\n\x12_anywhere_cache_idB\x07\n\x05_zoneB\x06\n\x04_ttlB\x13\n\x11_admission_policyB\x12\n\x10_ingest_on_write\"\x8b\x03\n\x18\x43reateRapidCacheMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1b\n\x0erapid_cache_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04zone\x18\x03 \x01(\tH\x01\x88\x01\x01\x12+\n\x03ttl\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1d\n\x10\x61\x64mission_policy\x18\x05 \x01(\tH\x03\x88\x01\x01\x12!\n\x0fingest_on_write\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01H\x04\x88\x01\x01\x12\x1c\n\ncache_type\x18\x07 \x01(\tB\x03\xe0\x41\x01H\x05\x88\x01\x01\x42\x11\n\x0f_rapid_cache_idB\x07\n\x05_zoneB\x06\n\x04_ttlB\x13\n\x11_admission_policyB\x12\n\x10_ingest_on_writeB\r\n\x0b_cache_type\"\xe7\x02\n\x1bUpdateAnywhereCacheMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1e\n\x11\x61nywhere_cache_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04zone\x18\x05 \x01(\tH\x01\x88\x01\x01\x12+\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\"\n\x10\x61\x64mission_policy\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x03\x88\x01\x01\x12\x1c\n\x0fingest_on_write\x18\x06 \x01(\x08H\x04\x88\x01\x01\x42\x14\n\x12_anywhere_cache_idB\x07\n\x05_zoneB\x06\n\x04_ttlB\x13\n\x11_admission_policyB\x12\n\x10_ingest_on_write\"\x8b\x03\n\x18UpdateRapidCacheMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1b\n\x0erapid_cache_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04zone\x18\x03 \x01(\tH\x01\x88\x01\x01\x12+\n\x03ttl\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\"\n\x10\x61\x64mission_policy\x18\x05 \x01(\tB\x03\xe0\x41\x01H\x03\x88\x01\x01\x12\x1c\n\x0fingest_on_write\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1c\n\ncache_type\x18\x07 \x01(\tB\x03\xe0\x41\x01H\x05\x88\x01\x01\x42\x11\n\x0f_rapid_cache_idB\x07\n\x05_zoneB\x06\n\x04_ttlB\x13\n\x11_admission_policyB\x12\n\x10_ingest_on_writeB\r\n\x0b_cache_type\"\xdc\x03\n\rAnywhereCache\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x11\n\x04zone\x18\n \x01(\tB\x03\xe0\x41\x05\x12&\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x18\n\x10\x61\x64mission_policy\x18\t \x01(\t\x12\x12\n\x05state\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x0epending_update\x18\x08 \x01(\x08\x42\x03\xe0\x41\x03\x12!\n\x0fingest_on_write\x18\x0b \x01(\x08\x42\x03\xe0\x41\x01H\x00\x88\x01\x01:\x8e\x01\xea\x41\x8a\x01\n$storage.googleapis.com/AnywhereCache\x12\x43projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}*\x0e\x61nywhereCaches2\ranywhereCacheB\x12\n\x10_ingest_on_write\"\xc2\x01\n\x1a\x43reateAnywhereCacheRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$storage.googleapis.com/AnywhereCache\x12\x45\n\x0e\x61nywhere_cache\x18\x03 \x01(\x0b\x32(.google.storage.control.v2.AnywhereCacheB\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\"\xba\x01\n\x1aUpdateAnywhereCacheRequest\x12\x45\n\x0e\x61nywhere_cache\x18\x01 \x01(\x0b\x32(.google.storage.control.v2.AnywhereCacheB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"z\n\x1b\x44isableAnywhereCacheRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/AnywhereCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"x\n\x19PauseAnywhereCacheRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/AnywhereCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"y\n\x1aResumeAnywhereCacheRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/AnywhereCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"v\n\x17GetAnywhereCacheRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/AnywhereCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xa1\x01\n\x19ListAnywhereCachesRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$storage.googleapis.com/AnywhereCache\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"x\n\x1aListAnywhereCachesResponse\x12\x41\n\x0f\x61nywhere_caches\x18\x01 \x03(\x0b\x32(.google.storage.control.v2.AnywhereCache\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xaa\x03\n\nRapidCache\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x11\n\x04zone\x18\x02 \x01(\tB\x03\xe0\x41\x05\x12\x17\n\ncache_type\x18\x03 \x01(\tB\x03\xe0\x41\x05\x12&\n\x03ttl\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x18\n\x10\x61\x64mission_policy\x18\x05 \x01(\t\x12\x12\n\x05state\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x0epending_update\x18\t \x01(\x08\x42\x03\xe0\x41\x03:~\xea\x41{\n!storage.googleapis.com/RapidCache\x12=projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}*\x0brapidCaches2\nrapidCache\"\xb6\x01\n\x17\x43reateRapidCacheRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!storage.googleapis.com/RapidCache\x12?\n\x0brapid_cache\x18\x02 \x01(\x0b\x32%.google.storage.control.v2.RapidCacheB\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\"\xb1\x01\n\x17UpdateRapidCacheRequest\x12?\n\x0brapid_cache\x18\x01 \x01(\x0b\x32%.google.storage.control.v2.RapidCacheB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"p\n\x14GetRapidCacheRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!storage.googleapis.com/RapidCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x9b\x01\n\x16ListRapidCachesRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!storage.googleapis.com/RapidCache\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"o\n\x17ListRapidCachesResponse\x12;\n\x0crapid_caches\x18\x01 \x03(\x0b\x32%.google.storage.control.v2.RapidCache\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x9e\x0e\n\x12IntelligenceConfig\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12X\n\x0e\x65\x64ition_config\x18\x02 \x01(\x0e\x32;.google.storage.control.v2.IntelligenceConfig.EditionConfigB\x03\xe0\x41\x01\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12I\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x34.google.storage.control.v2.IntelligenceConfig.FilterB\x03\xe0\x41\x01\x12u\n\x1d\x65\x66\x66\x65\x63tive_intelligence_config\x18\x05 \x01(\x0b\x32I.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfigB\x03\xe0\x41\x03\x12O\n\x0ctrial_config\x18\x07 \x01(\x0b\x32\x39.google.storage.control.v2.IntelligenceConfig.TrialConfig\x1a\xfc\x04\n\x06\x46ilter\x12v\n included_cloud_storage_locations\x18\x01 \x01(\x0b\x32J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12v\n excluded_cloud_storage_locations\x18\x02 \x01(\x0b\x32J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12r\n\x1eincluded_cloud_storage_buckets\x18\x03 \x01(\x0b\x32H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x12r\n\x1e\x65xcluded_cloud_storage_buckets\x18\x04 \x01(\x0b\x32H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x1a/\n\x15\x43loudStorageLocations\x12\x16\n\tlocations\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a\x35\n\x13\x43loudStorageBuckets\x12\x1e\n\x11\x62ucket_id_regexes\x18\x01 \x03(\tB\x03\xe0\x41\x01\x42\x19\n\x17\x63loud_storage_locationsB\x17\n\x15\x63loud_storage_buckets\x1a\x8a\x02\n\x1b\x45\x66\x66\x65\x63tiveIntelligenceConfig\x12z\n\x11\x65\x66\x66\x65\x63tive_edition\x18\x01 \x01(\x0e\x32Z.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfig.EffectiveEditionB\x03\xe0\x41\x03\x12 \n\x13intelligence_config\x18\x02 \x01(\tB\x03\xe0\x41\x03\"M\n\x10\x45\x66\x66\x65\x63tiveEdition\x12!\n\x1d\x45\x46\x46\x45\x43TIVE_EDITION_UNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x0c\n\x08STANDARD\x10\x02\x1a\x43\n\x0bTrialConfig\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"s\n\rEditionConfig\x12\x1e\n\x1a\x45\x44ITION_CONFIG_UNSPECIFIED\x10\x00\x12\x0b\n\x07INHERIT\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0c\n\x08STANDARD\x10\x03\x12\t\n\x05TRIAL\x10\x05\x12\x0e\n\nESSENTIALS\x10\x06:\x8b\x02\xea\x41\x87\x02\n)storage.googleapis.com/IntelligenceConfig\x12\x38\x66olders/{folder}/locations/{location}/intelligenceConfig\x12;organizations/{org}/locations/{location}/intelligenceConfig\x12:projects/{project}/locations/{location}/intelligenceConfig*\x13intelligenceConfigs2\x12intelligenceConfig\"\xd5\x01\n+UpdateOrganizationIntelligenceConfigRequest\x12O\n\x13intelligence_config\x18\x01 \x01(\x0b\x32-.google.storage.control.v2.IntelligenceConfigB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"\xcf\x01\n%UpdateFolderIntelligenceConfigRequest\x12O\n\x13intelligence_config\x18\x01 \x01(\x0b\x32-.google.storage.control.v2.IntelligenceConfigB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"\xd0\x01\n&UpdateProjectIntelligenceConfigRequest\x12O\n\x13intelligence_config\x18\x01 \x01(\x0b\x32-.google.storage.control.v2.IntelligenceConfigB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"k\n(GetOrganizationIntelligenceConfigRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)storage.googleapis.com/IntelligenceConfig\"e\n\"GetFolderIntelligenceConfigRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)storage.googleapis.com/IntelligenceConfig\"f\n#GetProjectIntelligenceConfigRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)storage.googleapis.com/IntelligenceConfig\"\xbe \n\x13IntelligenceFinding\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x39\n\x04type\x18\x03 \x01(\x0e\x32&.google.storage.control.v2.FindingTypeB\x03\xe0\x41\x03\x12\x41\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32*.google.storage.control.v2.FindingCategoryB\x03\xe0\x41\x03\x12\x41\n\x08severity\x18\x05 \x01(\x0e\x32*.google.storage.control.v2.FindingSeverityB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1c\n\x0ftarget_resource\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12!\n\x14\x61ssociated_resources\x18\t \x03(\tB\x03\xe0\x41\x03\x12\x36\n\x12observation_period\x18\n \x01(\x0b\x32\x15.google.type.IntervalB\x03\xe0\x41\x03\x12\x97\x01\n.coldline_and_archival_storage_operations_spike\x18\x0b \x01(\x0b\x32X.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpikeB\x03\xe0\x41\x03H\x00\x12m\n\x18throttled_requests_spike\x18\x0c \x01(\x0b\x32\x44.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpikeB\x03\xe0\x41\x03H\x00\x12o\n\x19\x63ross_region_egress_spike\x18\r \x01(\x0b\x32\x45.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpikeB\x03\xe0\x41\x03H\x00\x12q\n\x1astorage_growth_above_trend\x18\x0e \x01(\x0b\x32\x46.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrendB\x03\xe0\x41\x03H\x00\x1a\x89\x07\n)ColdlineAndArchivalStorageOperationsSpike\x12 \n\x13percentage_increase\x18\x01 \x01(\x01\x42\x03\xe0\x41\x03\x12#\n\x16total_operations_count\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12\x85\x01\n\x0btop_buckets\x18\x03 \x03(\x0b\x32k.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContributionB\x03\xe0\x41\x03\x1a\x8c\x05\n\x12\x42ucketContribution\x12\x35\n\x06\x62ucket\x18\x01 \x01(\tB%\xe0\x41\x03\xfa\x41\x1f\n\x1dstorage.googleapis.com/Bucket\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12#\n\x16total_operations_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x12\x95\x01\n\x0c\x63ontribution\x18\x04 \x01(\x0b\x32x.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.ContributionB\x03\xe0\x41\x03H\x00\x12(\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03H\x00\x1a\xaa\x02\n\x0c\x43ontribution\x12\xa7\x01\n\x0ctop_prefixes\x18\x01 \x03(\x0b\x32\x8b\x01.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution.PrefixContributionB\x03\xe0\x41\x03\x1ap\n\x12PrefixContribution\x12\x13\n\x06prefix\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12#\n\x16total_operations_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x42\t\n\x07\x64\x65tails\x1a\xaf\x06\n\x16\x43rossRegionEgressSpike\x12\x1f\n\x12total_egress_bytes\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12r\n\x0btop_buckets\x18\x03 \x03(\x0b\x32X.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContributionB\x03\xe0\x41\x03\x1a\xdd\x04\n\x12\x42ucketContribution\x12\x35\n\x06\x62ucket\x18\x01 \x01(\tB%\xe0\x41\x03\xfa\x41\x1f\n\x1dstorage.googleapis.com/Bucket\x12\x1f\n\x12total_egress_bytes\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x12\x82\x01\n\x0c\x63ontribution\x18\x04 \x01(\x0b\x32\x65.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.ContributionB\x03\xe0\x41\x03H\x00\x12(\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03H\x00\x1a\x92\x02\n\x0c\x43ontribution\x12\x93\x01\n\x0ctop_prefixes\x18\x01 \x03(\x0b\x32x.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution.PrefixContributionB\x03\xe0\x41\x03\x1al\n\x12PrefixContribution\x12\x13\n\x06prefix\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\x12total_egress_bytes\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x42\t\n\x07\x64\x65tails\x1a\xab\x06\n\x15ThrottledRequestSpike\x12\x1f\n\x12throttled_requests\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12q\n\x0btop_buckets\x18\x03 \x03(\x0b\x32W.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContributionB\x03\xe0\x41\x03\x1a\xdb\x04\n\x12\x42ucketContribution\x12\x35\n\x06\x62ucket\x18\x01 \x01(\tB%\xe0\x41\x03\xfa\x41\x1f\n\x1dstorage.googleapis.com/Bucket\x12\x1f\n\x12throttled_requests\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x12\x81\x01\n\x0c\x63ontribution\x18\x04 \x01(\x0b\x32\x64.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.ContributionB\x03\xe0\x41\x03H\x00\x12(\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03H\x00\x1a\x91\x02\n\x0c\x43ontribution\x12\x92\x01\n\x0ctop_prefixes\x18\x01 \x03(\x0b\x32w.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution.PrefixContributionB\x03\xe0\x41\x03\x1al\n\x12PrefixContribution\x12\x13\n\x06prefix\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\x12throttled_requests\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x42\t\n\x07\x64\x65tails\x1a\xa7\x03\n\x17StorageGrowthAboveTrend\x12\'\n\x1atotal_storage_growth_bytes\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12s\n\x0btop_buckets\x18\x03 \x03(\x0b\x32Y.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend.BucketContributionB\x03\xe0\x41\x03\x1a\xcb\x01\n\x12\x42ucketContribution\x12\x35\n\x06\x62ucket\x18\x01 \x01(\tB%\xe0\x41\x03\xfa\x41\x1f\n\x1dstorage.googleapis.com/Bucket\x12\'\n\x1atotal_storage_growth_bytes\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x12(\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03H\x00\x42\t\n\x07\x64\x65tails:\xb0\x01\xea\x41\xac\x01\n*storage.googleapis.com/IntelligenceFinding\x12Sprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}*\x14intelligenceFindings2\x13intelligenceFindingB\x1e\n\x1cintelligence_finding_details\"\x8d\x03\n\x1bIntelligenceFindingRevision\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x45\n\x08snapshot\x18\x02 \x01(\x0b\x32..google.storage.control.v2.IntelligenceFindingB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:\xdd\x01\xea\x41\xd9\x01\n2storage.googleapis.com/IntelligenceFindingRevision\x12hprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}*\x1cintelligenceFindingRevisions2\x1bintelligenceFindingRevision\"a\n\x1dGetIntelligenceFindingRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*storage.googleapis.com/IntelligenceFinding\"\xab\x01\n\x1fListIntelligenceFindingsRequest\x12\x42\n\x06parent\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\x12*storage.googleapis.com/IntelligenceFinding\x12\x13\n\x06\x66ilter\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tpage_size\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\x8a\x01\n ListIntelligenceFindingsResponse\x12M\n\x15intelligence_findings\x18\x01 \x03(\x0b\x32..google.storage.control.v2.IntelligenceFinding\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xb7\x02\n$SummarizeIntelligenceFindingsRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12j\n\x0eresource_scope\x18\x02 \x01(\x0e\x32M.google.storage.control.v2.SummarizeIntelligenceFindingsRequest.ResourceScopeB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tpage_size\x18\x04 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x05 \x01(\tB\x03\xe0\x41\x01\"H\n\rResourceScope\x12\x1e\n\x1aRESOURCE_SCOPE_UNSPECIFIED\x10\x00\x12\n\n\x06PARENT\x10\x01\x12\x0b\n\x07PROJECT\x10\x02\"\x86\x01\n%SummarizeIntelligenceFindingsResponse\x12\x44\n\x11\x66inding_summaries\x18\x01 \x03(\x0b\x32).google.storage.control.v2.FindingSummary\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"q\n%GetIntelligenceFindingRevisionRequest\x12H\n\x04name\x18\x01 \x01(\tB:\xe0\x41\x02\xfa\x41\x34\n2storage.googleapis.com/IntelligenceFindingRevision\"\xa6\x01\n\'ListIntelligenceFindingRevisionsRequest\x12J\n\x06parent\x18\x01 \x01(\tB:\xe0\x41\x02\xfa\x41\x34\x12\x32storage.googleapis.com/IntelligenceFindingRevision\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\"\xa3\x01\n(ListIntelligenceFindingRevisionsResponse\x12^\n\x1eintelligence_finding_revisions\x18\x01 \x03(\x0b\x32\x36.google.storage.control.v2.IntelligenceFindingRevision\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xba\x05\n\x0e\x46indingSummary\x12\x39\n\x04type\x18\x01 \x01(\x0e\x32&.google.storage.control.v2.FindingTypeB\x03\xe0\x41\x03\x12\x41\n\x08\x63\x61tegory\x18\x02 \x01(\x0e\x32*.google.storage.control.v2.FindingCategoryB\x03\xe0\x41\x03\x12\x1c\n\x0ftarget_resource\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12<\n\x08severity\x18\x07 \x01(\x0e\x32*.google.storage.control.v2.FindingSeverity\x12V\n\x0fsummary_details\x18\x08 \x03(\x0b\x32\x38.google.storage.control.v2.FindingSummary.SummaryDetailsB\x03\xe0\x41\x03\x1a\x89\x02\n\x0eSummaryDetails\x12\x0f\n\x05\x63ount\x18\x01 \x01(\x03H\x00\x12\x14\n\npercentage\x18\x02 \x01(\x02H\x00\x12\x61\n\rresource_type\x18\x03 \x01(\x0e\x32\x45.google.storage.control.v2.FindingSummary.SummaryDetails.ResourceTypeB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x03\"F\n\x0cResourceType\x12\x1d\n\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PROJECT\x10\x01\x12\n\n\x06\x42UCKET\x10\x02\x42\x0b\n\tmagnitude\"\xb5\x02\n\x11ObjectFullContext\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.google.storage.control.v2.ObjectFullContext.Type\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\rextended_data\x18\x06 \x01(\x0b\x32\x14.google.protobuf.Any\"4\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06GOOGLE\x10\x02\"\x86\x01\n\x1cViewObjectFullContextRequest\x12\x17\n\ngeneration\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x18\n\x0b\x63ontext_key\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x33\n\x04name\x18\x05 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Object*\xef\x01\n\x0b\x46indingType\x12\x1c\n\x18\x46INDING_TYPE_UNSPECIFIED\x10\x00\x12?\n;FINDING_TYPE_COLDLINE_AND_ARCHIVAL_STORAGE_OPERATIONS_SPIKE\x10\x01\x12(\n$FINDING_TYPE_THROTTLED_REQUEST_SPIKE\x10\x02\x12*\n&FINDING_TYPE_CROSS_REGION_EGRESS_SPIKE\x10\x03\x12+\n\'FINDING_TYPE_STORAGE_GROWTH_ABOVE_TREND\x10\x04*{\n\x0f\x46indingCategory\x12 \n\x1c\x46INDING_CATEGORY_UNSPECIFIED\x10\x00\x12$\n FINDING_CATEGORY_DATA_MANAGEMENT\x10\x01\x12 \n\x1c\x46INDING_CATEGORY_PERFORMANCE\x10\x02*R\n\x0f\x46indingSeverity\x12 \n\x1c\x46INDING_SEVERITY_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x46INDING_SEVERITY_CRITICAL\x10\x01\x32\xfc\x43\n\x0eStorageControl\x12\xd3\x01\n\x0c\x43reateFolder\x12..google.storage.control.v2.CreateFolderRequest\x1a!.google.storage.control.v2.Folder\"p\xda\x41\x17parent,folder,folder_id\x82\xd3\xe4\x93\x02\x33\")/v2/{parent=projects/*/buckets/*}/folders:\x06\x66older\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xc1\x01\n\x0c\x44\x65leteFolder\x12..google.storage.control.v2.DeleteFolderRequest\x1a\x16.google.protobuf.Empty\"i\xda\x41\x04name\x82\xd3\xe4\x93\x02,**/v2/{name=projects/*/buckets/*/folders/**}\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xc6\x01\n\tGetFolder\x12+.google.storage.control.v2.GetFolderRequest\x1a!.google.storage.control.v2.Folder\"i\xda\x41\x04name\x82\xd3\xe4\x93\x02,\x12*/v2/{name=projects/*/buckets/*/folders/**}\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xc5\x01\n\x0bListFolders\x12-.google.storage.control.v2.ListFoldersRequest\x1a..google.storage.control.v2.ListFoldersResponse\"W\xda\x41\x06parent\x82\xd3\xe4\x93\x02+\x12)/v2/{parent=projects/*/buckets/*}/folders\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\x8a\x02\n\x0cRenameFolder\x12..google.storage.control.v2.RenameFolderRequest\x1a\x1d.google.longrunning.Operation\"\xaa\x01\xca\x41\x1e\n\x06\x46older\x12\x14RenameFolderMetadata\xda\x41\x1aname,destination_folder_id\x82\xd3\xe4\x93\x02\x36\"1/v2/{name=projects/*/buckets/*/folders/**}:rename:\x01*\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa7\x02\n\x15\x44\x65leteFolderRecursive\x12\x37.google.storage.control.v2.DeleteFolderRecursiveRequest\x1a\x1d.google.longrunning.Operation\"\xb5\x01\xca\x41\x36\n\x15google.protobuf.Empty\x12\x1d\x44\x65leteFolderRecursiveMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02?\":/v2/{name=projects/*/buckets/*/folders/**}:deleteRecursive:\x01*\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xde\x01\n\x10GetStorageLayout\x12\x32.google.storage.control.v2.GetStorageLayoutRequest\x1a(.google.storage.control.v2.StorageLayout\"l\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v2/{name=projects/*/buckets/*/storageLayout}\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xbf\x01\n\x13\x43reateManagedFolder\x12\x35.google.storage.control.v2.CreateManagedFolderRequest\x1a(.google.storage.control.v2.ManagedFolder\"G\xda\x41\'parent,managed_folder,managed_folder_id\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\x9d\x01\n\x13\x44\x65leteManagedFolder\x12\x35.google.storage.control.v2.DeleteManagedFolderRequest\x1a\x16.google.protobuf.Empty\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa9\x01\n\x10GetManagedFolder\x12\x32.google.storage.control.v2.GetManagedFolderRequest\x1a(.google.storage.control.v2.ManagedFolder\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa9\x01\n\x12ListManagedFolders\x12\x34.google.storage.control.v2.ListManagedFoldersRequest\x1a\x35.google.storage.control.v2.ListManagedFoldersResponse\"&\xda\x41\x06parent\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xd4\x01\n\x13UpdateManagedFolder\x12\x35.google.storage.control.v2.UpdateManagedFolderRequest\x1a(.google.storage.control.v2.ManagedFolder\"\\\xda\x41\x1amanaged_folder,update_mask\x8a\xd3\xe4\x93\x02\x39\x12\x37\n\x13managed_folder.name\x12 {bucket=projects/*/buckets/*}/**\x12\xd1\x01\n\x13\x43reateAnywhereCache\x12\x35.google.storage.control.v2.CreateAnywhereCacheRequest\x1a\x1d.google.longrunning.Operation\"d\xca\x41,\n\rAnywhereCache\x12\x1b\x43reateAnywhereCacheMetadata\xda\x41\x15parent,anywhere_cache\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xf9\x01\n\x13UpdateAnywhereCache\x12\x35.google.storage.control.v2.UpdateAnywhereCacheRequest\x1a\x1d.google.longrunning.Operation\"\x8b\x01\xca\x41,\n\rAnywhereCache\x12\x1bUpdateAnywhereCacheMetadata\xda\x41\x1a\x61nywhere_cache,update_mask\x8a\xd3\xe4\x93\x02\x39\x12\x37\n\x13\x61nywhere_cache.name\x12 {bucket=projects/*/buckets/*}/**\x12\xb1\x01\n\x14\x44isableAnywhereCache\x12\x36.google.storage.control.v2.DisableAnywhereCacheRequest\x1a(.google.storage.control.v2.AnywhereCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xad\x01\n\x12PauseAnywhereCache\x12\x34.google.storage.control.v2.PauseAnywhereCacheRequest\x1a(.google.storage.control.v2.AnywhereCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xaf\x01\n\x13ResumeAnywhereCache\x12\x35.google.storage.control.v2.ResumeAnywhereCacheRequest\x1a(.google.storage.control.v2.AnywhereCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa9\x01\n\x10GetAnywhereCache\x12\x32.google.storage.control.v2.GetAnywhereCacheRequest\x1a(.google.storage.control.v2.AnywhereCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa9\x01\n\x12ListAnywhereCaches\x12\x34.google.storage.control.v2.ListAnywhereCachesRequest\x1a\x35.google.storage.control.v2.ListAnywhereCachesResponse\"&\xda\x41\x06parent\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xc2\x01\n\x10\x43reateRapidCache\x12\x32.google.storage.control.v2.CreateRapidCacheRequest\x1a\x1d.google.longrunning.Operation\"[\xca\x41&\n\nRapidCache\x12\x18\x43reateRapidCacheMetadata\xda\x41\x12parent,rapid_cache\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xe6\x01\n\x10UpdateRapidCache\x12\x32.google.storage.control.v2.UpdateRapidCacheRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41&\n\nRapidCache\x12\x18UpdateRapidCacheMetadata\xda\x41\x17rapid_cache,update_mask\x8a\xd3\xe4\x93\x02\x36\x12\x34\n\x10rapid_cache.name\x12 {bucket=projects/*/buckets/*}/**\x12\xa0\x01\n\rGetRapidCache\x12/.google.storage.control.v2.GetRapidCacheRequest\x1a%.google.storage.control.v2.RapidCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa0\x01\n\x0fListRapidCaches\x12\x31.google.storage.control.v2.ListRapidCachesRequest\x1a\x32.google.storage.control.v2.ListRapidCachesResponse\"&\xda\x41\x06parent\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xd2\x01\n\x1cGetProjectIntelligenceConfig\x12>.google.storage.control.v2.GetProjectIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v2/{name=projects/*/locations/*/intelligenceConfig}\x12\x9d\x02\n\x1fUpdateProjectIntelligenceConfig\x12\x41.google.storage.control.v2.UpdateProjectIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"\x87\x01\xda\x41\x1fintelligence_config,update_mask\x82\xd3\xe4\x93\x02_2H/v2/{intelligence_config.name=projects/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xcf\x01\n\x1bGetFolderIntelligenceConfig\x12=.google.storage.control.v2.GetFolderIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"B\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35\x12\x33/v2/{name=folders/*/locations/*/intelligenceConfig}\x12\x9a\x02\n\x1eUpdateFolderIntelligenceConfig\x12@.google.storage.control.v2.UpdateFolderIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"\x86\x01\xda\x41\x1fintelligence_config,update_mask\x82\xd3\xe4\x93\x02^2G/v2/{intelligence_config.name=folders/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xe1\x01\n!GetOrganizationIntelligenceConfig\x12\x43.google.storage.control.v2.GetOrganizationIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v2/{name=organizations/*/locations/*/intelligenceConfig}\x12\xac\x02\n$UpdateOrganizationIntelligenceConfig\x12\x46.google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"\x8c\x01\xda\x41\x1fintelligence_config,update_mask\x82\xd3\xe4\x93\x02\x64\x32M/v2/{intelligence_config.name=organizations/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xa3\x01\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"X\xda\x41\x08resource\x8a\xd3\xe4\x93\x02G\x12\x17\n\x08resource\x12\x0b{bucket=**}\x12,\n\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\xaa\x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"_\xda\x41\x0fresource,policy\x8a\xd3\xe4\x93\x02G\x12\x17\n\x08resource\x12\x0b{bucket=**}\x12,\n\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\x96\x02\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"\xaa\x01\xda\x41\x14resource,permissions\x8a\xd3\xe4\x93\x02\x8c\x01\x12\x17\n\x08resource\x12\x0b{bucket=**}\x12\x34\n\x08resource\x12({bucket=projects/*/buckets/*}/objects/**\x12;\n\x08resource\x12/{bucket=projects/*/buckets/*}/managedFolders/**\x12\xcb\x01\n\x16GetIntelligenceFinding\x12\x38.google.storage.control.v2.GetIntelligenceFindingRequest\x1a..google.storage.control.v2.IntelligenceFinding\"G\xda\x41\x04name\x82\xd3\xe4\x93\x02:\x12\x38/v2/{name=projects/*/locations/*/intelligenceFindings/*}\x12\xde\x01\n\x18ListIntelligenceFindings\x12:.google.storage.control.v2.ListIntelligenceFindingsRequest\x1a;.google.storage.control.v2.ListIntelligenceFindingsResponse\"I\xda\x41\x06parent\x82\xd3\xe4\x93\x02:\x12\x38/v2/{parent=projects/*/locations/*}/intelligenceFindings\x12\x89\x03\n\x1dSummarizeIntelligenceFindings\x12?.google.storage.control.v2.SummarizeIntelligenceFindingsRequest\x1a@.google.storage.control.v2.SummarizeIntelligenceFindingsResponse\"\xe4\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xd4\x01\x12\x42/v2/{parent=projects/*/locations/*}/intelligenceFindings:summarizeZC\x12\x41/v2/{parent=folders/*/locations/*}/intelligenceFindings:summarizeZI\x12G/v2/{parent=organizations/*/locations/*}/intelligenceFindings:summarize\x12\xef\x01\n\x1eGetIntelligenceFindingRevision\x12@.google.storage.control.v2.GetIntelligenceFindingRevisionRequest\x1a\x36.google.storage.control.v2.IntelligenceFindingRevision\"S\xda\x41\x04name\x82\xd3\xe4\x93\x02\x46\x12\x44/v2/{name=projects/*/locations/*/intelligenceFindings/*/revisions/*}\x12\x82\x02\n ListIntelligenceFindingRevisions\x12\x42.google.storage.control.v2.ListIntelligenceFindingRevisionsRequest\x1a\x43.google.storage.control.v2.ListIntelligenceFindingRevisionsResponse\"U\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x46\x12\x44/v2/{parent=projects/*/locations/*/intelligenceFindings/*}/revisions\x12\xa4\x02\n\x15ViewObjectFullContext\x12\x37.google.storage.control.v2.ViewObjectFullContextRequest\x1a,.google.storage.control.v2.ObjectFullContext\"\xa3\x01\xda\x41\x10name,context_key\xda\x41\x1bname,generation,context_key\x82\xd3\xe4\x93\x02<\x12:/v2/{name=projects/*/buckets/*/objects/**}:viewFullContext\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x1a\xa7\x02\xca\x41\x16storage.googleapis.com\xd2\x41\x8a\x02https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/devstorage.full_control,https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/devstorage.read_writeB\xfe\x02\n\x1d\x63om.google.storage.control.v2B\x13StorageControlProtoP\x01Z=cloud.google.com/go/storage/control/apiv2/controlpb;controlpb\xaa\x02\x1fGoogle.Cloud.Storage.Control.V2\xca\x02\x1fGoogle\\Cloud\\Storage\\Control\\V2\xea\x02#Google::Cloud::Storage::Control::V2\xea\x41\x44\n\x1dstorage.googleapis.com/Bucket\x12#projects/{project}/buckets/{bucket}\xea\x41U\n\x1dstorage.googleapis.com/Object\x12\x34projects/{project}/buckets/{bucket}/objects/{object}b\x06proto3" +descriptor_data = "\n/google/storage/control/v2/storage_control.proto\x12\x19google.storage.control.v2\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\x18google/api/routing.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x1agoogle/type/interval.proto\"+\n\x11PendingRenameInfo\x12\x16\n\toperation\x18\x01 \x01(\tB\x03\xe0\x41\x03\"\xe2\x02\n\x06\x46older\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x1b\n\x0emetageneration\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12N\n\x13pending_rename_info\x18\x07 \x01(\x0b\x32,.google.storage.control.v2.PendingRenameInfoB\x03\xe0\x41\x03:l\xea\x41i\n\x1dstorage.googleapis.com/Folder\x12\x37projects/{project}/buckets/{bucket}/folders/{folder=**}*\x07\x66olders2\x06\x66older\"\xf4\x01\n\x10GetFolderRequest\x12\x33\n\x04name\x18\x06 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Folder\x12$\n\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\xd5\x01\n\x13\x43reateFolderRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\x12\x1dstorage.googleapis.com/Folder\x12\x36\n\x06\x66older\x18\x02 \x01(\x0b\x32!.google.storage.control.v2.FolderB\x03\xe0\x41\x02\x12\x16\n\tfolder_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\trecursive\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xf7\x01\n\x13\x44\x65leteFolderRequest\x12\x33\n\x04name\x18\x06 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Folder\x12$\n\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\x8c\x02\n\x12ListFoldersRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\x12\x1dstorage.googleapis.com/Folder\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\x06prefix\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tdelimiter\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12 \n\x13lexicographic_start\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11lexicographic_end\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12\x1f\n\nrequest_id\x18\t \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"b\n\x13ListFoldersResponse\x12\x32\n\x07\x66olders\x18\x01 \x03(\x0b\x32!.google.storage.control.v2.Folder\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x9b\x02\n\x13RenameFolderRequest\x12\x33\n\x04name\x18\x07 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Folder\x12\"\n\x15\x64\x65stination_folder_id\x18\x08 \x01(\tB\x03\xe0\x41\x02\x12$\n\x17if_metageneration_match\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x06 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\x8a\x02\n\x1c\x44\x65leteFolderRecursiveRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Folder\x12)\n\x17if_metageneration_match\x18\x02 \x01(\x03\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x12-\n\x1bif_metageneration_not_match\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\x9a\x02\n\"CommonLongRunningOperationMetadata\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\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04type\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x05 \x01(\x08\x42\x03\xe0\x41\x03\x12\x1d\n\x10progress_percent\x18\x06 \x01(\x05\x42\x03\xe0\x41\x03\"\xa7\x01\n\x14RenameFolderMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x18\n\x10source_folder_id\x18\x02 \x01(\t\x12\x1d\n\x15\x64\x65stination_folder_id\x18\x03 \x01(\t\"\x8a\x01\n\x1d\x44\x65leteFolderRecursiveMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x11\n\tfolder_id\x18\x02 \x01(\t\"\xfb\x04\n\rStorageLayout\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\x08location\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rlocation_type\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x64\n\x17\x63ustom_placement_config\x18\x04 \x01(\x0b\x32>.google.storage.control.v2.StorageLayout.CustomPlacementConfigB\x03\xe0\x41\x03\x12\x63\n\x16hierarchical_namespace\x18\x05 \x01(\x0b\x32>.google.storage.control.v2.StorageLayout.HierarchicalNamespaceB\x03\xe0\x41\x03\x12V\n\x10rapid_cache_info\x18\x06 \x01(\x0b\x32\x37.google.storage.control.v2.StorageLayout.RapidCacheInfoB\x03\xe0\x41\x03\x1a/\n\x15\x43ustomPlacementConfig\x12\x16\n\x0e\x64\x61ta_locations\x18\x01 \x03(\t\x1a(\n\x15HierarchicalNamespace\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x1a)\n\x0eRapidCacheInfo\x12\x17\n\ncache_type\x18\x01 \x01(\tB\x03\xe0\x41\x03:{\xea\x41x\n$storage.googleapis.com/StorageLayout\x12\x31projects/{project}/buckets/{bucket}/storageLayout*\x0estorageLayouts2\rstorageLayout\"\x86\x01\n\x17GetStorageLayoutRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/StorageLayout\x12\x0e\n\x06prefix\x18\x02 \x01(\t\x12\x1f\n\nrequest_id\x18\x03 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x9d\x07\n\rManagedFolder\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x1b\n\x0emetageneration\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12Z\n\x12rapid_cache_config\x18\x06 \x01(\x0b\x32\x39.google.storage.control.v2.ManagedFolder.RapidCacheConfigH\x00\x88\x01\x01\x1a\xe8\x03\n\x10RapidCacheConfig\x12^\n\x08policies\x18\x01 \x03(\x0b\x32G.google.storage.control.v2.ManagedFolder.RapidCacheConfig.PoliciesEntryB\x03\xe0\x41\x01\x1a\xf6\x01\n\x10RapidCachePolicy\x12\x1b\n\x0erapid_cache_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12v\n\x0fingest_on_write\x18\x02 \x01(\x0e\x32X.google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy.IngestOnWriteB\x03\xe0\x41\x02\"M\n\rIngestOnWrite\x12\x1f\n\x1bINGEST_ON_WRITE_UNSPECIFIED\x10\x00\x12\x1b\n\x17INGEST_ON_WRITE_ENABLED\x10\x01\x1a{\n\rPoliciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12Y\n\x05value\x18\x02 \x01(\x0b\x32J.google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy:\x02\x38\x01:\x91\x01\xea\x41\x8d\x01\n$storage.googleapis.com/ManagedFolder\x12\x46projects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}*\x0emanagedFolders2\rmanagedFolderB\x15\n\x13_rapid_cache_config\"\x82\x02\n\x17GetManagedFolderRequest\x12:\n\x04name\x18\x06 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/ManagedFolder\x12$\n\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\xe2\x01\n\x1a\x43reateManagedFolderRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$storage.googleapis.com/ManagedFolder\x12\x45\n\x0emanaged_folder\x18\x02 \x01(\x0b\x32(.google.storage.control.v2.ManagedFolderB\x03\xe0\x41\x02\x12\x1e\n\x11managed_folder_id\x18\x03 \x01(\tB\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\"\x9e\x02\n\x1a\x44\x65leteManagedFolderRequest\x12:\n\x04name\x18\x07 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/ManagedFolder\x12$\n\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x17\n\x0f\x61llow_non_empty\x18\x05 \x01(\x08\x12\x1f\n\nrequest_id\x18\x06 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\xc0\x01\n\x19ListManagedFoldersRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$storage.googleapis.com/ManagedFolder\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\x06prefix\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"x\n\x1aListManagedFoldersResponse\x12\x41\n\x0fmanaged_folders\x18\x01 \x03(\x0b\x32(.google.storage.control.v2.ManagedFolder\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xd0\x02\n\x1aUpdateManagedFolderRequest\x12\x45\n\x0emanaged_folder\x18\x01 \x01(\x0b\x32(.google.storage.control.v2.ManagedFolderB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12)\n\x17if_metageneration_match\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x12-\n\x1bif_metageneration_not_match\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x1f\n\nrequest_id\x18\x05 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x42\x1a\n\x18_if_metageneration_matchB\x1e\n\x1c_if_metageneration_not_match\"\xe7\x02\n\x1b\x43reateAnywhereCacheMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1e\n\x11\x61nywhere_cache_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04zone\x18\x06 \x01(\tH\x01\x88\x01\x01\x12+\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1d\n\x10\x61\x64mission_policy\x18\x05 \x01(\tH\x03\x88\x01\x01\x12!\n\x0fingest_on_write\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01H\x04\x88\x01\x01\x42\x14\n\x12_anywhere_cache_idB\x07\n\x05_zoneB\x06\n\x04_ttlB\x13\n\x11_admission_policyB\x12\n\x10_ingest_on_write\"\x8b\x03\n\x18\x43reateRapidCacheMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1b\n\x0erapid_cache_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04zone\x18\x03 \x01(\tH\x01\x88\x01\x01\x12+\n\x03ttl\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1d\n\x10\x61\x64mission_policy\x18\x05 \x01(\tH\x03\x88\x01\x01\x12!\n\x0fingest_on_write\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01H\x04\x88\x01\x01\x12\x1c\n\ncache_type\x18\x07 \x01(\tB\x03\xe0\x41\x01H\x05\x88\x01\x01\x42\x11\n\x0f_rapid_cache_idB\x07\n\x05_zoneB\x06\n\x04_ttlB\x13\n\x11_admission_policyB\x12\n\x10_ingest_on_writeB\r\n\x0b_cache_type\"\xe7\x02\n\x1bUpdateAnywhereCacheMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1e\n\x11\x61nywhere_cache_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04zone\x18\x05 \x01(\tH\x01\x88\x01\x01\x12+\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\"\n\x10\x61\x64mission_policy\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x03\x88\x01\x01\x12\x1c\n\x0fingest_on_write\x18\x06 \x01(\x08H\x04\x88\x01\x01\x42\x14\n\x12_anywhere_cache_idB\x07\n\x05_zoneB\x06\n\x04_ttlB\x13\n\x11_admission_policyB\x12\n\x10_ingest_on_write\"\x8b\x03\n\x18UpdateRapidCacheMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1b\n\x0erapid_cache_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04zone\x18\x03 \x01(\tH\x01\x88\x01\x01\x12+\n\x03ttl\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\"\n\x10\x61\x64mission_policy\x18\x05 \x01(\tB\x03\xe0\x41\x01H\x03\x88\x01\x01\x12\x1c\n\x0fingest_on_write\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1c\n\ncache_type\x18\x07 \x01(\tB\x03\xe0\x41\x01H\x05\x88\x01\x01\x42\x11\n\x0f_rapid_cache_idB\x07\n\x05_zoneB\x06\n\x04_ttlB\x13\n\x11_admission_policyB\x12\n\x10_ingest_on_writeB\r\n\x0b_cache_type\"\xec\x01\n\x19\x44isableRapidCacheMetadata\x12V\n\x0f\x63ommon_metadata\x18\x01 \x01(\x0b\x32=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1b\n\x0erapid_cache_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04zone\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\ncache_type\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x02\x88\x01\x01\x42\x11\n\x0f_rapid_cache_idB\x07\n\x05_zoneB\r\n\x0b_cache_type\"\xdc\x03\n\rAnywhereCache\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x11\n\x04zone\x18\n \x01(\tB\x03\xe0\x41\x05\x12&\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x18\n\x10\x61\x64mission_policy\x18\t \x01(\t\x12\x12\n\x05state\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x0epending_update\x18\x08 \x01(\x08\x42\x03\xe0\x41\x03\x12!\n\x0fingest_on_write\x18\x0b \x01(\x08\x42\x03\xe0\x41\x01H\x00\x88\x01\x01:\x8e\x01\xea\x41\x8a\x01\n$storage.googleapis.com/AnywhereCache\x12\x43projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}*\x0e\x61nywhereCaches2\ranywhereCacheB\x12\n\x10_ingest_on_write\"\xc2\x01\n\x1a\x43reateAnywhereCacheRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$storage.googleapis.com/AnywhereCache\x12\x45\n\x0e\x61nywhere_cache\x18\x03 \x01(\x0b\x32(.google.storage.control.v2.AnywhereCacheB\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\"\xba\x01\n\x1aUpdateAnywhereCacheRequest\x12\x45\n\x0e\x61nywhere_cache\x18\x01 \x01(\x0b\x32(.google.storage.control.v2.AnywhereCacheB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"z\n\x1b\x44isableAnywhereCacheRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/AnywhereCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"x\n\x19PauseAnywhereCacheRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/AnywhereCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"y\n\x1aResumeAnywhereCacheRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/AnywhereCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"v\n\x17GetAnywhereCacheRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$storage.googleapis.com/AnywhereCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xa1\x01\n\x19ListAnywhereCachesRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$storage.googleapis.com/AnywhereCache\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"x\n\x1aListAnywhereCachesResponse\x12\x41\n\x0f\x61nywhere_caches\x18\x01 \x03(\x0b\x32(.google.storage.control.v2.AnywhereCache\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xaa\x03\n\nRapidCache\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x11\n\x04zone\x18\x02 \x01(\tB\x03\xe0\x41\x05\x12\x17\n\ncache_type\x18\x03 \x01(\tB\x03\xe0\x41\x05\x12&\n\x03ttl\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x18\n\x10\x61\x64mission_policy\x18\x05 \x01(\t\x12\x12\n\x05state\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x0epending_update\x18\t \x01(\x08\x42\x03\xe0\x41\x03:~\xea\x41{\n!storage.googleapis.com/RapidCache\x12=projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}*\x0brapidCaches2\nrapidCache\"\xb6\x01\n\x17\x43reateRapidCacheRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!storage.googleapis.com/RapidCache\x12?\n\x0brapid_cache\x18\x02 \x01(\x0b\x32%.google.storage.control.v2.RapidCacheB\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\"\xb1\x01\n\x17UpdateRapidCacheRequest\x12?\n\x0brapid_cache\x18\x01 \x01(\x0b\x32%.google.storage.control.v2.RapidCacheB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"t\n\x18\x44isableRapidCacheRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!storage.googleapis.com/RapidCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"p\n\x14GetRapidCacheRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!storage.googleapis.com/RapidCache\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x9b\x01\n\x16ListRapidCachesRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!storage.googleapis.com/RapidCache\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"o\n\x17ListRapidCachesResponse\x12;\n\x0crapid_caches\x18\x01 \x03(\x0b\x32%.google.storage.control.v2.RapidCache\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x9e\x0e\n\x12IntelligenceConfig\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12X\n\x0e\x65\x64ition_config\x18\x02 \x01(\x0e\x32;.google.storage.control.v2.IntelligenceConfig.EditionConfigB\x03\xe0\x41\x01\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12I\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x34.google.storage.control.v2.IntelligenceConfig.FilterB\x03\xe0\x41\x01\x12u\n\x1d\x65\x66\x66\x65\x63tive_intelligence_config\x18\x05 \x01(\x0b\x32I.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfigB\x03\xe0\x41\x03\x12O\n\x0ctrial_config\x18\x07 \x01(\x0b\x32\x39.google.storage.control.v2.IntelligenceConfig.TrialConfig\x1a\xfc\x04\n\x06\x46ilter\x12v\n included_cloud_storage_locations\x18\x01 \x01(\x0b\x32J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12v\n excluded_cloud_storage_locations\x18\x02 \x01(\x0b\x32J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12r\n\x1eincluded_cloud_storage_buckets\x18\x03 \x01(\x0b\x32H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x12r\n\x1e\x65xcluded_cloud_storage_buckets\x18\x04 \x01(\x0b\x32H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x1a/\n\x15\x43loudStorageLocations\x12\x16\n\tlocations\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a\x35\n\x13\x43loudStorageBuckets\x12\x1e\n\x11\x62ucket_id_regexes\x18\x01 \x03(\tB\x03\xe0\x41\x01\x42\x19\n\x17\x63loud_storage_locationsB\x17\n\x15\x63loud_storage_buckets\x1a\x8a\x02\n\x1b\x45\x66\x66\x65\x63tiveIntelligenceConfig\x12z\n\x11\x65\x66\x66\x65\x63tive_edition\x18\x01 \x01(\x0e\x32Z.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfig.EffectiveEditionB\x03\xe0\x41\x03\x12 \n\x13intelligence_config\x18\x02 \x01(\tB\x03\xe0\x41\x03\"M\n\x10\x45\x66\x66\x65\x63tiveEdition\x12!\n\x1d\x45\x46\x46\x45\x43TIVE_EDITION_UNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x0c\n\x08STANDARD\x10\x02\x1a\x43\n\x0bTrialConfig\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"s\n\rEditionConfig\x12\x1e\n\x1a\x45\x44ITION_CONFIG_UNSPECIFIED\x10\x00\x12\x0b\n\x07INHERIT\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0c\n\x08STANDARD\x10\x03\x12\t\n\x05TRIAL\x10\x05\x12\x0e\n\nESSENTIALS\x10\x06:\x8b\x02\xea\x41\x87\x02\n)storage.googleapis.com/IntelligenceConfig\x12\x38\x66olders/{folder}/locations/{location}/intelligenceConfig\x12;organizations/{org}/locations/{location}/intelligenceConfig\x12:projects/{project}/locations/{location}/intelligenceConfig*\x13intelligenceConfigs2\x12intelligenceConfig\"\xd5\x01\n+UpdateOrganizationIntelligenceConfigRequest\x12O\n\x13intelligence_config\x18\x01 \x01(\x0b\x32-.google.storage.control.v2.IntelligenceConfigB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"\xcf\x01\n%UpdateFolderIntelligenceConfigRequest\x12O\n\x13intelligence_config\x18\x01 \x01(\x0b\x32-.google.storage.control.v2.IntelligenceConfigB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"\xd0\x01\n&UpdateProjectIntelligenceConfigRequest\x12O\n\x13intelligence_config\x18\x01 \x01(\x0b\x32-.google.storage.control.v2.IntelligenceConfigB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\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\"k\n(GetOrganizationIntelligenceConfigRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)storage.googleapis.com/IntelligenceConfig\"e\n\"GetFolderIntelligenceConfigRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)storage.googleapis.com/IntelligenceConfig\"f\n#GetProjectIntelligenceConfigRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)storage.googleapis.com/IntelligenceConfig\"\xbe \n\x13IntelligenceFinding\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x39\n\x04type\x18\x03 \x01(\x0e\x32&.google.storage.control.v2.FindingTypeB\x03\xe0\x41\x03\x12\x41\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32*.google.storage.control.v2.FindingCategoryB\x03\xe0\x41\x03\x12\x41\n\x08severity\x18\x05 \x01(\x0e\x32*.google.storage.control.v2.FindingSeverityB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1c\n\x0ftarget_resource\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12!\n\x14\x61ssociated_resources\x18\t \x03(\tB\x03\xe0\x41\x03\x12\x36\n\x12observation_period\x18\n \x01(\x0b\x32\x15.google.type.IntervalB\x03\xe0\x41\x03\x12\x97\x01\n.coldline_and_archival_storage_operations_spike\x18\x0b \x01(\x0b\x32X.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpikeB\x03\xe0\x41\x03H\x00\x12m\n\x18throttled_requests_spike\x18\x0c \x01(\x0b\x32\x44.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpikeB\x03\xe0\x41\x03H\x00\x12o\n\x19\x63ross_region_egress_spike\x18\r \x01(\x0b\x32\x45.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpikeB\x03\xe0\x41\x03H\x00\x12q\n\x1astorage_growth_above_trend\x18\x0e \x01(\x0b\x32\x46.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrendB\x03\xe0\x41\x03H\x00\x1a\x89\x07\n)ColdlineAndArchivalStorageOperationsSpike\x12 \n\x13percentage_increase\x18\x01 \x01(\x01\x42\x03\xe0\x41\x03\x12#\n\x16total_operations_count\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12\x85\x01\n\x0btop_buckets\x18\x03 \x03(\x0b\x32k.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContributionB\x03\xe0\x41\x03\x1a\x8c\x05\n\x12\x42ucketContribution\x12\x35\n\x06\x62ucket\x18\x01 \x01(\tB%\xe0\x41\x03\xfa\x41\x1f\n\x1dstorage.googleapis.com/Bucket\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12#\n\x16total_operations_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x12\x95\x01\n\x0c\x63ontribution\x18\x04 \x01(\x0b\x32x.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.ContributionB\x03\xe0\x41\x03H\x00\x12(\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03H\x00\x1a\xaa\x02\n\x0c\x43ontribution\x12\xa7\x01\n\x0ctop_prefixes\x18\x01 \x03(\x0b\x32\x8b\x01.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution.PrefixContributionB\x03\xe0\x41\x03\x1ap\n\x12PrefixContribution\x12\x13\n\x06prefix\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12#\n\x16total_operations_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x42\t\n\x07\x64\x65tails\x1a\xaf\x06\n\x16\x43rossRegionEgressSpike\x12\x1f\n\x12total_egress_bytes\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12r\n\x0btop_buckets\x18\x03 \x03(\x0b\x32X.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContributionB\x03\xe0\x41\x03\x1a\xdd\x04\n\x12\x42ucketContribution\x12\x35\n\x06\x62ucket\x18\x01 \x01(\tB%\xe0\x41\x03\xfa\x41\x1f\n\x1dstorage.googleapis.com/Bucket\x12\x1f\n\x12total_egress_bytes\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x12\x82\x01\n\x0c\x63ontribution\x18\x04 \x01(\x0b\x32\x65.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.ContributionB\x03\xe0\x41\x03H\x00\x12(\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03H\x00\x1a\x92\x02\n\x0c\x43ontribution\x12\x93\x01\n\x0ctop_prefixes\x18\x01 \x03(\x0b\x32x.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution.PrefixContributionB\x03\xe0\x41\x03\x1al\n\x12PrefixContribution\x12\x13\n\x06prefix\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\x12total_egress_bytes\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x42\t\n\x07\x64\x65tails\x1a\xab\x06\n\x15ThrottledRequestSpike\x12\x1f\n\x12throttled_requests\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12q\n\x0btop_buckets\x18\x03 \x03(\x0b\x32W.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContributionB\x03\xe0\x41\x03\x1a\xdb\x04\n\x12\x42ucketContribution\x12\x35\n\x06\x62ucket\x18\x01 \x01(\tB%\xe0\x41\x03\xfa\x41\x1f\n\x1dstorage.googleapis.com/Bucket\x12\x1f\n\x12throttled_requests\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x12\x81\x01\n\x0c\x63ontribution\x18\x04 \x01(\x0b\x32\x64.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.ContributionB\x03\xe0\x41\x03H\x00\x12(\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03H\x00\x1a\x91\x02\n\x0c\x43ontribution\x12\x92\x01\n\x0ctop_prefixes\x18\x01 \x03(\x0b\x32w.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution.PrefixContributionB\x03\xe0\x41\x03\x1al\n\x12PrefixContribution\x12\x13\n\x06prefix\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\x12throttled_requests\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x42\t\n\x07\x64\x65tails\x1a\xa7\x03\n\x17StorageGrowthAboveTrend\x12\'\n\x1atotal_storage_growth_bytes\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\x12s\n\x0btop_buckets\x18\x03 \x03(\x0b\x32Y.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend.BucketContributionB\x03\xe0\x41\x03\x1a\xcb\x01\n\x12\x42ucketContribution\x12\x35\n\x06\x62ucket\x18\x01 \x01(\tB%\xe0\x41\x03\xfa\x41\x1f\n\x1dstorage.googleapis.com/Bucket\x12\'\n\x1atotal_storage_growth_bytes\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13percentage_increase\x18\x03 \x01(\x01\x42\x03\xe0\x41\x03\x12(\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03H\x00\x42\t\n\x07\x64\x65tails:\xb0\x01\xea\x41\xac\x01\n*storage.googleapis.com/IntelligenceFinding\x12Sprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}*\x14intelligenceFindings2\x13intelligenceFindingB\x1e\n\x1cintelligence_finding_details\"\x8d\x03\n\x1bIntelligenceFindingRevision\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x45\n\x08snapshot\x18\x02 \x01(\x0b\x32..google.storage.control.v2.IntelligenceFindingB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:\xdd\x01\xea\x41\xd9\x01\n2storage.googleapis.com/IntelligenceFindingRevision\x12hprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}*\x1cintelligenceFindingRevisions2\x1bintelligenceFindingRevision\"a\n\x1dGetIntelligenceFindingRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*storage.googleapis.com/IntelligenceFinding\"\xab\x01\n\x1fListIntelligenceFindingsRequest\x12\x42\n\x06parent\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\x12*storage.googleapis.com/IntelligenceFinding\x12\x13\n\x06\x66ilter\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tpage_size\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\x8a\x01\n ListIntelligenceFindingsResponse\x12M\n\x15intelligence_findings\x18\x01 \x03(\x0b\x32..google.storage.control.v2.IntelligenceFinding\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xb7\x02\n$SummarizeIntelligenceFindingsRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12j\n\x0eresource_scope\x18\x02 \x01(\x0e\x32M.google.storage.control.v2.SummarizeIntelligenceFindingsRequest.ResourceScopeB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tpage_size\x18\x04 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x05 \x01(\tB\x03\xe0\x41\x01\"H\n\rResourceScope\x12\x1e\n\x1aRESOURCE_SCOPE_UNSPECIFIED\x10\x00\x12\n\n\x06PARENT\x10\x01\x12\x0b\n\x07PROJECT\x10\x02\"\x86\x01\n%SummarizeIntelligenceFindingsResponse\x12\x44\n\x11\x66inding_summaries\x18\x01 \x03(\x0b\x32).google.storage.control.v2.FindingSummary\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"q\n%GetIntelligenceFindingRevisionRequest\x12H\n\x04name\x18\x01 \x01(\tB:\xe0\x41\x02\xfa\x41\x34\n2storage.googleapis.com/IntelligenceFindingRevision\"\xa6\x01\n\'ListIntelligenceFindingRevisionsRequest\x12J\n\x06parent\x18\x01 \x01(\tB:\xe0\x41\x02\xfa\x41\x34\x12\x32storage.googleapis.com/IntelligenceFindingRevision\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\"\xa3\x01\n(ListIntelligenceFindingRevisionsResponse\x12^\n\x1eintelligence_finding_revisions\x18\x01 \x03(\x0b\x32\x36.google.storage.control.v2.IntelligenceFindingRevision\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xba\x05\n\x0e\x46indingSummary\x12\x39\n\x04type\x18\x01 \x01(\x0e\x32&.google.storage.control.v2.FindingTypeB\x03\xe0\x41\x03\x12\x41\n\x08\x63\x61tegory\x18\x02 \x01(\x0e\x32*.google.storage.control.v2.FindingCategoryB\x03\xe0\x41\x03\x12\x1c\n\x0ftarget_resource\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12<\n\x08severity\x18\x07 \x01(\x0e\x32*.google.storage.control.v2.FindingSeverity\x12V\n\x0fsummary_details\x18\x08 \x03(\x0b\x32\x38.google.storage.control.v2.FindingSummary.SummaryDetailsB\x03\xe0\x41\x03\x1a\x89\x02\n\x0eSummaryDetails\x12\x0f\n\x05\x63ount\x18\x01 \x01(\x03H\x00\x12\x14\n\npercentage\x18\x02 \x01(\x02H\x00\x12\x61\n\rresource_type\x18\x03 \x01(\x0e\x32\x45.google.storage.control.v2.FindingSummary.SummaryDetails.ResourceTypeB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x03\"F\n\x0cResourceType\x12\x1d\n\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PROJECT\x10\x01\x12\n\n\x06\x42UCKET\x10\x02\x42\x0b\n\tmagnitude\"\xb5\x02\n\x11ObjectFullContext\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.google.storage.control.v2.ObjectFullContext.Type\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\rextended_data\x18\x06 \x01(\x0b\x32\x14.google.protobuf.Any\"4\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\n\n\x06GOOGLE\x10\x02\"\x86\x01\n\x1cViewObjectFullContextRequest\x12\x17\n\ngeneration\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x18\n\x0b\x63ontext_key\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x33\n\x04name\x18\x05 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dstorage.googleapis.com/Object*\xef\x01\n\x0b\x46indingType\x12\x1c\n\x18\x46INDING_TYPE_UNSPECIFIED\x10\x00\x12?\n;FINDING_TYPE_COLDLINE_AND_ARCHIVAL_STORAGE_OPERATIONS_SPIKE\x10\x01\x12(\n$FINDING_TYPE_THROTTLED_REQUEST_SPIKE\x10\x02\x12*\n&FINDING_TYPE_CROSS_REGION_EGRESS_SPIKE\x10\x03\x12+\n\'FINDING_TYPE_STORAGE_GROWTH_ABOVE_TREND\x10\x04*{\n\x0f\x46indingCategory\x12 \n\x1c\x46INDING_CATEGORY_UNSPECIFIED\x10\x00\x12$\n FINDING_CATEGORY_DATA_MANAGEMENT\x10\x01\x12 \n\x1c\x46INDING_CATEGORY_PERFORMANCE\x10\x02*R\n\x0f\x46indingSeverity\x12 \n\x1c\x46INDING_SEVERITY_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x46INDING_SEVERITY_CRITICAL\x10\x01\x32\xc9\x45\n\x0eStorageControl\x12\xd3\x01\n\x0c\x43reateFolder\x12..google.storage.control.v2.CreateFolderRequest\x1a!.google.storage.control.v2.Folder\"p\xda\x41\x17parent,folder,folder_id\x82\xd3\xe4\x93\x02\x33\")/v2/{parent=projects/*/buckets/*}/folders:\x06\x66older\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xc1\x01\n\x0c\x44\x65leteFolder\x12..google.storage.control.v2.DeleteFolderRequest\x1a\x16.google.protobuf.Empty\"i\xda\x41\x04name\x82\xd3\xe4\x93\x02,**/v2/{name=projects/*/buckets/*/folders/**}\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xc6\x01\n\tGetFolder\x12+.google.storage.control.v2.GetFolderRequest\x1a!.google.storage.control.v2.Folder\"i\xda\x41\x04name\x82\xd3\xe4\x93\x02,\x12*/v2/{name=projects/*/buckets/*/folders/**}\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xc5\x01\n\x0bListFolders\x12-.google.storage.control.v2.ListFoldersRequest\x1a..google.storage.control.v2.ListFoldersResponse\"W\xda\x41\x06parent\x82\xd3\xe4\x93\x02+\x12)/v2/{parent=projects/*/buckets/*}/folders\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\x8a\x02\n\x0cRenameFolder\x12..google.storage.control.v2.RenameFolderRequest\x1a\x1d.google.longrunning.Operation\"\xaa\x01\xca\x41\x1e\n\x06\x46older\x12\x14RenameFolderMetadata\xda\x41\x1aname,destination_folder_id\x82\xd3\xe4\x93\x02\x36\"1/v2/{name=projects/*/buckets/*/folders/**}:rename:\x01*\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa7\x02\n\x15\x44\x65leteFolderRecursive\x12\x37.google.storage.control.v2.DeleteFolderRecursiveRequest\x1a\x1d.google.longrunning.Operation\"\xb5\x01\xca\x41\x36\n\x15google.protobuf.Empty\x12\x1d\x44\x65leteFolderRecursiveMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02?\":/v2/{name=projects/*/buckets/*/folders/**}:deleteRecursive:\x01*\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xde\x01\n\x10GetStorageLayout\x12\x32.google.storage.control.v2.GetStorageLayoutRequest\x1a(.google.storage.control.v2.StorageLayout\"l\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v2/{name=projects/*/buckets/*/storageLayout}\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xbf\x01\n\x13\x43reateManagedFolder\x12\x35.google.storage.control.v2.CreateManagedFolderRequest\x1a(.google.storage.control.v2.ManagedFolder\"G\xda\x41\'parent,managed_folder,managed_folder_id\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\x9d\x01\n\x13\x44\x65leteManagedFolder\x12\x35.google.storage.control.v2.DeleteManagedFolderRequest\x1a\x16.google.protobuf.Empty\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa9\x01\n\x10GetManagedFolder\x12\x32.google.storage.control.v2.GetManagedFolderRequest\x1a(.google.storage.control.v2.ManagedFolder\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa9\x01\n\x12ListManagedFolders\x12\x34.google.storage.control.v2.ListManagedFoldersRequest\x1a\x35.google.storage.control.v2.ListManagedFoldersResponse\"&\xda\x41\x06parent\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xd4\x01\n\x13UpdateManagedFolder\x12\x35.google.storage.control.v2.UpdateManagedFolderRequest\x1a(.google.storage.control.v2.ManagedFolder\"\\\xda\x41\x1amanaged_folder,update_mask\x8a\xd3\xe4\x93\x02\x39\x12\x37\n\x13managed_folder.name\x12 {bucket=projects/*/buckets/*}/**\x12\xd1\x01\n\x13\x43reateAnywhereCache\x12\x35.google.storage.control.v2.CreateAnywhereCacheRequest\x1a\x1d.google.longrunning.Operation\"d\xca\x41,\n\rAnywhereCache\x12\x1b\x43reateAnywhereCacheMetadata\xda\x41\x15parent,anywhere_cache\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xf9\x01\n\x13UpdateAnywhereCache\x12\x35.google.storage.control.v2.UpdateAnywhereCacheRequest\x1a\x1d.google.longrunning.Operation\"\x8b\x01\xca\x41,\n\rAnywhereCache\x12\x1bUpdateAnywhereCacheMetadata\xda\x41\x1a\x61nywhere_cache,update_mask\x8a\xd3\xe4\x93\x02\x39\x12\x37\n\x13\x61nywhere_cache.name\x12 {bucket=projects/*/buckets/*}/**\x12\xb1\x01\n\x14\x44isableAnywhereCache\x12\x36.google.storage.control.v2.DisableAnywhereCacheRequest\x1a(.google.storage.control.v2.AnywhereCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xad\x01\n\x12PauseAnywhereCache\x12\x34.google.storage.control.v2.PauseAnywhereCacheRequest\x1a(.google.storage.control.v2.AnywhereCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xaf\x01\n\x13ResumeAnywhereCache\x12\x35.google.storage.control.v2.ResumeAnywhereCacheRequest\x1a(.google.storage.control.v2.AnywhereCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa9\x01\n\x10GetAnywhereCache\x12\x32.google.storage.control.v2.GetAnywhereCacheRequest\x1a(.google.storage.control.v2.AnywhereCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa9\x01\n\x12ListAnywhereCaches\x12\x34.google.storage.control.v2.ListAnywhereCachesRequest\x1a\x35.google.storage.control.v2.ListAnywhereCachesResponse\"&\xda\x41\x06parent\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xc2\x01\n\x10\x43reateRapidCache\x12\x32.google.storage.control.v2.CreateRapidCacheRequest\x1a\x1d.google.longrunning.Operation\"[\xca\x41&\n\nRapidCache\x12\x18\x43reateRapidCacheMetadata\xda\x41\x12parent,rapid_cache\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xe6\x01\n\x10UpdateRapidCache\x12\x32.google.storage.control.v2.UpdateRapidCacheRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41&\n\nRapidCache\x12\x18UpdateRapidCacheMetadata\xda\x41\x17rapid_cache,update_mask\x8a\xd3\xe4\x93\x02\x36\x12\x34\n\x10rapid_cache.name\x12 {bucket=projects/*/buckets/*}/**\x12\xca\x01\n\x11\x44isableRapidCache\x12\x33.google.storage.control.v2.DisableRapidCacheRequest\x1a\x1d.google.longrunning.Operation\"a\xca\x41\'\n\nRapidCache\x12\x19\x44isableRapidCacheMetadata\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa0\x01\n\rGetRapidCache\x12/.google.storage.control.v2.GetRapidCacheRequest\x1a%.google.storage.control.v2.RapidCache\"7\xda\x41\x04name\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xa0\x01\n\x0fListRapidCaches\x12\x31.google.storage.control.v2.ListRapidCachesRequest\x1a\x32.google.storage.control.v2.ListRapidCachesResponse\"&\xda\x41\x06parent\x8a\xd3\xe4\x93\x02\x17\x12\x15\n\x06parent\x12\x0b{bucket=**}\x12\xd2\x01\n\x1cGetProjectIntelligenceConfig\x12>.google.storage.control.v2.GetProjectIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v2/{name=projects/*/locations/*/intelligenceConfig}\x12\x9d\x02\n\x1fUpdateProjectIntelligenceConfig\x12\x41.google.storage.control.v2.UpdateProjectIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"\x87\x01\xda\x41\x1fintelligence_config,update_mask\x82\xd3\xe4\x93\x02_2H/v2/{intelligence_config.name=projects/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xcf\x01\n\x1bGetFolderIntelligenceConfig\x12=.google.storage.control.v2.GetFolderIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"B\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35\x12\x33/v2/{name=folders/*/locations/*/intelligenceConfig}\x12\x9a\x02\n\x1eUpdateFolderIntelligenceConfig\x12@.google.storage.control.v2.UpdateFolderIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"\x86\x01\xda\x41\x1fintelligence_config,update_mask\x82\xd3\xe4\x93\x02^2G/v2/{intelligence_config.name=folders/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xe1\x01\n!GetOrganizationIntelligenceConfig\x12\x43.google.storage.control.v2.GetOrganizationIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v2/{name=organizations/*/locations/*/intelligenceConfig}\x12\xac\x02\n$UpdateOrganizationIntelligenceConfig\x12\x46.google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest\x1a-.google.storage.control.v2.IntelligenceConfig\"\x8c\x01\xda\x41\x1fintelligence_config,update_mask\x82\xd3\xe4\x93\x02\x64\x32M/v2/{intelligence_config.name=organizations/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xa3\x01\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"X\xda\x41\x08resource\x8a\xd3\xe4\x93\x02G\x12\x17\n\x08resource\x12\x0b{bucket=**}\x12,\n\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\xaa\x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"_\xda\x41\x0fresource,policy\x8a\xd3\xe4\x93\x02G\x12\x17\n\x08resource\x12\x0b{bucket=**}\x12,\n\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\x96\x02\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"\xaa\x01\xda\x41\x14resource,permissions\x8a\xd3\xe4\x93\x02\x8c\x01\x12\x17\n\x08resource\x12\x0b{bucket=**}\x12\x34\n\x08resource\x12({bucket=projects/*/buckets/*}/objects/**\x12;\n\x08resource\x12/{bucket=projects/*/buckets/*}/managedFolders/**\x12\xcb\x01\n\x16GetIntelligenceFinding\x12\x38.google.storage.control.v2.GetIntelligenceFindingRequest\x1a..google.storage.control.v2.IntelligenceFinding\"G\xda\x41\x04name\x82\xd3\xe4\x93\x02:\x12\x38/v2/{name=projects/*/locations/*/intelligenceFindings/*}\x12\xde\x01\n\x18ListIntelligenceFindings\x12:.google.storage.control.v2.ListIntelligenceFindingsRequest\x1a;.google.storage.control.v2.ListIntelligenceFindingsResponse\"I\xda\x41\x06parent\x82\xd3\xe4\x93\x02:\x12\x38/v2/{parent=projects/*/locations/*}/intelligenceFindings\x12\x89\x03\n\x1dSummarizeIntelligenceFindings\x12?.google.storage.control.v2.SummarizeIntelligenceFindingsRequest\x1a@.google.storage.control.v2.SummarizeIntelligenceFindingsResponse\"\xe4\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xd4\x01\x12\x42/v2/{parent=projects/*/locations/*}/intelligenceFindings:summarizeZC\x12\x41/v2/{parent=folders/*/locations/*}/intelligenceFindings:summarizeZI\x12G/v2/{parent=organizations/*/locations/*}/intelligenceFindings:summarize\x12\xef\x01\n\x1eGetIntelligenceFindingRevision\x12@.google.storage.control.v2.GetIntelligenceFindingRevisionRequest\x1a\x36.google.storage.control.v2.IntelligenceFindingRevision\"S\xda\x41\x04name\x82\xd3\xe4\x93\x02\x46\x12\x44/v2/{name=projects/*/locations/*/intelligenceFindings/*/revisions/*}\x12\x82\x02\n ListIntelligenceFindingRevisions\x12\x42.google.storage.control.v2.ListIntelligenceFindingRevisionsRequest\x1a\x43.google.storage.control.v2.ListIntelligenceFindingRevisionsResponse\"U\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x46\x12\x44/v2/{parent=projects/*/locations/*/intelligenceFindings/*}/revisions\x12\xa4\x02\n\x15ViewObjectFullContext\x12\x37.google.storage.control.v2.ViewObjectFullContextRequest\x1a,.google.storage.control.v2.ObjectFullContext\"\xa3\x01\xda\x41\x10name,context_key\xda\x41\x1bname,generation,context_key\x82\xd3\xe4\x93\x02<\x12:/v2/{name=projects/*/buckets/*/objects/**}:viewFullContext\x8a\xd3\xe4\x93\x02*\x12(\n\x04name\x12 {bucket=projects/*/buckets/*}/**\x1a\xa7\x02\xca\x41\x16storage.googleapis.com\xd2\x41\x8a\x02https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/devstorage.full_control,https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/devstorage.read_writeB\xfe\x02\n\x1d\x63om.google.storage.control.v2B\x13StorageControlProtoP\x01Z=cloud.google.com/go/storage/control/apiv2/controlpb;controlpb\xaa\x02\x1fGoogle.Cloud.Storage.Control.V2\xca\x02\x1fGoogle\\Cloud\\Storage\\Control\\V2\xea\x02#Google::Cloud::Storage::Control::V2\xea\x41\x44\n\x1dstorage.googleapis.com/Bucket\x12#projects/{project}/buckets/{bucket}\xea\x41U\n\x1dstorage.googleapis.com/Object\x12\x34projects/{project}/buckets/{bucket}/objects/{object}b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -63,6 +63,7 @@ module V2 CreateRapidCacheMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.CreateRapidCacheMetadata").msgclass UpdateAnywhereCacheMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.UpdateAnywhereCacheMetadata").msgclass UpdateRapidCacheMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.UpdateRapidCacheMetadata").msgclass + DisableRapidCacheMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.DisableRapidCacheMetadata").msgclass AnywhereCache = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.AnywhereCache").msgclass CreateAnywhereCacheRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.CreateAnywhereCacheRequest").msgclass UpdateAnywhereCacheRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.UpdateAnywhereCacheRequest").msgclass @@ -75,6 +76,7 @@ module V2 RapidCache = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.RapidCache").msgclass CreateRapidCacheRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.CreateRapidCacheRequest").msgclass UpdateRapidCacheRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.UpdateRapidCacheRequest").msgclass + DisableRapidCacheRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.DisableRapidCacheRequest").msgclass GetRapidCacheRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.GetRapidCacheRequest").msgclass ListRapidCachesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.ListRapidCachesRequest").msgclass ListRapidCachesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.storage.control.v2.ListRapidCachesResponse").msgclass diff --git a/google-cloud-storage-control-v2/lib/google/storage/control/v2/storage_control_services_pb.rb b/google-cloud-storage-control-v2/lib/google/storage/control/v2/storage_control_services_pb.rb index af3f6032bd50..bd51eeb573b7 100644 --- a/google-cloud-storage-control-v2/lib/google/storage/control/v2/storage_control_services_pb.rb +++ b/google-cloud-storage-control-v2/lib/google/storage/control/v2/storage_control_services_pb.rb @@ -89,6 +89,8 @@ class Service rpc :CreateRapidCache, ::Google::Cloud::Storage::Control::V2::CreateRapidCacheRequest, ::Google::Longrunning::Operation # Updates a Rapid Cache instance. rpc :UpdateRapidCache, ::Google::Cloud::Storage::Control::V2::UpdateRapidCacheRequest, ::Google::Longrunning::Operation + # Disables a Rapid Cache instance. + rpc :DisableRapidCache, ::Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest, ::Google::Longrunning::Operation # Gets a Rapid Cache instance. rpc :GetRapidCache, ::Google::Cloud::Storage::Control::V2::GetRapidCacheRequest, ::Google::Cloud::Storage::Control::V2::RapidCache # Lists Rapid Cache instances for a given bucket. diff --git a/google-cloud-storage-control-v2/proto_docs/google/storage/control/v2/storage_control.rb b/google-cloud-storage-control-v2/proto_docs/google/storage/control/v2/storage_control.rb index d0c25b2da737..1ff693bbaf63 100644 --- a/google-cloud-storage-control-v2/proto_docs/google/storage/control/v2/storage_control.rb +++ b/google-cloud-storage-control-v2/proto_docs/google/storage/control/v2/storage_control.rb @@ -725,6 +725,26 @@ class UpdateRapidCacheMetadata extend ::Google::Protobuf::MessageExts::ClassMethods end + # Message returned in the metadata field of the Operation resource for + # DeleteRapidCache operation. + # @!attribute [rw] common_metadata + # @return [::Google::Cloud::Storage::Control::V2::CommonLongRunningOperationMetadata] + # Generic metadata for the long running operation. + # @!attribute [rw] rapid_cache_id + # @return [::String] + # Rapid Cache ID. + # @!attribute [rw] zone + # @return [::String] + # The zone in which the cache instance is running. For example, + # us-central1-a. + # @!attribute [rw] cache_type + # @return [::String] + # Optional. The type of cache. Either rapid cache or rapid cache ultra. + class DisableRapidCacheMetadata + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + # An Anywhere Cache Instance. # @!attribute [rw] name # @return [::String] @@ -1001,6 +1021,21 @@ class UpdateRapidCacheRequest extend ::Google::Protobuf::MessageExts::ClassMethods end + # Request message for DisableRapidCache. + # @!attribute [rw] name + # @return [::String] + # Required. The name field in the request should be: + # `projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}` + # @!attribute [rw] request_id + # @return [::String] + # Optional. A unique identifier for this request. UUID is the recommended + # format, but other formats are still accepted. This request is only + # idempotent if a `request_id` is provided. + class DisableRapidCacheRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + # Request message for GetRapidCache. # @!attribute [rw] name # @return [::String] diff --git a/google-cloud-storage-control-v2/snippets/snippet_metadata_google.storage.control.v2.json b/google-cloud-storage-control-v2/snippets/snippet_metadata_google.storage.control.v2.json index 18144a4d4074..620afeb844bc 100644 --- a/google-cloud-storage-control-v2/snippets/snippet_metadata_google.storage.control.v2.json +++ b/google-cloud-storage-control-v2/snippets/snippet_metadata_google.storage.control.v2.json @@ -851,6 +851,46 @@ } ] }, + { + "region_tag": "storage_v2_generated_StorageControl_DisableRapidCache_sync", + "title": "Snippet for the disable_rapid_cache call in the StorageControl service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::Storage::Control::V2::StorageControl::Client#disable_rapid_cache.", + "file": "storage_control/disable_rapid_cache.rb", + "language": "RUBY", + "client_method": { + "short_name": "disable_rapid_cache", + "full_name": "::Google::Cloud::Storage::Control::V2::StorageControl::Client#disable_rapid_cache", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest", + "name": "request" + } + ], + "result_type": "::Google::Longrunning::Operation", + "client": { + "short_name": "StorageControl::Client", + "full_name": "::Google::Cloud::Storage::Control::V2::StorageControl::Client" + }, + "method": { + "short_name": "DisableRapidCache", + "full_name": "google.storage.control.v2.StorageControl.DisableRapidCache", + "service": { + "short_name": "StorageControl", + "full_name": "google.storage.control.v2.StorageControl" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 53, + "type": "FULL" + } + ] + }, { "region_tag": "storage_v2_generated_StorageControl_GetRapidCache_sync", "title": "Snippet for the get_rapid_cache call in the StorageControl service", diff --git a/google-cloud-storage-control-v2/snippets/storage_control/disable_rapid_cache.rb b/google-cloud-storage-control-v2/snippets/storage_control/disable_rapid_cache.rb new file mode 100644 index 000000000000..52114c93b233 --- /dev/null +++ b/google-cloud-storage-control-v2/snippets/storage_control/disable_rapid_cache.rb @@ -0,0 +1,54 @@ +# 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 storage_v2_generated_StorageControl_DisableRapidCache_sync] +require "google/cloud/storage/control/v2" + +## +# Snippet for the disable_rapid_cache call in the StorageControl 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::Storage::Control::V2::StorageControl::Client#disable_rapid_cache. +# +def disable_rapid_cache + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::Storage::Control::V2::StorageControl::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest.new + + # Call the disable_rapid_cache method. + result = client.disable_rapid_cache request + + # The returned object is of type Gapic::Operation. You can use it to + # check the status of an operation, cancel it, or wait for results. + # Here is how to wait for a response. + result.wait_until_done! timeout: 60 + if result.response? + p result.response + else + puts "No response received." + end +end +# [END storage_v2_generated_StorageControl_DisableRapidCache_sync] diff --git a/google-cloud-storage-control-v2/test/google/cloud/storage/control/v2/storage_control_test.rb b/google-cloud-storage-control-v2/test/google/cloud/storage/control/v2/storage_control_test.rb index 637b1ad98e29..72a7de6f958c 100644 --- a/google-cloud-storage-control-v2/test/google/cloud/storage/control/v2/storage_control_test.rb +++ b/google-cloud-storage-control-v2/test/google/cloud/storage/control/v2/storage_control_test.rb @@ -1458,6 +1458,71 @@ def test_update_rapid_cache end end + def test_disable_rapid_cache + # Create GRPC objects. + grpc_response = ::Google::Longrunning::Operation.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + request_id = "hello world" + + disable_rapid_cache_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :disable_rapid_cache, name + assert_kind_of ::Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest, request + assert_equal "hello world", request["name"] + assert_equal "hello world", request["request_id"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, disable_rapid_cache_client_stub do + # Create client + c = ::Google::Cloud::Storage::Control::V2::StorageControl::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + c.disable_rapid_cache({ name: name, request_id: request_id }) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use named arguments + c.disable_rapid_cache name: name, request_id: request_id do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object + c.disable_rapid_cache ::Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest.new(name: name, request_id: request_id) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use hash object with options + c.disable_rapid_cache({ name: name, request_id: request_id }, grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + c.disable_rapid_cache(::Google::Cloud::Storage::Control::V2::DisableRapidCacheRequest.new(name: name, request_id: request_id), grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, disable_rapid_cache_client_stub.call_rpc_count + end + end + def test_get_rapid_cache # Create GRPC objects. grpc_response = ::Google::Cloud::Storage::Control::V2::RapidCache.new