Skip to content

Commit e2ad916

Browse files
yoshi-automationsofisl
authored andcommitted
feat(storagetransfer)!: update the API
BREAKING CHANGE: This release has breaking changes. #### storagetransfer:v1 The following keys were deleted: - schemas.BatchTaskSpec.id - schemas.BatchTaskSpec.properties.deleteObjectTaskSpec.$ref - schemas.BatchTaskSpec.properties.listTaskSpec.$ref - schemas.BatchTaskSpec.properties.metadataTaskSpec.$ref - schemas.BatchTaskSpec.type - schemas.DeleteObjectTaskSpec.id - schemas.DeleteObjectTaskSpec.properties.generation.format - schemas.DeleteObjectTaskSpec.properties.generation.type - schemas.DeleteObjectTaskSpec.properties.hardDeleteVersionedObject.type - schemas.DeleteObjectTaskSpec.properties.name.type - schemas.DeleteObjectTaskSpec.properties.size.format - schemas.DeleteObjectTaskSpec.properties.size.type - schemas.DeleteObjectTaskSpec.type - schemas.ListTaskSpec.id - schemas.ListTaskSpec.properties.manifest.$ref - schemas.ListTaskSpec.properties.objectPrefixes.$ref - schemas.ListTaskSpec.type - schemas.Manifest.id - schemas.Manifest.properties.manifestLocation.type - schemas.Manifest.properties.root.type - schemas.Manifest.type - schemas.MetadataTaskSpec.id - schemas.MetadataTaskSpec.properties.bucketName.type - schemas.MetadataTaskSpec.properties.generation.format - schemas.MetadataTaskSpec.properties.generation.type - schemas.MetadataTaskSpec.properties.key.type - schemas.MetadataTaskSpec.properties.size.format - schemas.MetadataTaskSpec.properties.size.type - schemas.MetadataTaskSpec.type - schemas.ObjectPrefix.id - schemas.ObjectPrefix.properties.bucketName.type - schemas.ObjectPrefix.properties.objectPrefix.type - schemas.ObjectPrefix.type - schemas.ObjectPrefixes.id - schemas.ObjectPrefixes.properties.objectPrefixes.items.$ref - schemas.ObjectPrefixes.properties.objectPrefixes.type - schemas.ObjectPrefixes.type The following keys were added: - schemas.ReplicationSpec.description - schemas.ReplicationSpec.id - schemas.ReplicationSpec.properties.gcsDataSink.$ref - schemas.ReplicationSpec.properties.gcsDataSink.description - schemas.ReplicationSpec.properties.gcsDataSource.$ref - schemas.ReplicationSpec.properties.gcsDataSource.description - schemas.ReplicationSpec.properties.objectConditions.$ref - schemas.ReplicationSpec.properties.objectConditions.description - schemas.ReplicationSpec.properties.transferOptions.$ref - schemas.ReplicationSpec.properties.transferOptions.description - schemas.ReplicationSpec.type - schemas.TransferJob.properties.replicationSpec.$ref - schemas.TransferJob.properties.replicationSpec.description The following keys were changed: - resources.transferOperations.methods.list.parameters.filter.description - schemas.AwsS3Data.properties.cloudfrontDomain.description - schemas.AwsS3Data.properties.credentialsSecret.description - schemas.AzureBlobStorageData.properties.credentialsSecret.description - schemas.GcsData.properties.managedFolderTransferEnabled.description
1 parent 7c5e1b3 commit e2ad916

File tree

2 files changed

+63
-146
lines changed

2 files changed

+63
-146
lines changed

discovery/storagetransfer-v1.json

Lines changed: 33 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@
541541
],
542542
"parameters": {
543543
"filter": {
544-
"description": "Required. A list of query parameters specified as JSON text in the form of: `{\"projectId\":\"my_project_id\", \"jobNames\":[\"jobid1\",\"jobid2\",...], \"operationNames\":[\"opid1\",\"opid2\",...], \"transferStatuses\":[\"status1\",\"status2\",...]}` Since `jobNames`, `operationNames`, and `transferStatuses` support multiple values, they must be specified with array notation. `projectId` is required. `jobNames`, `operationNames`, and `transferStatuses` are optional. The valid values for `transferStatuses` are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.",
544+
"description": "Required. A list of query parameters specified as JSON text in the form of: `{\"projectId\":\"my_project_id\", \"jobNames\":[\"jobid1\",\"jobid2\",...], \"jobNamePattern\": \"job_name_pattern\", \"operationNames\":[\"opid1\",\"opid2\",...], \"operationNamePattern\": \"operation_name_pattern\", \"minCreationTime\": \"min_creation_time\", \"maxCreationTime\": \"max_creation_time\", \"transferStatuses\":[\"status1\",\"status2\",...]}` Since `jobNames`, `operationNames`, and `transferStatuses` support multiple values, they must be specified with array notation. `projectId` is the only argument that is required. If specified, `jobNamePattern` and `operationNamePattern` must match the full job or operation name respectively. '*' is a wildcard matching 0 or more characters. `minCreationTime` and `maxCreationTime` should be timestamps encoded as a string in the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. The valid values for `transferStatuses` are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.",
545545
"location": "query",
546546
"required": true,
547547
"type": "string"
@@ -632,7 +632,7 @@
632632
}
633633
}
634634
},
635-
"revision": "20240217",
635+
"revision": "20240311",
636636
"rootUrl": "https://storagetransfer.googleapis.com/",
637637
"schemas": {
638638
"AgentPool": {
@@ -726,11 +726,11 @@
726726
"type": "string"
727727
},
728728
"cloudfrontDomain": {
729-
"description": "Optional. Cloudfront domain name pointing to this bucket (as origin), to use when fetching. Format: `https://{id}.cloudfront.net` or any valid custom domain `https://...`",
729+
"description": "Optional. The CloudFront distribution domain name pointing to this bucket, to use when fetching. See [Transfer from S3 via CloudFront](https://cloud.google.com/storage-transfer/docs/s3-cloudfront) for more information. Format: `https://{id}.cloudfront.net` or any valid custom domain. Must begin with `https://`.",
730730
"type": "string"
731731
},
732732
"credentialsSecret": {
733-
"description": "Optional. The Resource name of a secret in Secret Manager. AWS credentials must be stored in Secret Manager in JSON format: { \"access_key_id\": \"ACCESS_KEY_ID\", \"secret_access_key\": \"SECRET_ACCESS_KEY\" } GoogleServiceAccount must be granted `roles/secretmanager.secretAccessor` for the resource. See [Configure access to a source: Amazon S3] (https://cloud.google.com/storage-transfer/docs/source-amazon-s3#secret_manager) for more information. If `credentials_secret` is specified, do not specify role_arn or aws_access_key. This feature is in [preview](https://cloud.google.com/terms/service-terms#1). Format: `projects/{project_number}/secrets/{secret_name}`",
733+
"description": "Optional. The Resource name of a secret in Secret Manager. AWS credentials must be stored in Secret Manager in JSON format: { \"access_key_id\": \"ACCESS_KEY_ID\", \"secret_access_key\": \"SECRET_ACCESS_KEY\" } GoogleServiceAccount must be granted `roles/secretmanager.secretAccessor` for the resource. See [Configure access to a source: Amazon S3] (https://cloud.google.com/storage-transfer/docs/source-amazon-s3#secret_manager) for more information. If `credentials_secret` is specified, do not specify role_arn or aws_access_key. Format: `projects/{project_number}/secrets/{secret_name}`",
734734
"type": "string"
735735
},
736736
"path": {
@@ -757,7 +757,7 @@
757757
"type": "string"
758758
},
759759
"credentialsSecret": {
760-
"description": "Optional. The Resource name of a secret in Secret Manager. The Azure SAS token must be stored in Secret Manager in JSON format: { \"sas_token\" : \"SAS_TOKEN\" } GoogleServiceAccount must be granted `roles/secretmanager.secretAccessor` for the resource. See [Configure access to a source: Microsoft Azure Blob Storage] (https://cloud.google.com/storage-transfer/docs/source-microsoft-azure#secret_manager) for more information. If `credentials_secret` is specified, do not specify azure_credentials. This feature is in [preview](https://cloud.google.com/terms/service-terms#1). Format: `projects/{project_number}/secrets/{secret_name}`",
760+
"description": "Optional. The Resource name of a secret in Secret Manager. The Azure SAS token must be stored in Secret Manager in JSON format: { \"sas_token\" : \"SAS_TOKEN\" } GoogleServiceAccount must be granted `roles/secretmanager.secretAccessor` for the resource. See [Configure access to a source: Microsoft Azure Blob Storage] (https://cloud.google.com/storage-transfer/docs/source-microsoft-azure#secret_manager) for more information. If `credentials_secret` is specified, do not specify azure_credentials. Format: `projects/{project_number}/secrets/{secret_name}`",
761761
"type": "string"
762762
},
763763
"path": {
@@ -794,21 +794,6 @@
794794
},
795795
"type": "object"
796796
},
797-
"BatchTaskSpec": {
798-
"id": "BatchTaskSpec",
799-
"properties": {
800-
"deleteObjectTaskSpec": {
801-
"$ref": "DeleteObjectTaskSpec"
802-
},
803-
"listTaskSpec": {
804-
"$ref": "ListTaskSpec"
805-
},
806-
"metadataTaskSpec": {
807-
"$ref": "MetadataTaskSpec"
808-
}
809-
},
810-
"type": "object"
811-
},
812797
"CancelOperationRequest": {
813798
"description": "The request message for Operations.CancelOperation.",
814799
"id": "CancelOperationRequest",
@@ -837,26 +822,6 @@
837822
},
838823
"type": "object"
839824
},
840-
"DeleteObjectTaskSpec": {
841-
"id": "DeleteObjectTaskSpec",
842-
"properties": {
843-
"generation": {
844-
"format": "int64",
845-
"type": "string"
846-
},
847-
"hardDeleteVersionedObject": {
848-
"type": "boolean"
849-
},
850-
"name": {
851-
"type": "string"
852-
},
853-
"size": {
854-
"format": "int64",
855-
"type": "string"
856-
}
857-
},
858-
"type": "object"
859-
},
860825
"Empty": {
861826
"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
862827
"id": "Empty",
@@ -972,7 +937,7 @@
972937
"type": "string"
973938
},
974939
"managedFolderTransferEnabled": {
975-
"description": "Transfer managed folders is in public preview. This option is only applicable to the Cloud Storage source bucket. If set to true: - The source managed folder will be transferred to the destination bucket - The destination managed folder will always be overwritten, other OVERWRITE options will not be supported",
940+
"description": "Preview. Enables the transfer of managed folders between Cloud Storage buckets. Set this option on the gcs_data_source. If set to true: - Managed folders in the source bucket are transferred to the destination bucket. - Managed folders in the destination bucket are overwritten. Other OVERWRITE options are not supported. See [Transfer Cloud Storage managed folders](/storage-transfer/docs/managed-folders).",
976941
"type": "boolean"
977942
},
978943
"path": {
@@ -1055,18 +1020,6 @@
10551020
},
10561021
"type": "object"
10571022
},
1058-
"ListTaskSpec": {
1059-
"id": "ListTaskSpec",
1060-
"properties": {
1061-
"manifest": {
1062-
"$ref": "Manifest"
1063-
},
1064-
"objectPrefixes": {
1065-
"$ref": "ObjectPrefixes"
1066-
}
1067-
},
1068-
"type": "object"
1069-
},
10701023
"ListTransferJobsResponse": {
10711024
"description": "Response from ListTransferJobs.",
10721025
"id": "ListTransferJobsResponse",
@@ -1132,18 +1085,6 @@
11321085
},
11331086
"type": "object"
11341087
},
1135-
"Manifest": {
1136-
"id": "Manifest",
1137-
"properties": {
1138-
"manifestLocation": {
1139-
"type": "string"
1140-
},
1141-
"root": {
1142-
"type": "string"
1143-
}
1144-
},
1145-
"type": "object"
1146-
},
11471088
"MetadataOptions": {
11481089
"description": "Specifies the metadata options for running a transfer.",
11491090
"id": "MetadataOptions",
@@ -1285,26 +1226,6 @@
12851226
},
12861227
"type": "object"
12871228
},
1288-
"MetadataTaskSpec": {
1289-
"id": "MetadataTaskSpec",
1290-
"properties": {
1291-
"bucketName": {
1292-
"type": "string"
1293-
},
1294-
"generation": {
1295-
"format": "int64",
1296-
"type": "string"
1297-
},
1298-
"key": {
1299-
"type": "string"
1300-
},
1301-
"size": {
1302-
"format": "int64",
1303-
"type": "string"
1304-
}
1305-
},
1306-
"type": "object"
1307-
},
13081229
"NotificationConfig": {
13091230
"description": "Specification to configure notifications published to Pub/Sub. Notifications are published to the customer-provided topic using the following `PubsubMessage.attributes`: * `\"eventType\"`: one of the EventType values * `\"payloadFormat\"`: one of the PayloadFormat values * `\"projectId\"`: the project_id of the `TransferOperation` * `\"transferJobName\"`: the transfer_job_name of the `TransferOperation` * `\"transferOperationName\"`: the name of the `TransferOperation` The `PubsubMessage.data` contains a TransferOperation resource formatted according to the specified `PayloadFormat`.",
13101231
"id": "NotificationConfig",
@@ -1390,30 +1311,6 @@
13901311
},
13911312
"type": "object"
13921313
},
1393-
"ObjectPrefix": {
1394-
"id": "ObjectPrefix",
1395-
"properties": {
1396-
"bucketName": {
1397-
"type": "string"
1398-
},
1399-
"objectPrefix": {
1400-
"type": "string"
1401-
}
1402-
},
1403-
"type": "object"
1404-
},
1405-
"ObjectPrefixes": {
1406-
"id": "ObjectPrefixes",
1407-
"properties": {
1408-
"objectPrefixes": {
1409-
"items": {
1410-
"$ref": "ObjectPrefix"
1411-
},
1412-
"type": "array"
1413-
}
1414-
},
1415-
"type": "object"
1416-
},
14171314
"Operation": {
14181315
"description": "This resource represents a long-running operation that is the result of a network API call.",
14191316
"id": "Operation",
@@ -1466,6 +1363,29 @@
14661363
},
14671364
"type": "object"
14681365
},
1366+
"ReplicationSpec": {
1367+
"description": "Specifies the configuration for running a replication job.",
1368+
"id": "ReplicationSpec",
1369+
"properties": {
1370+
"gcsDataSink": {
1371+
"$ref": "GcsData",
1372+
"description": "Specifies cloud Storage data sink."
1373+
},
1374+
"gcsDataSource": {
1375+
"$ref": "GcsData",
1376+
"description": "Specifies cloud Storage data source."
1377+
},
1378+
"objectConditions": {
1379+
"$ref": "ObjectConditions",
1380+
"description": "Specifies the object conditions to only include objects that satisfy these conditions in the set of data source objects. Object conditions based on objects' \"last modification time\" do not exclude objects in a data sink."
1381+
},
1382+
"transferOptions": {
1383+
"$ref": "TransferOptions",
1384+
"description": "Specifies the actions to be performed on the object during replication. Delete options are not supported for replication and when specified, the request fails with an INVALID_ARGUMENT error."
1385+
}
1386+
},
1387+
"type": "object"
1388+
},
14691389
"ResumeTransferOperationRequest": {
14701390
"description": "Request passed to ResumeTransferOperation.",
14711391
"id": "ResumeTransferOperationRequest",
@@ -1790,6 +1710,10 @@
17901710
"description": "The ID of the Google Cloud project that owns the job.",
17911711
"type": "string"
17921712
},
1713+
"replicationSpec": {
1714+
"$ref": "ReplicationSpec",
1715+
"description": "Replication specification."
1716+
},
17931717
"schedule": {
17941718
"$ref": "Schedule",
17951719
"description": "Specifies schedule for the transfer job. This is an optional field. When the field is not set, the job never executes a transfer, unless you invoke RunTransferJob or update the job to have a non-empty schedule."

0 commit comments

Comments
 (0)