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();