diff --git a/StorageControl/metadata/V2/StorageControl.php b/StorageControl/metadata/V2/StorageControl.php
index 67592ef0b934..6c874b5180c5 100644
--- a/StorageControl/metadata/V2/StorageControl.php
+++ b/StorageControl/metadata/V2/StorageControl.php
@@ -30,7 +30,7 @@ public static function initOnce() {
\GPBMetadata\Google\Rpc\Status::initOnce();
\GPBMetadata\Google\Type\Interval::initOnce();
$pool->internalAddGeneratedFile(
- "\x0A\xDB\xBF\x01\x0A/google/storage/control/v2/storage_control.proto\x12\x19google.storage.control.v2\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\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\"+\x0A\x11PendingRenameInfo\x12\x16\x0A\x09operation\x18\x01 \x01(\x09B\x03\xE0A\x03\"\xE2\x02\x0A\x06Folder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1B\x0A\x0Emetageneration\x18\x03 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12N\x0A\x13pending_rename_info\x18\x07 \x01(\x0B2,.google.storage.control.v2.PendingRenameInfoB\x03\xE0A\x03:l\xEAAi\x0A\x1Dstorage.googleapis.com/Folder\x127projects/{project}/buckets/{bucket}/folders/{folder=**}*\x07folders2\x06folder\"\xF4\x01\x0A\x10GetFolderRequest\x123\x0A\x04name\x18\x06 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xD5\x01\x0A\x13CreateFolderRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x12\x1Dstorage.googleapis.com/Folder\x126\x0A\x06folder\x18\x02 \x01(\x0B2!.google.storage.control.v2.FolderB\x03\xE0A\x02\x12\x16\x0A\x09folder_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09recursive\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xF7\x01\x0A\x13DeleteFolderRequest\x123\x0A\x04name\x18\x06 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x8C\x02\x0A\x12ListFoldersRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x12\x1Dstorage.googleapis.com/Folder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06prefix\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09delimiter\x18\x08 \x01(\x09B\x03\xE0A\x01\x12 \x0A\x13lexicographic_start\x18\x06 \x01(\x09B\x03\xE0A\x01\x12\x1E\x0A\x11lexicographic_end\x18\x07 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x09 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"b\x0A\x13ListFoldersResponse\x122\x0A\x07folders\x18\x01 \x03(\x0B2!.google.storage.control.v2.Folder\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x9B\x02\x0A\x13RenameFolderRequest\x123\x0A\x04name\x18\x07 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\"\x0A\x15destination_folder_id\x18\x08 \x01(\x09B\x03\xE0A\x02\x12\$\x0A\x17if_metageneration_match\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x06 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x8A\x02\x0A\x1CDeleteFolderRecursiveRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12)\x0A\x17if_metageneration_match\x18\x02 \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x12-\x0A\x1Bif_metageneration_not_match\x18\x03 \x01(\x03B\x03\xE0A\x01H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x9A\x02\x0A\"CommonLongRunningOperationMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04type\x18\x04 \x01(\x09B\x03\xE0A\x03\x12#\x0A\x16requested_cancellation\x18\x05 \x01(\x08B\x03\xE0A\x03\x12\x1D\x0A\x10progress_percent\x18\x06 \x01(\x05B\x03\xE0A\x03\"\xA7\x01\x0A\x14RenameFolderMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x18\x0A\x10source_folder_id\x18\x02 \x01(\x09\x12\x1D\x0A\x15destination_folder_id\x18\x03 \x01(\x09\"\x8A\x01\x0A\x1DDeleteFolderRecursiveMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x11\x0A\x09folder_id\x18\x02 \x01(\x09\"\xF8\x03\x0A\x0DStorageLayout\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x15\x0A\x08location\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x1A\x0A\x0Dlocation_type\x18\x03 \x01(\x09B\x03\xE0A\x03\x12d\x0A\x17custom_placement_config\x18\x04 \x01(\x0B2>.google.storage.control.v2.StorageLayout.CustomPlacementConfigB\x03\xE0A\x03\x12c\x0A\x16hierarchical_namespace\x18\x05 \x01(\x0B2>.google.storage.control.v2.StorageLayout.HierarchicalNamespaceB\x03\xE0A\x03\x1A/\x0A\x15CustomPlacementConfig\x12\x16\x0A\x0Edata_locations\x18\x01 \x03(\x09\x1A(\x0A\x15HierarchicalNamespace\x12\x0F\x0A\x07enabled\x18\x01 \x01(\x08:{\xEAAx\x0A\$storage.googleapis.com/StorageLayout\x121projects/{project}/buckets/{bucket}/storageLayout*\x0EstorageLayouts2\x0DstorageLayout\"\x86\x01\x0A\x17GetStorageLayoutRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/StorageLayout\x12\x0E\x0A\x06prefix\x18\x02 \x01(\x09\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xBF\x02\x0A\x0DManagedFolder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1B\x0A\x0Emetageneration\x18\x03 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03:\x91\x01\xEAA\x8D\x01\x0A\$storage.googleapis.com/ManagedFolder\x12Fprojects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}*\x0EmanagedFolders2\x0DmanagedFolder\"\x82\x02\x0A\x17GetManagedFolderRequest\x12:\x0A\x04name\x18\x06 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/ManagedFolder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xE2\x01\x0A\x1ACreateManagedFolderRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/ManagedFolder\x12E\x0A\x0Emanaged_folder\x18\x02 \x01(\x0B2(.google.storage.control.v2.ManagedFolderB\x03\xE0A\x02\x12\x1E\x0A\x11managed_folder_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\x9E\x02\x0A\x1ADeleteManagedFolderRequest\x12:\x0A\x04name\x18\x07 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/ManagedFolder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x17\x0A\x0Fallow_non_empty\x18\x05 \x01(\x08\x12\x1F\x0A\x0Arequest_id\x18\x06 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xC0\x01\x0A\x19ListManagedFoldersRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/ManagedFolder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06prefix\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x1AListManagedFoldersResponse\x12A\x0A\x0Fmanaged_folders\x18\x01 \x03(\x0B2(.google.storage.control.v2.ManagedFolder\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xB0\x02\x0A\x1BCreateAnywhereCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1E\x0A\x11anywhere_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x06 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1D\x0A\x10admission_policy\x18\x05 \x01(\x09H\x03\x88\x01\x01B\x14\x0A\x12_anywhere_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policy\"\xB0\x02\x0A\x1BUpdateAnywhereCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1E\x0A\x11anywhere_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x05 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1D\x0A\x10admission_policy\x18\x04 \x01(\x09H\x03\x88\x01\x01B\x14\x0A\x12_anywhere_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policy\"\xA5\x03\x0A\x0DAnywhereCache\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x05\x12\x11\x0A\x04zone\x18\x0A \x01(\x09B\x03\xE0A\x05\x12&\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.Duration\x12\x18\x0A\x10admission_policy\x18\x09 \x01(\x09\x12\x12\x0A\x05state\x18\x05 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1B\x0A\x0Epending_update\x18\x08 \x01(\x08B\x03\xE0A\x03:\x8E\x01\xEAA\x8A\x01\x0A\$storage.googleapis.com/AnywhereCache\x12Cprojects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}*\x0EanywhereCaches2\x0DanywhereCache\"\xC2\x01\x0A\x1ACreateAnywhereCacheRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/AnywhereCache\x12E\x0A\x0Eanywhere_cache\x18\x03 \x01(\x0B2(.google.storage.control.v2.AnywhereCacheB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xBA\x01\x0A\x1AUpdateAnywhereCacheRequest\x12E\x0A\x0Eanywhere_cache\x18\x01 \x01(\x0B2(.google.storage.control.v2.AnywhereCacheB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"z\x0A\x1BDisableAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x19PauseAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"y\x0A\x1AResumeAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"v\x0A\x17GetAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xA1\x01\x0A\x19ListAnywhereCachesRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/AnywhereCache\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x1AListAnywhereCachesResponse\x12A\x0A\x0Fanywhere_caches\x18\x01 \x03(\x0B2(.google.storage.control.v2.AnywhereCache\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x8E\x0E\x0A\x12IntelligenceConfig\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12X\x0A\x0Eedition_config\x18\x02 \x01(\x0E2;.google.storage.control.v2.IntelligenceConfig.EditionConfigB\x03\xE0A\x01\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12I\x0A\x06filter\x18\x04 \x01(\x0B24.google.storage.control.v2.IntelligenceConfig.FilterB\x03\xE0A\x01\x12u\x0A\x1Deffective_intelligence_config\x18\x05 \x01(\x0B2I.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfigB\x03\xE0A\x03\x12O\x0A\x0Ctrial_config\x18\x07 \x01(\x0B29.google.storage.control.v2.IntelligenceConfig.TrialConfig\x1A\xFC\x04\x0A\x06Filter\x12v\x0A included_cloud_storage_locations\x18\x01 \x01(\x0B2J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12v\x0A excluded_cloud_storage_locations\x18\x02 \x01(\x0B2J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12r\x0A\x1Eincluded_cloud_storage_buckets\x18\x03 \x01(\x0B2H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x12r\x0A\x1Eexcluded_cloud_storage_buckets\x18\x04 \x01(\x0B2H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x1A/\x0A\x15CloudStorageLocations\x12\x16\x0A\x09locations\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A5\x0A\x13CloudStorageBuckets\x12\x1E\x0A\x11bucket_id_regexes\x18\x01 \x03(\x09B\x03\xE0A\x01B\x19\x0A\x17cloud_storage_locationsB\x17\x0A\x15cloud_storage_buckets\x1A\x8A\x02\x0A\x1BEffectiveIntelligenceConfig\x12z\x0A\x11effective_edition\x18\x01 \x01(\x0E2Z.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfig.EffectiveEditionB\x03\xE0A\x03\x12 \x0A\x13intelligence_config\x18\x02 \x01(\x09B\x03\xE0A\x03\"M\x0A\x10EffectiveEdition\x12!\x0A\x1DEFFECTIVE_EDITION_UNSPECIFIED\x10\x00\x12\x08\x0A\x04NONE\x10\x01\x12\x0C\x0A\x08STANDARD\x10\x02\x1AC\x0A\x0BTrialConfig\x124\x0A\x0Bexpire_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\"c\x0A\x0DEditionConfig\x12\x1E\x0A\x1AEDITION_CONFIG_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07INHERIT\x10\x01\x12\x0C\x0A\x08DISABLED\x10\x02\x12\x0C\x0A\x08STANDARD\x10\x03\x12\x09\x0A\x05TRIAL\x10\x05:\x8B\x02\xEAA\x87\x02\x0A)storage.googleapis.com/IntelligenceConfig\x128folders/{folder}/locations/{location}/intelligenceConfig\x12;organizations/{org}/locations/{location}/intelligenceConfig\x12:projects/{project}/locations/{location}/intelligenceConfig*\x13intelligenceConfigs2\x12intelligenceConfig\"\xD5\x01\x0A+UpdateOrganizationIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xCF\x01\x0A%UpdateFolderIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xD0\x01\x0A&UpdateProjectIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"k\x0A(GetOrganizationIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"e\x0A\"GetFolderIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"f\x0A#GetProjectIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"\xBE \x0A\x13IntelligenceFinding\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x03\x129\x0A\x04type\x18\x03 \x01(\x0E2&.google.storage.control.v2.FindingTypeB\x03\xE0A\x03\x12A\x0A\x08category\x18\x04 \x01(\x0E2*.google.storage.control.v2.FindingCategoryB\x03\xE0A\x03\x12A\x0A\x08severity\x18\x05 \x01(\x0E2*.google.storage.control.v2.FindingSeverityB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1C\x0A\x0Ftarget_resource\x18\x08 \x01(\x09B\x03\xE0A\x03\x12!\x0A\x14associated_resources\x18\x09 \x03(\x09B\x03\xE0A\x03\x126\x0A\x12observation_period\x18\x0A \x01(\x0B2\x15.google.type.IntervalB\x03\xE0A\x03\x12\x97\x01\x0A.coldline_and_archival_storage_operations_spike\x18\x0B \x01(\x0B2X.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpikeB\x03\xE0A\x03H\x00\x12m\x0A\x18throttled_requests_spike\x18\x0C \x01(\x0B2D.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpikeB\x03\xE0A\x03H\x00\x12o\x0A\x19cross_region_egress_spike\x18\x0D \x01(\x0B2E.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpikeB\x03\xE0A\x03H\x00\x12q\x0A\x1Astorage_growth_above_trend\x18\x0E \x01(\x0B2F.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrendB\x03\xE0A\x03H\x00\x1A\x89\x07\x0A)ColdlineAndArchivalStorageOperationsSpike\x12 \x0A\x13percentage_increase\x18\x01 \x01(\x01B\x03\xE0A\x03\x12#\x0A\x16total_operations_count\x18\x02 \x01(\x03B\x03\xE0A\x03\x12\x85\x01\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2k.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContributionB\x03\xE0A\x03\x1A\x8C\x05\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12#\x0A\x16total_operations_count\x18\x03 \x01(\x03B\x03\xE0A\x03\x12\x95\x01\x0A\x0Ccontribution\x18\x04 \x01(\x0B2x.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.ContributionB\x03\xE0A\x03H\x00\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00\x1A\xAA\x02\x0A\x0CContribution\x12\xA7\x01\x0A\x0Ctop_prefixes\x18\x01 \x03(\x0B2\x8B\x01.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution.PrefixContributionB\x03\xE0A\x03\x1Ap\x0A\x12PrefixContribution\x12\x13\x0A\x06prefix\x18\x01 \x01(\x09B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12#\x0A\x16total_operations_count\x18\x03 \x01(\x03B\x03\xE0A\x03B\x09\x0A\x07details\x1A\xAF\x06\x0A\x16CrossRegionEgressSpike\x12\x1F\x0A\x12total_egress_bytes\x18\x01 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12r\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2X.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContributionB\x03\xE0A\x03\x1A\xDD\x04\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12\x1F\x0A\x12total_egress_bytes\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x82\x01\x0A\x0Ccontribution\x18\x04 \x01(\x0B2e.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.ContributionB\x03\xE0A\x03H\x00\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00\x1A\x92\x02\x0A\x0CContribution\x12\x93\x01\x0A\x0Ctop_prefixes\x18\x01 \x03(\x0B2x.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution.PrefixContributionB\x03\xE0A\x03\x1Al\x0A\x12PrefixContribution\x12\x13\x0A\x06prefix\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x1F\x0A\x12total_egress_bytes\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03B\x09\x0A\x07details\x1A\xAB\x06\x0A\x15ThrottledRequestSpike\x12\x1F\x0A\x12throttled_requests\x18\x01 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12q\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2W.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContributionB\x03\xE0A\x03\x1A\xDB\x04\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12\x1F\x0A\x12throttled_requests\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x81\x01\x0A\x0Ccontribution\x18\x04 \x01(\x0B2d.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.ContributionB\x03\xE0A\x03H\x00\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00\x1A\x91\x02\x0A\x0CContribution\x12\x92\x01\x0A\x0Ctop_prefixes\x18\x01 \x03(\x0B2w.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution.PrefixContributionB\x03\xE0A\x03\x1Al\x0A\x12PrefixContribution\x12\x13\x0A\x06prefix\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x1F\x0A\x12throttled_requests\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03B\x09\x0A\x07details\x1A\xA7\x03\x0A\x17StorageGrowthAboveTrend\x12'\x0A\x1Atotal_storage_growth_bytes\x18\x01 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12s\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2Y.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend.BucketContributionB\x03\xE0A\x03\x1A\xCB\x01\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12'\x0A\x1Atotal_storage_growth_bytes\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00B\x09\x0A\x07details:\xB0\x01\xEAA\xAC\x01\x0A*storage.googleapis.com/IntelligenceFinding\x12Sprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}*\x14intelligenceFindings2\x13intelligenceFindingB\x1E\x0A\x1Cintelligence_finding_details\"\x8D\x03\x0A\x1BIntelligenceFindingRevision\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12E\x0A\x08snapshot\x18\x02 \x01(\x0B2..google.storage.control.v2.IntelligenceFindingB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03:\xDD\x01\xEAA\xD9\x01\x0A2storage.googleapis.com/IntelligenceFindingRevision\x12hprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}*\x1CintelligenceFindingRevisions2\x1BintelligenceFindingRevision\"a\x0A\x1DGetIntelligenceFindingRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*storage.googleapis.com/IntelligenceFinding\"\xAB\x01\x0A\x1FListIntelligenceFindingsRequest\x12B\x0A\x06parent\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x12*storage.googleapis.com/IntelligenceFinding\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\"\x8A\x01\x0A ListIntelligenceFindingsResponse\x12M\x0A\x15intelligence_findings\x18\x01 \x03(\x0B2..google.storage.control.v2.IntelligenceFinding\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xB7\x02\x0A\$SummarizeIntelligenceFindingsRequest\x12\x13\x0A\x06parent\x18\x01 \x01(\x09B\x03\xE0A\x02\x12j\x0A\x0Eresource_scope\x18\x02 \x01(\x0E2M.google.storage.control.v2.SummarizeIntelligenceFindingsRequest.ResourceScopeB\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x05 \x01(\x09B\x03\xE0A\x01\"H\x0A\x0DResourceScope\x12\x1E\x0A\x1ARESOURCE_SCOPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06PARENT\x10\x01\x12\x0B\x0A\x07PROJECT\x10\x02\"\x86\x01\x0A%SummarizeIntelligenceFindingsResponse\x12D\x0A\x11finding_summaries\x18\x01 \x03(\x0B2).google.storage.control.v2.FindingSummary\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"q\x0A%GetIntelligenceFindingRevisionRequest\x12H\x0A\x04name\x18\x01 \x01(\x09B:\xE0A\x02\xFAA4\x0A2storage.googleapis.com/IntelligenceFindingRevision\"\xA6\x01\x0A'ListIntelligenceFindingRevisionsRequest\x12J\x0A\x06parent\x18\x01 \x01(\x09B:\xE0A\x02\xFAA4\x122storage.googleapis.com/IntelligenceFindingRevision\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xA3\x01\x0A(ListIntelligenceFindingRevisionsResponse\x12^\x0A\x1Eintelligence_finding_revisions\x18\x01 \x03(\x0B26.google.storage.control.v2.IntelligenceFindingRevision\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xBF\x05\x0A\x0EFindingSummary\x129\x0A\x04type\x18\x01 \x01(\x0E2&.google.storage.control.v2.FindingTypeB\x03\xE0A\x03\x12A\x0A\x08category\x18\x02 \x01(\x0E2*.google.storage.control.v2.FindingCategoryB\x03\xE0A\x03\x12\x1C\x0A\x0Ftarget_resource\x18\x04 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12A\x0A\x08severity\x18\x07 \x01(\x0E2*.google.storage.control.v2.FindingSeverityB\x03\xE0A\x03\x12V\x0A\x0Fsummary_details\x18\x08 \x03(\x0B28.google.storage.control.v2.FindingSummary.SummaryDetailsB\x03\xE0A\x03\x1A\x89\x02\x0A\x0ESummaryDetails\x12\x0F\x0A\x05count\x18\x01 \x01(\x03H\x00\x12\x14\x0A\x0Apercentage\x18\x02 \x01(\x02H\x00\x12a\x0A\x0Dresource_type\x18\x03 \x01(\x0E2E.google.storage.control.v2.FindingSummary.SummaryDetails.ResourceTypeB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x03\"F\x0A\x0CResourceType\x12\x1D\x0A\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PROJECT\x10\x01\x12\x0A\x0A\x06BUCKET\x10\x02B\x0B\x0A\x09magnitude*\xEF\x01\x0A\x0BFindingType\x12\x1C\x0A\x18FINDING_TYPE_UNSPECIFIED\x10\x00\x12?\x0A;FINDING_TYPE_COLDLINE_AND_ARCHIVAL_STORAGE_OPERATIONS_SPIKE\x10\x01\x12(\x0A\$FINDING_TYPE_THROTTLED_REQUEST_SPIKE\x10\x02\x12*\x0A&FINDING_TYPE_CROSS_REGION_EGRESS_SPIKE\x10\x03\x12+\x0A'FINDING_TYPE_STORAGE_GROWTH_ABOVE_TREND\x10\x04*{\x0A\x0FFindingCategory\x12 \x0A\x1CFINDING_CATEGORY_UNSPECIFIED\x10\x00\x12\$\x0A FINDING_CATEGORY_DATA_MANAGEMENT\x10\x01\x12 \x0A\x1CFINDING_CATEGORY_PERFORMANCE\x10\x02*R\x0A\x0FFindingSeverity\x12 \x0A\x1CFINDING_SEVERITY_UNSPECIFIED\x10\x00\x12\x1D\x0A\x19FINDING_SEVERITY_CRITICAL\x10\x012\x847\x0A\x0EStorageControl\x12\x9A\x01\x0A\x0CCreateFolder\x12..google.storage.control.v2.CreateFolderRequest\x1A!.google.storage.control.v2.Folder\"7\xDAA\x17parent,folder,folder_id\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\x8F\x01\x0A\x0CDeleteFolder\x12..google.storage.control.v2.DeleteFolderRequest\x1A\x16.google.protobuf.Empty\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\x94\x01\x0A\x09GetFolder\x12+.google.storage.control.v2.GetFolderRequest\x1A!.google.storage.control.v2.Folder\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\x94\x01\x0A\x0BListFolders\x12-.google.storage.control.v2.ListFoldersRequest\x1A..google.storage.control.v2.ListFoldersResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xCD\x01\x0A\x0CRenameFolder\x12..google.storage.control.v2.RenameFolderRequest\x1A\x1D.google.longrunning.Operation\"n\xCAA\x1E\x0A\x06Folder\x12\x14RenameFolderMetadata\xDAA\x1Aname,destination_folder_id\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xE1\x01\x0A\x15DeleteFolderRecursive\x127.google.storage.control.v2.DeleteFolderRecursiveRequest\x1A\x1D.google.longrunning.Operation\"p\xCAA6\x0A\x15google.protobuf.Empty\x12\x1DDeleteFolderRecursiveMetadata\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetStorageLayout\x122.google.storage.control.v2.GetStorageLayoutRequest\x1A(.google.storage.control.v2.StorageLayout\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xBF\x01\x0A\x13CreateManagedFolder\x125.google.storage.control.v2.CreateManagedFolderRequest\x1A(.google.storage.control.v2.ManagedFolder\"G\xDAA'parent,managed_folder,managed_folder_id\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\x9D\x01\x0A\x13DeleteManagedFolder\x125.google.storage.control.v2.DeleteManagedFolderRequest\x1A\x16.google.protobuf.Empty\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetManagedFolder\x122.google.storage.control.v2.GetManagedFolderRequest\x1A(.google.storage.control.v2.ManagedFolder\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x12ListManagedFolders\x124.google.storage.control.v2.ListManagedFoldersRequest\x1A5.google.storage.control.v2.ListManagedFoldersResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xD1\x01\x0A\x13CreateAnywhereCache\x125.google.storage.control.v2.CreateAnywhereCacheRequest\x1A\x1D.google.longrunning.Operation\"d\xCAA,\x0A\x0DAnywhereCache\x12\x1BCreateAnywhereCacheMetadata\xDAA\x15parent,anywhere_cache\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xF9\x01\x0A\x13UpdateAnywhereCache\x125.google.storage.control.v2.UpdateAnywhereCacheRequest\x1A\x1D.google.longrunning.Operation\"\x8B\x01\xCAA,\x0A\x0DAnywhereCache\x12\x1BUpdateAnywhereCacheMetadata\xDAA\x1Aanywhere_cache,update_mask\x8A\xD3\xE4\x93\x029\x127\x0A\x13anywhere_cache.name\x12 {bucket=projects/*/buckets/*}/**\x12\xB1\x01\x0A\x14DisableAnywhereCache\x126.google.storage.control.v2.DisableAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xAD\x01\x0A\x12PauseAnywhereCache\x124.google.storage.control.v2.PauseAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xAF\x01\x0A\x13ResumeAnywhereCache\x125.google.storage.control.v2.ResumeAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetAnywhereCache\x122.google.storage.control.v2.GetAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x12ListAnywhereCaches\x124.google.storage.control.v2.ListAnywhereCachesRequest\x1A5.google.storage.control.v2.ListAnywhereCachesResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xD2\x01\x0A\x1CGetProjectIntelligenceConfig\x12>.google.storage.control.v2.GetProjectIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"C\xDAA\x04name\x82\xD3\xE4\x93\x026\x124/v2/{name=projects/*/locations/*/intelligenceConfig}\x12\x9D\x02\x0A\x1FUpdateProjectIntelligenceConfig\x12A.google.storage.control.v2.UpdateProjectIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x87\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02_2H/v2/{intelligence_config.name=projects/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xCF\x01\x0A\x1BGetFolderIntelligenceConfig\x12=.google.storage.control.v2.GetFolderIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"B\xDAA\x04name\x82\xD3\xE4\x93\x025\x123/v2/{name=folders/*/locations/*/intelligenceConfig}\x12\x9A\x02\x0A\x1EUpdateFolderIntelligenceConfig\x12@.google.storage.control.v2.UpdateFolderIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x86\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02^2G/v2/{intelligence_config.name=folders/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xE1\x01\x0A!GetOrganizationIntelligenceConfig\x12C.google.storage.control.v2.GetOrganizationIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"H\xDAA\x04name\x82\xD3\xE4\x93\x02;\x129/v2/{name=organizations/*/locations/*/intelligenceConfig}\x12\xAC\x02\x0A\$UpdateOrganizationIntelligenceConfig\x12F.google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x8C\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02d2M/v2/{intelligence_config.name=organizations/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xA3\x01\x0A\x0CGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"X\xDAA\x08resource\x8A\xD3\xE4\x93\x02G\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x12,\x0A\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\xAA\x01\x0A\x0CSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"_\xDAA\x0Fresource,policy\x8A\xD3\xE4\x93\x02G\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x12,\x0A\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\x96\x02\x0A\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1A).google.iam.v1.TestIamPermissionsResponse\"\xAA\x01\xDAA\x14resource,permissions\x8A\xD3\xE4\x93\x02\x8C\x01\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x124\x0A\x08resource\x12({bucket=projects/*/buckets/*}/objects/**\x12;\x0A\x08resource\x12/{bucket=projects/*/buckets/*}/managedFolders/**\x12\xCB\x01\x0A\x16GetIntelligenceFinding\x128.google.storage.control.v2.GetIntelligenceFindingRequest\x1A..google.storage.control.v2.IntelligenceFinding\"G\xDAA\x04name\x82\xD3\xE4\x93\x02:\x128/v2/{name=projects/*/locations/*/intelligenceFindings/*}\x12\xDE\x01\x0A\x18ListIntelligenceFindings\x12:.google.storage.control.v2.ListIntelligenceFindingsRequest\x1A;.google.storage.control.v2.ListIntelligenceFindingsResponse\"I\xDAA\x06parent\x82\xD3\xE4\x93\x02:\x128/v2/{parent=projects/*/locations/*}/intelligenceFindings\x12\x89\x03\x0A\x1DSummarizeIntelligenceFindings\x12?.google.storage.control.v2.SummarizeIntelligenceFindingsRequest\x1A@.google.storage.control.v2.SummarizeIntelligenceFindingsResponse\"\xE4\x01\xDAA\x06parent\x82\xD3\xE4\x93\x02\xD4\x01\x12B/v2/{parent=projects/*/locations/*}/intelligenceFindings:summarizeZC\x12A/v2/{parent=folders/*/locations/*}/intelligenceFindings:summarizeZI\x12G/v2/{parent=organizations/*/locations/*}/intelligenceFindings:summarize\x12\xEF\x01\x0A\x1EGetIntelligenceFindingRevision\x12@.google.storage.control.v2.GetIntelligenceFindingRevisionRequest\x1A6.google.storage.control.v2.IntelligenceFindingRevision\"S\xDAA\x04name\x82\xD3\xE4\x93\x02F\x12D/v2/{name=projects/*/locations/*/intelligenceFindings/*/revisions/*}\x12\x82\x02\x0A ListIntelligenceFindingRevisions\x12B.google.storage.control.v2.ListIntelligenceFindingRevisionsRequest\x1AC.google.storage.control.v2.ListIntelligenceFindingRevisionsResponse\"U\xDAA\x06parent\x82\xD3\xE4\x93\x02F\x12D/v2/{parent=projects/*/locations/*/intelligenceFindings/*}/revisions\x1A\xA7\x02\xCAA\x16storage.googleapis.com\xD2A\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\xA6\x02\x0A\x1Dcom.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\xEAAD\x0A\x1Dstorage.googleapis.com/Bucket\x12#projects/{project}/buckets/{bucket}b\x06proto3"
+ "\x0A\xC4\xE2\x01\x0A/google/storage/control/v2/storage_control.proto\x12\x19google.storage.control.v2\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\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\"+\x0A\x11PendingRenameInfo\x12\x16\x0A\x09operation\x18\x01 \x01(\x09B\x03\xE0A\x03\"\xE2\x02\x0A\x06Folder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1B\x0A\x0Emetageneration\x18\x03 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12N\x0A\x13pending_rename_info\x18\x07 \x01(\x0B2,.google.storage.control.v2.PendingRenameInfoB\x03\xE0A\x03:l\xEAAi\x0A\x1Dstorage.googleapis.com/Folder\x127projects/{project}/buckets/{bucket}/folders/{folder=**}*\x07folders2\x06folder\"\xF4\x01\x0A\x10GetFolderRequest\x123\x0A\x04name\x18\x06 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xD5\x01\x0A\x13CreateFolderRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x12\x1Dstorage.googleapis.com/Folder\x126\x0A\x06folder\x18\x02 \x01(\x0B2!.google.storage.control.v2.FolderB\x03\xE0A\x02\x12\x16\x0A\x09folder_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09recursive\x18\x04 \x01(\x08B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xF7\x01\x0A\x13DeleteFolderRequest\x123\x0A\x04name\x18\x06 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x8C\x02\x0A\x12ListFoldersRequest\x125\x0A\x06parent\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x12\x1Dstorage.googleapis.com/Folder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06prefix\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09delimiter\x18\x08 \x01(\x09B\x03\xE0A\x01\x12 \x0A\x13lexicographic_start\x18\x06 \x01(\x09B\x03\xE0A\x01\x12\x1E\x0A\x11lexicographic_end\x18\x07 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x09 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"b\x0A\x13ListFoldersResponse\x122\x0A\x07folders\x18\x01 \x03(\x0B2!.google.storage.control.v2.Folder\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x9B\x02\x0A\x13RenameFolderRequest\x123\x0A\x04name\x18\x07 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12\"\x0A\x15destination_folder_id\x18\x08 \x01(\x09B\x03\xE0A\x02\x12\$\x0A\x17if_metageneration_match\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x06 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x8A\x02\x0A\x1CDeleteFolderRecursiveRequest\x123\x0A\x04name\x18\x01 \x01(\x09B%\xE0A\x02\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Folder\x12)\x0A\x17if_metageneration_match\x18\x02 \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x12-\x0A\x1Bif_metageneration_not_match\x18\x03 \x01(\x03B\x03\xE0A\x01H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\x9A\x02\x0A\"CommonLongRunningOperationMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x04type\x18\x04 \x01(\x09B\x03\xE0A\x03\x12#\x0A\x16requested_cancellation\x18\x05 \x01(\x08B\x03\xE0A\x03\x12\x1D\x0A\x10progress_percent\x18\x06 \x01(\x05B\x03\xE0A\x03\"\xA7\x01\x0A\x14RenameFolderMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x18\x0A\x10source_folder_id\x18\x02 \x01(\x09\x12\x1D\x0A\x15destination_folder_id\x18\x03 \x01(\x09\"\x8A\x01\x0A\x1DDeleteFolderRecursiveMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x11\x0A\x09folder_id\x18\x02 \x01(\x09\"\xF8\x03\x0A\x0DStorageLayout\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x15\x0A\x08location\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x1A\x0A\x0Dlocation_type\x18\x03 \x01(\x09B\x03\xE0A\x03\x12d\x0A\x17custom_placement_config\x18\x04 \x01(\x0B2>.google.storage.control.v2.StorageLayout.CustomPlacementConfigB\x03\xE0A\x03\x12c\x0A\x16hierarchical_namespace\x18\x05 \x01(\x0B2>.google.storage.control.v2.StorageLayout.HierarchicalNamespaceB\x03\xE0A\x03\x1A/\x0A\x15CustomPlacementConfig\x12\x16\x0A\x0Edata_locations\x18\x01 \x03(\x09\x1A(\x0A\x15HierarchicalNamespace\x12\x0F\x0A\x07enabled\x18\x01 \x01(\x08:{\xEAAx\x0A\$storage.googleapis.com/StorageLayout\x121projects/{project}/buckets/{bucket}/storageLayout*\x0EstorageLayouts2\x0DstorageLayout\"\x86\x01\x0A\x17GetStorageLayoutRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/StorageLayout\x12\x0E\x0A\x06prefix\x18\x02 \x01(\x09\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\x9D\x07\x0A\x0DManagedFolder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1B\x0A\x0Emetageneration\x18\x03 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12Z\x0A\x12rapid_cache_config\x18\x06 \x01(\x0B29.google.storage.control.v2.ManagedFolder.RapidCacheConfigH\x00\x88\x01\x01\x1A\xE8\x03\x0A\x10RapidCacheConfig\x12^\x0A\x08policies\x18\x01 \x03(\x0B2G.google.storage.control.v2.ManagedFolder.RapidCacheConfig.PoliciesEntryB\x03\xE0A\x01\x1A\xF6\x01\x0A\x10RapidCachePolicy\x12\x1B\x0A\x0Erapid_cache_id\x18\x01 \x01(\x09B\x03\xE0A\x02\x12v\x0A\x0Fingest_on_write\x18\x02 \x01(\x0E2X.google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy.IngestOnWriteB\x03\xE0A\x02\"M\x0A\x0DIngestOnWrite\x12\x1F\x0A\x1BINGEST_ON_WRITE_UNSPECIFIED\x10\x00\x12\x1B\x0A\x17INGEST_ON_WRITE_ENABLED\x10\x01\x1A{\x0A\x0DPoliciesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12Y\x0A\x05value\x18\x02 \x01(\x0B2J.google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy:\x028\x01:\x91\x01\xEAA\x8D\x01\x0A\$storage.googleapis.com/ManagedFolder\x12Fprojects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}*\x0EmanagedFolders2\x0DmanagedFolderB\x15\x0A\x13_rapid_cache_config\"\x82\x02\x0A\x17GetManagedFolderRequest\x12:\x0A\x04name\x18\x06 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/ManagedFolder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xE2\x01\x0A\x1ACreateManagedFolderRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/ManagedFolder\x12E\x0A\x0Emanaged_folder\x18\x02 \x01(\x0B2(.google.storage.control.v2.ManagedFolderB\x03\xE0A\x02\x12\x1E\x0A\x11managed_folder_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\x9E\x02\x0A\x1ADeleteManagedFolderRequest\x12:\x0A\x04name\x18\x07 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/ManagedFolder\x12\$\x0A\x17if_metageneration_match\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12(\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x17\x0A\x0Fallow_non_empty\x18\x05 \x01(\x08\x12\x1F\x0A\x0Arequest_id\x18\x06 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xC0\x01\x0A\x19ListManagedFoldersRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/ManagedFolder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06prefix\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x1AListManagedFoldersResponse\x12A\x0A\x0Fmanaged_folders\x18\x01 \x03(\x0B2(.google.storage.control.v2.ManagedFolder\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xD0\x02\x0A\x1AUpdateManagedFolderRequest\x12E\x0A\x0Emanaged_folder\x18\x01 \x01(\x0B2(.google.storage.control.v2.ManagedFolderB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12)\x0A\x17if_metageneration_match\x18\x03 \x01(\x03B\x03\xE0A\x01H\x00\x88\x01\x01\x12-\x0A\x1Bif_metageneration_not_match\x18\x04 \x01(\x03B\x03\xE0A\x01H\x01\x88\x01\x01\x12\x1F\x0A\x0Arequest_id\x18\x05 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01B\x1A\x0A\x18_if_metageneration_matchB\x1E\x0A\x1C_if_metageneration_not_match\"\xE7\x02\x0A\x1BCreateAnywhereCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1E\x0A\x11anywhere_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x06 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1D\x0A\x10admission_policy\x18\x05 \x01(\x09H\x03\x88\x01\x01\x12!\x0A\x0Fingest_on_write\x18\x07 \x01(\x08B\x03\xE0A\x01H\x04\x88\x01\x01B\x14\x0A\x12_anywhere_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policyB\x12\x0A\x10_ingest_on_write\"\x8B\x03\x0A\x18CreateRapidCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1B\x0A\x0Erapid_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x03 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\x1D\x0A\x10admission_policy\x18\x05 \x01(\x09H\x03\x88\x01\x01\x12!\x0A\x0Fingest_on_write\x18\x06 \x01(\x08B\x03\xE0A\x01H\x04\x88\x01\x01\x12\x1C\x0A\x0Acache_type\x18\x07 \x01(\x09B\x03\xE0A\x01H\x05\x88\x01\x01B\x11\x0A\x0F_rapid_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policyB\x12\x0A\x10_ingest_on_writeB\x0D\x0A\x0B_cache_type\"\xE7\x02\x0A\x1BUpdateAnywhereCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1E\x0A\x11anywhere_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x05 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\"\x0A\x10admission_policy\x18\x04 \x01(\x09B\x03\xE0A\x01H\x03\x88\x01\x01\x12\x1C\x0A\x0Fingest_on_write\x18\x06 \x01(\x08H\x04\x88\x01\x01B\x14\x0A\x12_anywhere_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policyB\x12\x0A\x10_ingest_on_write\"\x8B\x03\x0A\x18UpdateRapidCacheMetadata\x12V\x0A\x0Fcommon_metadata\x18\x01 \x01(\x0B2=.google.storage.control.v2.CommonLongRunningOperationMetadata\x12\x1B\x0A\x0Erapid_cache_id\x18\x02 \x01(\x09H\x00\x88\x01\x01\x12\x11\x0A\x04zone\x18\x03 \x01(\x09H\x01\x88\x01\x01\x12+\x0A\x03ttl\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12\"\x0A\x10admission_policy\x18\x05 \x01(\x09B\x03\xE0A\x01H\x03\x88\x01\x01\x12\x1C\x0A\x0Fingest_on_write\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1C\x0A\x0Acache_type\x18\x07 \x01(\x09B\x03\xE0A\x01H\x05\x88\x01\x01B\x11\x0A\x0F_rapid_cache_idB\x07\x0A\x05_zoneB\x06\x0A\x04_ttlB\x13\x0A\x11_admission_policyB\x12\x0A\x10_ingest_on_writeB\x0D\x0A\x0B_cache_type\"\xDC\x03\x0A\x0DAnywhereCache\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x05\x12\x11\x0A\x04zone\x18\x0A \x01(\x09B\x03\xE0A\x05\x12&\x0A\x03ttl\x18\x03 \x01(\x0B2\x19.google.protobuf.Duration\x12\x18\x0A\x10admission_policy\x18\x09 \x01(\x09\x12\x12\x0A\x05state\x18\x05 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1B\x0A\x0Epending_update\x18\x08 \x01(\x08B\x03\xE0A\x03\x12!\x0A\x0Fingest_on_write\x18\x0B \x01(\x08B\x03\xE0A\x01H\x00\x88\x01\x01:\x8E\x01\xEAA\x8A\x01\x0A\$storage.googleapis.com/AnywhereCache\x12Cprojects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}*\x0EanywhereCaches2\x0DanywhereCacheB\x12\x0A\x10_ingest_on_write\"\xC2\x01\x0A\x1ACreateAnywhereCacheRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/AnywhereCache\x12E\x0A\x0Eanywhere_cache\x18\x03 \x01(\x0B2(.google.storage.control.v2.AnywhereCacheB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xBA\x01\x0A\x1AUpdateAnywhereCacheRequest\x12E\x0A\x0Eanywhere_cache\x18\x01 \x01(\x0B2(.google.storage.control.v2.AnywhereCacheB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"z\x0A\x1BDisableAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x19PauseAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"y\x0A\x1AResumeAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"v\x0A\x17GetAnywhereCacheRequest\x12:\x0A\x04name\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x0A\$storage.googleapis.com/AnywhereCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xA1\x01\x0A\x19ListAnywhereCachesRequest\x12<\x0A\x06parent\x18\x01 \x01(\x09B,\xE0A\x02\xFAA&\x12\$storage.googleapis.com/AnywhereCache\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x1AListAnywhereCachesResponse\x12A\x0A\x0Fanywhere_caches\x18\x01 \x03(\x0B2(.google.storage.control.v2.AnywhereCache\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xAA\x03\x0A\x0ARapidCache\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x05\x12\x11\x0A\x04zone\x18\x02 \x01(\x09B\x03\xE0A\x05\x12\x17\x0A\x0Acache_type\x18\x03 \x01(\x09B\x03\xE0A\x05\x12&\x0A\x03ttl\x18\x04 \x01(\x0B2\x19.google.protobuf.Duration\x12\x18\x0A\x10admission_policy\x18\x05 \x01(\x09\x12\x12\x0A\x05state\x18\x06 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x08 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1B\x0A\x0Epending_update\x18\x09 \x01(\x08B\x03\xE0A\x03:~\xEAA{\x0A!storage.googleapis.com/RapidCache\x12=projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}*\x0BrapidCaches2\x0ArapidCache\"\xB6\x01\x0A\x17CreateRapidCacheRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x12!storage.googleapis.com/RapidCache\x12?\x0A\x0Brapid_cache\x18\x02 \x01(\x0B2%.google.storage.control.v2.RapidCacheB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xB1\x01\x0A\x17UpdateRapidCacheRequest\x12?\x0A\x0Brapid_cache\x18\x01 \x01(\x0B2%.google.storage.control.v2.RapidCacheB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"p\x0A\x14GetRapidCacheRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!storage.googleapis.com/RapidCache\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\x9B\x01\x0A\x16ListRapidCachesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x12!storage.googleapis.com/RapidCache\x12\x11\x0A\x09page_size\x18\x02 \x01(\x05\x12\x12\x0A\x0Apage_token\x18\x03 \x01(\x09\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"o\x0A\x17ListRapidCachesResponse\x12;\x0A\x0Crapid_caches\x18\x01 \x03(\x0B2%.google.storage.control.v2.RapidCache\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x9E\x0E\x0A\x12IntelligenceConfig\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12X\x0A\x0Eedition_config\x18\x02 \x01(\x0E2;.google.storage.control.v2.IntelligenceConfig.EditionConfigB\x03\xE0A\x01\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12I\x0A\x06filter\x18\x04 \x01(\x0B24.google.storage.control.v2.IntelligenceConfig.FilterB\x03\xE0A\x01\x12u\x0A\x1Deffective_intelligence_config\x18\x05 \x01(\x0B2I.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfigB\x03\xE0A\x03\x12O\x0A\x0Ctrial_config\x18\x07 \x01(\x0B29.google.storage.control.v2.IntelligenceConfig.TrialConfig\x1A\xFC\x04\x0A\x06Filter\x12v\x0A included_cloud_storage_locations\x18\x01 \x01(\x0B2J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12v\x0A excluded_cloud_storage_locations\x18\x02 \x01(\x0B2J.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageLocationsH\x00\x12r\x0A\x1Eincluded_cloud_storage_buckets\x18\x03 \x01(\x0B2H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x12r\x0A\x1Eexcluded_cloud_storage_buckets\x18\x04 \x01(\x0B2H.google.storage.control.v2.IntelligenceConfig.Filter.CloudStorageBucketsH\x01\x1A/\x0A\x15CloudStorageLocations\x12\x16\x0A\x09locations\x18\x01 \x03(\x09B\x03\xE0A\x01\x1A5\x0A\x13CloudStorageBuckets\x12\x1E\x0A\x11bucket_id_regexes\x18\x01 \x03(\x09B\x03\xE0A\x01B\x19\x0A\x17cloud_storage_locationsB\x17\x0A\x15cloud_storage_buckets\x1A\x8A\x02\x0A\x1BEffectiveIntelligenceConfig\x12z\x0A\x11effective_edition\x18\x01 \x01(\x0E2Z.google.storage.control.v2.IntelligenceConfig.EffectiveIntelligenceConfig.EffectiveEditionB\x03\xE0A\x03\x12 \x0A\x13intelligence_config\x18\x02 \x01(\x09B\x03\xE0A\x03\"M\x0A\x10EffectiveEdition\x12!\x0A\x1DEFFECTIVE_EDITION_UNSPECIFIED\x10\x00\x12\x08\x0A\x04NONE\x10\x01\x12\x0C\x0A\x08STANDARD\x10\x02\x1AC\x0A\x0BTrialConfig\x124\x0A\x0Bexpire_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\"s\x0A\x0DEditionConfig\x12\x1E\x0A\x1AEDITION_CONFIG_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07INHERIT\x10\x01\x12\x0C\x0A\x08DISABLED\x10\x02\x12\x0C\x0A\x08STANDARD\x10\x03\x12\x09\x0A\x05TRIAL\x10\x05\x12\x0E\x0A\x0AESSENTIALS\x10\x06:\x8B\x02\xEAA\x87\x02\x0A)storage.googleapis.com/IntelligenceConfig\x128folders/{folder}/locations/{location}/intelligenceConfig\x12;organizations/{org}/locations/{location}/intelligenceConfig\x12:projects/{project}/locations/{location}/intelligenceConfig*\x13intelligenceConfigs2\x12intelligenceConfig\"\xD5\x01\x0A+UpdateOrganizationIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xCF\x01\x0A%UpdateFolderIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xD0\x01\x0A&UpdateProjectIntelligenceConfigRequest\x12O\x0A\x13intelligence_config\x18\x01 \x01(\x0B2-.google.storage.control.v2.IntelligenceConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"k\x0A(GetOrganizationIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"e\x0A\"GetFolderIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"f\x0A#GetProjectIntelligenceConfigRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)storage.googleapis.com/IntelligenceConfig\"\xBE \x0A\x13IntelligenceFinding\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x03\x129\x0A\x04type\x18\x03 \x01(\x0E2&.google.storage.control.v2.FindingTypeB\x03\xE0A\x03\x12A\x0A\x08category\x18\x04 \x01(\x0E2*.google.storage.control.v2.FindingCategoryB\x03\xE0A\x03\x12A\x0A\x08severity\x18\x05 \x01(\x0E2*.google.storage.control.v2.FindingSeverityB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1C\x0A\x0Ftarget_resource\x18\x08 \x01(\x09B\x03\xE0A\x03\x12!\x0A\x14associated_resources\x18\x09 \x03(\x09B\x03\xE0A\x03\x126\x0A\x12observation_period\x18\x0A \x01(\x0B2\x15.google.type.IntervalB\x03\xE0A\x03\x12\x97\x01\x0A.coldline_and_archival_storage_operations_spike\x18\x0B \x01(\x0B2X.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpikeB\x03\xE0A\x03H\x00\x12m\x0A\x18throttled_requests_spike\x18\x0C \x01(\x0B2D.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpikeB\x03\xE0A\x03H\x00\x12o\x0A\x19cross_region_egress_spike\x18\x0D \x01(\x0B2E.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpikeB\x03\xE0A\x03H\x00\x12q\x0A\x1Astorage_growth_above_trend\x18\x0E \x01(\x0B2F.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrendB\x03\xE0A\x03H\x00\x1A\x89\x07\x0A)ColdlineAndArchivalStorageOperationsSpike\x12 \x0A\x13percentage_increase\x18\x01 \x01(\x01B\x03\xE0A\x03\x12#\x0A\x16total_operations_count\x18\x02 \x01(\x03B\x03\xE0A\x03\x12\x85\x01\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2k.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContributionB\x03\xE0A\x03\x1A\x8C\x05\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12#\x0A\x16total_operations_count\x18\x03 \x01(\x03B\x03\xE0A\x03\x12\x95\x01\x0A\x0Ccontribution\x18\x04 \x01(\x0B2x.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.ContributionB\x03\xE0A\x03H\x00\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00\x1A\xAA\x02\x0A\x0CContribution\x12\xA7\x01\x0A\x0Ctop_prefixes\x18\x01 \x03(\x0B2\x8B\x01.google.storage.control.v2.IntelligenceFinding.ColdlineAndArchivalStorageOperationsSpike.BucketContribution.Contribution.PrefixContributionB\x03\xE0A\x03\x1Ap\x0A\x12PrefixContribution\x12\x13\x0A\x06prefix\x18\x01 \x01(\x09B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12#\x0A\x16total_operations_count\x18\x03 \x01(\x03B\x03\xE0A\x03B\x09\x0A\x07details\x1A\xAF\x06\x0A\x16CrossRegionEgressSpike\x12\x1F\x0A\x12total_egress_bytes\x18\x01 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12r\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2X.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContributionB\x03\xE0A\x03\x1A\xDD\x04\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12\x1F\x0A\x12total_egress_bytes\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x82\x01\x0A\x0Ccontribution\x18\x04 \x01(\x0B2e.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.ContributionB\x03\xE0A\x03H\x00\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00\x1A\x92\x02\x0A\x0CContribution\x12\x93\x01\x0A\x0Ctop_prefixes\x18\x01 \x03(\x0B2x.google.storage.control.v2.IntelligenceFinding.CrossRegionEgressSpike.BucketContribution.Contribution.PrefixContributionB\x03\xE0A\x03\x1Al\x0A\x12PrefixContribution\x12\x13\x0A\x06prefix\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x1F\x0A\x12total_egress_bytes\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03B\x09\x0A\x07details\x1A\xAB\x06\x0A\x15ThrottledRequestSpike\x12\x1F\x0A\x12throttled_requests\x18\x01 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12q\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2W.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContributionB\x03\xE0A\x03\x1A\xDB\x04\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12\x1F\x0A\x12throttled_requests\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03\x12\x81\x01\x0A\x0Ccontribution\x18\x04 \x01(\x0B2d.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.ContributionB\x03\xE0A\x03H\x00\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00\x1A\x91\x02\x0A\x0CContribution\x12\x92\x01\x0A\x0Ctop_prefixes\x18\x01 \x03(\x0B2w.google.storage.control.v2.IntelligenceFinding.ThrottledRequestSpike.BucketContribution.Contribution.PrefixContributionB\x03\xE0A\x03\x1Al\x0A\x12PrefixContribution\x12\x13\x0A\x06prefix\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x1F\x0A\x12throttled_requests\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03B\x09\x0A\x07details\x1A\xA7\x03\x0A\x17StorageGrowthAboveTrend\x12'\x0A\x1Atotal_storage_growth_bytes\x18\x01 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x02 \x01(\x01B\x03\xE0A\x03\x12s\x0A\x0Btop_buckets\x18\x03 \x03(\x0B2Y.google.storage.control.v2.IntelligenceFinding.StorageGrowthAboveTrend.BucketContributionB\x03\xE0A\x03\x1A\xCB\x01\x0A\x12BucketContribution\x125\x0A\x06bucket\x18\x01 \x01(\x09B%\xE0A\x03\xFAA\x1F\x0A\x1Dstorage.googleapis.com/Bucket\x12'\x0A\x1Atotal_storage_growth_bytes\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13percentage_increase\x18\x03 \x01(\x01B\x03\xE0A\x03\x12(\x0A\x05error\x18\x05 \x01(\x0B2\x12.google.rpc.StatusB\x03\xE0A\x03H\x00B\x09\x0A\x07details:\xB0\x01\xEAA\xAC\x01\x0A*storage.googleapis.com/IntelligenceFinding\x12Sprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}*\x14intelligenceFindings2\x13intelligenceFindingB\x1E\x0A\x1Cintelligence_finding_details\"\x8D\x03\x0A\x1BIntelligenceFindingRevision\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12E\x0A\x08snapshot\x18\x02 \x01(\x0B2..google.storage.control.v2.IntelligenceFindingB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03:\xDD\x01\xEAA\xD9\x01\x0A2storage.googleapis.com/IntelligenceFindingRevision\x12hprojects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}*\x1CintelligenceFindingRevisions2\x1BintelligenceFindingRevision\"a\x0A\x1DGetIntelligenceFindingRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*storage.googleapis.com/IntelligenceFinding\"\xAB\x01\x0A\x1FListIntelligenceFindingsRequest\x12B\x0A\x06parent\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x12*storage.googleapis.com/IntelligenceFinding\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\"\x8A\x01\x0A ListIntelligenceFindingsResponse\x12M\x0A\x15intelligence_findings\x18\x01 \x03(\x0B2..google.storage.control.v2.IntelligenceFinding\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xB7\x02\x0A\$SummarizeIntelligenceFindingsRequest\x12\x13\x0A\x06parent\x18\x01 \x01(\x09B\x03\xE0A\x02\x12j\x0A\x0Eresource_scope\x18\x02 \x01(\x0E2M.google.storage.control.v2.SummarizeIntelligenceFindingsRequest.ResourceScopeB\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x05 \x01(\x09B\x03\xE0A\x01\"H\x0A\x0DResourceScope\x12\x1E\x0A\x1ARESOURCE_SCOPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06PARENT\x10\x01\x12\x0B\x0A\x07PROJECT\x10\x02\"\x86\x01\x0A%SummarizeIntelligenceFindingsResponse\x12D\x0A\x11finding_summaries\x18\x01 \x03(\x0B2).google.storage.control.v2.FindingSummary\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"q\x0A%GetIntelligenceFindingRevisionRequest\x12H\x0A\x04name\x18\x01 \x01(\x09B:\xE0A\x02\xFAA4\x0A2storage.googleapis.com/IntelligenceFindingRevision\"\xA6\x01\x0A'ListIntelligenceFindingRevisionsRequest\x12J\x0A\x06parent\x18\x01 \x01(\x09B:\xE0A\x02\xFAA4\x122storage.googleapis.com/IntelligenceFindingRevision\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xA3\x01\x0A(ListIntelligenceFindingRevisionsResponse\x12^\x0A\x1Eintelligence_finding_revisions\x18\x01 \x03(\x0B26.google.storage.control.v2.IntelligenceFindingRevision\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xBA\x05\x0A\x0EFindingSummary\x129\x0A\x04type\x18\x01 \x01(\x0E2&.google.storage.control.v2.FindingTypeB\x03\xE0A\x03\x12A\x0A\x08category\x18\x02 \x01(\x0E2*.google.storage.control.v2.FindingCategoryB\x03\xE0A\x03\x12\x1C\x0A\x0Ftarget_resource\x18\x04 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12<\x0A\x08severity\x18\x07 \x01(\x0E2*.google.storage.control.v2.FindingSeverity\x12V\x0A\x0Fsummary_details\x18\x08 \x03(\x0B28.google.storage.control.v2.FindingSummary.SummaryDetailsB\x03\xE0A\x03\x1A\x89\x02\x0A\x0ESummaryDetails\x12\x0F\x0A\x05count\x18\x01 \x01(\x03H\x00\x12\x14\x0A\x0Apercentage\x18\x02 \x01(\x02H\x00\x12a\x0A\x0Dresource_type\x18\x03 \x01(\x0E2E.google.storage.control.v2.FindingSummary.SummaryDetails.ResourceTypeB\x03\xE0A\x03\x12\x18\x0A\x0Bdescription\x18\x04 \x01(\x09B\x03\xE0A\x03\"F\x0A\x0CResourceType\x12\x1D\x0A\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PROJECT\x10\x01\x12\x0A\x0A\x06BUCKET\x10\x02B\x0B\x0A\x09magnitude*\xEF\x01\x0A\x0BFindingType\x12\x1C\x0A\x18FINDING_TYPE_UNSPECIFIED\x10\x00\x12?\x0A;FINDING_TYPE_COLDLINE_AND_ARCHIVAL_STORAGE_OPERATIONS_SPIKE\x10\x01\x12(\x0A\$FINDING_TYPE_THROTTLED_REQUEST_SPIKE\x10\x02\x12*\x0A&FINDING_TYPE_CROSS_REGION_EGRESS_SPIKE\x10\x03\x12+\x0A'FINDING_TYPE_STORAGE_GROWTH_ABOVE_TREND\x10\x04*{\x0A\x0FFindingCategory\x12 \x0A\x1CFINDING_CATEGORY_UNSPECIFIED\x10\x00\x12\$\x0A FINDING_CATEGORY_DATA_MANAGEMENT\x10\x01\x12 \x0A\x1CFINDING_CATEGORY_PERFORMANCE\x10\x02*R\x0A\x0FFindingSeverity\x12 \x0A\x1CFINDING_SEVERITY_UNSPECIFIED\x10\x00\x12\x1D\x0A\x19FINDING_SEVERITY_CRITICAL\x10\x012\xD5A\x0A\x0EStorageControl\x12\xD3\x01\x0A\x0CCreateFolder\x12..google.storage.control.v2.CreateFolderRequest\x1A!.google.storage.control.v2.Folder\"p\xDAA\x17parent,folder,folder_id\x82\xD3\xE4\x93\x023\")/v2/{parent=projects/*/buckets/*}/folders:\x06folder\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xC1\x01\x0A\x0CDeleteFolder\x12..google.storage.control.v2.DeleteFolderRequest\x1A\x16.google.protobuf.Empty\"i\xDAA\x04name\x82\xD3\xE4\x93\x02,**/v2/{name=projects/*/buckets/*/folders/**}\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xC6\x01\x0A\x09GetFolder\x12+.google.storage.control.v2.GetFolderRequest\x1A!.google.storage.control.v2.Folder\"i\xDAA\x04name\x82\xD3\xE4\x93\x02,\x12*/v2/{name=projects/*/buckets/*/folders/**}\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xC5\x01\x0A\x0BListFolders\x12-.google.storage.control.v2.ListFoldersRequest\x1A..google.storage.control.v2.ListFoldersResponse\"W\xDAA\x06parent\x82\xD3\xE4\x93\x02+\x12)/v2/{parent=projects/*/buckets/*}/folders\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\x8A\x02\x0A\x0CRenameFolder\x12..google.storage.control.v2.RenameFolderRequest\x1A\x1D.google.longrunning.Operation\"\xAA\x01\xCAA\x1E\x0A\x06Folder\x12\x14RenameFolderMetadata\xDAA\x1Aname,destination_folder_id\x82\xD3\xE4\x93\x026\"1/v2/{name=projects/*/buckets/*/folders/**}:rename:\x01*\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA7\x02\x0A\x15DeleteFolderRecursive\x127.google.storage.control.v2.DeleteFolderRecursiveRequest\x1A\x1D.google.longrunning.Operation\"\xB5\x01\xCAA6\x0A\x15google.protobuf.Empty\x12\x1DDeleteFolderRecursiveMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02?\":/v2/{name=projects/*/buckets/*/folders/**}:deleteRecursive:\x01*\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xDE\x01\x0A\x10GetStorageLayout\x122.google.storage.control.v2.GetStorageLayoutRequest\x1A(.google.storage.control.v2.StorageLayout\"l\xDAA\x04name\x82\xD3\xE4\x93\x02/\x12-/v2/{name=projects/*/buckets/*/storageLayout}\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xBF\x01\x0A\x13CreateManagedFolder\x125.google.storage.control.v2.CreateManagedFolderRequest\x1A(.google.storage.control.v2.ManagedFolder\"G\xDAA'parent,managed_folder,managed_folder_id\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\x9D\x01\x0A\x13DeleteManagedFolder\x125.google.storage.control.v2.DeleteManagedFolderRequest\x1A\x16.google.protobuf.Empty\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetManagedFolder\x122.google.storage.control.v2.GetManagedFolderRequest\x1A(.google.storage.control.v2.ManagedFolder\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x12ListManagedFolders\x124.google.storage.control.v2.ListManagedFoldersRequest\x1A5.google.storage.control.v2.ListManagedFoldersResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xD4\x01\x0A\x13UpdateManagedFolder\x125.google.storage.control.v2.UpdateManagedFolderRequest\x1A(.google.storage.control.v2.ManagedFolder\"\\\xDAA\x1Amanaged_folder,update_mask\x8A\xD3\xE4\x93\x029\x127\x0A\x13managed_folder.name\x12 {bucket=projects/*/buckets/*}/**\x12\xD1\x01\x0A\x13CreateAnywhereCache\x125.google.storage.control.v2.CreateAnywhereCacheRequest\x1A\x1D.google.longrunning.Operation\"d\xCAA,\x0A\x0DAnywhereCache\x12\x1BCreateAnywhereCacheMetadata\xDAA\x15parent,anywhere_cache\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xF9\x01\x0A\x13UpdateAnywhereCache\x125.google.storage.control.v2.UpdateAnywhereCacheRequest\x1A\x1D.google.longrunning.Operation\"\x8B\x01\xCAA,\x0A\x0DAnywhereCache\x12\x1BUpdateAnywhereCacheMetadata\xDAA\x1Aanywhere_cache,update_mask\x8A\xD3\xE4\x93\x029\x127\x0A\x13anywhere_cache.name\x12 {bucket=projects/*/buckets/*}/**\x12\xB1\x01\x0A\x14DisableAnywhereCache\x126.google.storage.control.v2.DisableAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xAD\x01\x0A\x12PauseAnywhereCache\x124.google.storage.control.v2.PauseAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xAF\x01\x0A\x13ResumeAnywhereCache\x125.google.storage.control.v2.ResumeAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x10GetAnywhereCache\x122.google.storage.control.v2.GetAnywhereCacheRequest\x1A(.google.storage.control.v2.AnywhereCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA9\x01\x0A\x12ListAnywhereCaches\x124.google.storage.control.v2.ListAnywhereCachesRequest\x1A5.google.storage.control.v2.ListAnywhereCachesResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xC2\x01\x0A\x10CreateRapidCache\x122.google.storage.control.v2.CreateRapidCacheRequest\x1A\x1D.google.longrunning.Operation\"[\xCAA&\x0A\x0ARapidCache\x12\x18CreateRapidCacheMetadata\xDAA\x12parent,rapid_cache\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xE6\x01\x0A\x10UpdateRapidCache\x122.google.storage.control.v2.UpdateRapidCacheRequest\x1A\x1D.google.longrunning.Operation\"\x7F\xCAA&\x0A\x0ARapidCache\x12\x18UpdateRapidCacheMetadata\xDAA\x17rapid_cache,update_mask\x8A\xD3\xE4\x93\x026\x124\x0A\x10rapid_cache.name\x12 {bucket=projects/*/buckets/*}/**\x12\xA0\x01\x0A\x0DGetRapidCache\x12/.google.storage.control.v2.GetRapidCacheRequest\x1A%.google.storage.control.v2.RapidCache\"7\xDAA\x04name\x8A\xD3\xE4\x93\x02*\x12(\x0A\x04name\x12 {bucket=projects/*/buckets/*}/**\x12\xA0\x01\x0A\x0FListRapidCaches\x121.google.storage.control.v2.ListRapidCachesRequest\x1A2.google.storage.control.v2.ListRapidCachesResponse\"&\xDAA\x06parent\x8A\xD3\xE4\x93\x02\x17\x12\x15\x0A\x06parent\x12\x0B{bucket=**}\x12\xD2\x01\x0A\x1CGetProjectIntelligenceConfig\x12>.google.storage.control.v2.GetProjectIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"C\xDAA\x04name\x82\xD3\xE4\x93\x026\x124/v2/{name=projects/*/locations/*/intelligenceConfig}\x12\x9D\x02\x0A\x1FUpdateProjectIntelligenceConfig\x12A.google.storage.control.v2.UpdateProjectIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x87\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02_2H/v2/{intelligence_config.name=projects/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xCF\x01\x0A\x1BGetFolderIntelligenceConfig\x12=.google.storage.control.v2.GetFolderIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"B\xDAA\x04name\x82\xD3\xE4\x93\x025\x123/v2/{name=folders/*/locations/*/intelligenceConfig}\x12\x9A\x02\x0A\x1EUpdateFolderIntelligenceConfig\x12@.google.storage.control.v2.UpdateFolderIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x86\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02^2G/v2/{intelligence_config.name=folders/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xE1\x01\x0A!GetOrganizationIntelligenceConfig\x12C.google.storage.control.v2.GetOrganizationIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"H\xDAA\x04name\x82\xD3\xE4\x93\x02;\x129/v2/{name=organizations/*/locations/*/intelligenceConfig}\x12\xAC\x02\x0A\$UpdateOrganizationIntelligenceConfig\x12F.google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest\x1A-.google.storage.control.v2.IntelligenceConfig\"\x8C\x01\xDAA\x1Fintelligence_config,update_mask\x82\xD3\xE4\x93\x02d2M/v2/{intelligence_config.name=organizations/*/locations/*/intelligenceConfig}:\x13intelligence_config\x12\xA3\x01\x0A\x0CGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"X\xDAA\x08resource\x8A\xD3\xE4\x93\x02G\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x12,\x0A\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\xAA\x01\x0A\x0CSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"_\xDAA\x0Fresource,policy\x8A\xD3\xE4\x93\x02G\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x12,\x0A\x08resource\x12 {bucket=projects/*/buckets/*}/**\x12\x96\x02\x0A\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1A).google.iam.v1.TestIamPermissionsResponse\"\xAA\x01\xDAA\x14resource,permissions\x8A\xD3\xE4\x93\x02\x8C\x01\x12\x17\x0A\x08resource\x12\x0B{bucket=**}\x124\x0A\x08resource\x12({bucket=projects/*/buckets/*}/objects/**\x12;\x0A\x08resource\x12/{bucket=projects/*/buckets/*}/managedFolders/**\x12\xCB\x01\x0A\x16GetIntelligenceFinding\x128.google.storage.control.v2.GetIntelligenceFindingRequest\x1A..google.storage.control.v2.IntelligenceFinding\"G\xDAA\x04name\x82\xD3\xE4\x93\x02:\x128/v2/{name=projects/*/locations/*/intelligenceFindings/*}\x12\xDE\x01\x0A\x18ListIntelligenceFindings\x12:.google.storage.control.v2.ListIntelligenceFindingsRequest\x1A;.google.storage.control.v2.ListIntelligenceFindingsResponse\"I\xDAA\x06parent\x82\xD3\xE4\x93\x02:\x128/v2/{parent=projects/*/locations/*}/intelligenceFindings\x12\x89\x03\x0A\x1DSummarizeIntelligenceFindings\x12?.google.storage.control.v2.SummarizeIntelligenceFindingsRequest\x1A@.google.storage.control.v2.SummarizeIntelligenceFindingsResponse\"\xE4\x01\xDAA\x06parent\x82\xD3\xE4\x93\x02\xD4\x01\x12B/v2/{parent=projects/*/locations/*}/intelligenceFindings:summarizeZC\x12A/v2/{parent=folders/*/locations/*}/intelligenceFindings:summarizeZI\x12G/v2/{parent=organizations/*/locations/*}/intelligenceFindings:summarize\x12\xEF\x01\x0A\x1EGetIntelligenceFindingRevision\x12@.google.storage.control.v2.GetIntelligenceFindingRevisionRequest\x1A6.google.storage.control.v2.IntelligenceFindingRevision\"S\xDAA\x04name\x82\xD3\xE4\x93\x02F\x12D/v2/{name=projects/*/locations/*/intelligenceFindings/*/revisions/*}\x12\x82\x02\x0A ListIntelligenceFindingRevisions\x12B.google.storage.control.v2.ListIntelligenceFindingRevisionsRequest\x1AC.google.storage.control.v2.ListIntelligenceFindingRevisionsResponse\"U\xDAA\x06parent\x82\xD3\xE4\x93\x02F\x12D/v2/{parent=projects/*/locations/*/intelligenceFindings/*}/revisions\x1A\xA7\x02\xCAA\x16storage.googleapis.com\xD2A\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\xA6\x02\x0A\x1Dcom.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\xEAAD\x0A\x1Dstorage.googleapis.com/Bucket\x12#projects/{project}/buckets/{bucket}b\x06proto3"
, true);
static::$is_initialized = true;
diff --git a/StorageControl/samples/V2/StorageControlClient/create_rapid_cache.php b/StorageControl/samples/V2/StorageControlClient/create_rapid_cache.php
new file mode 100644
index 000000000000..9f79e520cd5e
--- /dev/null
+++ b/StorageControl/samples/V2/StorageControlClient/create_rapid_cache.php
@@ -0,0 +1,86 @@
+setParent($formattedParent)
+ ->setRapidCache($rapidCache);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var OperationResponse $response */
+ $response = $storageControlClient->createRapidCache($request);
+ $response->pollUntilComplete();
+
+ if ($response->operationSucceeded()) {
+ /** @var RapidCache $result */
+ $result = $response->getResult();
+ printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString());
+ } else {
+ /** @var Status $error */
+ $error = $response->getError();
+ printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample 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,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = StorageControlClient::bucketName('[PROJECT]', '[BUCKET]');
+
+ create_rapid_cache_sample($formattedParent);
+}
+// [END storage_v2_generated_StorageControl_CreateRapidCache_sync]
diff --git a/StorageControl/samples/V2/StorageControlClient/get_rapid_cache.php b/StorageControl/samples/V2/StorageControlClient/get_rapid_cache.php
new file mode 100644
index 000000000000..3463d937ed32
--- /dev/null
+++ b/StorageControl/samples/V2/StorageControlClient/get_rapid_cache.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var RapidCache $response */
+ $response = $storageControlClient->getRapidCache($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample 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,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = StorageControlClient::rapidCacheName('[PROJECT]', '[BUCKET]', '[RAPID_CACHE]');
+
+ get_rapid_cache_sample($formattedName);
+}
+// [END storage_v2_generated_StorageControl_GetRapidCache_sync]
diff --git a/StorageControl/samples/V2/StorageControlClient/list_intelligence_findings.php b/StorageControl/samples/V2/StorageControlClient/list_intelligence_findings.php
index e6b1689b980a..e012eae9ecab 100644
--- a/StorageControl/samples/V2/StorageControlClient/list_intelligence_findings.php
+++ b/StorageControl/samples/V2/StorageControlClient/list_intelligence_findings.php
@@ -30,7 +30,7 @@
use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingsRequest;
/**
- * Lists the `IntelligenceFinding` resources for the specified project.
+ * Lists the `IntelligenceFinding` resources for the specified the project.
*
* @param string $formattedParent The parent of the `IntelligenceFinding` resource.
*
diff --git a/StorageControl/samples/V2/StorageControlClient/list_rapid_caches.php b/StorageControl/samples/V2/StorageControlClient/list_rapid_caches.php
new file mode 100644
index 000000000000..3dddde9eba11
--- /dev/null
+++ b/StorageControl/samples/V2/StorageControlClient/list_rapid_caches.php
@@ -0,0 +1,76 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $storageControlClient->listRapidCaches($request);
+
+ /** @var RapidCache $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample 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,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = StorageControlClient::bucketName('[PROJECT]', '[BUCKET]');
+
+ list_rapid_caches_sample($formattedParent);
+}
+// [END storage_v2_generated_StorageControl_ListRapidCaches_sync]
diff --git a/StorageControl/samples/V2/StorageControlClient/summarize_intelligence_findings.php b/StorageControl/samples/V2/StorageControlClient/summarize_intelligence_findings.php
index 3acd1dd6de21..ebd78fc57516 100644
--- a/StorageControl/samples/V2/StorageControlClient/summarize_intelligence_findings.php
+++ b/StorageControl/samples/V2/StorageControlClient/summarize_intelligence_findings.php
@@ -30,8 +30,8 @@
use Google\Cloud\Storage\Control\V2\SummarizeIntelligenceFindingsRequest;
/**
- * Summarize the intelligence findings for the specified scope(org, folder or
- * project).
+ * Summarizes the intelligence findings for the specified scope (organization,
+ * folder or project).
*
* @param string $parent The scope to summarize the findings for.
* Format:
diff --git a/StorageControl/samples/V2/StorageControlClient/update_managed_folder.php b/StorageControl/samples/V2/StorageControlClient/update_managed_folder.php
new file mode 100644
index 000000000000..6415d7c29803
--- /dev/null
+++ b/StorageControl/samples/V2/StorageControlClient/update_managed_folder.php
@@ -0,0 +1,60 @@
+setManagedFolder($managedFolder);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var ManagedFolder $response */
+ $response = $storageControlClient->updateManagedFolder($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END storage_v2_generated_StorageControl_UpdateManagedFolder_sync]
diff --git a/StorageControl/samples/V2/StorageControlClient/update_rapid_cache.php b/StorageControl/samples/V2/StorageControlClient/update_rapid_cache.php
new file mode 100644
index 000000000000..937bbc35b11b
--- /dev/null
+++ b/StorageControl/samples/V2/StorageControlClient/update_rapid_cache.php
@@ -0,0 +1,74 @@
+setRapidCache($rapidCache)
+ ->setUpdateMask($updateMask);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var OperationResponse $response */
+ $response = $storageControlClient->updateRapidCache($request);
+ $response->pollUntilComplete();
+
+ if ($response->operationSucceeded()) {
+ /** @var RapidCache $result */
+ $result = $response->getResult();
+ printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString());
+ } else {
+ /** @var Status $error */
+ $error = $response->getError();
+ printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END storage_v2_generated_StorageControl_UpdateRapidCache_sync]
diff --git a/StorageControl/src/V2/AnywhereCache.php b/StorageControl/src/V2/AnywhereCache.php
index ac8817a20a8f..8e3334704463 100644
--- a/StorageControl/src/V2/AnywhereCache.php
+++ b/StorageControl/src/V2/AnywhereCache.php
@@ -49,7 +49,8 @@ class AnywhereCache extends \Google\Protobuf\Internal\Message
*/
protected $admission_policy = '';
/**
- * Output only. Cache state including RUNNING, CREATING, DISABLED and PAUSED.
+ * Output only. Cache state including `running`, `creating`, `disabled` and
+ * `paused`.
*
* Generated from protobuf field string state = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
*/
@@ -75,6 +76,13 @@ class AnywhereCache extends \Google\Protobuf\Internal\Message
* Generated from protobuf field bool pending_update = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
*/
protected $pending_update = false;
+ /**
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 11 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $ingest_on_write = null;
/**
* Constructor.
@@ -100,7 +108,8 @@ class AnywhereCache extends \Google\Protobuf\Internal\Message
* `admit-on-first-miss`. Default value is applied if not specified in the
* create request.
* @type string $state
- * Output only. Cache state including RUNNING, CREATING, DISABLED and PAUSED.
+ * Output only. Cache state including `running`, `creating`, `disabled` and
+ * `paused`.
* @type \Google\Protobuf\Timestamp $create_time
* Output only. Time when Anywhere cache instance is allocated.
* @type \Google\Protobuf\Timestamp $update_time
@@ -110,6 +119,9 @@ class AnywhereCache extends \Google\Protobuf\Internal\Message
* Output only. True if there is an active update operation against this cache
* instance. Subsequential update requests will be rejected if this field is
* true. Output only.
+ * @type bool $ingest_on_write
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
* }
*/
public function __construct($data = NULL) {
@@ -250,7 +262,8 @@ public function setAdmissionPolicy($var)
}
/**
- * Output only. Cache state including RUNNING, CREATING, DISABLED and PAUSED.
+ * Output only. Cache state including `running`, `creating`, `disabled` and
+ * `paused`.
*
* Generated from protobuf field string state = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
* @return string
@@ -261,7 +274,8 @@ public function getState()
}
/**
- * Output only. Cache state including RUNNING, CREATING, DISABLED and PAUSED.
+ * Output only. Cache state including `running`, `creating`, `disabled` and
+ * `paused`.
*
* Generated from protobuf field string state = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
* @param string $var
@@ -379,5 +393,43 @@ public function setPendingUpdate($var)
return $this;
}
+ /**
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 11 [(.google.api.field_behavior) = OPTIONAL];
+ * @return bool
+ */
+ public function getIngestOnWrite()
+ {
+ return isset($this->ingest_on_write) ? $this->ingest_on_write : false;
+ }
+
+ public function hasIngestOnWrite()
+ {
+ return isset($this->ingest_on_write);
+ }
+
+ public function clearIngestOnWrite()
+ {
+ unset($this->ingest_on_write);
+ }
+
+ /**
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 11 [(.google.api.field_behavior) = OPTIONAL];
+ * @param bool $var
+ * @return $this
+ */
+ public function setIngestOnWrite($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->ingest_on_write = $var;
+
+ return $this;
+ }
+
}
diff --git a/StorageControl/src/V2/Client/StorageControlClient.php b/StorageControl/src/V2/Client/StorageControlClient.php
index ad58f8a5045c..2d9dc76560a5 100644
--- a/StorageControl/src/V2/Client/StorageControlClient.php
+++ b/StorageControl/src/V2/Client/StorageControlClient.php
@@ -44,6 +44,7 @@
use Google\Cloud\Storage\Control\V2\CreateAnywhereCacheRequest;
use Google\Cloud\Storage\Control\V2\CreateFolderRequest;
use Google\Cloud\Storage\Control\V2\CreateManagedFolderRequest;
+use Google\Cloud\Storage\Control\V2\CreateRapidCacheRequest;
use Google\Cloud\Storage\Control\V2\DeleteFolderRecursiveRequest;
use Google\Cloud\Storage\Control\V2\DeleteFolderRequest;
use Google\Cloud\Storage\Control\V2\DeleteManagedFolderRequest;
@@ -57,6 +58,7 @@
use Google\Cloud\Storage\Control\V2\GetManagedFolderRequest;
use Google\Cloud\Storage\Control\V2\GetOrganizationIntelligenceConfigRequest;
use Google\Cloud\Storage\Control\V2\GetProjectIntelligenceConfigRequest;
+use Google\Cloud\Storage\Control\V2\GetRapidCacheRequest;
use Google\Cloud\Storage\Control\V2\GetStorageLayoutRequest;
use Google\Cloud\Storage\Control\V2\IntelligenceConfig;
use Google\Cloud\Storage\Control\V2\IntelligenceFinding;
@@ -66,16 +68,20 @@
use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingRevisionsRequest;
use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingsRequest;
use Google\Cloud\Storage\Control\V2\ListManagedFoldersRequest;
+use Google\Cloud\Storage\Control\V2\ListRapidCachesRequest;
use Google\Cloud\Storage\Control\V2\ManagedFolder;
use Google\Cloud\Storage\Control\V2\PauseAnywhereCacheRequest;
+use Google\Cloud\Storage\Control\V2\RapidCache;
use Google\Cloud\Storage\Control\V2\RenameFolderRequest;
use Google\Cloud\Storage\Control\V2\ResumeAnywhereCacheRequest;
use Google\Cloud\Storage\Control\V2\StorageLayout;
use Google\Cloud\Storage\Control\V2\SummarizeIntelligenceFindingsRequest;
use Google\Cloud\Storage\Control\V2\UpdateAnywhereCacheRequest;
use Google\Cloud\Storage\Control\V2\UpdateFolderIntelligenceConfigRequest;
+use Google\Cloud\Storage\Control\V2\UpdateManagedFolderRequest;
use Google\Cloud\Storage\Control\V2\UpdateOrganizationIntelligenceConfigRequest;
use Google\Cloud\Storage\Control\V2\UpdateProjectIntelligenceConfigRequest;
+use Google\Cloud\Storage\Control\V2\UpdateRapidCacheRequest;
use Google\LongRunning\Client\OperationsClient;
use Google\LongRunning\Operation;
use GuzzleHttp\Promise\PromiseInterface;
@@ -95,6 +101,7 @@
* @method PromiseInterface createAnywhereCacheAsync(CreateAnywhereCacheRequest $request, array $optionalArgs = [])
* @method PromiseInterface createFolderAsync(CreateFolderRequest $request, array $optionalArgs = [])
* @method PromiseInterface createManagedFolderAsync(CreateManagedFolderRequest $request, array $optionalArgs = [])
+ * @method PromiseInterface createRapidCacheAsync(CreateRapidCacheRequest $request, array $optionalArgs = [])
* @method PromiseInterface deleteFolderAsync(DeleteFolderRequest $request, array $optionalArgs = [])
* @method PromiseInterface deleteFolderRecursiveAsync(DeleteFolderRecursiveRequest $request, array $optionalArgs = [])
* @method PromiseInterface deleteManagedFolderAsync(DeleteManagedFolderRequest $request, array $optionalArgs = [])
@@ -108,12 +115,14 @@
* @method PromiseInterface getManagedFolderAsync(GetManagedFolderRequest $request, array $optionalArgs = [])
* @method PromiseInterface getOrganizationIntelligenceConfigAsync(GetOrganizationIntelligenceConfigRequest $request, array $optionalArgs = [])
* @method PromiseInterface getProjectIntelligenceConfigAsync(GetProjectIntelligenceConfigRequest $request, array $optionalArgs = [])
+ * @method PromiseInterface getRapidCacheAsync(GetRapidCacheRequest $request, array $optionalArgs = [])
* @method PromiseInterface getStorageLayoutAsync(GetStorageLayoutRequest $request, array $optionalArgs = [])
* @method PromiseInterface listAnywhereCachesAsync(ListAnywhereCachesRequest $request, array $optionalArgs = [])
* @method PromiseInterface listFoldersAsync(ListFoldersRequest $request, array $optionalArgs = [])
* @method PromiseInterface listIntelligenceFindingRevisionsAsync(ListIntelligenceFindingRevisionsRequest $request, array $optionalArgs = [])
* @method PromiseInterface listIntelligenceFindingsAsync(ListIntelligenceFindingsRequest $request, array $optionalArgs = [])
* @method PromiseInterface listManagedFoldersAsync(ListManagedFoldersRequest $request, array $optionalArgs = [])
+ * @method PromiseInterface listRapidCachesAsync(ListRapidCachesRequest $request, array $optionalArgs = [])
* @method PromiseInterface pauseAnywhereCacheAsync(PauseAnywhereCacheRequest $request, array $optionalArgs = [])
* @method PromiseInterface renameFolderAsync(RenameFolderRequest $request, array $optionalArgs = [])
* @method PromiseInterface resumeAnywhereCacheAsync(ResumeAnywhereCacheRequest $request, array $optionalArgs = [])
@@ -122,8 +131,10 @@
* @method PromiseInterface testIamPermissionsAsync(TestIamPermissionsRequest $request, array $optionalArgs = [])
* @method PromiseInterface updateAnywhereCacheAsync(UpdateAnywhereCacheRequest $request, array $optionalArgs = [])
* @method PromiseInterface updateFolderIntelligenceConfigAsync(UpdateFolderIntelligenceConfigRequest $request, array $optionalArgs = [])
+ * @method PromiseInterface updateManagedFolderAsync(UpdateManagedFolderRequest $request, array $optionalArgs = [])
* @method PromiseInterface updateOrganizationIntelligenceConfigAsync(UpdateOrganizationIntelligenceConfigRequest $request, array $optionalArgs = [])
* @method PromiseInterface updateProjectIntelligenceConfigAsync(UpdateProjectIntelligenceConfigRequest $request, array $optionalArgs = [])
+ * @method PromiseInterface updateRapidCacheAsync(UpdateRapidCacheRequest $request, array $optionalArgs = [])
*/
final class StorageControlClient
{
@@ -433,6 +444,25 @@ public static function projectLocationIntelligenceConfigName(string $project, st
]);
}
+ /**
+ * Formats a string containing the fully-qualified path to represent a rapid_cache
+ * resource.
+ *
+ * @param string $project
+ * @param string $bucket
+ * @param string $rapidCache
+ *
+ * @return string The formatted rapid_cache resource.
+ */
+ public static function rapidCacheName(string $project, string $bucket, string $rapidCache): string
+ {
+ return self::getPathTemplate('rapidCache')->render([
+ 'project' => $project,
+ 'bucket' => $bucket,
+ 'rapid_cache' => $rapidCache,
+ ]);
+ }
+
/**
* Formats a string containing the fully-qualified path to represent a
* storage_layout resource.
@@ -465,6 +495,7 @@ public static function storageLayoutName(string $project, string $bucket): strin
* - managedFolder: projects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}
* - orgLocationIntelligenceConfig: organizations/{org}/locations/{location}/intelligenceConfig
* - projectLocationIntelligenceConfig: projects/{project}/locations/{location}/intelligenceConfig
+ * - rapidCache: projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}
* - storageLayout: projects/{project}/buckets/{bucket}/storageLayout
*
* The optional $template argument can be supplied to specify a particular pattern,
@@ -650,6 +681,32 @@ public function createManagedFolder(CreateManagedFolderRequest $request, array $
return $this->startApiCall('CreateManagedFolder', $request, $callOptions)->wait();
}
+ /**
+ * Creates a Rapid Cache instance.
+ *
+ * The async variant is {@see StorageControlClient::createRapidCacheAsync()} .
+ *
+ * @example samples/V2/StorageControlClient/create_rapid_cache.php
+ *
+ * @param CreateRapidCacheRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return OperationResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ */
+ public function createRapidCache(CreateRapidCacheRequest $request, array $callOptions = []): OperationResponse
+ {
+ return $this->startApiCall('CreateRapidCache', $request, $callOptions)->wait();
+ }
+
/**
* Permanently deletes an empty folder. This operation is only applicable to a
* hierarchical namespace enabled bucket.
@@ -1011,6 +1068,32 @@ public function getProjectIntelligenceConfig(
return $this->startApiCall('GetProjectIntelligenceConfig', $request, $callOptions)->wait();
}
+ /**
+ * Gets a Rapid Cache instance.
+ *
+ * The async variant is {@see StorageControlClient::getRapidCacheAsync()} .
+ *
+ * @example samples/V2/StorageControlClient/get_rapid_cache.php
+ *
+ * @param GetRapidCacheRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return RapidCache
+ *
+ * @throws ApiException Thrown if the API call fails.
+ */
+ public function getRapidCache(GetRapidCacheRequest $request, array $callOptions = []): RapidCache
+ {
+ return $this->startApiCall('GetRapidCache', $request, $callOptions)->wait();
+ }
+
/**
* Returns the storage layout configuration for a given bucket.
*
@@ -1120,7 +1203,7 @@ public function listIntelligenceFindingRevisions(
}
/**
- * Lists the `IntelligenceFinding` resources for the specified project.
+ * Lists the `IntelligenceFinding` resources for the specified the project.
*
* The async variant is
* {@see StorageControlClient::listIntelligenceFindingsAsync()} .
@@ -1174,6 +1257,32 @@ public function listManagedFolders(ListManagedFoldersRequest $request, array $ca
return $this->startApiCall('ListManagedFolders', $request, $callOptions);
}
+ /**
+ * Lists Rapid Cache instances for a given bucket.
+ *
+ * The async variant is {@see StorageControlClient::listRapidCachesAsync()} .
+ *
+ * @example samples/V2/StorageControlClient/list_rapid_caches.php
+ *
+ * @param ListRapidCachesRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ */
+ public function listRapidCaches(ListRapidCachesRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListRapidCaches', $request, $callOptions);
+ }
+
/**
* Pauses an Anywhere Cache instance.
*
@@ -1286,8 +1395,8 @@ public function setIamPolicy(SetIamPolicyRequest $request, array $callOptions =
}
/**
- * Summarize the intelligence findings for the specified scope(org, folder or
- * project).
+ * Summarizes the intelligence findings for the specified scope (organization,
+ * folder or project).
*
* The async variant is
* {@see StorageControlClient::summarizeIntelligenceFindingsAsync()} .
@@ -1405,6 +1514,33 @@ public function updateFolderIntelligenceConfig(
return $this->startApiCall('UpdateFolderIntelligenceConfig', $request, $callOptions)->wait();
}
+ /**
+ * Updates a managed folder. Currently, this RPC only supports updating the
+ * `rapid_cache_config` field.
+ *
+ * The async variant is {@see StorageControlClient::updateManagedFolderAsync()} .
+ *
+ * @example samples/V2/StorageControlClient/update_managed_folder.php
+ *
+ * @param UpdateManagedFolderRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return ManagedFolder
+ *
+ * @throws ApiException Thrown if the API call fails.
+ */
+ public function updateManagedFolder(UpdateManagedFolderRequest $request, array $callOptions = []): ManagedFolder
+ {
+ return $this->startApiCall('UpdateManagedFolder', $request, $callOptions)->wait();
+ }
+
/**
* Updates the Organization scoped singleton IntelligenceConfig resource.
*
@@ -1462,4 +1598,30 @@ public function updateProjectIntelligenceConfig(
): IntelligenceConfig {
return $this->startApiCall('UpdateProjectIntelligenceConfig', $request, $callOptions)->wait();
}
+
+ /**
+ * Updates a Rapid Cache instance.
+ *
+ * The async variant is {@see StorageControlClient::updateRapidCacheAsync()} .
+ *
+ * @example samples/V2/StorageControlClient/update_rapid_cache.php
+ *
+ * @param UpdateRapidCacheRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return OperationResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ */
+ public function updateRapidCache(UpdateRapidCacheRequest $request, array $callOptions = []): OperationResponse
+ {
+ return $this->startApiCall('UpdateRapidCache', $request, $callOptions)->wait();
+ }
}
diff --git a/StorageControl/src/V2/CreateAnywhereCacheMetadata.php b/StorageControl/src/V2/CreateAnywhereCacheMetadata.php
index a94539f02bb7..e821b04e5914 100644
--- a/StorageControl/src/V2/CreateAnywhereCacheMetadata.php
+++ b/StorageControl/src/V2/CreateAnywhereCacheMetadata.php
@@ -51,6 +51,13 @@ class CreateAnywhereCacheMetadata extends \Google\Protobuf\Internal\Message
* Generated from protobuf field optional string admission_policy = 5;
*/
protected $admission_policy = null;
+ /**
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 7 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $ingest_on_write = null;
/**
* Constructor.
@@ -73,6 +80,9 @@ class CreateAnywhereCacheMetadata extends \Google\Protobuf\Internal\Message
* Anywhere Cache entry Admission Policy in kebab-case (e.g.,
* "admit-on-first-miss"). Default admission policy (admit-on-first-miss) is
* applied if not specified in the create request.
+ * @type bool $ingest_on_write
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
* }
*/
public function __construct($data = NULL) {
@@ -270,5 +280,43 @@ public function setAdmissionPolicy($var)
return $this;
}
+ /**
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 7 [(.google.api.field_behavior) = OPTIONAL];
+ * @return bool
+ */
+ public function getIngestOnWrite()
+ {
+ return isset($this->ingest_on_write) ? $this->ingest_on_write : false;
+ }
+
+ public function hasIngestOnWrite()
+ {
+ return isset($this->ingest_on_write);
+ }
+
+ public function clearIngestOnWrite()
+ {
+ unset($this->ingest_on_write);
+ }
+
+ /**
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 7 [(.google.api.field_behavior) = OPTIONAL];
+ * @param bool $var
+ * @return $this
+ */
+ public function setIngestOnWrite($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->ingest_on_write = $var;
+
+ return $this;
+ }
+
}
diff --git a/StorageControl/src/V2/CreateRapidCacheMetadata.php b/StorageControl/src/V2/CreateRapidCacheMetadata.php
new file mode 100644
index 000000000000..78d2ef7c8b86
--- /dev/null
+++ b/StorageControl/src/V2/CreateRapidCacheMetadata.php
@@ -0,0 +1,366 @@
+google.storage.control.v2.CreateRapidCacheMetadata
+ */
+class CreateRapidCacheMetadata extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Generic metadata for the long running operation.
+ *
+ * Generated from protobuf field .google.storage.control.v2.CommonLongRunningOperationMetadata common_metadata = 1;
+ */
+ protected $common_metadata = null;
+ /**
+ * Rapid Cache ID.
+ *
+ * Generated from protobuf field optional string rapid_cache_id = 2;
+ */
+ protected $rapid_cache_id = null;
+ /**
+ * The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ *
+ * Generated from protobuf field optional string zone = 3;
+ */
+ protected $zone = null;
+ /**
+ * Rapid Cache entry's TTL. A cache-level config that is applied to all new
+ * cache entries on admission. Default ttl value (24hrs) is applied if not
+ * specified in the create request.
+ *
+ * Generated from protobuf field optional .google.protobuf.Duration ttl = 4;
+ */
+ protected $ttl = null;
+ /**
+ * Anywhere Cache entry Admission Policy in kebab-case (e.g.,
+ * "admit-on-first-miss"). Default admission policy (admit-on-first-miss) is
+ * applied if not specified in the create request.
+ *
+ * Generated from protobuf field optional string admission_policy = 5;
+ */
+ protected $admission_policy = null;
+ /**
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 6 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $ingest_on_write = null;
+ /**
+ * Optional. The type of cache. Either rapid cache or rapid cache ultra.
+ *
+ * Generated from protobuf field optional string cache_type = 7 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $cache_type = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Cloud\Storage\Control\V2\CommonLongRunningOperationMetadata $common_metadata
+ * Generic metadata for the long running operation.
+ * @type string $rapid_cache_id
+ * Rapid Cache ID.
+ * @type string $zone
+ * The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ * @type \Google\Protobuf\Duration $ttl
+ * Rapid Cache entry's TTL. A cache-level config that is applied to all new
+ * cache entries on admission. Default ttl value (24hrs) is applied if not
+ * specified in the create request.
+ * @type string $admission_policy
+ * Anywhere Cache entry Admission Policy in kebab-case (e.g.,
+ * "admit-on-first-miss"). Default admission policy (admit-on-first-miss) is
+ * applied if not specified in the create request.
+ * @type bool $ingest_on_write
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ * @type string $cache_type
+ * Optional. The type of cache. Either rapid cache or rapid cache ultra.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Generic metadata for the long running operation.
+ *
+ * Generated from protobuf field .google.storage.control.v2.CommonLongRunningOperationMetadata common_metadata = 1;
+ * @return \Google\Cloud\Storage\Control\V2\CommonLongRunningOperationMetadata|null
+ */
+ public function getCommonMetadata()
+ {
+ return $this->common_metadata;
+ }
+
+ public function hasCommonMetadata()
+ {
+ return isset($this->common_metadata);
+ }
+
+ public function clearCommonMetadata()
+ {
+ unset($this->common_metadata);
+ }
+
+ /**
+ * Generic metadata for the long running operation.
+ *
+ * Generated from protobuf field .google.storage.control.v2.CommonLongRunningOperationMetadata common_metadata = 1;
+ * @param \Google\Cloud\Storage\Control\V2\CommonLongRunningOperationMetadata $var
+ * @return $this
+ */
+ public function setCommonMetadata($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\CommonLongRunningOperationMetadata::class);
+ $this->common_metadata = $var;
+
+ return $this;
+ }
+
+ /**
+ * Rapid Cache ID.
+ *
+ * Generated from protobuf field optional string rapid_cache_id = 2;
+ * @return string
+ */
+ public function getRapidCacheId()
+ {
+ return isset($this->rapid_cache_id) ? $this->rapid_cache_id : '';
+ }
+
+ public function hasRapidCacheId()
+ {
+ return isset($this->rapid_cache_id);
+ }
+
+ public function clearRapidCacheId()
+ {
+ unset($this->rapid_cache_id);
+ }
+
+ /**
+ * Rapid Cache ID.
+ *
+ * Generated from protobuf field optional string rapid_cache_id = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRapidCacheId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->rapid_cache_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ *
+ * Generated from protobuf field optional string zone = 3;
+ * @return string
+ */
+ public function getZone()
+ {
+ return isset($this->zone) ? $this->zone : '';
+ }
+
+ public function hasZone()
+ {
+ return isset($this->zone);
+ }
+
+ public function clearZone()
+ {
+ unset($this->zone);
+ }
+
+ /**
+ * The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ *
+ * Generated from protobuf field optional string zone = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setZone($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->zone = $var;
+
+ return $this;
+ }
+
+ /**
+ * Rapid Cache entry's TTL. A cache-level config that is applied to all new
+ * cache entries on admission. Default ttl value (24hrs) is applied if not
+ * specified in the create request.
+ *
+ * Generated from protobuf field optional .google.protobuf.Duration ttl = 4;
+ * @return \Google\Protobuf\Duration|null
+ */
+ public function getTtl()
+ {
+ return $this->ttl;
+ }
+
+ public function hasTtl()
+ {
+ return isset($this->ttl);
+ }
+
+ public function clearTtl()
+ {
+ unset($this->ttl);
+ }
+
+ /**
+ * Rapid Cache entry's TTL. A cache-level config that is applied to all new
+ * cache entries on admission. Default ttl value (24hrs) is applied if not
+ * specified in the create request.
+ *
+ * Generated from protobuf field optional .google.protobuf.Duration ttl = 4;
+ * @param \Google\Protobuf\Duration $var
+ * @return $this
+ */
+ public function setTtl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class);
+ $this->ttl = $var;
+
+ return $this;
+ }
+
+ /**
+ * Anywhere Cache entry Admission Policy in kebab-case (e.g.,
+ * "admit-on-first-miss"). Default admission policy (admit-on-first-miss) is
+ * applied if not specified in the create request.
+ *
+ * Generated from protobuf field optional string admission_policy = 5;
+ * @return string
+ */
+ public function getAdmissionPolicy()
+ {
+ return isset($this->admission_policy) ? $this->admission_policy : '';
+ }
+
+ public function hasAdmissionPolicy()
+ {
+ return isset($this->admission_policy);
+ }
+
+ public function clearAdmissionPolicy()
+ {
+ unset($this->admission_policy);
+ }
+
+ /**
+ * Anywhere Cache entry Admission Policy in kebab-case (e.g.,
+ * "admit-on-first-miss"). Default admission policy (admit-on-first-miss) is
+ * applied if not specified in the create request.
+ *
+ * Generated from protobuf field optional string admission_policy = 5;
+ * @param string $var
+ * @return $this
+ */
+ public function setAdmissionPolicy($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->admission_policy = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @return bool
+ */
+ public function getIngestOnWrite()
+ {
+ return isset($this->ingest_on_write) ? $this->ingest_on_write : false;
+ }
+
+ public function hasIngestOnWrite()
+ {
+ return isset($this->ingest_on_write);
+ }
+
+ public function clearIngestOnWrite()
+ {
+ unset($this->ingest_on_write);
+ }
+
+ /**
+ * Optional. Specifies whether objects are ingested into the cache upon write.
+ * Defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @param bool $var
+ * @return $this
+ */
+ public function setIngestOnWrite($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->ingest_on_write = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The type of cache. Either rapid cache or rapid cache ultra.
+ *
+ * Generated from protobuf field optional string cache_type = 7 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getCacheType()
+ {
+ return isset($this->cache_type) ? $this->cache_type : '';
+ }
+
+ public function hasCacheType()
+ {
+ return isset($this->cache_type);
+ }
+
+ public function clearCacheType()
+ {
+ unset($this->cache_type);
+ }
+
+ /**
+ * Optional. The type of cache. Either rapid cache or rapid cache ultra.
+ *
+ * Generated from protobuf field optional string cache_type = 7 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setCacheType($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->cache_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/CreateRapidCacheRequest.php b/StorageControl/src/V2/CreateRapidCacheRequest.php
new file mode 100644
index 000000000000..e0ab8ea22158
--- /dev/null
+++ b/StorageControl/src/V2/CreateRapidCacheRequest.php
@@ -0,0 +1,179 @@
+google.storage.control.v2.CreateRapidCacheRequest
+ */
+class CreateRapidCacheRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The bucket to which this cache belongs.
+ * Format: `projects/{project}/buckets/{bucket}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Required. The RapidCache to create. Default values for ingest_on_write, ttl
+ * and admission_policy will be applied if not specified in the request.
+ *
+ * Generated from protobuf field .google.storage.control.v2.RapidCache rapid_cache = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $rapid_cache = null;
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ */
+ protected $request_id = '';
+
+ /**
+ * @param string $parent Required. The bucket to which this cache belongs.
+ * Format: `projects/{project}/buckets/{bucket}`
+ * Please see {@see StorageControlClient::bucketName()} for help formatting this field.
+ * @param \Google\Cloud\Storage\Control\V2\RapidCache $rapidCache Required. The RapidCache to create. Default values for ingest_on_write, ttl
+ * and admission_policy will be applied if not specified in the request.
+ *
+ * @return \Google\Cloud\Storage\Control\V2\CreateRapidCacheRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent, \Google\Cloud\Storage\Control\V2\RapidCache $rapidCache): self
+ {
+ return (new self())
+ ->setParent($parent)
+ ->setRapidCache($rapidCache);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The bucket to which this cache belongs.
+ * Format: `projects/{project}/buckets/{bucket}`
+ * @type \Google\Cloud\Storage\Control\V2\RapidCache $rapid_cache
+ * Required. The RapidCache to create. Default values for ingest_on_write, ttl
+ * and admission_policy will be applied if not specified in the request.
+ * @type string $request_id
+ * 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.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The bucket to which this cache belongs.
+ * Format: `projects/{project}/buckets/{bucket}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The bucket to which this cache belongs.
+ * Format: `projects/{project}/buckets/{bucket}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The RapidCache to create. Default values for ingest_on_write, ttl
+ * and admission_policy will be applied if not specified in the request.
+ *
+ * Generated from protobuf field .google.storage.control.v2.RapidCache rapid_cache = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Cloud\Storage\Control\V2\RapidCache|null
+ */
+ public function getRapidCache()
+ {
+ return $this->rapid_cache;
+ }
+
+ public function hasRapidCache()
+ {
+ return isset($this->rapid_cache);
+ }
+
+ public function clearRapidCache()
+ {
+ unset($this->rapid_cache);
+ }
+
+ /**
+ * Required. The RapidCache to create. Default values for ingest_on_write, ttl
+ * and admission_policy will be applied if not specified in the request.
+ *
+ * Generated from protobuf field .google.storage.control.v2.RapidCache rapid_cache = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Cloud\Storage\Control\V2\RapidCache $var
+ * @return $this
+ */
+ public function setRapidCache($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\RapidCache::class);
+ $this->rapid_cache = $var;
+
+ return $this;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @return string
+ */
+ public function getRequestId()
+ {
+ return $this->request_id;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setRequestId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->request_id = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/FindingSummary.php b/StorageControl/src/V2/FindingSummary.php
index 712fef9f4f2b..8409eb38a1a4 100644
--- a/StorageControl/src/V2/FindingSummary.php
+++ b/StorageControl/src/V2/FindingSummary.php
@@ -52,7 +52,7 @@ class FindingSummary extends \Google\Protobuf\Internal\Message
/**
* Severity of the finding.
*
- * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 7;
*/
protected $severity = 0;
/**
@@ -254,7 +254,7 @@ public function setUpdateTime($var)
/**
* Severity of the finding.
*
- * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 7;
* @return int
*/
public function getSeverity()
@@ -265,7 +265,7 @@ public function getSeverity()
/**
* Severity of the finding.
*
- * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * Generated from protobuf field .google.storage.control.v2.FindingSeverity severity = 7;
* @param int $var
* @return $this
*/
diff --git a/StorageControl/src/V2/GetFolderIntelligenceConfigRequest.php b/StorageControl/src/V2/GetFolderIntelligenceConfigRequest.php
index 950c4c740986..9de5499e28f4 100644
--- a/StorageControl/src/V2/GetFolderIntelligenceConfigRequest.php
+++ b/StorageControl/src/V2/GetFolderIntelligenceConfigRequest.php
@@ -11,10 +11,6 @@
/**
* Request message to get the `IntelligenceConfig` resource associated with your
* folder.
- * **IAM Permissions**
- * Requires `storage.intelligenceConfigs.get`
- * [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
- * the folder.
*
* Generated from protobuf message google.storage.control.v2.GetFolderIntelligenceConfigRequest
*/
diff --git a/StorageControl/src/V2/GetOrganizationIntelligenceConfigRequest.php b/StorageControl/src/V2/GetOrganizationIntelligenceConfigRequest.php
index b7c3241575b9..256a3a19da96 100644
--- a/StorageControl/src/V2/GetOrganizationIntelligenceConfigRequest.php
+++ b/StorageControl/src/V2/GetOrganizationIntelligenceConfigRequest.php
@@ -11,10 +11,6 @@
/**
* Request message to get the `IntelligenceConfig` resource associated with your
* organization.
- * **IAM Permissions**
- * Requires `storage.intelligenceConfigs.get`
- * [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
- * the organization.
*
* Generated from protobuf message google.storage.control.v2.GetOrganizationIntelligenceConfigRequest
*/
diff --git a/StorageControl/src/V2/GetProjectIntelligenceConfigRequest.php b/StorageControl/src/V2/GetProjectIntelligenceConfigRequest.php
index 61efd87b3bc9..7134fad72722 100644
--- a/StorageControl/src/V2/GetProjectIntelligenceConfigRequest.php
+++ b/StorageControl/src/V2/GetProjectIntelligenceConfigRequest.php
@@ -11,10 +11,6 @@
/**
* Request message to get the `IntelligenceConfig` resource associated with your
* project.
- * **IAM Permissions**:
- * Requires `storage.intelligenceConfigs.get`
- * [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission
- * on the project.
*
* Generated from protobuf message google.storage.control.v2.GetProjectIntelligenceConfigRequest
*/
diff --git a/StorageControl/src/V2/GetRapidCacheRequest.php b/StorageControl/src/V2/GetRapidCacheRequest.php
new file mode 100644
index 000000000000..d1ee8263787d
--- /dev/null
+++ b/StorageControl/src/V2/GetRapidCacheRequest.php
@@ -0,0 +1,124 @@
+google.storage.control.v2.GetRapidCacheRequest
+ */
+class GetRapidCacheRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name field in the request should be:
+ * `projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+ /**
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ *
+ * Generated from protobuf field string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ */
+ protected $request_id = '';
+
+ /**
+ * @param string $name Required. The name field in the request should be:
+ * `projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}`
+ * Please see {@see StorageControlClient::rapidCacheName()} for help formatting this field.
+ *
+ * @return \Google\Cloud\Storage\Control\V2\GetRapidCacheRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name field in the request should be:
+ * `projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}`
+ * @type string $request_id
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name field in the request should be:
+ * `projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name field in the request should be:
+ * `projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ *
+ * Generated from protobuf field string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @return string
+ */
+ public function getRequestId()
+ {
+ return $this->request_id;
+ }
+
+ /**
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ *
+ * Generated from protobuf field string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setRequestId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->request_id = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/IntelligenceConfig/EditionConfig.php b/StorageControl/src/V2/IntelligenceConfig/EditionConfig.php
index fdd17c7f0a79..e25ed383c629 100644
--- a/StorageControl/src/V2/IntelligenceConfig/EditionConfig.php
+++ b/StorageControl/src/V2/IntelligenceConfig/EditionConfig.php
@@ -11,7 +11,7 @@
* signifies the edition used for configuring the `IntelligenceConfig`
* resource and can only take the following values:
* `EDITION_CONFIG_UNSPECIFIED`, `INHERIT`, `DISABLED`, `STANDARD` and
- * `TRIAL`.
+ * `EVALUATE`.
*
* Protobuf type google.storage.control.v2.IntelligenceConfig.EditionConfig
*/
@@ -53,6 +53,12 @@ class EditionConfig
* Generated from protobuf enum TRIAL = 5;
*/
const TRIAL = 5;
+ /**
+ * The `IntelligenceConfig` resource is of ESSENTIALS edition.
+ *
+ * Generated from protobuf enum ESSENTIALS = 6;
+ */
+ const ESSENTIALS = 6;
private static $valueToName = [
self::EDITION_CONFIG_UNSPECIFIED => 'EDITION_CONFIG_UNSPECIFIED',
@@ -60,6 +66,7 @@ class EditionConfig
self::DISABLED => 'DISABLED',
self::STANDARD => 'STANDARD',
self::TRIAL => 'TRIAL',
+ self::ESSENTIALS => 'ESSENTIALS',
];
public static function name($value)
diff --git a/StorageControl/src/V2/IntelligenceFindingRevision.php b/StorageControl/src/V2/IntelligenceFindingRevision.php
index c2aab16b1cfb..795743e540e2 100644
--- a/StorageControl/src/V2/IntelligenceFindingRevision.php
+++ b/StorageControl/src/V2/IntelligenceFindingRevision.php
@@ -17,11 +17,11 @@
class IntelligenceFindingRevision extends \Google\Protobuf\Internal\Message
{
/**
- * Identifier. The resource name of `IntelligenceFindingRevision`.
+ * Output only. The resource name of `IntelligenceFindingRevision`.
* Format:
* `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}`
*
- * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
*/
protected $name = '';
/**
@@ -46,7 +46,7 @@ class IntelligenceFindingRevision extends \Google\Protobuf\Internal\Message
* Optional. Data for populating the Message object.
*
* @type string $name
- * Identifier. The resource name of `IntelligenceFindingRevision`.
+ * Output only. The resource name of `IntelligenceFindingRevision`.
* Format:
* `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}`
* @type \Google\Cloud\Storage\Control\V2\IntelligenceFinding $snapshot
@@ -63,11 +63,11 @@ public function __construct($data = NULL) {
}
/**
- * Identifier. The resource name of `IntelligenceFindingRevision`.
+ * Output only. The resource name of `IntelligenceFindingRevision`.
* Format:
* `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}`
*
- * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
* @return string
*/
public function getName()
@@ -76,11 +76,11 @@ public function getName()
}
/**
- * Identifier. The resource name of `IntelligenceFindingRevision`.
+ * Output only. The resource name of `IntelligenceFindingRevision`.
* Format:
* `projects/{project}/locations/{location}/intelligenceFindings/{intelligence_finding}/revisions/{revision}`
*
- * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
* @param string $var
* @return $this
*/
diff --git a/StorageControl/src/V2/ListRapidCachesRequest.php b/StorageControl/src/V2/ListRapidCachesRequest.php
new file mode 100644
index 000000000000..b3b32cfb51f7
--- /dev/null
+++ b/StorageControl/src/V2/ListRapidCachesRequest.php
@@ -0,0 +1,195 @@
+google.storage.control.v2.ListRapidCachesRequest
+ */
+class ListRapidCachesRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The bucket to which this cache belongs.
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Maximum number of caches to return in a single response.
+ * The service will use this parameter or 1,000 items, whichever is smaller.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ */
+ protected $page_size = 0;
+ /**
+ * A previously-returned page token representing part of the larger set of
+ * results to view.
+ *
+ * Generated from protobuf field string page_token = 3;
+ */
+ protected $page_token = '';
+ /**
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ *
+ * Generated from protobuf field string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ */
+ protected $request_id = '';
+
+ /**
+ * @param string $parent Required. The bucket to which this cache belongs. Please see
+ * {@see StorageControlClient::bucketName()} for help formatting this field.
+ *
+ * @return \Google\Cloud\Storage\Control\V2\ListRapidCachesRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The bucket to which this cache belongs.
+ * @type int $page_size
+ * Maximum number of caches to return in a single response.
+ * The service will use this parameter or 1,000 items, whichever is smaller.
+ * @type string $page_token
+ * A previously-returned page token representing part of the larger set of
+ * results to view.
+ * @type string $request_id
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The bucket to which this cache belongs.
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The bucket to which this cache belongs.
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum number of caches to return in a single response.
+ * The service will use this parameter or 1,000 items, whichever is smaller.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Maximum number of caches to return in a single response.
+ * The service will use this parameter or 1,000 items, whichever is smaller.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * A previously-returned page token representing part of the larger set of
+ * results to view.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * A previously-returned page token representing part of the larger set of
+ * results to view.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ *
+ * Generated from protobuf field string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @return string
+ */
+ public function getRequestId()
+ {
+ return $this->request_id;
+ }
+
+ /**
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ *
+ * Generated from protobuf field string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setRequestId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->request_id = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/ListRapidCachesResponse.php b/StorageControl/src/V2/ListRapidCachesResponse.php
new file mode 100644
index 000000000000..feb009eb7235
--- /dev/null
+++ b/StorageControl/src/V2/ListRapidCachesResponse.php
@@ -0,0 +1,105 @@
+google.storage.control.v2.ListRapidCachesResponse
+ */
+class ListRapidCachesResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The list of rapid caches.
+ *
+ * Generated from protobuf field repeated .google.storage.control.v2.RapidCache rapid_caches = 1;
+ */
+ private $rapid_caches;
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Cloud\Storage\Control\V2\RapidCache[] $rapid_caches
+ * The list of rapid caches.
+ * @type string $next_page_token
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The list of rapid caches.
+ *
+ * Generated from protobuf field repeated .google.storage.control.v2.RapidCache rapid_caches = 1;
+ * @return RepeatedField<\Google\Cloud\Storage\Control\V2\RapidCache>
+ */
+ public function getRapidCaches()
+ {
+ return $this->rapid_caches;
+ }
+
+ /**
+ * The list of rapid caches.
+ *
+ * Generated from protobuf field repeated .google.storage.control.v2.RapidCache rapid_caches = 1;
+ * @param \Google\Cloud\Storage\Control\V2\RapidCache[] $var
+ * @return $this
+ */
+ public function setRapidCaches($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\RapidCache::class);
+ $this->rapid_caches = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/ManagedFolder.php b/StorageControl/src/V2/ManagedFolder.php
index 5ade1555d673..10c34532376d 100644
--- a/StorageControl/src/V2/ManagedFolder.php
+++ b/StorageControl/src/V2/ManagedFolder.php
@@ -43,6 +43,12 @@ class ManagedFolder extends \Google\Protobuf\Internal\Message
* Generated from protobuf field .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
*/
protected $update_time = null;
+ /**
+ * Rapid Cache configuration for a managed prefix.
+ *
+ * Generated from protobuf field optional .google.storage.control.v2.ManagedFolder.RapidCacheConfig rapid_cache_config = 6;
+ */
+ protected $rapid_cache_config = null;
/**
* Constructor.
@@ -62,6 +68,8 @@ class ManagedFolder extends \Google\Protobuf\Internal\Message
* Output only. The creation time of the managed folder.
* @type \Google\Protobuf\Timestamp $update_time
* Output only. The modification time of the managed folder.
+ * @type \Google\Cloud\Storage\Control\V2\ManagedFolder\RapidCacheConfig $rapid_cache_config
+ * Rapid Cache configuration for a managed prefix.
* }
*/
public function __construct($data = NULL) {
@@ -201,5 +209,41 @@ public function setUpdateTime($var)
return $this;
}
+ /**
+ * Rapid Cache configuration for a managed prefix.
+ *
+ * Generated from protobuf field optional .google.storage.control.v2.ManagedFolder.RapidCacheConfig rapid_cache_config = 6;
+ * @return \Google\Cloud\Storage\Control\V2\ManagedFolder\RapidCacheConfig|null
+ */
+ public function getRapidCacheConfig()
+ {
+ return $this->rapid_cache_config;
+ }
+
+ public function hasRapidCacheConfig()
+ {
+ return isset($this->rapid_cache_config);
+ }
+
+ public function clearRapidCacheConfig()
+ {
+ unset($this->rapid_cache_config);
+ }
+
+ /**
+ * Rapid Cache configuration for a managed prefix.
+ *
+ * Generated from protobuf field optional .google.storage.control.v2.ManagedFolder.RapidCacheConfig rapid_cache_config = 6;
+ * @param \Google\Cloud\Storage\Control\V2\ManagedFolder\RapidCacheConfig $var
+ * @return $this
+ */
+ public function setRapidCacheConfig($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\ManagedFolder\RapidCacheConfig::class);
+ $this->rapid_cache_config = $var;
+
+ return $this;
+ }
+
}
diff --git a/StorageControl/src/V2/ManagedFolder/RapidCacheConfig.php b/StorageControl/src/V2/ManagedFolder/RapidCacheConfig.php
new file mode 100644
index 000000000000..e99c7e4dcfe2
--- /dev/null
+++ b/StorageControl/src/V2/ManagedFolder/RapidCacheConfig.php
@@ -0,0 +1,85 @@
+google.storage.control.v2.ManagedFolder.RapidCacheConfig
+ */
+class RapidCacheConfig extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Optional. A map of rapid_cache_id to RapidCachePolicy for this prefix.
+ * Currently, the key rapid_cache_id is the zone. However, the
+ * field is generalized as rapid_cache_id to align the policy lifetime
+ * with the cache instance lifetime. This allows for a future transition
+ * from zone to a cache id if required.
+ *
+ * Generated from protobuf field map policies = 1 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $policies;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array|\Google\Protobuf\Internal\MapField $policies
+ * Optional. A map of rapid_cache_id to RapidCachePolicy for this prefix.
+ * Currently, the key rapid_cache_id is the zone. However, the
+ * field is generalized as rapid_cache_id to align the policy lifetime
+ * with the cache instance lifetime. This allows for a future transition
+ * from zone to a cache id if required.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Optional. A map of rapid_cache_id to RapidCachePolicy for this prefix.
+ * Currently, the key rapid_cache_id is the zone. However, the
+ * field is generalized as rapid_cache_id to align the policy lifetime
+ * with the cache instance lifetime. This allows for a future transition
+ * from zone to a cache id if required.
+ *
+ * Generated from protobuf field map policies = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\MapField
+ */
+ public function getPolicies()
+ {
+ return $this->policies;
+ }
+
+ /**
+ * Optional. A map of rapid_cache_id to RapidCachePolicy for this prefix.
+ * Currently, the key rapid_cache_id is the zone. However, the
+ * field is generalized as rapid_cache_id to align the policy lifetime
+ * with the cache instance lifetime. This allows for a future transition
+ * from zone to a cache id if required.
+ *
+ * Generated from protobuf field map policies = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array|\Google\Protobuf\Internal\MapField $var
+ * @return $this
+ */
+ public function setPolicies($var)
+ {
+ $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Storage\Control\V2\ManagedFolder\RapidCacheConfig\RapidCachePolicy::class);
+ $this->policies = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/ManagedFolder/RapidCacheConfig/RapidCachePolicy.php b/StorageControl/src/V2/ManagedFolder/RapidCacheConfig/RapidCachePolicy.php
new file mode 100644
index 000000000000..521fed418ea8
--- /dev/null
+++ b/StorageControl/src/V2/ManagedFolder/RapidCacheConfig/RapidCachePolicy.php
@@ -0,0 +1,105 @@
+google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy
+ */
+class RapidCachePolicy extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The identifier for the rapid cache.
+ *
+ * Generated from protobuf field string rapid_cache_id = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $rapid_cache_id = '';
+ /**
+ * Required. If enabled, objects in the Managed Folder will be ingested
+ * into the cache when they are written.
+ *
+ * Generated from protobuf field .google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy.IngestOnWrite ingest_on_write = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $ingest_on_write = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $rapid_cache_id
+ * Required. The identifier for the rapid cache.
+ * @type int $ingest_on_write
+ * Required. If enabled, objects in the Managed Folder will be ingested
+ * into the cache when they are written.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The identifier for the rapid cache.
+ *
+ * Generated from protobuf field string rapid_cache_id = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getRapidCacheId()
+ {
+ return $this->rapid_cache_id;
+ }
+
+ /**
+ * Required. The identifier for the rapid cache.
+ *
+ * Generated from protobuf field string rapid_cache_id = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setRapidCacheId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->rapid_cache_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. If enabled, objects in the Managed Folder will be ingested
+ * into the cache when they are written.
+ *
+ * Generated from protobuf field .google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy.IngestOnWrite ingest_on_write = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return int
+ */
+ public function getIngestOnWrite()
+ {
+ return $this->ingest_on_write;
+ }
+
+ /**
+ * Required. If enabled, objects in the Managed Folder will be ingested
+ * into the cache when they are written.
+ *
+ * Generated from protobuf field .google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy.IngestOnWrite ingest_on_write = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param int $var
+ * @return $this
+ */
+ public function setIngestOnWrite($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Cloud\Storage\Control\V2\ManagedFolder\RapidCacheConfig\RapidCachePolicy\IngestOnWrite::class);
+ $this->ingest_on_write = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/ManagedFolder/RapidCacheConfig/RapidCachePolicy/IngestOnWrite.php b/StorageControl/src/V2/ManagedFolder/RapidCacheConfig/RapidCachePolicy/IngestOnWrite.php
new file mode 100644
index 000000000000..a0627a680f92
--- /dev/null
+++ b/StorageControl/src/V2/ManagedFolder/RapidCacheConfig/RapidCachePolicy/IngestOnWrite.php
@@ -0,0 +1,56 @@
+google.storage.control.v2.ManagedFolder.RapidCacheConfig.RapidCachePolicy.IngestOnWrite
+ */
+class IngestOnWrite
+{
+ /**
+ * The behavior is not specified at this resource level.
+ * It should be inherited from the parent resource's configuration.
+ * This is the default value.
+ *
+ * Generated from protobuf enum INGEST_ON_WRITE_UNSPECIFIED = 0;
+ */
+ const INGEST_ON_WRITE_UNSPECIFIED = 0;
+ /**
+ * Ingestion on write is explicitly enabled for this resource.
+ *
+ * Generated from protobuf enum INGEST_ON_WRITE_ENABLED = 1;
+ */
+ const INGEST_ON_WRITE_ENABLED = 1;
+
+ private static $valueToName = [
+ self::INGEST_ON_WRITE_UNSPECIFIED => 'INGEST_ON_WRITE_UNSPECIFIED',
+ self::INGEST_ON_WRITE_ENABLED => 'INGEST_ON_WRITE_ENABLED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
diff --git a/StorageControl/src/V2/RapidCache.php b/StorageControl/src/V2/RapidCache.php
new file mode 100644
index 000000000000..bbb07750c7fa
--- /dev/null
+++ b/StorageControl/src/V2/RapidCache.php
@@ -0,0 +1,421 @@
+google.storage.control.v2.RapidCache
+ */
+class RapidCache extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Immutable. The resource name of this RapidCache.
+ * Format:
+ * projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
+ */
+ protected $name = '';
+ /**
+ * Immutable. The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ *
+ * Generated from protobuf field string zone = 2 [(.google.api.field_behavior) = IMMUTABLE];
+ */
+ protected $zone = '';
+ /**
+ * Immutable. The type of Rapid Cache this represents. Valid values include:
+ * 'rapid-cache' and 'rapid-cache-ultra'.
+ *
+ * Generated from protobuf field string cache_type = 3 [(.google.api.field_behavior) = IMMUTABLE];
+ */
+ protected $cache_type = '';
+ /**
+ * Cache entry TTL (ranges between 1h to 7d). This is a cache-level config
+ * that defines how long a cache entry can live. Default ttl value (24hrs)
+ * is applied if not specified in the create request. TTL must be in whole
+ * seconds.
+ *
+ * Generated from protobuf field .google.protobuf.Duration ttl = 4;
+ */
+ protected $ttl = null;
+ /**
+ * Cache admission policy. Valid policies includes:
+ * no_read_admission, admit-on-first-miss and admit-on-second-miss. Defaults
+ * to admit-on-first-miss for both AC and RCU. Default value is applied if not
+ * specified in the create request.
+ *
+ * Generated from protobuf field string admission_policy = 5;
+ */
+ protected $admission_policy = '';
+ /**
+ * Output only. Cache state including running, creating, and disabled.
+ *
+ * Generated from protobuf field string state = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $state = '';
+ /**
+ * Output only. Time when Rapid cache instance is allocated.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $create_time = null;
+ /**
+ * Output only. Time when Rapid cache instance is last updated, including
+ * creation.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $update_time = null;
+ /**
+ * Output only. True if there is an active update operation against this cache
+ * instance. Subsequential update requests will be rejected if this field is
+ * true. Output only.
+ *
+ * Generated from protobuf field bool pending_update = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $pending_update = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Immutable. The resource name of this RapidCache.
+ * Format:
+ * projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}
+ * @type string $zone
+ * Immutable. The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ * @type string $cache_type
+ * Immutable. The type of Rapid Cache this represents. Valid values include:
+ * 'rapid-cache' and 'rapid-cache-ultra'.
+ * @type \Google\Protobuf\Duration $ttl
+ * Cache entry TTL (ranges between 1h to 7d). This is a cache-level config
+ * that defines how long a cache entry can live. Default ttl value (24hrs)
+ * is applied if not specified in the create request. TTL must be in whole
+ * seconds.
+ * @type string $admission_policy
+ * Cache admission policy. Valid policies includes:
+ * no_read_admission, admit-on-first-miss and admit-on-second-miss. Defaults
+ * to admit-on-first-miss for both AC and RCU. Default value is applied if not
+ * specified in the create request.
+ * @type string $state
+ * Output only. Cache state including running, creating, and disabled.
+ * @type \Google\Protobuf\Timestamp $create_time
+ * Output only. Time when Rapid cache instance is allocated.
+ * @type \Google\Protobuf\Timestamp $update_time
+ * Output only. Time when Rapid cache instance is last updated, including
+ * creation.
+ * @type bool $pending_update
+ * Output only. True if there is an active update operation against this cache
+ * instance. Subsequential update requests will be rejected if this field is
+ * true. Output only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Immutable. The resource name of this RapidCache.
+ * Format:
+ * projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Immutable. The resource name of this RapidCache.
+ * Format:
+ * projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Immutable. The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ *
+ * Generated from protobuf field string zone = 2 [(.google.api.field_behavior) = IMMUTABLE];
+ * @return string
+ */
+ public function getZone()
+ {
+ return $this->zone;
+ }
+
+ /**
+ * Immutable. The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ *
+ * Generated from protobuf field string zone = 2 [(.google.api.field_behavior) = IMMUTABLE];
+ * @param string $var
+ * @return $this
+ */
+ public function setZone($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->zone = $var;
+
+ return $this;
+ }
+
+ /**
+ * Immutable. The type of Rapid Cache this represents. Valid values include:
+ * 'rapid-cache' and 'rapid-cache-ultra'.
+ *
+ * Generated from protobuf field string cache_type = 3 [(.google.api.field_behavior) = IMMUTABLE];
+ * @return string
+ */
+ public function getCacheType()
+ {
+ return $this->cache_type;
+ }
+
+ /**
+ * Immutable. The type of Rapid Cache this represents. Valid values include:
+ * 'rapid-cache' and 'rapid-cache-ultra'.
+ *
+ * Generated from protobuf field string cache_type = 3 [(.google.api.field_behavior) = IMMUTABLE];
+ * @param string $var
+ * @return $this
+ */
+ public function setCacheType($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->cache_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Cache entry TTL (ranges between 1h to 7d). This is a cache-level config
+ * that defines how long a cache entry can live. Default ttl value (24hrs)
+ * is applied if not specified in the create request. TTL must be in whole
+ * seconds.
+ *
+ * Generated from protobuf field .google.protobuf.Duration ttl = 4;
+ * @return \Google\Protobuf\Duration|null
+ */
+ public function getTtl()
+ {
+ return $this->ttl;
+ }
+
+ public function hasTtl()
+ {
+ return isset($this->ttl);
+ }
+
+ public function clearTtl()
+ {
+ unset($this->ttl);
+ }
+
+ /**
+ * Cache entry TTL (ranges between 1h to 7d). This is a cache-level config
+ * that defines how long a cache entry can live. Default ttl value (24hrs)
+ * is applied if not specified in the create request. TTL must be in whole
+ * seconds.
+ *
+ * Generated from protobuf field .google.protobuf.Duration ttl = 4;
+ * @param \Google\Protobuf\Duration $var
+ * @return $this
+ */
+ public function setTtl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class);
+ $this->ttl = $var;
+
+ return $this;
+ }
+
+ /**
+ * Cache admission policy. Valid policies includes:
+ * no_read_admission, admit-on-first-miss and admit-on-second-miss. Defaults
+ * to admit-on-first-miss for both AC and RCU. Default value is applied if not
+ * specified in the create request.
+ *
+ * Generated from protobuf field string admission_policy = 5;
+ * @return string
+ */
+ public function getAdmissionPolicy()
+ {
+ return $this->admission_policy;
+ }
+
+ /**
+ * Cache admission policy. Valid policies includes:
+ * no_read_admission, admit-on-first-miss and admit-on-second-miss. Defaults
+ * to admit-on-first-miss for both AC and RCU. Default value is applied if not
+ * specified in the create request.
+ *
+ * Generated from protobuf field string admission_policy = 5;
+ * @param string $var
+ * @return $this
+ */
+ public function setAdmissionPolicy($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->admission_policy = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Cache state including running, creating, and disabled.
+ *
+ * Generated from protobuf field string state = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getState()
+ {
+ return $this->state;
+ }
+
+ /**
+ * Output only. Cache state including running, creating, and disabled.
+ *
+ * Generated from protobuf field string state = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setState($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->state = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Time when Rapid cache instance is allocated.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getCreateTime()
+ {
+ return $this->create_time;
+ }
+
+ public function hasCreateTime()
+ {
+ return isset($this->create_time);
+ }
+
+ public function clearCreateTime()
+ {
+ unset($this->create_time);
+ }
+
+ /**
+ * Output only. Time when Rapid cache instance is allocated.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setCreateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->create_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Time when Rapid cache instance is last updated, including
+ * creation.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getUpdateTime()
+ {
+ return $this->update_time;
+ }
+
+ public function hasUpdateTime()
+ {
+ return isset($this->update_time);
+ }
+
+ public function clearUpdateTime()
+ {
+ unset($this->update_time);
+ }
+
+ /**
+ * Output only. Time when Rapid cache instance is last updated, including
+ * creation.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setUpdateTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->update_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. True if there is an active update operation against this cache
+ * instance. Subsequential update requests will be rejected if this field is
+ * true. Output only.
+ *
+ * Generated from protobuf field bool pending_update = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return bool
+ */
+ public function getPendingUpdate()
+ {
+ return $this->pending_update;
+ }
+
+ /**
+ * Output only. True if there is an active update operation against this cache
+ * instance. Subsequential update requests will be rejected if this field is
+ * true. Output only.
+ *
+ * Generated from protobuf field bool pending_update = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param bool $var
+ * @return $this
+ */
+ public function setPendingUpdate($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->pending_update = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest.php b/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest.php
index 7b670ac9a5dc..2035cb2d352d 100644
--- a/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest.php
+++ b/StorageControl/src/V2/SummarizeIntelligenceFindingsRequest.php
@@ -10,7 +10,7 @@
/**
* Request message to summarize the intelligence findings for the specified
- * scope(org, folder or project).
+ * scope (organization, folder or project).
*
* Generated from protobuf message google.storage.control.v2.SummarizeIntelligenceFindingsRequest
*/
diff --git a/StorageControl/src/V2/SummarizeIntelligenceFindingsResponse.php b/StorageControl/src/V2/SummarizeIntelligenceFindingsResponse.php
index 8a4680a28d1b..59e3b2706342 100644
--- a/StorageControl/src/V2/SummarizeIntelligenceFindingsResponse.php
+++ b/StorageControl/src/V2/SummarizeIntelligenceFindingsResponse.php
@@ -10,7 +10,7 @@
/**
* Response message to summarize the intelligence findings for a specified
- * scope(org, folder or project).
+ * scope (organization, folder or project).
*
* Generated from protobuf message google.storage.control.v2.SummarizeIntelligenceFindingsResponse
*/
diff --git a/StorageControl/src/V2/UpdateAnywhereCacheMetadata.php b/StorageControl/src/V2/UpdateAnywhereCacheMetadata.php
index 6e219f7be3ac..e34499bdc07d 100644
--- a/StorageControl/src/V2/UpdateAnywhereCacheMetadata.php
+++ b/StorageControl/src/V2/UpdateAnywhereCacheMetadata.php
@@ -44,13 +44,20 @@ class UpdateAnywhereCacheMetadata extends \Google\Protobuf\Internal\Message
*/
protected $ttl = null;
/**
- * L4 Cache entry Admission Policy in kebab-case (e.g.,
+ * Optional. Anywhere Cache entry Admission Policy in kebab-case (e.g.,
* "admit-on-first-miss"). If `admission_policy` is pending
* update, this field equals to the new value specified in the Update request.
*
- * Generated from protobuf field optional string admission_policy = 4;
+ * Generated from protobuf field optional string admission_policy = 4 [(.google.api.field_behavior) = OPTIONAL];
*/
protected $admission_policy = null;
+ /**
+ * Specifies whether objects are ingested into the cache upon write. If not
+ * set, it defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 6;
+ */
+ protected $ingest_on_write = null;
/**
* Constructor.
@@ -70,9 +77,12 @@ class UpdateAnywhereCacheMetadata extends \Google\Protobuf\Internal\Message
* is applied to all new cache entries on admission. If `ttl` is pending
* update, this field equals to the new value specified in the Update request.
* @type string $admission_policy
- * L4 Cache entry Admission Policy in kebab-case (e.g.,
+ * Optional. Anywhere Cache entry Admission Policy in kebab-case (e.g.,
* "admit-on-first-miss"). If `admission_policy` is pending
* update, this field equals to the new value specified in the Update request.
+ * @type bool $ingest_on_write
+ * Specifies whether objects are ingested into the cache upon write. If not
+ * set, it defaults to false.
* }
*/
public function __construct($data = NULL) {
@@ -231,11 +241,11 @@ public function setTtl($var)
}
/**
- * L4 Cache entry Admission Policy in kebab-case (e.g.,
+ * Optional. Anywhere Cache entry Admission Policy in kebab-case (e.g.,
* "admit-on-first-miss"). If `admission_policy` is pending
* update, this field equals to the new value specified in the Update request.
*
- * Generated from protobuf field optional string admission_policy = 4;
+ * Generated from protobuf field optional string admission_policy = 4 [(.google.api.field_behavior) = OPTIONAL];
* @return string
*/
public function getAdmissionPolicy()
@@ -254,11 +264,11 @@ public function clearAdmissionPolicy()
}
/**
- * L4 Cache entry Admission Policy in kebab-case (e.g.,
+ * Optional. Anywhere Cache entry Admission Policy in kebab-case (e.g.,
* "admit-on-first-miss"). If `admission_policy` is pending
* update, this field equals to the new value specified in the Update request.
*
- * Generated from protobuf field optional string admission_policy = 4;
+ * Generated from protobuf field optional string admission_policy = 4 [(.google.api.field_behavior) = OPTIONAL];
* @param string $var
* @return $this
*/
@@ -270,5 +280,43 @@ public function setAdmissionPolicy($var)
return $this;
}
+ /**
+ * Specifies whether objects are ingested into the cache upon write. If not
+ * set, it defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 6;
+ * @return bool
+ */
+ public function getIngestOnWrite()
+ {
+ return isset($this->ingest_on_write) ? $this->ingest_on_write : false;
+ }
+
+ public function hasIngestOnWrite()
+ {
+ return isset($this->ingest_on_write);
+ }
+
+ public function clearIngestOnWrite()
+ {
+ unset($this->ingest_on_write);
+ }
+
+ /**
+ * Specifies whether objects are ingested into the cache upon write. If not
+ * set, it defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 6;
+ * @param bool $var
+ * @return $this
+ */
+ public function setIngestOnWrite($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->ingest_on_write = $var;
+
+ return $this;
+ }
+
}
diff --git a/StorageControl/src/V2/UpdateFolderIntelligenceConfigRequest.php b/StorageControl/src/V2/UpdateFolderIntelligenceConfigRequest.php
index 45cd99514aac..8affd1ed99e9 100644
--- a/StorageControl/src/V2/UpdateFolderIntelligenceConfigRequest.php
+++ b/StorageControl/src/V2/UpdateFolderIntelligenceConfigRequest.php
@@ -11,10 +11,6 @@
/**
* Request message to update the `IntelligenceConfig` resource associated with
* your folder.
- * **IAM Permissions**:
- * Requires `storage.intelligenceConfigs.update`
- * [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
- * the folder.
*
* Generated from protobuf message google.storage.control.v2.UpdateFolderIntelligenceConfigRequest
*/
diff --git a/StorageControl/src/V2/UpdateManagedFolderRequest.php b/StorageControl/src/V2/UpdateManagedFolderRequest.php
new file mode 100644
index 000000000000..270f7f765f84
--- /dev/null
+++ b/StorageControl/src/V2/UpdateManagedFolderRequest.php
@@ -0,0 +1,315 @@
+google.storage.control.v2.UpdateManagedFolderRequest
+ */
+class UpdateManagedFolderRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Properties of the managed folder being updated. Currently, this
+ * RPC only supports updating the `rapid_cache_config` field in
+ * `managed_folder`.
+ *
+ * Generated from protobuf field .google.storage.control.v2.ManagedFolder managed_folder = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $managed_folder = null;
+ /**
+ * Optional. Update mask for managed_folder.
+ * Currently, this RPC only supports updating the `rapid_cache_config`
+ * field in `managed_folder`. This field also supports update mask for the
+ * subfields in the map of `rapid_cache_config`. The user can specify the
+ * update mask for `rapid_cache_config.policies` and
+ * `rapid_cache_config.policies.`, but patching is not supported for
+ * a field within `RapidCachePolicy.policies.`, like
+ * rapid_cache_config.policies.[key].ingest_on_write.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $update_mask = null;
+ /**
+ * Optional. The operation succeeds conditional on the managed folder's
+ * current metageneration matching the value here specified.
+ *
+ * Generated from protobuf field optional int64 if_metageneration_match = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $if_metageneration_match = null;
+ /**
+ * Optional. The operation succeeds conditional on the managed folder's
+ * current metageneration NOT matching the value here specified.
+ *
+ * Generated from protobuf field optional int64 if_metageneration_not_match = 4 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $if_metageneration_not_match = null;
+ /**
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ *
+ * Generated from protobuf field string request_id = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ */
+ protected $request_id = '';
+
+ /**
+ * @param \Google\Cloud\Storage\Control\V2\ManagedFolder $managedFolder Required. Properties of the managed folder being updated. Currently, this
+ * RPC only supports updating the `rapid_cache_config` field in
+ * `managed_folder`.
+ * @param \Google\Protobuf\FieldMask $updateMask Optional. Update mask for managed_folder.
+ * Currently, this RPC only supports updating the `rapid_cache_config`
+ * field in `managed_folder`. This field also supports update mask for the
+ * subfields in the map of `rapid_cache_config`. The user can specify the
+ * update mask for `rapid_cache_config.policies` and
+ * `rapid_cache_config.policies.`, but patching is not supported for
+ * a field within `RapidCachePolicy.policies.`, like
+ * rapid_cache_config.policies.[key].ingest_on_write.
+ *
+ * @return \Google\Cloud\Storage\Control\V2\UpdateManagedFolderRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Cloud\Storage\Control\V2\ManagedFolder $managedFolder, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setManagedFolder($managedFolder)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Cloud\Storage\Control\V2\ManagedFolder $managed_folder
+ * Required. Properties of the managed folder being updated. Currently, this
+ * RPC only supports updating the `rapid_cache_config` field in
+ * `managed_folder`.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Optional. Update mask for managed_folder.
+ * Currently, this RPC only supports updating the `rapid_cache_config`
+ * field in `managed_folder`. This field also supports update mask for the
+ * subfields in the map of `rapid_cache_config`. The user can specify the
+ * update mask for `rapid_cache_config.policies` and
+ * `rapid_cache_config.policies.`, but patching is not supported for
+ * a field within `RapidCachePolicy.policies.`, like
+ * rapid_cache_config.policies.[key].ingest_on_write.
+ * @type int|string $if_metageneration_match
+ * Optional. The operation succeeds conditional on the managed folder's
+ * current metageneration matching the value here specified.
+ * @type int|string $if_metageneration_not_match
+ * Optional. The operation succeeds conditional on the managed folder's
+ * current metageneration NOT matching the value here specified.
+ * @type string $request_id
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Properties of the managed folder being updated. Currently, this
+ * RPC only supports updating the `rapid_cache_config` field in
+ * `managed_folder`.
+ *
+ * Generated from protobuf field .google.storage.control.v2.ManagedFolder managed_folder = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Cloud\Storage\Control\V2\ManagedFolder|null
+ */
+ public function getManagedFolder()
+ {
+ return $this->managed_folder;
+ }
+
+ public function hasManagedFolder()
+ {
+ return isset($this->managed_folder);
+ }
+
+ public function clearManagedFolder()
+ {
+ unset($this->managed_folder);
+ }
+
+ /**
+ * Required. Properties of the managed folder being updated. Currently, this
+ * RPC only supports updating the `rapid_cache_config` field in
+ * `managed_folder`.
+ *
+ * Generated from protobuf field .google.storage.control.v2.ManagedFolder managed_folder = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Cloud\Storage\Control\V2\ManagedFolder $var
+ * @return $this
+ */
+ public function setManagedFolder($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\ManagedFolder::class);
+ $this->managed_folder = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Update mask for managed_folder.
+ * Currently, this RPC only supports updating the `rapid_cache_config`
+ * field in `managed_folder`. This field also supports update mask for the
+ * subfields in the map of `rapid_cache_config`. The user can specify the
+ * update mask for `rapid_cache_config.policies` and
+ * `rapid_cache_config.policies.`, but patching is not supported for
+ * a field within `RapidCachePolicy.policies.`, like
+ * rapid_cache_config.policies.[key].ingest_on_write.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Optional. Update mask for managed_folder.
+ * Currently, this RPC only supports updating the `rapid_cache_config`
+ * field in `managed_folder`. This field also supports update mask for the
+ * subfields in the map of `rapid_cache_config`. The user can specify the
+ * update mask for `rapid_cache_config.policies` and
+ * `rapid_cache_config.policies.`, but patching is not supported for
+ * a field within `RapidCachePolicy.policies.`, like
+ * rapid_cache_config.policies.[key].ingest_on_write.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The operation succeeds conditional on the managed folder's
+ * current metageneration matching the value here specified.
+ *
+ * Generated from protobuf field optional int64 if_metageneration_match = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int|string
+ */
+ public function getIfMetagenerationMatch()
+ {
+ return isset($this->if_metageneration_match) ? $this->if_metageneration_match : 0;
+ }
+
+ public function hasIfMetagenerationMatch()
+ {
+ return isset($this->if_metageneration_match);
+ }
+
+ public function clearIfMetagenerationMatch()
+ {
+ unset($this->if_metageneration_match);
+ }
+
+ /**
+ * Optional. The operation succeeds conditional on the managed folder's
+ * current metageneration matching the value here specified.
+ *
+ * Generated from protobuf field optional int64 if_metageneration_match = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int|string $var
+ * @return $this
+ */
+ public function setIfMetagenerationMatch($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->if_metageneration_match = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The operation succeeds conditional on the managed folder's
+ * current metageneration NOT matching the value here specified.
+ *
+ * Generated from protobuf field optional int64 if_metageneration_not_match = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int|string
+ */
+ public function getIfMetagenerationNotMatch()
+ {
+ return isset($this->if_metageneration_not_match) ? $this->if_metageneration_not_match : 0;
+ }
+
+ public function hasIfMetagenerationNotMatch()
+ {
+ return isset($this->if_metageneration_not_match);
+ }
+
+ public function clearIfMetagenerationNotMatch()
+ {
+ unset($this->if_metageneration_not_match);
+ }
+
+ /**
+ * Optional. The operation succeeds conditional on the managed folder's
+ * current metageneration NOT matching the value here specified.
+ *
+ * Generated from protobuf field optional int64 if_metageneration_not_match = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int|string $var
+ * @return $this
+ */
+ public function setIfMetagenerationNotMatch($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->if_metageneration_not_match = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ *
+ * Generated from protobuf field string request_id = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @return string
+ */
+ public function getRequestId()
+ {
+ return $this->request_id;
+ }
+
+ /**
+ * Optional. A unique identifier for this request. UUID is the recommended
+ * format, but other formats are still accepted.
+ *
+ * Generated from protobuf field string request_id = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setRequestId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->request_id = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/UpdateOrganizationIntelligenceConfigRequest.php b/StorageControl/src/V2/UpdateOrganizationIntelligenceConfigRequest.php
index b7bd2d67f764..9d0844b3e02e 100644
--- a/StorageControl/src/V2/UpdateOrganizationIntelligenceConfigRequest.php
+++ b/StorageControl/src/V2/UpdateOrganizationIntelligenceConfigRequest.php
@@ -11,10 +11,6 @@
/**
* Request message to update the `IntelligenceConfig` resource associated with
* your organization.
- * **IAM Permissions**:
- * Requires `storage.intelligenceConfigs.update`
- * [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
- * the organization.
*
* Generated from protobuf message google.storage.control.v2.UpdateOrganizationIntelligenceConfigRequest
*/
diff --git a/StorageControl/src/V2/UpdateProjectIntelligenceConfigRequest.php b/StorageControl/src/V2/UpdateProjectIntelligenceConfigRequest.php
index 062473169234..46b8b8ca8ef2 100644
--- a/StorageControl/src/V2/UpdateProjectIntelligenceConfigRequest.php
+++ b/StorageControl/src/V2/UpdateProjectIntelligenceConfigRequest.php
@@ -11,10 +11,6 @@
/**
* Request message to update the `IntelligenceConfig` resource associated with
* your project.
- * **IAM Permissions**:
- * Requires `storage.intelligenceConfigs.update`
- * [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
- * the folder.
*
* Generated from protobuf message google.storage.control.v2.UpdateProjectIntelligenceConfigRequest
*/
diff --git a/StorageControl/src/V2/UpdateRapidCacheMetadata.php b/StorageControl/src/V2/UpdateRapidCacheMetadata.php
new file mode 100644
index 000000000000..8a208517e72c
--- /dev/null
+++ b/StorageControl/src/V2/UpdateRapidCacheMetadata.php
@@ -0,0 +1,366 @@
+google.storage.control.v2.UpdateRapidCacheMetadata
+ */
+class UpdateRapidCacheMetadata extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Generic metadata for the long running operation.
+ *
+ * Generated from protobuf field .google.storage.control.v2.CommonLongRunningOperationMetadata common_metadata = 1;
+ */
+ protected $common_metadata = null;
+ /**
+ * Rapid Cache ID.
+ *
+ * Generated from protobuf field optional string rapid_cache_id = 2;
+ */
+ protected $rapid_cache_id = null;
+ /**
+ * The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ *
+ * Generated from protobuf field optional string zone = 3;
+ */
+ protected $zone = null;
+ /**
+ * Rapid Cache entry's TTL between 1h and 7days. A cache-level config that
+ * is applied to all new cache entries on admission. If `ttl` is pending
+ * update, this field equals to the new value specified in the Update request.
+ *
+ * Generated from protobuf field optional .google.protobuf.Duration ttl = 4;
+ */
+ protected $ttl = null;
+ /**
+ * Optional. Rapid Cache entry Admission Policy in kebab-case (e.g.,
+ * "admit-on-first-miss"). If `admission_policy` is pending
+ * update, this field equals to the new value specified in the Update request.
+ *
+ * Generated from protobuf field optional string admission_policy = 5 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $admission_policy = null;
+ /**
+ * Specifies whether objects are ingested into the cache upon write. If not
+ * set, it defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 6;
+ */
+ protected $ingest_on_write = null;
+ /**
+ * Optional. The type of cache. Either rapid cache or rapid cache ultra.
+ *
+ * Generated from protobuf field optional string cache_type = 7 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $cache_type = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Cloud\Storage\Control\V2\CommonLongRunningOperationMetadata $common_metadata
+ * Generic metadata for the long running operation.
+ * @type string $rapid_cache_id
+ * Rapid Cache ID.
+ * @type string $zone
+ * The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ * @type \Google\Protobuf\Duration $ttl
+ * Rapid Cache entry's TTL between 1h and 7days. A cache-level config that
+ * is applied to all new cache entries on admission. If `ttl` is pending
+ * update, this field equals to the new value specified in the Update request.
+ * @type string $admission_policy
+ * Optional. Rapid Cache entry Admission Policy in kebab-case (e.g.,
+ * "admit-on-first-miss"). If `admission_policy` is pending
+ * update, this field equals to the new value specified in the Update request.
+ * @type bool $ingest_on_write
+ * Specifies whether objects are ingested into the cache upon write. If not
+ * set, it defaults to false.
+ * @type string $cache_type
+ * Optional. The type of cache. Either rapid cache or rapid cache ultra.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Generic metadata for the long running operation.
+ *
+ * Generated from protobuf field .google.storage.control.v2.CommonLongRunningOperationMetadata common_metadata = 1;
+ * @return \Google\Cloud\Storage\Control\V2\CommonLongRunningOperationMetadata|null
+ */
+ public function getCommonMetadata()
+ {
+ return $this->common_metadata;
+ }
+
+ public function hasCommonMetadata()
+ {
+ return isset($this->common_metadata);
+ }
+
+ public function clearCommonMetadata()
+ {
+ unset($this->common_metadata);
+ }
+
+ /**
+ * Generic metadata for the long running operation.
+ *
+ * Generated from protobuf field .google.storage.control.v2.CommonLongRunningOperationMetadata common_metadata = 1;
+ * @param \Google\Cloud\Storage\Control\V2\CommonLongRunningOperationMetadata $var
+ * @return $this
+ */
+ public function setCommonMetadata($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\CommonLongRunningOperationMetadata::class);
+ $this->common_metadata = $var;
+
+ return $this;
+ }
+
+ /**
+ * Rapid Cache ID.
+ *
+ * Generated from protobuf field optional string rapid_cache_id = 2;
+ * @return string
+ */
+ public function getRapidCacheId()
+ {
+ return isset($this->rapid_cache_id) ? $this->rapid_cache_id : '';
+ }
+
+ public function hasRapidCacheId()
+ {
+ return isset($this->rapid_cache_id);
+ }
+
+ public function clearRapidCacheId()
+ {
+ unset($this->rapid_cache_id);
+ }
+
+ /**
+ * Rapid Cache ID.
+ *
+ * Generated from protobuf field optional string rapid_cache_id = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRapidCacheId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->rapid_cache_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ *
+ * Generated from protobuf field optional string zone = 3;
+ * @return string
+ */
+ public function getZone()
+ {
+ return isset($this->zone) ? $this->zone : '';
+ }
+
+ public function hasZone()
+ {
+ return isset($this->zone);
+ }
+
+ public function clearZone()
+ {
+ unset($this->zone);
+ }
+
+ /**
+ * The zone in which the cache instance is running. For example,
+ * us-central1-a.
+ *
+ * Generated from protobuf field optional string zone = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setZone($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->zone = $var;
+
+ return $this;
+ }
+
+ /**
+ * Rapid Cache entry's TTL between 1h and 7days. A cache-level config that
+ * is applied to all new cache entries on admission. If `ttl` is pending
+ * update, this field equals to the new value specified in the Update request.
+ *
+ * Generated from protobuf field optional .google.protobuf.Duration ttl = 4;
+ * @return \Google\Protobuf\Duration|null
+ */
+ public function getTtl()
+ {
+ return $this->ttl;
+ }
+
+ public function hasTtl()
+ {
+ return isset($this->ttl);
+ }
+
+ public function clearTtl()
+ {
+ unset($this->ttl);
+ }
+
+ /**
+ * Rapid Cache entry's TTL between 1h and 7days. A cache-level config that
+ * is applied to all new cache entries on admission. If `ttl` is pending
+ * update, this field equals to the new value specified in the Update request.
+ *
+ * Generated from protobuf field optional .google.protobuf.Duration ttl = 4;
+ * @param \Google\Protobuf\Duration $var
+ * @return $this
+ */
+ public function setTtl($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class);
+ $this->ttl = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Rapid Cache entry Admission Policy in kebab-case (e.g.,
+ * "admit-on-first-miss"). If `admission_policy` is pending
+ * update, this field equals to the new value specified in the Update request.
+ *
+ * Generated from protobuf field optional string admission_policy = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getAdmissionPolicy()
+ {
+ return isset($this->admission_policy) ? $this->admission_policy : '';
+ }
+
+ public function hasAdmissionPolicy()
+ {
+ return isset($this->admission_policy);
+ }
+
+ public function clearAdmissionPolicy()
+ {
+ unset($this->admission_policy);
+ }
+
+ /**
+ * Optional. Rapid Cache entry Admission Policy in kebab-case (e.g.,
+ * "admit-on-first-miss"). If `admission_policy` is pending
+ * update, this field equals to the new value specified in the Update request.
+ *
+ * Generated from protobuf field optional string admission_policy = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setAdmissionPolicy($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->admission_policy = $var;
+
+ return $this;
+ }
+
+ /**
+ * Specifies whether objects are ingested into the cache upon write. If not
+ * set, it defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 6;
+ * @return bool
+ */
+ public function getIngestOnWrite()
+ {
+ return isset($this->ingest_on_write) ? $this->ingest_on_write : false;
+ }
+
+ public function hasIngestOnWrite()
+ {
+ return isset($this->ingest_on_write);
+ }
+
+ public function clearIngestOnWrite()
+ {
+ unset($this->ingest_on_write);
+ }
+
+ /**
+ * Specifies whether objects are ingested into the cache upon write. If not
+ * set, it defaults to false.
+ *
+ * Generated from protobuf field optional bool ingest_on_write = 6;
+ * @param bool $var
+ * @return $this
+ */
+ public function setIngestOnWrite($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->ingest_on_write = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The type of cache. Either rapid cache or rapid cache ultra.
+ *
+ * Generated from protobuf field optional string cache_type = 7 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getCacheType()
+ {
+ return isset($this->cache_type) ? $this->cache_type : '';
+ }
+
+ public function hasCacheType()
+ {
+ return isset($this->cache_type);
+ }
+
+ public function clearCacheType()
+ {
+ unset($this->cache_type);
+ }
+
+ /**
+ * Optional. The type of cache. Either rapid cache or rapid cache ultra.
+ *
+ * Generated from protobuf field optional string cache_type = 7 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setCacheType($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->cache_type = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/UpdateRapidCacheRequest.php b/StorageControl/src/V2/UpdateRapidCacheRequest.php
new file mode 100644
index 000000000000..357d877a5906
--- /dev/null
+++ b/StorageControl/src/V2/UpdateRapidCacheRequest.php
@@ -0,0 +1,210 @@
+google.storage.control.v2.UpdateRapidCacheRequest
+ */
+class UpdateRapidCacheRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The RapidCache to update.
+ *
+ * Generated from protobuf field .google.storage.control.v2.RapidCache rapid_cache = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $rapid_cache = null;
+ /**
+ * Required. List of fields to be updated. Mutable fields of RapidCache
+ * include `ttl`, `admission_policy` and `ingest_on_write`.
+ * To specify ALL fields, specify a single field with the value `*`. Note: We
+ * recommend against doing this. If a new field is introduced at a later time,
+ * an older client updating with the `*` may accidentally reset the new
+ * field's value.
+ * Not specifying any fields is an error.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $update_mask = null;
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ */
+ protected $request_id = '';
+
+ /**
+ * @param \Google\Cloud\Storage\Control\V2\RapidCache $rapidCache Required. The RapidCache to update.
+ * @param \Google\Protobuf\FieldMask $updateMask Required. List of fields to be updated. Mutable fields of RapidCache
+ * include `ttl`, `admission_policy` and `ingest_on_write`.
+ *
+ * To specify ALL fields, specify a single field with the value `*`. Note: We
+ * recommend against doing this. If a new field is introduced at a later time,
+ * an older client updating with the `*` may accidentally reset the new
+ * field's value.
+ *
+ * Not specifying any fields is an error.
+ *
+ * @return \Google\Cloud\Storage\Control\V2\UpdateRapidCacheRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Cloud\Storage\Control\V2\RapidCache $rapidCache, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setRapidCache($rapidCache)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Cloud\Storage\Control\V2\RapidCache $rapid_cache
+ * Required. The RapidCache to update.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Required. List of fields to be updated. Mutable fields of RapidCache
+ * include `ttl`, `admission_policy` and `ingest_on_write`.
+ * To specify ALL fields, specify a single field with the value `*`. Note: We
+ * recommend against doing this. If a new field is introduced at a later time,
+ * an older client updating with the `*` may accidentally reset the new
+ * field's value.
+ * Not specifying any fields is an error.
+ * @type string $request_id
+ * 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.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Storage\Control\V2\StorageControl::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The RapidCache to update.
+ *
+ * Generated from protobuf field .google.storage.control.v2.RapidCache rapid_cache = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Cloud\Storage\Control\V2\RapidCache|null
+ */
+ public function getRapidCache()
+ {
+ return $this->rapid_cache;
+ }
+
+ public function hasRapidCache()
+ {
+ return isset($this->rapid_cache);
+ }
+
+ public function clearRapidCache()
+ {
+ unset($this->rapid_cache);
+ }
+
+ /**
+ * Required. The RapidCache to update.
+ *
+ * Generated from protobuf field .google.storage.control.v2.RapidCache rapid_cache = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Cloud\Storage\Control\V2\RapidCache $var
+ * @return $this
+ */
+ public function setRapidCache($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\Storage\Control\V2\RapidCache::class);
+ $this->rapid_cache = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. List of fields to be updated. Mutable fields of RapidCache
+ * include `ttl`, `admission_policy` and `ingest_on_write`.
+ * To specify ALL fields, specify a single field with the value `*`. Note: We
+ * recommend against doing this. If a new field is introduced at a later time,
+ * an older client updating with the `*` may accidentally reset the new
+ * field's value.
+ * Not specifying any fields is an error.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Required. List of fields to be updated. Mutable fields of RapidCache
+ * include `ttl`, `admission_policy` and `ingest_on_write`.
+ * To specify ALL fields, specify a single field with the value `*`. Note: We
+ * recommend against doing this. If a new field is introduced at a later time,
+ * an older client updating with the `*` may accidentally reset the new
+ * field's value.
+ * Not specifying any fields is an error.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @return string
+ */
+ public function getRequestId()
+ {
+ return $this->request_id;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setRequestId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->request_id = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/StorageControl/src/V2/gapic_metadata.json b/StorageControl/src/V2/gapic_metadata.json
index 356973e231f7..e8d2e7d2683a 100644
--- a/StorageControl/src/V2/gapic_metadata.json
+++ b/StorageControl/src/V2/gapic_metadata.json
@@ -25,6 +25,11 @@
"createManagedFolder"
]
},
+ "CreateRapidCache": {
+ "methods": [
+ "createRapidCache"
+ ]
+ },
"DeleteFolder": {
"methods": [
"deleteFolder"
@@ -90,6 +95,11 @@
"getProjectIntelligenceConfig"
]
},
+ "GetRapidCache": {
+ "methods": [
+ "getRapidCache"
+ ]
+ },
"GetStorageLayout": {
"methods": [
"getStorageLayout"
@@ -120,6 +130,11 @@
"listManagedFolders"
]
},
+ "ListRapidCaches": {
+ "methods": [
+ "listRapidCaches"
+ ]
+ },
"PauseAnywhereCache": {
"methods": [
"pauseAnywhereCache"
@@ -160,6 +175,11 @@
"updateFolderIntelligenceConfig"
]
},
+ "UpdateManagedFolder": {
+ "methods": [
+ "updateManagedFolder"
+ ]
+ },
"UpdateOrganizationIntelligenceConfig": {
"methods": [
"updateOrganizationIntelligenceConfig"
@@ -169,6 +189,11 @@
"methods": [
"updateProjectIntelligenceConfig"
]
+ },
+ "UpdateRapidCache": {
+ "methods": [
+ "updateRapidCache"
+ ]
}
}
}
diff --git a/StorageControl/src/V2/resources/storage_control_client_config.json b/StorageControl/src/V2/resources/storage_control_client_config.json
index 48fba696916d..147c29076b2c 100644
--- a/StorageControl/src/V2/resources/storage_control_client_config.json
+++ b/StorageControl/src/V2/resources/storage_control_client_config.json
@@ -6,7 +6,6 @@
"retry_policy_1_codes": [
"RESOURCE_EXHAUSTED",
"UNAVAILABLE",
- "DEADLINE_EXCEEDED",
"INTERNAL",
"UNKNOWN"
],
@@ -57,6 +56,11 @@
"retry_codes_name": "no_retry_1_codes",
"retry_params_name": "no_retry_1_params"
},
+ "CreateRapidCache": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_1_codes",
+ "retry_params_name": "no_retry_1_params"
+ },
"DeleteFolder": {
"timeout_millis": 60000,
"retry_codes_name": "no_retry_1_codes",
@@ -122,6 +126,11 @@
"retry_codes_name": "retry_policy_1_codes",
"retry_params_name": "retry_policy_1_params"
},
+ "GetRapidCache": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_1_codes",
+ "retry_params_name": "no_retry_1_params"
+ },
"GetStorageLayout": {
"timeout_millis": 60000,
"retry_codes_name": "retry_policy_1_codes",
@@ -152,6 +161,11 @@
"retry_codes_name": "retry_policy_1_codes",
"retry_params_name": "retry_policy_1_params"
},
+ "ListRapidCaches": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_1_codes",
+ "retry_params_name": "no_retry_1_params"
+ },
"PauseAnywhereCache": {
"timeout_millis": 60000,
"retry_codes_name": "retry_policy_1_codes",
@@ -192,6 +206,11 @@
"retry_codes_name": "retry_policy_1_codes",
"retry_params_name": "retry_policy_1_params"
},
+ "UpdateManagedFolder": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_1_codes",
+ "retry_params_name": "no_retry_1_params"
+ },
"UpdateOrganizationIntelligenceConfig": {
"timeout_millis": 60000,
"retry_codes_name": "retry_policy_1_codes",
@@ -201,6 +220,11 @@
"timeout_millis": 60000,
"retry_codes_name": "retry_policy_1_codes",
"retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateRapidCache": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_1_codes",
+ "retry_params_name": "no_retry_1_params"
}
}
}
diff --git a/StorageControl/src/V2/resources/storage_control_descriptor_config.php b/StorageControl/src/V2/resources/storage_control_descriptor_config.php
index ab0db6c210d8..3b0cadacca77 100644
--- a/StorageControl/src/V2/resources/storage_control_descriptor_config.php
+++ b/StorageControl/src/V2/resources/storage_control_descriptor_config.php
@@ -45,6 +45,25 @@
'requestId' => \Google\Api\FieldInfo\Format::UUID4,
],
],
+ 'CreateRapidCache' => [
+ 'longRunning' => [
+ 'operationReturnType' => '\Google\Cloud\Storage\Control\V2\RapidCache',
+ 'metadataReturnType' => '\Google\Cloud\Storage\Control\V2\CreateRapidCacheMetadata',
+ 'initialPollDelayMillis' => '500',
+ 'pollDelayMultiplier' => '1.5',
+ 'maxPollDelayMillis' => '5000',
+ 'totalPollTimeoutMillis' => '300000',
+ ],
+ 'callType' => \Google\ApiCore\Call::LONGRUNNING_CALL,
+ 'headerParams' => [
+ [
+ 'keyName' => 'bucket',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
'DeleteFolderRecursive' => [
'longRunning' => [
'operationReturnType' => '\Google\Protobuf\GPBEmpty',
@@ -121,6 +140,29 @@
'requestId' => \Google\Api\FieldInfo\Format::UUID4,
],
],
+ 'UpdateRapidCache' => [
+ 'longRunning' => [
+ 'operationReturnType' => '\Google\Cloud\Storage\Control\V2\RapidCache',
+ 'metadataReturnType' => '\Google\Cloud\Storage\Control\V2\UpdateRapidCacheMetadata',
+ 'initialPollDelayMillis' => '500',
+ 'pollDelayMultiplier' => '1.5',
+ 'maxPollDelayMillis' => '5000',
+ 'totalPollTimeoutMillis' => '300000',
+ ],
+ 'callType' => \Google\ApiCore\Call::LONGRUNNING_CALL,
+ 'headerParams' => [
+ [
+ 'keyName' => 'bucket',
+ 'fieldAccessors' => [
+ 'getRapidCache',
+ 'getName',
+ ],
+ 'matchers' => [
+ '/^(?projects\/[^\/]+\/buckets\/[^\/]+)(?:\/.*)?$/',
+ ],
+ ],
+ ],
+ ],
'CreateFolder' => [
'callType' => \Google\ApiCore\Call::UNARY_CALL,
'responseType' => 'Google\Cloud\Storage\Control\V2\Folder',
@@ -334,6 +376,21 @@
],
],
],
+ 'GetRapidCache' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Cloud\Storage\Control\V2\RapidCache',
+ 'headerParams' => [
+ [
+ 'keyName' => 'bucket',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ 'matchers' => [
+ '/^(?projects\/[^\/]+\/buckets\/[^\/]+)(?:\/.*)?$/',
+ ],
+ ],
+ ],
+ ],
'GetStorageLayout' => [
'callType' => \Google\ApiCore\Call::UNARY_CALL,
'responseType' => 'Google\Cloud\Storage\Control\V2\StorageLayout',
@@ -458,6 +515,26 @@
'requestId' => \Google\Api\FieldInfo\Format::UUID4,
],
],
+ 'ListRapidCaches' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getRapidCaches',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Cloud\Storage\Control\V2\ListRapidCachesResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'bucket',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
'PauseAnywhereCache' => [
'callType' => \Google\ApiCore\Call::UNARY_CALL,
'responseType' => 'Google\Cloud\Storage\Control\V2\AnywhereCache',
@@ -558,6 +635,22 @@
],
],
],
+ 'UpdateManagedFolder' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Cloud\Storage\Control\V2\ManagedFolder',
+ 'headerParams' => [
+ [
+ 'keyName' => 'bucket',
+ 'fieldAccessors' => [
+ 'getManagedFolder',
+ 'getName',
+ ],
+ 'matchers' => [
+ '/^(?projects\/[^\/]+\/buckets\/[^\/]+)(?:\/.*)?$/',
+ ],
+ ],
+ ],
+ ],
'UpdateOrganizationIntelligenceConfig' => [
'callType' => \Google\ApiCore\Call::UNARY_CALL,
'responseType' => 'Google\Cloud\Storage\Control\V2\IntelligenceConfig',
@@ -596,6 +689,7 @@
'managedFolder' => 'projects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}',
'orgLocationIntelligenceConfig' => 'organizations/{org}/locations/{location}/intelligenceConfig',
'projectLocationIntelligenceConfig' => 'projects/{project}/locations/{location}/intelligenceConfig',
+ 'rapidCache' => 'projects/{project}/buckets/{bucket}/rapidCaches/{rapid_cache}',
'storageLayout' => 'projects/{project}/buckets/{bucket}/storageLayout',
],
],
diff --git a/StorageControl/src/V2/resources/storage_control_rest_client_config.php b/StorageControl/src/V2/resources/storage_control_rest_client_config.php
index 2fa484ed082d..cee82bea3150 100644
--- a/StorageControl/src/V2/resources/storage_control_rest_client_config.php
+++ b/StorageControl/src/V2/resources/storage_control_rest_client_config.php
@@ -23,6 +23,55 @@
return [
'interfaces' => [
'google.storage.control.v2.StorageControl' => [
+ 'CreateFolder' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{parent=projects/*/buckets/*}/folders',
+ 'body' => 'folder',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'folder_id',
+ ],
+ ],
+ 'DeleteFolder' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/v2/{name=projects/*/buckets/*/folders/**}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteFolderRecursive' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=projects/*/buckets/*/folders/**}:deleteRecursive',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetFolder' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=projects/*/buckets/*/folders/**}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
'GetFolderIntelligenceConfig' => [
'method' => 'get',
'uriTemplate' => '/v2/{name=folders/*/locations/*/intelligenceConfig}',
@@ -78,6 +127,28 @@
],
],
],
+ 'GetStorageLayout' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{name=projects/*/buckets/*/storageLayout}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListFolders' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2/{parent=projects/*/buckets/*}/folders',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
'ListIntelligenceFindingRevisions' => [
'method' => 'get',
'uriTemplate' => '/v2/{parent=projects/*/locations/*/intelligenceFindings/*}/revisions',
@@ -100,6 +171,18 @@
],
],
],
+ 'RenameFolder' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2/{name=projects/*/buckets/*/folders/**}:rename',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
'SummarizeIntelligenceFindings' => [
'method' => 'get',
'uriTemplate' => '/v2/{parent=projects/*/locations/*}/intelligenceFindings:summarize',
diff --git a/StorageControl/tests/Unit/V2/Client/StorageControlClientTest.php b/StorageControl/tests/Unit/V2/Client/StorageControlClientTest.php
index ef7a02a8e0a3..82fc880a7122 100644
--- a/StorageControl/tests/Unit/V2/Client/StorageControlClientTest.php
+++ b/StorageControl/tests/Unit/V2/Client/StorageControlClientTest.php
@@ -36,6 +36,7 @@
use Google\Cloud\Storage\Control\V2\CreateAnywhereCacheRequest;
use Google\Cloud\Storage\Control\V2\CreateFolderRequest;
use Google\Cloud\Storage\Control\V2\CreateManagedFolderRequest;
+use Google\Cloud\Storage\Control\V2\CreateRapidCacheRequest;
use Google\Cloud\Storage\Control\V2\DeleteFolderRecursiveRequest;
use Google\Cloud\Storage\Control\V2\DeleteFolderRequest;
use Google\Cloud\Storage\Control\V2\DeleteManagedFolderRequest;
@@ -50,6 +51,7 @@
use Google\Cloud\Storage\Control\V2\GetManagedFolderRequest;
use Google\Cloud\Storage\Control\V2\GetOrganizationIntelligenceConfigRequest;
use Google\Cloud\Storage\Control\V2\GetProjectIntelligenceConfigRequest;
+use Google\Cloud\Storage\Control\V2\GetRapidCacheRequest;
use Google\Cloud\Storage\Control\V2\GetStorageLayoutRequest;
use Google\Cloud\Storage\Control\V2\IntelligenceConfig;
use Google\Cloud\Storage\Control\V2\IntelligenceFinding;
@@ -64,8 +66,11 @@
use Google\Cloud\Storage\Control\V2\ListIntelligenceFindingsResponse;
use Google\Cloud\Storage\Control\V2\ListManagedFoldersRequest;
use Google\Cloud\Storage\Control\V2\ListManagedFoldersResponse;
+use Google\Cloud\Storage\Control\V2\ListRapidCachesRequest;
+use Google\Cloud\Storage\Control\V2\ListRapidCachesResponse;
use Google\Cloud\Storage\Control\V2\ManagedFolder;
use Google\Cloud\Storage\Control\V2\PauseAnywhereCacheRequest;
+use Google\Cloud\Storage\Control\V2\RapidCache;
use Google\Cloud\Storage\Control\V2\RenameFolderRequest;
use Google\Cloud\Storage\Control\V2\ResumeAnywhereCacheRequest;
use Google\Cloud\Storage\Control\V2\StorageLayout;
@@ -73,8 +78,10 @@
use Google\Cloud\Storage\Control\V2\SummarizeIntelligenceFindingsResponse;
use Google\Cloud\Storage\Control\V2\UpdateAnywhereCacheRequest;
use Google\Cloud\Storage\Control\V2\UpdateFolderIntelligenceConfigRequest;
+use Google\Cloud\Storage\Control\V2\UpdateManagedFolderRequest;
use Google\Cloud\Storage\Control\V2\UpdateOrganizationIntelligenceConfigRequest;
use Google\Cloud\Storage\Control\V2\UpdateProjectIntelligenceConfigRequest;
+use Google\Cloud\Storage\Control\V2\UpdateRapidCacheRequest;
use Google\LongRunning\Client\OperationsClient;
use Google\LongRunning\GetOperationRequest;
use Google\LongRunning\Operation;
@@ -140,12 +147,14 @@ public function createAnywhereCacheTest()
$admissionPolicy = 'admissionPolicy1847270952';
$state = 'state109757585';
$pendingUpdate = false;
+ $ingestOnWrite = true;
$expectedResponse = new AnywhereCache();
$expectedResponse->setName($name);
$expectedResponse->setZone($zone);
$expectedResponse->setAdmissionPolicy($admissionPolicy);
$expectedResponse->setState($state);
$expectedResponse->setPendingUpdate($pendingUpdate);
+ $expectedResponse->setIngestOnWrite($ingestOnWrite);
$anyResponse = new Any();
$anyResponse->setValue($expectedResponse->serializeToString());
$completeOperation = new Operation();
@@ -412,6 +421,144 @@ public function createManagedFolderExceptionTest()
$this->assertTrue($transport->isExhausted());
}
+ /** @test */
+ public function createRapidCacheTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'apiEndpoint' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/createRapidCacheTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+ $name = 'name3373707';
+ $zone = 'zone3744684';
+ $cacheType = 'cacheType29096407';
+ $admissionPolicy = 'admissionPolicy1847270952';
+ $state = 'state109757585';
+ $pendingUpdate = false;
+ $expectedResponse = new RapidCache();
+ $expectedResponse->setName($name);
+ $expectedResponse->setZone($zone);
+ $expectedResponse->setCacheType($cacheType);
+ $expectedResponse->setAdmissionPolicy($admissionPolicy);
+ $expectedResponse->setState($state);
+ $expectedResponse->setPendingUpdate($pendingUpdate);
+ $anyResponse = new Any();
+ $anyResponse->setValue($expectedResponse->serializeToString());
+ $completeOperation = new Operation();
+ $completeOperation->setName('operations/createRapidCacheTest');
+ $completeOperation->setDone(true);
+ $completeOperation->setResponse($anyResponse);
+ $operationsTransport->addResponse($completeOperation);
+ // Mock request
+ $formattedParent = $gapicClient->bucketName('[PROJECT]', '[BUCKET]');
+ $rapidCache = new RapidCache();
+ $request = (new CreateRapidCacheRequest())->setParent($formattedParent)->setRapidCache($rapidCache);
+ $response = $gapicClient->createRapidCache($request);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+ $apiRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($apiRequests));
+ $operationsRequestsEmpty = $operationsTransport->popReceivedCalls();
+ $this->assertSame(0, count($operationsRequestsEmpty));
+ $actualApiFuncCall = $apiRequests[0]->getFuncCall();
+ $actualApiRequestObject = $apiRequests[0]->getRequestObject();
+ $this->assertSame('/google.storage.control.v2.StorageControl/CreateRapidCache', $actualApiFuncCall);
+ $actualValue = $actualApiRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $actualValue = $actualApiRequestObject->getRapidCache();
+ $this->assertProtobufEquals($rapidCache, $actualValue);
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/createRapidCacheTest');
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ $this->assertTrue($response->isDone());
+ $this->assertEquals($expectedResponse, $response->getResult());
+ $apiRequestsEmpty = $transport->popReceivedCalls();
+ $this->assertSame(0, count($apiRequestsEmpty));
+ $operationsRequests = $operationsTransport->popReceivedCalls();
+ $this->assertSame(1, count($operationsRequests));
+ $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall();
+ $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject();
+ $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall);
+ $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject);
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /** @test */
+ public function createRapidCacheExceptionTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'apiEndpoint' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/createRapidCacheTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $operationsTransport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->bucketName('[PROJECT]', '[BUCKET]');
+ $rapidCache = new RapidCache();
+ $request = (new CreateRapidCacheRequest())->setParent($formattedParent)->setRapidCache($rapidCache);
+ $response = $gapicClient->createRapidCache($request);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/createRapidCacheTest');
+ try {
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ // If the pollUntilComplete() method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stubs are exhausted
+ $transport->popReceivedCalls();
+ $operationsTransport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
/** @test */
public function deleteFolderTest()
{
@@ -672,12 +819,14 @@ public function disableAnywhereCacheTest()
$admissionPolicy = 'admissionPolicy1847270952';
$state = 'state109757585';
$pendingUpdate = false;
+ $ingestOnWrite = true;
$expectedResponse = new AnywhereCache();
$expectedResponse->setName($name2);
$expectedResponse->setZone($zone);
$expectedResponse->setAdmissionPolicy($admissionPolicy);
$expectedResponse->setState($state);
$expectedResponse->setPendingUpdate($pendingUpdate);
+ $expectedResponse->setIngestOnWrite($ingestOnWrite);
$transport->addResponse($expectedResponse);
// Mock request
$formattedName = $gapicClient->anywhereCacheName('[PROJECT]', '[BUCKET]', '[ANYWHERE_CACHE]');
@@ -745,12 +894,14 @@ public function getAnywhereCacheTest()
$admissionPolicy = 'admissionPolicy1847270952';
$state = 'state109757585';
$pendingUpdate = false;
+ $ingestOnWrite = true;
$expectedResponse = new AnywhereCache();
$expectedResponse->setName($name2);
$expectedResponse->setZone($zone);
$expectedResponse->setAdmissionPolicy($admissionPolicy);
$expectedResponse->setState($state);
$expectedResponse->setPendingUpdate($pendingUpdate);
+ $expectedResponse->setIngestOnWrite($ingestOnWrite);
$transport->addResponse($expectedResponse);
// Mock request
$formattedName = $gapicClient->anywhereCacheName('[PROJECT]', '[BUCKET]', '[ANYWHERE_CACHE]');
@@ -1347,6 +1498,81 @@ public function getProjectIntelligenceConfigExceptionTest()
$this->assertTrue($transport->isExhausted());
}
+ /** @test */
+ public function getRapidCacheTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $zone = 'zone3744684';
+ $cacheType = 'cacheType29096407';
+ $admissionPolicy = 'admissionPolicy1847270952';
+ $state = 'state109757585';
+ $pendingUpdate = false;
+ $expectedResponse = new RapidCache();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setZone($zone);
+ $expectedResponse->setCacheType($cacheType);
+ $expectedResponse->setAdmissionPolicy($admissionPolicy);
+ $expectedResponse->setState($state);
+ $expectedResponse->setPendingUpdate($pendingUpdate);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->rapidCacheName('[PROJECT]', '[BUCKET]', '[RAPID_CACHE]');
+ $request = (new GetRapidCacheRequest())->setName($formattedName);
+ $response = $gapicClient->getRapidCache($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.storage.control.v2.StorageControl/GetRapidCache', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getRapidCacheExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->rapidCacheName('[PROJECT]', '[BUCKET]', '[RAPID_CACHE]');
+ $request = (new GetRapidCacheRequest())->setName($formattedName);
+ try {
+ $gapicClient->getRapidCache($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
/** @test */
public function getStorageLayoutTest()
{
@@ -1774,6 +2000,77 @@ public function listManagedFoldersExceptionTest()
$this->assertTrue($transport->isExhausted());
}
+ /** @test */
+ public function listRapidCachesTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $rapidCachesElement = new RapidCache();
+ $rapidCaches = [$rapidCachesElement];
+ $expectedResponse = new ListRapidCachesResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setRapidCaches($rapidCaches);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->bucketName('[PROJECT]', '[BUCKET]');
+ $request = (new ListRapidCachesRequest())->setParent($formattedParent);
+ $response = $gapicClient->listRapidCaches($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getRapidCaches()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.storage.control.v2.StorageControl/ListRapidCaches', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listRapidCachesExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->bucketName('[PROJECT]', '[BUCKET]');
+ $request = (new ListRapidCachesRequest())->setParent($formattedParent);
+ try {
+ $gapicClient->listRapidCaches($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
/** @test */
public function pauseAnywhereCacheTest()
{
@@ -1788,12 +2085,14 @@ public function pauseAnywhereCacheTest()
$admissionPolicy = 'admissionPolicy1847270952';
$state = 'state109757585';
$pendingUpdate = false;
+ $ingestOnWrite = true;
$expectedResponse = new AnywhereCache();
$expectedResponse->setName($name2);
$expectedResponse->setZone($zone);
$expectedResponse->setAdmissionPolicy($admissionPolicy);
$expectedResponse->setState($state);
$expectedResponse->setPendingUpdate($pendingUpdate);
+ $expectedResponse->setIngestOnWrite($ingestOnWrite);
$transport->addResponse($expectedResponse);
// Mock request
$formattedName = $gapicClient->anywhereCacheName('[PROJECT]', '[BUCKET]', '[ANYWHERE_CACHE]');
@@ -1991,12 +2290,14 @@ public function resumeAnywhereCacheTest()
$admissionPolicy = 'admissionPolicy1847270952';
$state = 'state109757585';
$pendingUpdate = false;
+ $ingestOnWrite = true;
$expectedResponse = new AnywhereCache();
$expectedResponse->setName($name2);
$expectedResponse->setZone($zone);
$expectedResponse->setAdmissionPolicy($admissionPolicy);
$expectedResponse->setState($state);
$expectedResponse->setPendingUpdate($pendingUpdate);
+ $expectedResponse->setIngestOnWrite($ingestOnWrite);
$transport->addResponse($expectedResponse);
// Mock request
$formattedName = $gapicClient->anywhereCacheName('[PROJECT]', '[BUCKET]', '[ANYWHERE_CACHE]');
@@ -2285,12 +2586,14 @@ public function updateAnywhereCacheTest()
$admissionPolicy = 'admissionPolicy1847270952';
$state = 'state109757585';
$pendingUpdate = false;
+ $ingestOnWrite = true;
$expectedResponse = new AnywhereCache();
$expectedResponse->setName($name);
$expectedResponse->setZone($zone);
$expectedResponse->setAdmissionPolicy($admissionPolicy);
$expectedResponse->setState($state);
$expectedResponse->setPendingUpdate($pendingUpdate);
+ $expectedResponse->setIngestOnWrite($ingestOnWrite);
$anyResponse = new Any();
$anyResponse->setValue($expectedResponse->serializeToString());
$completeOperation = new Operation();
@@ -2468,6 +2771,73 @@ public function updateFolderIntelligenceConfigExceptionTest()
$this->assertTrue($transport->isExhausted());
}
+ /** @test */
+ public function updateManagedFolderTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $metageneration = 1048558813;
+ $expectedResponse = new ManagedFolder();
+ $expectedResponse->setName($name);
+ $expectedResponse->setMetageneration($metageneration);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $managedFolder = new ManagedFolder();
+ $request = (new UpdateManagedFolderRequest())->setManagedFolder($managedFolder);
+ $response = $gapicClient->updateManagedFolder($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.storage.control.v2.StorageControl/UpdateManagedFolder', $actualFuncCall);
+ $actualValue = $actualRequestObject->getManagedFolder();
+ $this->assertProtobufEquals($managedFolder, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateManagedFolderExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $managedFolder = new ManagedFolder();
+ $request = (new UpdateManagedFolderRequest())->setManagedFolder($managedFolder);
+ try {
+ $gapicClient->updateManagedFolder($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
/** @test */
public function updateOrganizationIntelligenceConfigTest()
{
@@ -2617,6 +2987,144 @@ public function updateProjectIntelligenceConfigExceptionTest()
$this->assertTrue($transport->isExhausted());
}
+ /** @test */
+ public function updateRapidCacheTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'apiEndpoint' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/updateRapidCacheTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+ $name = 'name3373707';
+ $zone = 'zone3744684';
+ $cacheType = 'cacheType29096407';
+ $admissionPolicy = 'admissionPolicy1847270952';
+ $state = 'state109757585';
+ $pendingUpdate = false;
+ $expectedResponse = new RapidCache();
+ $expectedResponse->setName($name);
+ $expectedResponse->setZone($zone);
+ $expectedResponse->setCacheType($cacheType);
+ $expectedResponse->setAdmissionPolicy($admissionPolicy);
+ $expectedResponse->setState($state);
+ $expectedResponse->setPendingUpdate($pendingUpdate);
+ $anyResponse = new Any();
+ $anyResponse->setValue($expectedResponse->serializeToString());
+ $completeOperation = new Operation();
+ $completeOperation->setName('operations/updateRapidCacheTest');
+ $completeOperation->setDone(true);
+ $completeOperation->setResponse($anyResponse);
+ $operationsTransport->addResponse($completeOperation);
+ // Mock request
+ $rapidCache = new RapidCache();
+ $updateMask = new FieldMask();
+ $request = (new UpdateRapidCacheRequest())->setRapidCache($rapidCache)->setUpdateMask($updateMask);
+ $response = $gapicClient->updateRapidCache($request);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+ $apiRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($apiRequests));
+ $operationsRequestsEmpty = $operationsTransport->popReceivedCalls();
+ $this->assertSame(0, count($operationsRequestsEmpty));
+ $actualApiFuncCall = $apiRequests[0]->getFuncCall();
+ $actualApiRequestObject = $apiRequests[0]->getRequestObject();
+ $this->assertSame('/google.storage.control.v2.StorageControl/UpdateRapidCache', $actualApiFuncCall);
+ $actualValue = $actualApiRequestObject->getRapidCache();
+ $this->assertProtobufEquals($rapidCache, $actualValue);
+ $actualValue = $actualApiRequestObject->getUpdateMask();
+ $this->assertProtobufEquals($updateMask, $actualValue);
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/updateRapidCacheTest');
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ $this->assertTrue($response->isDone());
+ $this->assertEquals($expectedResponse, $response->getResult());
+ $apiRequestsEmpty = $transport->popReceivedCalls();
+ $this->assertSame(0, count($apiRequestsEmpty));
+ $operationsRequests = $operationsTransport->popReceivedCalls();
+ $this->assertSame(1, count($operationsRequests));
+ $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall();
+ $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject();
+ $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall);
+ $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject);
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
+ /** @test */
+ public function updateRapidCacheExceptionTest()
+ {
+ $operationsTransport = $this->createTransport();
+ $operationsClient = new OperationsClient([
+ 'apiEndpoint' => '',
+ 'transport' => $operationsTransport,
+ 'credentials' => $this->createCredentials(),
+ ]);
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ 'operationsClient' => $operationsClient,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ // Mock response
+ $incompleteOperation = new Operation();
+ $incompleteOperation->setName('operations/updateRapidCacheTest');
+ $incompleteOperation->setDone(false);
+ $transport->addResponse($incompleteOperation);
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $operationsTransport->addResponse(null, $status);
+ // Mock request
+ $rapidCache = new RapidCache();
+ $updateMask = new FieldMask();
+ $request = (new UpdateRapidCacheRequest())->setRapidCache($rapidCache)->setUpdateMask($updateMask);
+ $response = $gapicClient->updateRapidCache($request);
+ $this->assertFalse($response->isDone());
+ $this->assertNull($response->getResult());
+ $expectedOperationsRequestObject = new GetOperationRequest();
+ $expectedOperationsRequestObject->setName('operations/updateRapidCacheTest');
+ try {
+ $response->pollUntilComplete([
+ 'initialPollDelayMillis' => 1,
+ ]);
+ // If the pollUntilComplete() method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stubs are exhausted
+ $transport->popReceivedCalls();
+ $operationsTransport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ $this->assertTrue($operationsTransport->isExhausted());
+ }
+
/** @test */
public function createAnywhereCacheAsyncTest()
{
@@ -2643,12 +3151,14 @@ public function createAnywhereCacheAsyncTest()
$admissionPolicy = 'admissionPolicy1847270952';
$state = 'state109757585';
$pendingUpdate = false;
+ $ingestOnWrite = true;
$expectedResponse = new AnywhereCache();
$expectedResponse->setName($name);
$expectedResponse->setZone($zone);
$expectedResponse->setAdmissionPolicy($admissionPolicy);
$expectedResponse->setState($state);
$expectedResponse->setPendingUpdate($pendingUpdate);
+ $expectedResponse->setIngestOnWrite($ingestOnWrite);
$anyResponse = new Any();
$anyResponse->setValue($expectedResponse->serializeToString());
$completeOperation = new Operation();