@googleapis/storagebatchoperations 8.2.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/v1.d.ts CHANGED
@@ -70,6 +70,19 @@ export declare namespace storagebatchoperations_v1 {
70
70
  projects: Resource$Projects;
71
71
  constructor(options: GlobalOptions, google?: GoogleConfigurable);
72
72
  }
73
+ /**
74
+ * Represents updates to existing access-control entries on an object.
75
+ */
76
+ export interface Schema$AccessControlsUpdates {
77
+ /**
78
+ * Optional. Grants to add or update. If a grant for same entity exists, its role is updated.
79
+ */
80
+ grants?: Schema$ObjectAccessControl[];
81
+ /**
82
+ * Optional. Entities for which all grants should be removed. An entity can't be in both `grants` and `remove_entities`.
83
+ */
84
+ removeEntities?: string[] | null;
85
+ }
73
86
  /**
74
87
  * Describes configuration of a single bucket and its objects to be transformed.
75
88
  */
@@ -92,7 +105,7 @@ export declare namespace storagebatchoperations_v1 {
92
105
  */
93
106
  export interface Schema$BucketList {
94
107
  /**
95
- * Required. List of buckets and their objects to be transformed. Currently, only one bucket configuration is supported. If multiple buckets are specified, an error will be returned.
108
+ * Required. List of buckets and their objects to be transformed. You can specify only one bucket per job. If multiple buckets are specified, an error occurs.
96
109
  */
97
110
  buckets?: Schema$Bucket[];
98
111
  }
@@ -129,13 +142,17 @@ export declare namespace storagebatchoperations_v1 {
129
142
  */
130
143
  manifest?: Schema$Manifest;
131
144
  /**
132
- * Identifier. The resource name of the BucketOperation. This is defined by the service. Format: projects/{project\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation\}.
145
+ * Identifier. The resource name of the BucketOperation. This is defined by the service. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation\}`.
133
146
  */
134
147
  name?: string | null;
135
148
  /**
136
149
  * Specifies objects matching a prefix set.
137
150
  */
138
151
  prefixList?: Schema$PrefixList;
152
+ /**
153
+ * Specifies objects matching the object filters in a project source.
154
+ */
155
+ projectSource?: Schema$ProjectSource;
139
156
  /**
140
157
  * Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time.
141
158
  */
@@ -148,6 +165,10 @@ export declare namespace storagebatchoperations_v1 {
148
165
  * Rewrite the object and updates metadata like KMS key.
149
166
  */
150
167
  rewriteObject?: Schema$RewriteObject;
168
+ /**
169
+ * Updates object ACLs.
170
+ */
171
+ setObjectAcls?: Schema$SetObjectAcls;
151
172
  /**
152
173
  * Output only. The time that the BucketOperation was started.
153
174
  */
@@ -156,13 +177,17 @@ export declare namespace storagebatchoperations_v1 {
156
177
  * Output only. State of the BucketOperation.
157
178
  */
158
179
  state?: string | null;
180
+ /**
181
+ * Update object custom context.
182
+ */
183
+ updateObjectCustomContext?: Schema$UpdateObjectCustomContext;
159
184
  }
160
185
  /**
161
186
  * Message for Job to Cancel
162
187
  */
163
188
  export interface Schema$CancelJobRequest {
164
189
  /**
165
- * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
190
+ * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).
166
191
  */
167
192
  requestId?: string | null;
168
193
  }
@@ -181,9 +206,21 @@ export declare namespace storagebatchoperations_v1 {
181
206
  */
182
207
  export interface Schema$Counters {
183
208
  /**
184
- * Output only. Number of objects failed.
209
+ * Output only. The number of objects that failed due to user errors or service errors.
185
210
  */
186
211
  failedObjectCount?: string | null;
212
+ /**
213
+ * Output only. Number of object custom contexts created. This field is only populated for jobs with the UpdateObjectCustomContext transformation.
214
+ */
215
+ objectCustomContextsCreated?: string | null;
216
+ /**
217
+ * Output only. Number of object custom contexts deleted. This field is only populated for jobs with the UpdateObjectCustomContext transformation.
218
+ */
219
+ objectCustomContextsDeleted?: string | null;
220
+ /**
221
+ * 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.
222
+ */
223
+ objectCustomContextsUpdated?: string | null;
187
224
  /**
188
225
  * Output only. Number of objects completed.
189
226
  */
@@ -192,17 +229,36 @@ export declare namespace storagebatchoperations_v1 {
192
229
  * Output only. Number of bytes found from source. This field is only populated for jobs with a prefix list object configuration.
193
230
  */
194
231
  totalBytesFound?: string | null;
232
+ /**
233
+ * Output only. The total number of bytes affected by the transformation. For example, this counts bytes deleted for `DeleteObject` operations and bytes rewritten for `RewriteObject` operations.
234
+ */
235
+ totalBytesTransformed?: string | null;
195
236
  /**
196
237
  * Output only. Number of objects listed.
197
238
  */
198
239
  totalObjectCount?: string | null;
199
240
  }
241
+ /**
242
+ * Describes a collection of updates to apply to custom contexts identified by key.
243
+ */
244
+ export interface Schema$CustomContextUpdates {
245
+ /**
246
+ * Optional. Custom contexts to clear by key. A key can't be present in both `updates` and `keys_to_clear`.
247
+ */
248
+ keysToClear?: string[] | null;
249
+ /**
250
+ * Optional. Insert or update the existing custom contexts.
251
+ */
252
+ updates?: {
253
+ [key: string]: Schema$ObjectCustomContextPayload;
254
+ } | null;
255
+ }
200
256
  /**
201
257
  * Describes options to delete an object.
202
258
  */
203
259
  export interface Schema$DeleteObject {
204
260
  /**
205
- * Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a GetObjectMetadata call (a Class B operation) will be made to determine the live object generation.
261
+ * Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true, both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a `GetObjectMetadata` call is made to determine the live object generation.
206
262
  */
207
263
  permanentObjectDeletionEnabled?: boolean | null;
208
264
  }
@@ -242,7 +298,28 @@ export declare namespace storagebatchoperations_v1 {
242
298
  errorLogEntries?: Schema$ErrorLogEntry[];
243
299
  }
244
300
  /**
245
- * The Storage Batch Operations Job description.
301
+ * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
302
+ */
303
+ export interface Schema$Expr {
304
+ /**
305
+ * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
306
+ */
307
+ description?: string | null;
308
+ /**
309
+ * Textual representation of an expression in Common Expression Language syntax.
310
+ */
311
+ expression?: string | null;
312
+ /**
313
+ * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
314
+ */
315
+ location?: string | null;
316
+ /**
317
+ * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
318
+ */
319
+ title?: string | null;
320
+ }
321
+ /**
322
+ * The storage batch operations job description.
246
323
  */
247
324
  export interface Schema$Job {
248
325
  /**
@@ -266,27 +343,35 @@ export declare namespace storagebatchoperations_v1 {
266
343
  */
267
344
  deleteObject?: Schema$DeleteObject;
268
345
  /**
269
- * Optional. A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.
346
+ * Optional. A user-provided description for the job. Maximum length: 1024 bytes when unicode-encoded.
270
347
  */
271
348
  description?: string | null;
272
349
  /**
273
- * Optional. If true, the job will run in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations will be performed.
350
+ * Optional. If true, the job runs in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations are performed.
274
351
  */
275
352
  dryRun?: boolean | null;
276
353
  /**
277
354
  * Output only. Summarizes errors encountered with sample error log entries.
278
355
  */
279
356
  errorSummaries?: Schema$ErrorSummary[];
357
+ /**
358
+ * Output only. If true, this job operates on multiple buckets. Multi-bucket jobs are subject to different quota limits than single-bucket jobs.
359
+ */
360
+ isMultiBucketJob?: boolean | null;
280
361
  /**
281
362
  * Optional. Logging configuration.
282
363
  */
283
364
  loggingConfig?: Schema$LoggingConfig;
284
365
  /**
285
- * Identifier. The resource name of the Job. job_id is unique within the project, that is either set by the customer or defined by the service. Format: projects/{project\}/locations/global/jobs/{job_id\} . For example: "projects/123456/locations/global/jobs/job01".
366
+ * Identifier. The resource name of the job. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. For example: `projects/123456/locations/global/jobs/job01`. `job_id` is unique in a given project.
286
367
  */
287
368
  name?: string | null;
288
369
  /**
289
- * Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time.
370
+ * Specifies a project source and filters to identify objects to be transformed.
371
+ */
372
+ projectSource?: Schema$ProjectSource;
373
+ /**
374
+ * Updates object metadata. Allows updating fixed-key and custom metadata. For example, `Cache-Control`, `Content-Disposition`, `Content-Encoding`, `Content-Language`, `Content-Type`, `Custom-Time`, and `Retention configuration`.
290
375
  */
291
376
  putMetadata?: Schema$PutMetadata;
292
377
  /**
@@ -301,10 +386,18 @@ export declare namespace storagebatchoperations_v1 {
301
386
  * Output only. The time that the job was scheduled.
302
387
  */
303
388
  scheduleTime?: string | null;
389
+ /**
390
+ * Updates object ACLs.
391
+ */
392
+ setObjectAcls?: Schema$SetObjectAcls;
304
393
  /**
305
394
  * Output only. State of the job.
306
395
  */
307
396
  state?: string | null;
397
+ /**
398
+ * Update object custom context.
399
+ */
400
+ updateObjectCustomContext?: Schema$UpdateObjectCustomContext;
308
401
  }
309
402
  /**
310
403
  * Message for response to listing BucketOperations
@@ -417,20 +510,42 @@ export declare namespace storagebatchoperations_v1 {
417
510
  */
418
511
  export interface Schema$Manifest {
419
512
  /**
420
- * Required. `manifest_location` must contain the manifest source file that is a CSV file in a Google Cloud Storage bucket. Each row in the file must include the object details i.e. BucketId and Name. Generation may optionally be specified. When it is not specified the live object is acted upon. `manifest_location` should either be 1) An absolute path to the object in the format of `gs://bucket_name/path/file_name.csv`. 2) An absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon.
513
+ * Required. Specify the manifest file location. The format of manifest location can be an absolute path to the object in the format of `gs://bucket_name/path/object_name`. For example, `gs://bucket_name/path/object_name.csv`. Alternatively, you can specify an absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If the manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. The manifest is a CSV file, uploaded to Cloud Storage, that contains one object or a list of objects that you want to process. Each row in the manifest must include the `bucket` and `name` of the object. You can optionally specify the `generation` of the object. If you don't specify the `generation`, the current version of the object is used. You can optionally include a header row with the following format: `bucket,name,generation`. For example, bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3 Note: The manifest file must specify only objects within the bucket provided to the job. Rows referencing objects in other buckets are ignored.
421
514
  */
422
515
  manifestLocation?: string | null;
423
516
  }
517
+ /**
518
+ * Represents an access control entry on an object.
519
+ */
520
+ export interface Schema$ObjectAccessControl {
521
+ /**
522
+ * Required. The entity holding the permission, in one of the following forms: * `allUsers` * `allAuthenticatedUsers`
523
+ */
524
+ entity?: string | null;
525
+ /**
526
+ * Required. The role to grant. Acceptable values are: * `READER` - gives read access to the object. * `OWNER` - gives owner access to the object.
527
+ */
528
+ role?: string | null;
529
+ }
530
+ /**
531
+ * Describes the payload of a user-defined object custom context.
532
+ */
533
+ export interface Schema$ObjectCustomContextPayload {
534
+ /**
535
+ * The value of the object custom context. If set, `value` can't be an empty string because it is a required field in custom context. If unset, `value` is ignored and no changes are made to the `value` field of the custom context payload.
536
+ */
537
+ value?: string | null;
538
+ }
424
539
  /**
425
540
  * Describes options for object retention update.
426
541
  */
427
542
  export interface Schema$ObjectRetention {
428
543
  /**
429
- * Required. The time when the object will be retained until. UNSET will clear the retention. Must be specified in RFC 3339 format e.g. YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z'.
544
+ * Required. The object's retention expiration time, during which, the object is protected from being deleted or overwritten. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings.
430
545
  */
431
546
  retainUntilTime?: string | null;
432
547
  /**
433
- * Required. The retention mode of the object.
548
+ * Required. The retention mode.
434
549
  */
435
550
  retentionMode?: string | null;
436
551
  }
@@ -484,7 +599,7 @@ export declare namespace storagebatchoperations_v1 {
484
599
  */
485
600
  job?: Schema$Job;
486
601
  /**
487
- * Output only. The unique operation resource name. Format: projects/{project\}/locations/global/operations/{operation\}.
602
+ * Output only. The unique operation resource name. Format: projects/{project_id\}/locations/global/operations/{operation\}.
488
603
  */
489
604
  operation?: string | null;
490
605
  /**
@@ -497,46 +612,79 @@ export declare namespace storagebatchoperations_v1 {
497
612
  */
498
613
  export interface Schema$PrefixList {
499
614
  /**
500
- * Optional. Include prefixes of the objects to be transformed. * Supports full object name * Supports prefix of the object name * Wildcards are not supported * Supports empty string for all objects in a bucket.
615
+ * Optional. Specify one or more object prefixes. For example: * To match one object, use a single prefix, `prefix1`. * To match multiple objects, use comma-separated prefixes, `prefix1, prefix2`. * To match all objects, use an empty prefix, `''`
501
616
  */
502
617
  includedObjectPrefixes?: string[] | null;
503
618
  }
619
+ /**
620
+ * Describes the project source where the objects satisfying the filters will be transformed.
621
+ */
622
+ export interface Schema$ProjectSource {
623
+ /**
624
+ * Optional. Filters expressed in Common Expression Language (CEL) to apply to buckets to identify buckets with objects to be transformed.
625
+ */
626
+ bucketFilters?: Schema$Expr;
627
+ /**
628
+ * Optional. The unique identifier of a dry run job to use as the baseline for the current job. Specifying this ID ensures the job is executed against the same set of objects validated during the dry run. The value corresponds to the {job_id\} segment of the resource name: `projects/{project_id\}/locations/{location\}/jobs/{job_id\}`.
629
+ */
630
+ dryRunJobId?: string | null;
631
+ /**
632
+ * Required. The resource identifier of the Storage Insights dataset configuration. Storage batch operations uses the latest snapshot from this dataset as the source to list and filter target objects. Format: `projects/{project_id\}/locations/{location\}/datasetConfigs/{dataset_config\}`.
633
+ */
634
+ insightsDatasetConfig?: string | null;
635
+ /**
636
+ * Optional. Filters expressed in Common Expression Language (CEL) to apply to objects to identify objects to be transformed.
637
+ */
638
+ objectFilters?: Schema$Expr;
639
+ /**
640
+ * Required. Project name of the objects to be transformed. e.g. projects/my-project or projects/123456.
641
+ */
642
+ project?: string | null;
643
+ /**
644
+ * Output only. The snapshot time used by the job to read the Storage Insights dataset for bucket and object discovery. This field is populated by the service and reflects the exact timestamp of the dataset snapshot used.
645
+ */
646
+ snapshotTime?: string | null;
647
+ /**
648
+ * Optional. Specifies the Cloud Storage locations to include in the job. If provided, only buckets and objects within these locations will be discovered from the Storage Insights dataset as configured in the `insights_dataset_config`. If omitted, the job will discover buckets and objects from all locations configured in the `insights_dataset_config`.
649
+ */
650
+ targetLocations?: Schema$TargetLocations;
651
+ }
504
652
  /**
505
653
  * Describes options for object metadata update.
506
654
  */
507
655
  export interface Schema$PutMetadata {
508
656
  /**
509
- * Optional. Updates objects Cache-Control fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Additionally, the value for Custom-Time cannot decrease. Refer to documentation in https://cloud.google.com/storage/docs/metadata#caching_data.
657
+ * Optional. Updates the objects `Cache-Control` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. Additionally, the value for `Custom-Time` can't decrease. For details, see [Cache-Control](https://cloud.google.com/storage/docs/metadata#caching_data).
510
658
  */
511
659
  cacheControl?: string | null;
512
660
  /**
513
- * Optional. Updates objects Content-Disposition fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer https://cloud.google.com/storage/docs/metadata#content-disposition for additional documentation.
661
+ * Optional. Updates objects `Content-Disposition` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Disposition](https://cloud.google.com/storage/docs/metadata#content-disposition).
514
662
  */
515
663
  contentDisposition?: string | null;
516
664
  /**
517
- * Optional. Updates objects Content-Encoding fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-encoding.
665
+ * Optional. Updates the objects `Content-Encoding` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Encoding](https://cloud.google.com/storage/docs/metadata#content-encoding).
518
666
  */
519
667
  contentEncoding?: string | null;
520
668
  /**
521
- * Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1 language codes for typical values of this metadata. Max length 100 characters. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-language.
669
+ * Optional. Updates the objects `Content-Language` fixed metadata. Metadata values must use ISO 639-1 language codes. The maximum length for metadata values is 100 characters. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Language](https://cloud.google.com/storage/docs/metadata#content-language).
522
670
  */
523
671
  contentLanguage?: string | null;
524
672
  /**
525
- * Optional. Updates objects Content-Type fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-type
673
+ * Optional. Updates objects `Content-Type` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Type](https://cloud.google.com/storage/docs/metadata#content-type).
526
674
  */
527
675
  contentType?: string | null;
528
676
  /**
529
- * Optional. Updates objects custom metadata. Adds or sets individual custom metadata key value pairs on objects. Keys that are set with empty custom metadata values will have its value cleared. Existing custom metadata not specified with this flag is not changed. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-metadata
677
+ * Optional. Updates the object's custom metadata. This operation adds or sets individual custom metadata key-value pairs. Keys specified with empty values have their values cleared. Existing custom metadata keys not included in the request remain unchanged. For details, see [Custom metadata](https://cloud.google.com/storage/docs/metadata#custom-metadata).
530
678
  */
531
679
  customMetadata?: {
532
680
  [key: string]: string;
533
681
  } | null;
534
682
  /**
535
- * Optional. Updates objects Custom-Time fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-time.
683
+ * Optional. Updates the objects `Custom-Time` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. For details, see [Custom-Time](https://cloud.google.com/storage/docs/metadata#custom-time).
536
684
  */
537
685
  customTime?: string | null;
538
686
  /**
539
- * Optional. Updates objects retention lock configuration. Unset values will be ignored. Set empty values to clear the retention for the object with existing `Unlocked` retention mode. Object with existing `Locked` retention mode cannot be cleared or reduce retain_until_time. Refer to documentation in https://cloud.google.com/storage/docs/object-lock
687
+ * Optional. Updates an object's retention configuration. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. An object with `LOCKED` retention mode can't have its retention cleared or its `retainUntilTime` reduced. For more information, see [Object retention](https://cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs#retain-until-time).
540
688
  */
541
689
  objectRetention?: Schema$ObjectRetention;
542
690
  }
@@ -545,11 +693,11 @@ export declare namespace storagebatchoperations_v1 {
545
693
  */
546
694
  export interface Schema$PutObjectHold {
547
695
  /**
548
- * Required. Updates object event based holds state. When object event based hold is set, object cannot be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period.
696
+ * Required. Updates object event based holds state. When object event based hold is set, object can't be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period.
549
697
  */
550
698
  eventBasedHold?: string | null;
551
699
  /**
552
- * Required. Updates object temporary holds state. When object temporary hold is set, object cannot be deleted or replaced.
700
+ * Required. Updates object temporary holds state. When object temporary hold is set, object can't be deleted or replaced.
553
701
  */
554
702
  temporaryHold?: string | null;
555
703
  }
@@ -558,9 +706,22 @@ export declare namespace storagebatchoperations_v1 {
558
706
  */
559
707
  export interface Schema$RewriteObject {
560
708
  /**
561
- * Required. Resource name of the Cloud KMS key that will be used to encrypt the object. The Cloud KMS key must be located in same location as the object. Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for additional documentation. Format: projects/{project\}/locations/{location\}/keyRings/{keyring\}/cryptoKeys/{key\} For example: "projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key". The object will be rewritten and set with the specified KMS key.
709
+ * Optional. Resource name of the Cloud KMS key that is used to encrypt the object. The Cloud KMS key must be located in same location as the object. For details, see https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key Format: `projects/{project_id\}/locations/{location\}/keyRings/{keyring\}/cryptoKeys/{key\}` For example: `projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`. The object will be rewritten and set with the specified KMS key.
562
710
  */
563
711
  kmsKey?: string | null;
712
+ /**
713
+ * Optional. Rewrites the object to the specified storage class. Setting this field will perform a full byte copy of the object if the storage class is different from the object's current storage class. If Autoclass is enabled on the bucket, storage class changes are ignored by Cloud Storage.
714
+ */
715
+ storageClass?: string | null;
716
+ }
717
+ /**
718
+ * Describes options for setting object ACLs.
719
+ */
720
+ export interface Schema$SetObjectAcls {
721
+ /**
722
+ * Required. Add, update, or remove grants from the object's existing ACLs.
723
+ */
724
+ accessControlsUpdates?: Schema$AccessControlsUpdates;
564
725
  }
565
726
  /**
566
727
  * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
@@ -581,6 +742,32 @@ export declare namespace storagebatchoperations_v1 {
581
742
  */
582
743
  message?: string | null;
583
744
  }
745
+ /**
746
+ * Describes the Cloud Storage locations to include in a ProjectSource job.
747
+ */
748
+ export interface Schema$TargetLocations {
749
+ /**
750
+ * Required. REQUIRED. A list of Cloud Storage locations (e.g., `us-central1`) to include in the job. If `snapshot_time` is omitted, the job automatically defaults to the most recent snapshot timestamp that is successfully populated in BOTH the `object_attributes_view` and `bucket_attributes_view` across ALL specified locations. For details on Storage Insights dataset snapshots and views, see: https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#schema
751
+ */
752
+ locations?: string[] | null;
753
+ /**
754
+ * Optional. OPTIONAL. The exact Storage Insights snapshot timestamp to use for the job compatible with the RFC 3339 format (e.g., `2024-01-02T03:04:05Z`). If specified, this exact snapshot must exist in BOTH the `object_attributes_view` and `bucket_attributes_view` for every location listed in `locations`. If the snapshot is missing from either view in any of the locations, the job fails.
755
+ */
756
+ snapshotTime?: string | null;
757
+ }
758
+ /**
759
+ * Describes options to update object custom contexts.
760
+ */
761
+ export interface Schema$UpdateObjectCustomContext {
762
+ /**
763
+ * If set, must be set to true and all existing object custom contexts are deleted.
764
+ */
765
+ clearAll?: boolean | null;
766
+ /**
767
+ * A collection of updates to apply to specific custom contexts. Use this to add, update or delete individual contexts by key.
768
+ */
769
+ customContextUpdates?: Schema$CustomContextUpdates;
770
+ }
584
771
  export class Resource$Projects {
585
772
  context: APIRequestContext;
586
773
  locations: Resource$Projects$Locations;
@@ -656,7 +843,7 @@ export declare namespace storagebatchoperations_v1 {
656
843
  get(params: Params$Resource$Projects$Locations$Get, callback: BodyResponseCallback<Schema$Location>): void;
657
844
  get(callback: BodyResponseCallback<Schema$Location>): void;
658
845
  /**
659
- * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project.
846
+ * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
660
847
  * @example
661
848
  * ```js
662
849
  * // Before running the sample:
@@ -686,7 +873,7 @@ export declare namespace storagebatchoperations_v1 {
686
873
  *
687
874
  * // Do the magic
688
875
  * const res = await storagebatchoperations.projects.locations.list({
689
- * // Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.
876
+ * // Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.
690
877
  * extraLocationTypes: 'placeholder-value',
691
878
  * // A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
692
879
  * filter: 'placeholder-value',
@@ -733,7 +920,7 @@ export declare namespace storagebatchoperations_v1 {
733
920
  }
734
921
  export interface Params$Resource$Projects$Locations$List extends StandardParameters {
735
922
  /**
736
- * Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.
923
+ * Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.
737
924
  */
738
925
  extraLocationTypes?: string[];
739
926
  /**
@@ -788,7 +975,7 @@ export declare namespace storagebatchoperations_v1 {
788
975
  *
789
976
  * // Do the magic
790
977
  * const res = await storagebatchoperations.projects.locations.jobs.cancel({
791
- * // Required. The `name` of the job to cancel. Format: projects/{project_id\}/locations/global/jobs/{job_id\}.
978
+ * // Required. The `name` of the job to cancel. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`.
792
979
  * name: 'projects/my-project/locations/my-location/jobs/my-job',
793
980
  *
794
981
  * // Request body metadata
@@ -854,11 +1041,11 @@ export declare namespace storagebatchoperations_v1 {
854
1041
  *
855
1042
  * // Do the magic
856
1043
  * const res = await storagebatchoperations.projects.locations.jobs.create({
857
- * // Required. The optional `job_id` for this Job . If not specified, an id is generated. `job_id` should be no more than 128 characters and must include only characters available in DNS names, as defined by RFC-1123.
1044
+ * // Required. A unique identifier for the job. `job_id` must be up to 128 characters and must include only characters available in DNS names, as defined by RFC-1123.
858
1045
  * jobId: 'placeholder-value',
859
- * // Required. Value for parent.
1046
+ * // Required. The value for parent.
860
1047
  * parent: 'projects/my-project/locations/my-location',
861
- * // Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
1048
+ * // Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).
862
1049
  * requestId: 'placeholder-value',
863
1050
  *
864
1051
  * // Request body metadata
@@ -873,13 +1060,17 @@ export declare namespace storagebatchoperations_v1 {
873
1060
  * // "description": "my_description",
874
1061
  * // "dryRun": false,
875
1062
  * // "errorSummaries": [],
1063
+ * // "isMultiBucketJob": false,
876
1064
  * // "loggingConfig": {},
877
1065
  * // "name": "my_name",
1066
+ * // "projectSource": {},
878
1067
  * // "putMetadata": {},
879
1068
  * // "putObjectHold": {},
880
1069
  * // "rewriteObject": {},
881
1070
  * // "scheduleTime": "my_scheduleTime",
882
- * // "state": "my_state"
1071
+ * // "setObjectAcls": {},
1072
+ * // "state": "my_state",
1073
+ * // "updateObjectCustomContext": {}
883
1074
  * // }
884
1075
  * },
885
1076
  * });
@@ -944,11 +1135,11 @@ export declare namespace storagebatchoperations_v1 {
944
1135
  *
945
1136
  * // Do the magic
946
1137
  * const res = await storagebatchoperations.projects.locations.jobs.delete({
947
- * // Optional. If set to true, any child bucket operations of the job will also be deleted. Highly recommended to be set to true by all clients. Users cannot mutate bucket operations directly, so only the jobs.delete permission is required to delete a job (and its child bucket operations).
1138
+ * // Optional. If set to true, any child bucket operations of the job are deleted. We recommend setting this to `true`. You can't mutate bucket operations directly, so only the `jobs.delete` permission is required to delete a job (and its child bucket operations).
948
1139
  * force: 'placeholder-value',
949
- * // Required. The `name` of the job to delete. Format: projects/{project_id\}/locations/global/jobs/{job_id\} .
1140
+ * // Required. The `name` of the job to delete. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`.
950
1141
  * name: 'projects/my-project/locations/my-location/jobs/my-job',
951
- * // Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
1142
+ * // Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).
952
1143
  * requestId: 'placeholder-value',
953
1144
  * });
954
1145
  * console.log(res.data);
@@ -1006,7 +1197,7 @@ export declare namespace storagebatchoperations_v1 {
1006
1197
  *
1007
1198
  * // Do the magic
1008
1199
  * const res = await storagebatchoperations.projects.locations.jobs.get({
1009
- * // Required. `name` of the job to retrieve. Format: projects/{project_id\}/locations/global/jobs/{job_id\} .
1200
+ * // Required. The `name` of the job to retrieve. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`.
1010
1201
  * name: 'projects/my-project/locations/my-location/jobs/my-job',
1011
1202
  * });
1012
1203
  * console.log(res.data);
@@ -1021,13 +1212,17 @@ export declare namespace storagebatchoperations_v1 {
1021
1212
  * // "description": "my_description",
1022
1213
  * // "dryRun": false,
1023
1214
  * // "errorSummaries": [],
1215
+ * // "isMultiBucketJob": false,
1024
1216
  * // "loggingConfig": {},
1025
1217
  * // "name": "my_name",
1218
+ * // "projectSource": {},
1026
1219
  * // "putMetadata": {},
1027
1220
  * // "putObjectHold": {},
1028
1221
  * // "rewriteObject": {},
1029
1222
  * // "scheduleTime": "my_scheduleTime",
1030
- * // "state": "my_state"
1223
+ * // "setObjectAcls": {},
1224
+ * // "state": "my_state",
1225
+ * // "updateObjectCustomContext": {}
1031
1226
  * // }
1032
1227
  * }
1033
1228
  *
@@ -1082,9 +1277,9 @@ export declare namespace storagebatchoperations_v1 {
1082
1277
  * const res = await storagebatchoperations.projects.locations.jobs.list({
1083
1278
  * // Optional. Filters results as defined by https://google.aip.dev/160.
1084
1279
  * filter: 'placeholder-value',
1085
- * // Optional. Field to sort by. Supported fields are name, create_time.
1280
+ * // Optional. Field to sort by. Supported fields are `name` and `create_time`.
1086
1281
  * orderBy: 'placeholder-value',
1087
- * // Optional. The list page size. default page size is 100.
1282
+ * // Optional. The list page size. The default page size is 100.
1088
1283
  * pageSize: 'placeholder-value',
1089
1284
  * // Optional. The list page token.
1090
1285
  * pageToken: 'placeholder-value',
@@ -1122,7 +1317,7 @@ export declare namespace storagebatchoperations_v1 {
1122
1317
  }
1123
1318
  export interface Params$Resource$Projects$Locations$Jobs$Cancel extends StandardParameters {
1124
1319
  /**
1125
- * Required. The `name` of the job to cancel. Format: projects/{project_id\}/locations/global/jobs/{job_id\}.
1320
+ * Required. The `name` of the job to cancel. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`.
1126
1321
  */
1127
1322
  name?: string;
1128
1323
  /**
@@ -1132,15 +1327,15 @@ export declare namespace storagebatchoperations_v1 {
1132
1327
  }
1133
1328
  export interface Params$Resource$Projects$Locations$Jobs$Create extends StandardParameters {
1134
1329
  /**
1135
- * Required. The optional `job_id` for this Job . If not specified, an id is generated. `job_id` should be no more than 128 characters and must include only characters available in DNS names, as defined by RFC-1123.
1330
+ * Required. A unique identifier for the job. `job_id` must be up to 128 characters and must include only characters available in DNS names, as defined by RFC-1123.
1136
1331
  */
1137
1332
  jobId?: string;
1138
1333
  /**
1139
- * Required. Value for parent.
1334
+ * Required. The value for parent.
1140
1335
  */
1141
1336
  parent?: string;
1142
1337
  /**
1143
- * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
1338
+ * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).
1144
1339
  */
1145
1340
  requestId?: string;
1146
1341
  /**
@@ -1150,21 +1345,21 @@ export declare namespace storagebatchoperations_v1 {
1150
1345
  }
1151
1346
  export interface Params$Resource$Projects$Locations$Jobs$Delete extends StandardParameters {
1152
1347
  /**
1153
- * Optional. If set to true, any child bucket operations of the job will also be deleted. Highly recommended to be set to true by all clients. Users cannot mutate bucket operations directly, so only the jobs.delete permission is required to delete a job (and its child bucket operations).
1348
+ * Optional. If set to true, any child bucket operations of the job are deleted. We recommend setting this to `true`. You can't mutate bucket operations directly, so only the `jobs.delete` permission is required to delete a job (and its child bucket operations).
1154
1349
  */
1155
1350
  force?: boolean;
1156
1351
  /**
1157
- * Required. The `name` of the job to delete. Format: projects/{project_id\}/locations/global/jobs/{job_id\} .
1352
+ * Required. The `name` of the job to delete. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`.
1158
1353
  */
1159
1354
  name?: string;
1160
1355
  /**
1161
- * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
1356
+ * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).
1162
1357
  */
1163
1358
  requestId?: string;
1164
1359
  }
1165
1360
  export interface Params$Resource$Projects$Locations$Jobs$Get extends StandardParameters {
1166
1361
  /**
1167
- * Required. `name` of the job to retrieve. Format: projects/{project_id\}/locations/global/jobs/{job_id\} .
1362
+ * Required. The `name` of the job to retrieve. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`.
1168
1363
  */
1169
1364
  name?: string;
1170
1365
  }
@@ -1174,11 +1369,11 @@ export declare namespace storagebatchoperations_v1 {
1174
1369
  */
1175
1370
  filter?: string;
1176
1371
  /**
1177
- * Optional. Field to sort by. Supported fields are name, create_time.
1372
+ * Optional. Field to sort by. Supported fields are `name` and `create_time`.
1178
1373
  */
1179
1374
  orderBy?: string;
1180
1375
  /**
1181
- * Optional. The list page size. default page size is 100.
1376
+ * Optional. The list page size. The default page size is 100.
1182
1377
  */
1183
1378
  pageSize?: number;
1184
1379
  /**
@@ -1225,7 +1420,7 @@ export declare namespace storagebatchoperations_v1 {
1225
1420
  * // Do the magic
1226
1421
  * const res =
1227
1422
  * await storagebatchoperations.projects.locations.jobs.bucketOperations.get({
1228
- * // Required. `name` of the bucket operation to retrieve. Format: projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation_id\}.
1423
+ * // Required. The `name` of the bucket operation to retrieve. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation_id\}`.
1229
1424
  * name: 'projects/my-project/locations/my-location/jobs/my-job/bucketOperations/my-bucketOperation',
1230
1425
  * });
1231
1426
  * console.log(res.data);
@@ -1241,11 +1436,14 @@ export declare namespace storagebatchoperations_v1 {
1241
1436
  * // "manifest": {},
1242
1437
  * // "name": "my_name",
1243
1438
  * // "prefixList": {},
1439
+ * // "projectSource": {},
1244
1440
  * // "putMetadata": {},
1245
1441
  * // "putObjectHold": {},
1246
1442
  * // "rewriteObject": {},
1443
+ * // "setObjectAcls": {},
1247
1444
  * // "startTime": "my_startTime",
1248
- * // "state": "my_state"
1445
+ * // "state": "my_state",
1446
+ * // "updateObjectCustomContext": {}
1249
1447
  * // }
1250
1448
  * }
1251
1449
  *
@@ -1301,13 +1499,13 @@ export declare namespace storagebatchoperations_v1 {
1301
1499
  * await storagebatchoperations.projects.locations.jobs.bucketOperations.list({
1302
1500
  * // Optional. Filters results as defined by https://google.aip.dev/160.
1303
1501
  * filter: 'placeholder-value',
1304
- * // Optional. Field to sort by. Supported fields are name, create_time.
1502
+ * // Optional. Field to sort by. Supported fields are `name` and `create_time`.
1305
1503
  * orderBy: 'placeholder-value',
1306
1504
  * // Optional. The list page size. Default page size is 100.
1307
1505
  * pageSize: 'placeholder-value',
1308
1506
  * // Optional. The list page token.
1309
1507
  * pageToken: 'placeholder-value',
1310
- * // Required. Format: projects/{project_id\}/locations/global/jobs/{job_id\}.
1508
+ * // Required. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`.
1311
1509
  * parent: 'projects/my-project/locations/my-location/jobs/my-job',
1312
1510
  * });
1313
1511
  * console.log(res.data);
@@ -1341,7 +1539,7 @@ export declare namespace storagebatchoperations_v1 {
1341
1539
  }
1342
1540
  export interface Params$Resource$Projects$Locations$Jobs$Bucketoperations$Get extends StandardParameters {
1343
1541
  /**
1344
- * Required. `name` of the bucket operation to retrieve. Format: projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation_id\}.
1542
+ * Required. The `name` of the bucket operation to retrieve. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation_id\}`.
1345
1543
  */
1346
1544
  name?: string;
1347
1545
  }
@@ -1351,7 +1549,7 @@ export declare namespace storagebatchoperations_v1 {
1351
1549
  */
1352
1550
  filter?: string;
1353
1551
  /**
1354
- * Optional. Field to sort by. Supported fields are name, create_time.
1552
+ * Optional. Field to sort by. Supported fields are `name` and `create_time`.
1355
1553
  */
1356
1554
  orderBy?: string;
1357
1555
  /**
@@ -1363,7 +1561,7 @@ export declare namespace storagebatchoperations_v1 {
1363
1561
  */
1364
1562
  pageToken?: string;
1365
1563
  /**
1366
- * Required. Format: projects/{project_id\}/locations/global/jobs/{job_id\}.
1564
+ * Required. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`.
1367
1565
  */
1368
1566
  parent?: string;
1369
1567
  }