diff --git a/StorageBatchOperations/metadata/V1/StorageBatchOperationsTypes.php b/StorageBatchOperations/metadata/V1/StorageBatchOperationsTypes.php
index 08ffa23940f8..0634d776f993 100644
--- a/StorageBatchOperations/metadata/V1/StorageBatchOperationsTypes.php
+++ b/StorageBatchOperations/metadata/V1/StorageBatchOperationsTypes.php
@@ -19,7 +19,7 @@ public static function initOnce() {
\GPBMetadata\Google\Protobuf\Timestamp::initOnce();
\GPBMetadata\Google\Rpc\Code::initOnce();
$pool->internalAddGeneratedFile(
- "\x0A\xB31\x0AKgoogle/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto\x12&google.cloud.storagebatchoperations.v1\x1A\x19google/api/resource.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x15google/rpc/code.proto\"\xAA\x0A\x0A\x03Job\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x01\x12I\x0A\x0Bbucket_list\x18\x13 \x01(\x0B22.google.cloud.storagebatchoperations.v1.BucketListH\x00\x12P\x0A\x0Fput_object_hold\x18\x05 \x01(\x0B25.google.cloud.storagebatchoperations.v1.PutObjectHoldH\x01\x12M\x0A\x0Ddelete_object\x18\x06 \x01(\x0B24.google.cloud.storagebatchoperations.v1.DeleteObjectH\x01\x12K\x0A\x0Cput_metadata\x18\x08 \x01(\x0B23.google.cloud.storagebatchoperations.v1.PutMetadataH\x01\x12O\x0A\x0Erewrite_object\x18\x14 \x01(\x0B25.google.cloud.storagebatchoperations.v1.RewriteObjectH\x01\x12i\x0A\x1Cupdate_object_custom_context\x18\x17 \x01(\x0B2A.google.cloud.storagebatchoperations.v1.UpdateObjectCustomContextH\x01\x12R\x0A\x0Elogging_config\x18\x09 \x01(\x0B25.google.cloud.storagebatchoperations.v1.LoggingConfigB\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x126\x0A\x0Dschedule_time\x18\x0B \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x126\x0A\x0Dcomplete_time\x18\x0C \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12G\x0A\x08counters\x18\x0D \x01(\x0B20.google.cloud.storagebatchoperations.v1.CountersB\x03\xE0A\x03\x12R\x0A\x0Ferror_summaries\x18\x0E \x03(\x0B24.google.cloud.storagebatchoperations.v1.ErrorSummaryB\x03\xE0A\x03\x12E\x0A\x05state\x18\x0F \x01(\x0E21.google.cloud.storagebatchoperations.v1.Job.StateB\x03\xE0A\x03\x12\x14\x0A\x07dry_run\x18\x16 \x01(\x08B\x03\xE0A\x01\x12 \x0A\x13is_multi_bucket_job\x18\x18 \x01(\x08B\x03\xE0A\x03\"`\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07RUNNING\x10\x01\x12\x0D\x0A\x09SUCCEEDED\x10\x02\x12\x0C\x0A\x08CANCELED\x10\x03\x12\x0A\x0A\x06FAILED\x10\x04\x12\x0A\x0A\x06QUEUED\x10\x05:m\xEAAj\x0A)storagebatchoperations.googleapis.com/Job\x122projects/{project}/locations/{location}/jobs/{job}*\x04jobs2\x03jobB\x08\x0A\x06sourceB\x10\x0A\x0Etransformation\"\xCC\x0A\x0A\x0FBucketOperation\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x13\x0A\x0Bbucket_name\x18\x02 \x01(\x09\x12I\x0A\x0Bprefix_list\x18\x03 \x01(\x0B22.google.cloud.storagebatchoperations.v1.PrefixListH\x00\x12D\x0A\x08manifest\x18\x04 \x01(\x0B20.google.cloud.storagebatchoperations.v1.ManifestH\x00\x12P\x0A\x0Fput_object_hold\x18\x0B \x01(\x0B25.google.cloud.storagebatchoperations.v1.PutObjectHoldH\x01\x12M\x0A\x0Ddelete_object\x18\x0C \x01(\x0B24.google.cloud.storagebatchoperations.v1.DeleteObjectH\x01\x12K\x0A\x0Cput_metadata\x18\x0D \x01(\x0B23.google.cloud.storagebatchoperations.v1.PutMetadataH\x01\x12O\x0A\x0Erewrite_object\x18\x0E \x01(\x0B25.google.cloud.storagebatchoperations.v1.RewriteObjectH\x01\x12i\x0A\x1Cupdate_object_custom_context\x18\x0F \x01(\x0B2A.google.cloud.storagebatchoperations.v1.UpdateObjectCustomContextH\x01\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x123\x0A\x0Astart_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x126\x0A\x0Dcomplete_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12G\x0A\x08counters\x18\x08 \x01(\x0B20.google.cloud.storagebatchoperations.v1.CountersB\x03\xE0A\x03\x12R\x0A\x0Ferror_summaries\x18\x09 \x03(\x0B24.google.cloud.storagebatchoperations.v1.ErrorSummaryB\x03\xE0A\x03\x12Q\x0A\x05state\x18\x0A \x01(\x0E2=.google.cloud.storagebatchoperations.v1.BucketOperation.StateB\x03\xE0A\x03\"`\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06QUEUED\x10\x01\x12\x0B\x0A\x07RUNNING\x10\x02\x12\x0D\x0A\x09SUCCEEDED\x10\x03\x12\x0C\x0A\x08CANCELED\x10\x04\x12\x0A\x0A\x06FAILED\x10\x05:\xB6\x01\xEAA\xB2\x01\x0A5storagebatchoperations.googleapis.com/BucketOperation\x12Vprojects/{project}/locations/{location}/jobs/{job}/bucketOperations/{bucket_operation}*\x10bucketoperations2\x0FbucketOperationB\x16\x0A\x14object_configurationB\x10\x0A\x0Etransformation\"\xA6\x02\x0A\x0ABucketList\x12O\x0A\x07buckets\x18\x01 \x03(\x0B29.google.cloud.storagebatchoperations.v1.BucketList.BucketB\x03\xE0A\x02\x1A\xC6\x01\x0A\x06Bucket\x12\x13\x0A\x06bucket\x18\x01 \x01(\x09B\x03\xE0A\x02\x12I\x0A\x0Bprefix_list\x18\x02 \x01(\x0B22.google.cloud.storagebatchoperations.v1.PrefixListH\x00\x12D\x0A\x08manifest\x18\x03 \x01(\x0B20.google.cloud.storagebatchoperations.v1.ManifestH\x00B\x16\x0A\x14object_configuration\"*\x0A\x08Manifest\x12\x1E\x0A\x11manifest_location\x18\x02 \x01(\x09B\x03\xE0A\x02\"3\x0A\x0APrefixList\x12%\x0A\x18included_object_prefixes\x18\x02 \x03(\x09B\x03\xE0A\x01\"\x8E\x02\x0A\x0DPutObjectHold\x12]\x0A\x0Etemporary_hold\x18\x01 \x01(\x0E2@.google.cloud.storagebatchoperations.v1.PutObjectHold.HoldStatusB\x03\xE0A\x02\x12_\x0A\x10event_based_hold\x18\x02 \x01(\x0E2@.google.cloud.storagebatchoperations.v1.PutObjectHold.HoldStatusB\x03\xE0A\x02\"=\x0A\x0AHoldStatus\x12\x1B\x0A\x17HOLD_STATUS_UNSPECIFIED\x10\x00\x12\x07\x0A\x03SET\x10\x01\x12\x09\x0A\x05UNSET\x10\x02\">\x0A\x0CDeleteObject\x12.\x0A!permanent_object_deletion_enabled\x18\x01 \x01(\x08B\x03\xE0A\x02\"\\\x0A\x0DRewriteObject\x12?\x0A\x07kms_key\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!cloudkms.googleapis.com/CryptoKeyH\x00\x88\x01\x01B\x0A\x0A\x08_kms_key\"\x93\x02\x0A\x0FObjectRetention\x12#\x0A\x11retain_until_time\x18\x01 \x01(\x09B\x03\xE0A\x02H\x00\x88\x01\x01\x12g\x0A\x0Eretention_mode\x18\x02 \x01(\x0E2E.google.cloud.storagebatchoperations.v1.ObjectRetention.RetentionModeB\x03\xE0A\x02H\x01\x88\x01\x01\"I\x0A\x0DRetentionMode\x12\x1E\x0A\x1ARETENTION_MODE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06LOCKED\x10\x01\x12\x0C\x0A\x08UNLOCKED\x10\x02B\x14\x0A\x12_retain_until_timeB\x11\x0A\x0F_retention_mode\"\xE1\x04\x0A\x0BPutMetadata\x12%\x0A\x13content_disposition\x18\x01 \x01(\x09B\x03\xE0A\x01H\x00\x88\x01\x01\x12\"\x0A\x10content_encoding\x18\x02 \x01(\x09B\x03\xE0A\x01H\x01\x88\x01\x01\x12\"\x0A\x10content_language\x18\x03 \x01(\x09B\x03\xE0A\x01H\x02\x88\x01\x01\x12\x1E\x0A\x0Ccontent_type\x18\x04 \x01(\x09B\x03\xE0A\x01H\x03\x88\x01\x01\x12\x1F\x0A\x0Dcache_control\x18\x05 \x01(\x09B\x03\xE0A\x01H\x04\x88\x01\x01\x12\x1D\x0A\x0Bcustom_time\x18\x06 \x01(\x09B\x03\xE0A\x01H\x05\x88\x01\x01\x12e\x0A\x0Fcustom_metadata\x18\x07 \x03(\x0B2G.google.cloud.storagebatchoperations.v1.PutMetadata.CustomMetadataEntryB\x03\xE0A\x01\x12[\x0A\x10object_retention\x18\x08 \x01(\x0B27.google.cloud.storagebatchoperations.v1.ObjectRetentionB\x03\xE0A\x01H\x06\x88\x01\x01\x1A5\x0A\x13CustomMetadataEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01B\x16\x0A\x14_content_dispositionB\x13\x0A\x11_content_encodingB\x13\x0A\x11_content_languageB\x0F\x0A\x0D_content_typeB\x10\x0A\x0E_cache_controlB\x0E\x0A\x0C_custom_timeB\x13\x0A\x11_object_retention\":\x0A\x1AObjectCustomContextPayload\x12\x12\x0A\x05value\x18\x01 \x01(\x09H\x00\x88\x01\x01B\x08\x0A\x06_value\"\x87\x02\x0A\x14CustomContextUpdates\x12_\x0A\x07updates\x18\x01 \x03(\x0B2I.google.cloud.storagebatchoperations.v1.CustomContextUpdates.UpdatesEntryB\x03\xE0A\x01\x12\x1A\x0A\x0Dkeys_to_clear\x18\x02 \x03(\x09B\x03\xE0A\x01\x1Ar\x0A\x0CUpdatesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12Q\x0A\x05value\x18\x02 \x01(\x0B2B.google.cloud.storagebatchoperations.v1.ObjectCustomContextPayload:\x028\x01\"\x9A\x01\x0A\x19UpdateObjectCustomContext\x12^\x0A\x16custom_context_updates\x18\x01 \x01(\x0B2<.google.cloud.storagebatchoperations.v1.CustomContextUpdatesH\x00\x12\x13\x0A\x09clear_all\x18\x02 \x01(\x08H\x00B\x08\x0A\x06action\"\xAA\x01\x0A\x0CErrorSummary\x12)\x0A\x0Aerror_code\x18\x01 \x01(\x0E2\x10.google.rpc.CodeB\x03\xE0A\x02\x12\x18\x0A\x0Berror_count\x18\x02 \x01(\x03B\x03\xE0A\x02\x12U\x0A\x11error_log_entries\x18\x03 \x03(\x0B25.google.cloud.storagebatchoperations.v1.ErrorLogEntryB\x03\xE0A\x02\"J\x0A\x0DErrorLogEntry\x12\x1A\x0A\x0Aobject_uri\x18\x01 \x01(\x09B\x06\xE0A\x02\xE0A\x03\x12\x1D\x0A\x0Derror_details\x18\x03 \x03(\x09B\x06\xE0A\x01\xE0A\x03\"\xAD\x01\x0A\x08Counters\x12\x1F\x0A\x12total_object_count\x18\x01 \x01(\x03B\x03\xE0A\x03\x12#\x0A\x16succeeded_object_count\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13failed_object_count\x18\x03 \x01(\x03B\x03\xE0A\x03\x12#\x0A\x11total_bytes_found\x18\x04 \x01(\x03B\x03\xE0A\x03H\x00\x88\x01\x01B\x14\x0A\x12_total_bytes_found\"\xF5\x02\x0A\x0DLoggingConfig\x12^\x0A\x0Blog_actions\x18\x01 \x03(\x0E2D.google.cloud.storagebatchoperations.v1.LoggingConfig.LoggableActionB\x03\xE0A\x02\x12i\x0A\x11log_action_states\x18\x02 \x03(\x0E2I.google.cloud.storagebatchoperations.v1.LoggingConfig.LoggableActionStateB\x03\xE0A\x02\"@\x0A\x0ELoggableAction\x12\x1F\x0A\x1BLOGGABLE_ACTION_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09TRANSFORM\x10\x06\"W\x0A\x13LoggableActionState\x12%\x0A!LOGGABLE_ACTION_STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02B\xAD\x03\x0A*com.google.cloud.storagebatchoperations.v1B StorageBatchOperationsTypesProtoP\x01Zbcloud.google.com/go/storagebatchoperations/apiv1/storagebatchoperationspb;storagebatchoperationspb\xAA\x02&Google.Cloud.StorageBatchOperations.V1\xCA\x02&Google\\Cloud\\StorageBatchOperations\\V1\xEA\x02)Google::Cloud::StorageBatchOperations::V1\xEAAx\x0A!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}b\x06proto3"
+ "\x0A\xB23\x0AKgoogle/cloud/storagebatchoperations/v1/storage_batch_operations_types.proto\x12&google.cloud.storagebatchoperations.v1\x1A\x19google/api/resource.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x15google/rpc/code.proto\"\xAA\x0A\x0A\x03Job\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x18\x0A\x0Bdescription\x18\x02 \x01(\x09B\x03\xE0A\x01\x12I\x0A\x0Bbucket_list\x18\x13 \x01(\x0B22.google.cloud.storagebatchoperations.v1.BucketListH\x00\x12P\x0A\x0Fput_object_hold\x18\x05 \x01(\x0B25.google.cloud.storagebatchoperations.v1.PutObjectHoldH\x01\x12M\x0A\x0Ddelete_object\x18\x06 \x01(\x0B24.google.cloud.storagebatchoperations.v1.DeleteObjectH\x01\x12K\x0A\x0Cput_metadata\x18\x08 \x01(\x0B23.google.cloud.storagebatchoperations.v1.PutMetadataH\x01\x12O\x0A\x0Erewrite_object\x18\x14 \x01(\x0B25.google.cloud.storagebatchoperations.v1.RewriteObjectH\x01\x12i\x0A\x1Cupdate_object_custom_context\x18\x17 \x01(\x0B2A.google.cloud.storagebatchoperations.v1.UpdateObjectCustomContextH\x01\x12R\x0A\x0Elogging_config\x18\x09 \x01(\x0B25.google.cloud.storagebatchoperations.v1.LoggingConfigB\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x126\x0A\x0Dschedule_time\x18\x0B \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x126\x0A\x0Dcomplete_time\x18\x0C \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12G\x0A\x08counters\x18\x0D \x01(\x0B20.google.cloud.storagebatchoperations.v1.CountersB\x03\xE0A\x03\x12R\x0A\x0Ferror_summaries\x18\x0E \x03(\x0B24.google.cloud.storagebatchoperations.v1.ErrorSummaryB\x03\xE0A\x03\x12E\x0A\x05state\x18\x0F \x01(\x0E21.google.cloud.storagebatchoperations.v1.Job.StateB\x03\xE0A\x03\x12\x14\x0A\x07dry_run\x18\x16 \x01(\x08B\x03\xE0A\x01\x12 \x0A\x13is_multi_bucket_job\x18\x18 \x01(\x08B\x03\xE0A\x03\"`\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07RUNNING\x10\x01\x12\x0D\x0A\x09SUCCEEDED\x10\x02\x12\x0C\x0A\x08CANCELED\x10\x03\x12\x0A\x0A\x06FAILED\x10\x04\x12\x0A\x0A\x06QUEUED\x10\x05:m\xEAAj\x0A)storagebatchoperations.googleapis.com/Job\x122projects/{project}/locations/{location}/jobs/{job}*\x04jobs2\x03jobB\x08\x0A\x06sourceB\x10\x0A\x0Etransformation\"\xCC\x0A\x0A\x0FBucketOperation\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x13\x0A\x0Bbucket_name\x18\x02 \x01(\x09\x12I\x0A\x0Bprefix_list\x18\x03 \x01(\x0B22.google.cloud.storagebatchoperations.v1.PrefixListH\x00\x12D\x0A\x08manifest\x18\x04 \x01(\x0B20.google.cloud.storagebatchoperations.v1.ManifestH\x00\x12P\x0A\x0Fput_object_hold\x18\x0B \x01(\x0B25.google.cloud.storagebatchoperations.v1.PutObjectHoldH\x01\x12M\x0A\x0Ddelete_object\x18\x0C \x01(\x0B24.google.cloud.storagebatchoperations.v1.DeleteObjectH\x01\x12K\x0A\x0Cput_metadata\x18\x0D \x01(\x0B23.google.cloud.storagebatchoperations.v1.PutMetadataH\x01\x12O\x0A\x0Erewrite_object\x18\x0E \x01(\x0B25.google.cloud.storagebatchoperations.v1.RewriteObjectH\x01\x12i\x0A\x1Cupdate_object_custom_context\x18\x0F \x01(\x0B2A.google.cloud.storagebatchoperations.v1.UpdateObjectCustomContextH\x01\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x123\x0A\x0Astart_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x126\x0A\x0Dcomplete_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12G\x0A\x08counters\x18\x08 \x01(\x0B20.google.cloud.storagebatchoperations.v1.CountersB\x03\xE0A\x03\x12R\x0A\x0Ferror_summaries\x18\x09 \x03(\x0B24.google.cloud.storagebatchoperations.v1.ErrorSummaryB\x03\xE0A\x03\x12Q\x0A\x05state\x18\x0A \x01(\x0E2=.google.cloud.storagebatchoperations.v1.BucketOperation.StateB\x03\xE0A\x03\"`\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06QUEUED\x10\x01\x12\x0B\x0A\x07RUNNING\x10\x02\x12\x0D\x0A\x09SUCCEEDED\x10\x03\x12\x0C\x0A\x08CANCELED\x10\x04\x12\x0A\x0A\x06FAILED\x10\x05:\xB6\x01\xEAA\xB2\x01\x0A5storagebatchoperations.googleapis.com/BucketOperation\x12Vprojects/{project}/locations/{location}/jobs/{job}/bucketOperations/{bucket_operation}*\x10bucketoperations2\x0FbucketOperationB\x16\x0A\x14object_configurationB\x10\x0A\x0Etransformation\"\xA6\x02\x0A\x0ABucketList\x12O\x0A\x07buckets\x18\x01 \x03(\x0B29.google.cloud.storagebatchoperations.v1.BucketList.BucketB\x03\xE0A\x02\x1A\xC6\x01\x0A\x06Bucket\x12\x13\x0A\x06bucket\x18\x01 \x01(\x09B\x03\xE0A\x02\x12I\x0A\x0Bprefix_list\x18\x02 \x01(\x0B22.google.cloud.storagebatchoperations.v1.PrefixListH\x00\x12D\x0A\x08manifest\x18\x03 \x01(\x0B20.google.cloud.storagebatchoperations.v1.ManifestH\x00B\x16\x0A\x14object_configuration\"*\x0A\x08Manifest\x12\x1E\x0A\x11manifest_location\x18\x02 \x01(\x09B\x03\xE0A\x02\"3\x0A\x0APrefixList\x12%\x0A\x18included_object_prefixes\x18\x02 \x03(\x09B\x03\xE0A\x01\"\x8E\x02\x0A\x0DPutObjectHold\x12]\x0A\x0Etemporary_hold\x18\x01 \x01(\x0E2@.google.cloud.storagebatchoperations.v1.PutObjectHold.HoldStatusB\x03\xE0A\x02\x12_\x0A\x10event_based_hold\x18\x02 \x01(\x0E2@.google.cloud.storagebatchoperations.v1.PutObjectHold.HoldStatusB\x03\xE0A\x02\"=\x0A\x0AHoldStatus\x12\x1B\x0A\x17HOLD_STATUS_UNSPECIFIED\x10\x00\x12\x07\x0A\x03SET\x10\x01\x12\x09\x0A\x05UNSET\x10\x02\">\x0A\x0CDeleteObject\x12.\x0A!permanent_object_deletion_enabled\x18\x01 \x01(\x08B\x03\xE0A\x02\"\\\x0A\x0DRewriteObject\x12?\x0A\x07kms_key\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!cloudkms.googleapis.com/CryptoKeyH\x00\x88\x01\x01B\x0A\x0A\x08_kms_key\"\x93\x02\x0A\x0FObjectRetention\x12#\x0A\x11retain_until_time\x18\x01 \x01(\x09B\x03\xE0A\x02H\x00\x88\x01\x01\x12g\x0A\x0Eretention_mode\x18\x02 \x01(\x0E2E.google.cloud.storagebatchoperations.v1.ObjectRetention.RetentionModeB\x03\xE0A\x02H\x01\x88\x01\x01\"I\x0A\x0DRetentionMode\x12\x1E\x0A\x1ARETENTION_MODE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06LOCKED\x10\x01\x12\x0C\x0A\x08UNLOCKED\x10\x02B\x14\x0A\x12_retain_until_timeB\x11\x0A\x0F_retention_mode\"\xE1\x04\x0A\x0BPutMetadata\x12%\x0A\x13content_disposition\x18\x01 \x01(\x09B\x03\xE0A\x01H\x00\x88\x01\x01\x12\"\x0A\x10content_encoding\x18\x02 \x01(\x09B\x03\xE0A\x01H\x01\x88\x01\x01\x12\"\x0A\x10content_language\x18\x03 \x01(\x09B\x03\xE0A\x01H\x02\x88\x01\x01\x12\x1E\x0A\x0Ccontent_type\x18\x04 \x01(\x09B\x03\xE0A\x01H\x03\x88\x01\x01\x12\x1F\x0A\x0Dcache_control\x18\x05 \x01(\x09B\x03\xE0A\x01H\x04\x88\x01\x01\x12\x1D\x0A\x0Bcustom_time\x18\x06 \x01(\x09B\x03\xE0A\x01H\x05\x88\x01\x01\x12e\x0A\x0Fcustom_metadata\x18\x07 \x03(\x0B2G.google.cloud.storagebatchoperations.v1.PutMetadata.CustomMetadataEntryB\x03\xE0A\x01\x12[\x0A\x10object_retention\x18\x08 \x01(\x0B27.google.cloud.storagebatchoperations.v1.ObjectRetentionB\x03\xE0A\x01H\x06\x88\x01\x01\x1A5\x0A\x13CustomMetadataEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01B\x16\x0A\x14_content_dispositionB\x13\x0A\x11_content_encodingB\x13\x0A\x11_content_languageB\x0F\x0A\x0D_content_typeB\x10\x0A\x0E_cache_controlB\x0E\x0A\x0C_custom_timeB\x13\x0A\x11_object_retention\":\x0A\x1AObjectCustomContextPayload\x12\x12\x0A\x05value\x18\x01 \x01(\x09H\x00\x88\x01\x01B\x08\x0A\x06_value\"\x87\x02\x0A\x14CustomContextUpdates\x12_\x0A\x07updates\x18\x01 \x03(\x0B2I.google.cloud.storagebatchoperations.v1.CustomContextUpdates.UpdatesEntryB\x03\xE0A\x01\x12\x1A\x0A\x0Dkeys_to_clear\x18\x02 \x03(\x09B\x03\xE0A\x01\x1Ar\x0A\x0CUpdatesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12Q\x0A\x05value\x18\x02 \x01(\x0B2B.google.cloud.storagebatchoperations.v1.ObjectCustomContextPayload:\x028\x01\"\x9A\x01\x0A\x19UpdateObjectCustomContext\x12^\x0A\x16custom_context_updates\x18\x01 \x01(\x0B2<.google.cloud.storagebatchoperations.v1.CustomContextUpdatesH\x00\x12\x13\x0A\x09clear_all\x18\x02 \x01(\x08H\x00B\x08\x0A\x06action\"\xAA\x01\x0A\x0CErrorSummary\x12)\x0A\x0Aerror_code\x18\x01 \x01(\x0E2\x10.google.rpc.CodeB\x03\xE0A\x02\x12\x18\x0A\x0Berror_count\x18\x02 \x01(\x03B\x03\xE0A\x02\x12U\x0A\x11error_log_entries\x18\x03 \x03(\x0B25.google.cloud.storagebatchoperations.v1.ErrorLogEntryB\x03\xE0A\x02\"J\x0A\x0DErrorLogEntry\x12\x1A\x0A\x0Aobject_uri\x18\x01 \x01(\x09B\x06\xE0A\x02\xE0A\x03\x12\x1D\x0A\x0Derror_details\x18\x03 \x03(\x09B\x06\xE0A\x01\xE0A\x03\"\xAC\x03\x0A\x08Counters\x12\x1F\x0A\x12total_object_count\x18\x01 \x01(\x03B\x03\xE0A\x03\x12#\x0A\x16succeeded_object_count\x18\x02 \x01(\x03B\x03\xE0A\x03\x12 \x0A\x13failed_object_count\x18\x03 \x01(\x03B\x03\xE0A\x03\x12#\x0A\x11total_bytes_found\x18\x04 \x01(\x03B\x03\xE0A\x03H\x00\x88\x01\x01\x120\x0A\x1Eobject_custom_contexts_created\x18\x05 \x01(\x03B\x03\xE0A\x03H\x01\x88\x01\x01\x120\x0A\x1Eobject_custom_contexts_deleted\x18\x06 \x01(\x03B\x03\xE0A\x03H\x02\x88\x01\x01\x120\x0A\x1Eobject_custom_contexts_updated\x18\x07 \x01(\x03B\x03\xE0A\x03H\x03\x88\x01\x01B\x14\x0A\x12_total_bytes_foundB!\x0A\x1F_object_custom_contexts_createdB!\x0A\x1F_object_custom_contexts_deletedB!\x0A\x1F_object_custom_contexts_updated\"\xF5\x02\x0A\x0DLoggingConfig\x12^\x0A\x0Blog_actions\x18\x01 \x03(\x0E2D.google.cloud.storagebatchoperations.v1.LoggingConfig.LoggableActionB\x03\xE0A\x02\x12i\x0A\x11log_action_states\x18\x02 \x03(\x0E2I.google.cloud.storagebatchoperations.v1.LoggingConfig.LoggableActionStateB\x03\xE0A\x02\"@\x0A\x0ELoggableAction\x12\x1F\x0A\x1BLOGGABLE_ACTION_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09TRANSFORM\x10\x06\"W\x0A\x13LoggableActionState\x12%\x0A!LOGGABLE_ACTION_STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09SUCCEEDED\x10\x01\x12\x0A\x0A\x06FAILED\x10\x02B\xAD\x03\x0A*com.google.cloud.storagebatchoperations.v1B StorageBatchOperationsTypesProtoP\x01Zbcloud.google.com/go/storagebatchoperations/apiv1/storagebatchoperationspb;storagebatchoperationspb\xAA\x02&Google.Cloud.StorageBatchOperations.V1\xCA\x02&Google\\Cloud\\StorageBatchOperations\\V1\xEA\x02)Google::Cloud::StorageBatchOperations::V1\xEAAx\x0A!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}b\x06proto3"
, true);
static::$is_initialized = true;
diff --git a/StorageBatchOperations/src/V1/Counters.php b/StorageBatchOperations/src/V1/Counters.php
index 3d5762831963..2ef442d020f2 100644
--- a/StorageBatchOperations/src/V1/Counters.php
+++ b/StorageBatchOperations/src/V1/Counters.php
@@ -28,7 +28,8 @@ class Counters extends \Google\Protobuf\Internal\Message
*/
protected $succeeded_object_count = 0;
/**
- * Output only. Number of objects failed.
+ * Output only. The number of objects that failed due to user errors or
+ * service errors.
*
* Generated from protobuf field int64 failed_object_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
*/
@@ -40,6 +41,29 @@ class Counters extends \Google\Protobuf\Internal\Message
* Generated from protobuf field optional int64 total_bytes_found = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
*/
protected $total_bytes_found = null;
+ /**
+ * Output only. Number of object custom contexts created. This field is only
+ * populated for jobs with the UpdateObjectCustomContext transformation.
+ *
+ * Generated from protobuf field optional int64 object_custom_contexts_created = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $object_custom_contexts_created = null;
+ /**
+ * Output only. Number of object custom contexts deleted. This field is only
+ * populated for jobs with the UpdateObjectCustomContext transformation.
+ *
+ * Generated from protobuf field optional int64 object_custom_contexts_deleted = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $object_custom_contexts_deleted = null;
+ /**
+ * Output only. Number of object custom contexts updated. This counter tracks
+ * custom contexts where the key already existed, but the payload was
+ * modified. This field is only populated for jobs with the
+ * UpdateObjectCustomContext transformation.
+ *
+ * Generated from protobuf field optional int64 object_custom_contexts_updated = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $object_custom_contexts_updated = null;
/**
* Constructor.
@@ -52,10 +76,22 @@ class Counters extends \Google\Protobuf\Internal\Message
* @type int|string $succeeded_object_count
* Output only. Number of objects completed.
* @type int|string $failed_object_count
- * Output only. Number of objects failed.
+ * Output only. The number of objects that failed due to user errors or
+ * service errors.
* @type int|string $total_bytes_found
* Output only. Number of bytes found from source. This field is only
* populated for jobs with a prefix list object configuration.
+ * @type int|string $object_custom_contexts_created
+ * Output only. Number of object custom contexts created. This field is only
+ * populated for jobs with the UpdateObjectCustomContext transformation.
+ * @type int|string $object_custom_contexts_deleted
+ * Output only. Number of object custom contexts deleted. This field is only
+ * populated for jobs with the UpdateObjectCustomContext transformation.
+ * @type int|string $object_custom_contexts_updated
+ * Output only. Number of object custom contexts updated. This counter tracks
+ * custom contexts where the key already existed, but the payload was
+ * modified. This field is only populated for jobs with the
+ * UpdateObjectCustomContext transformation.
* }
*/
public function __construct($data = NULL) {
@@ -116,7 +152,8 @@ public function setSucceededObjectCount($var)
}
/**
- * Output only. Number of objects failed.
+ * Output only. The number of objects that failed due to user errors or
+ * service errors.
*
* Generated from protobuf field int64 failed_object_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
* @return int|string
@@ -127,7 +164,8 @@ public function getFailedObjectCount()
}
/**
- * Output only. Number of objects failed.
+ * Output only. The number of objects that failed due to user errors or
+ * service errors.
*
* Generated from protobuf field int64 failed_object_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
* @param int|string $var
@@ -179,5 +217,123 @@ public function setTotalBytesFound($var)
return $this;
}
+ /**
+ * Output only. Number of object custom contexts created. This field is only
+ * populated for jobs with the UpdateObjectCustomContext transformation.
+ *
+ * Generated from protobuf field optional int64 object_custom_contexts_created = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int|string
+ */
+ public function getObjectCustomContextsCreated()
+ {
+ return isset($this->object_custom_contexts_created) ? $this->object_custom_contexts_created : 0;
+ }
+
+ public function hasObjectCustomContextsCreated()
+ {
+ return isset($this->object_custom_contexts_created);
+ }
+
+ public function clearObjectCustomContextsCreated()
+ {
+ unset($this->object_custom_contexts_created);
+ }
+
+ /**
+ * Output only. Number of object custom contexts created. This field is only
+ * populated for jobs with the UpdateObjectCustomContext transformation.
+ *
+ * Generated from protobuf field optional int64 object_custom_contexts_created = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int|string $var
+ * @return $this
+ */
+ public function setObjectCustomContextsCreated($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->object_custom_contexts_created = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Number of object custom contexts deleted. This field is only
+ * populated for jobs with the UpdateObjectCustomContext transformation.
+ *
+ * Generated from protobuf field optional int64 object_custom_contexts_deleted = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int|string
+ */
+ public function getObjectCustomContextsDeleted()
+ {
+ return isset($this->object_custom_contexts_deleted) ? $this->object_custom_contexts_deleted : 0;
+ }
+
+ public function hasObjectCustomContextsDeleted()
+ {
+ return isset($this->object_custom_contexts_deleted);
+ }
+
+ public function clearObjectCustomContextsDeleted()
+ {
+ unset($this->object_custom_contexts_deleted);
+ }
+
+ /**
+ * Output only. Number of object custom contexts deleted. This field is only
+ * populated for jobs with the UpdateObjectCustomContext transformation.
+ *
+ * Generated from protobuf field optional int64 object_custom_contexts_deleted = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int|string $var
+ * @return $this
+ */
+ public function setObjectCustomContextsDeleted($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->object_custom_contexts_deleted = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Number of object custom contexts updated. This counter tracks
+ * custom contexts where the key already existed, but the payload was
+ * modified. This field is only populated for jobs with the
+ * UpdateObjectCustomContext transformation.
+ *
+ * Generated from protobuf field optional int64 object_custom_contexts_updated = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int|string
+ */
+ public function getObjectCustomContextsUpdated()
+ {
+ return isset($this->object_custom_contexts_updated) ? $this->object_custom_contexts_updated : 0;
+ }
+
+ public function hasObjectCustomContextsUpdated()
+ {
+ return isset($this->object_custom_contexts_updated);
+ }
+
+ public function clearObjectCustomContextsUpdated()
+ {
+ unset($this->object_custom_contexts_updated);
+ }
+
+ /**
+ * Output only. Number of object custom contexts updated. This counter tracks
+ * custom contexts where the key already existed, but the payload was
+ * modified. This field is only populated for jobs with the
+ * UpdateObjectCustomContext transformation.
+ *
+ * Generated from protobuf field optional int64 object_custom_contexts_updated = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int|string $var
+ * @return $this
+ */
+ public function setObjectCustomContextsUpdated($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->object_custom_contexts_updated = $var;
+
+ return $this;
+ }
+
}
diff --git a/StorageBatchOperations/src/V1/resources/storage_batch_operations_client_config.json b/StorageBatchOperations/src/V1/resources/storage_batch_operations_client_config.json
index 1c54c0d8832e..42a4a0f566d2 100644
--- a/StorageBatchOperations/src/V1/resources/storage_batch_operations_client_config.json
+++ b/StorageBatchOperations/src/V1/resources/storage_batch_operations_client_config.json
@@ -55,8 +55,8 @@
},
"GetBucketOperation": {
"timeout_millis": 60000,
- "retry_codes_name": "no_retry_codes",
- "retry_params_name": "no_retry_params"
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
},
"GetJob": {
"timeout_millis": 60000,
@@ -65,8 +65,8 @@
},
"ListBucketOperations": {
"timeout_millis": 60000,
- "retry_codes_name": "no_retry_codes",
- "retry_params_name": "no_retry_params"
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
},
"ListJobs": {
"timeout_millis": 60000,