diff --git a/packages/google-storagetransfer/protos/google/storagetransfer/v1/transfer_types.proto b/packages/google-storagetransfer/protos/google/storagetransfer/v1/transfer_types.proto index 378795c116d..757eae4c03d 100644 --- a/packages/google-storagetransfer/protos/google/storagetransfer/v1/transfer_types.proto +++ b/packages/google-storagetransfer/protos/google/storagetransfer/v1/transfer_types.proto @@ -205,6 +205,21 @@ message GcsData { // The root path value must meet // [Object Name Requirements](/storage/docs/naming#objectnames). string path = 3; + + // 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). + bool managed_folder_transfer_enabled = 4; } // An AwsS3Data resource can be a data source, but not a data sink. @@ -242,26 +257,46 @@ message AwsS3Data { // this project. string role_arn = 4; + // 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://`. + string cloudfront_domain = 6 [(google.api.field_behavior) = OPTIONAL]; + // 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"
-  // }
+ // AWS credentials must be stored in Secret Manager in JSON format: + // + // { + // "access_key_id": "ACCESS_KEY_ID", + // "secret_access_key": "SECRET_ACCESS_KEY" + // } + // // [GoogleServiceAccount][google.storagetransfer.v1.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) + // 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 [azure_credentials][]. - // - // This feature is in - // [preview](https://cloud.google.com/terms/service-terms#1). + // If `credentials_secret` is specified, do not specify + // [role_arn][google.storagetransfer.v1.AwsS3Data.role_arn] or + // [aws_access_key][google.storagetransfer.v1.AwsS3Data.aws_access_key]. // // Format: `projects/{project_number}/secrets/{secret_name}` string credentials_secret = 7 [(google.api.field_behavior) = OPTIONAL]; + + oneof private_network { + // Egress bytes over a Google-managed private network. + // This network is shared between other users of Storage Transfer Service. + bool managed_private_network = 8; + } } // An AzureBlobStorageData resource can be a data source, but not a data sink. @@ -298,9 +333,11 @@ message AzureBlobStorageData { // 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"
-  // }
+ // + // { + // "sas_token" : "SAS_TOKEN" + // } + // // [GoogleServiceAccount][google.storagetransfer.v1.GoogleServiceAccount] must // be granted `roles/secretmanager.secretAccessor` for the resource. // @@ -311,9 +348,6 @@ message AzureBlobStorageData { // If `credentials_secret` is specified, do not specify // [azure_credentials][google.storagetransfer.v1.AzureBlobStorageData.azure_credentials]. // - // This feature is in - // [preview](https://cloud.google.com/terms/service-terms#1). - // // Format: `projects/{project_number}/secrets/{secret_name}` string credentials_secret = 7 [(google.api.field_behavior) = OPTIONAL]; } @@ -371,6 +405,15 @@ message PosixFilesystem { string root_directory = 1; } +// An HdfsData resource specifies a path within an HDFS entity (e.g. a cluster). +// All cluster-specific settings, such as namenodes and ports, are configured on +// the transfer agents servicing requests, so HdfsData only contains the root +// path to the data in our transfer. +message HdfsData { + // Root path to transfer files. + string path = 1; +} + // An AwsS3CompatibleData resource. message AwsS3CompatibleData { // Required. Specifies the name of the bucket. @@ -473,7 +516,7 @@ message S3CompatibleMetadata { ListApi list_api = 4; } -// Represents an On-Premises Agent pool. +// Represents an agent pool. message AgentPool { option (google.api.resource) = { type: "storagetransfer.googleapis.com/agentPools" @@ -485,8 +528,8 @@ message AgentPool { // Default value. This value is unused. STATE_UNSPECIFIED = 0; - // This is an initialization state. During this stage, the resources such as - // Pub/Sub topics are allocated for the AgentPool. + // This is an initialization state. During this stage, resources are + // allocated for the AgentPool. CREATING = 1; // Determines that the AgentPool is created for use. At this state, Agents @@ -602,6 +645,9 @@ message TransferSpec { // An AWS S3 compatible data source. AwsS3CompatibleData aws_s3_compatible_data_source = 19; + + // An HDFS cluster data source. + HdfsData hdfs_data_source = 20; } oneof intermediate_data_location { @@ -768,10 +814,10 @@ message MetadataOptions { // Do not preserve the `timeCreated` metadata from the source object. TIME_CREATED_SKIP = 1; - // Preserves the source object's `timeCreated` metadata in the `customTime` - // field in the destination object. Note that any value stored in the - // source object's `customTime` field will not be propagated to the - // destination object. + // Preserves the source object's `timeCreated` or `lastModified` metadata in + // the `customTime` field in the destination object. Note that any value + // stored in the source object's `customTime` field will not be propagated + // to the destination object. TIME_CREATED_PRESERVE_AS_CUSTOM_TIME = 2; } @@ -818,9 +864,10 @@ message MetadataOptions { KmsKey kms_key = 8; // Specifies how each object's `timeCreated` metadata is preserved for - // transfers between Google Cloud Storage buckets. If unspecified, the - // default behavior is the same as + // transfers. If unspecified, the default behavior is the same as // [TIME_CREATED_SKIP][google.storagetransfer.v1.MetadataOptions.TimeCreated.TIME_CREATED_SKIP]. + // This behavior is supported for transfers to Cloud Storage buckets from + // Cloud Storage, Amazon S3, S3-compatible storage, and Azure sources. TimeCreated time_created = 9; } @@ -986,8 +1033,7 @@ message TransferJob { // Transfer specification. TransferSpec transfer_spec = 4; - // Notification configuration. This is not supported for transfers involving - // PosixFilesystem. + // Notification configuration. NotificationConfig notification_config = 11; // Logging configuration. @@ -1219,16 +1265,10 @@ message NotificationConfig { // Specifies the logging behavior for transfer operations. // -// For cloud-to-cloud transfers, logs are sent to Cloud Logging. See +// Logs can be sent to Cloud Logging for all transfer types. See // [Read transfer // logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for // details. -// -// For transfers to or from a POSIX file system, logs are stored in the -// Cloud Storage bucket that is the source or sink of the transfer. -// See [Managing Transfer for on-premises jobs] -// (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs) -// for details. message LoggingConfig { // Loggable actions. enum LoggableAction { @@ -1260,19 +1300,18 @@ message LoggingConfig { } // Specifies the actions to be logged. If empty, no logs are generated. - // Not supported for transfers with PosixFilesystem data sources; use - // [enable_onprem_gcs_transfer_logs][google.storagetransfer.v1.LoggingConfig.enable_onprem_gcs_transfer_logs] - // instead. repeated LoggableAction log_actions = 1; // States in which `log_actions` are logged. If empty, no logs are generated. - // Not supported for transfers with PosixFilesystem data sources; use - // [enable_onprem_gcs_transfer_logs][google.storagetransfer.v1.LoggingConfig.enable_onprem_gcs_transfer_logs] - // instead. repeated LoggableActionState log_action_states = 2; - // For transfers with a PosixFilesystem source, this option enables the Cloud - // Storage transfer logs for this transfer. + // For PosixFilesystem transfers, enables + // [file system transfer + // logs](https://cloud.google.com/storage-transfer/docs/on-prem-transfer-log-format) + // instead of, or in addition to, Cloud Logging. + // + // This option ignores [LoggableAction] and [LoggableActionState]. If these + // are set, Cloud Logging will also be enabled for this transfer. bool enable_onprem_gcs_transfer_logs = 3; } diff --git a/packages/google-storagetransfer/protos/protos.d.ts b/packages/google-storagetransfer/protos/protos.d.ts index edb45852808..e8b9ce502a0 100644 --- a/packages/google-storagetransfer/protos/protos.d.ts +++ b/packages/google-storagetransfer/protos/protos.d.ts @@ -2427,6 +2427,9 @@ export namespace google { /** GcsData path */ path?: (string|null); + + /** GcsData managedFolderTransferEnabled */ + managedFolderTransferEnabled?: (boolean|null); } /** Represents a GcsData. */ @@ -2444,6 +2447,9 @@ export namespace google { /** GcsData path. */ public path: string; + /** GcsData managedFolderTransferEnabled. */ + public managedFolderTransferEnabled: boolean; + /** * Creates a new GcsData instance using the specified properties. * @param [properties] Properties to set @@ -2537,8 +2543,14 @@ export namespace google { /** AwsS3Data roleArn */ roleArn?: (string|null); + /** AwsS3Data cloudfrontDomain */ + cloudfrontDomain?: (string|null); + /** AwsS3Data credentialsSecret */ credentialsSecret?: (string|null); + + /** AwsS3Data managedPrivateNetwork */ + managedPrivateNetwork?: (boolean|null); } /** Represents an AwsS3Data. */ @@ -2562,9 +2574,18 @@ export namespace google { /** AwsS3Data roleArn. */ public roleArn: string; + /** AwsS3Data cloudfrontDomain. */ + public cloudfrontDomain: string; + /** AwsS3Data credentialsSecret. */ public credentialsSecret: string; + /** AwsS3Data managedPrivateNetwork. */ + public managedPrivateNetwork?: (boolean|null); + + /** AwsS3Data privateNetwork. */ + public privateNetwork?: "managedPrivateNetwork"; + /** * Creates a new AwsS3Data instance using the specified properties. * @param [properties] Properties to set @@ -2958,6 +2979,103 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a HdfsData. */ + interface IHdfsData { + + /** HdfsData path */ + path?: (string|null); + } + + /** Represents a HdfsData. */ + class HdfsData implements IHdfsData { + + /** + * Constructs a new HdfsData. + * @param [properties] Properties to set + */ + constructor(properties?: google.storagetransfer.v1.IHdfsData); + + /** HdfsData path. */ + public path: string; + + /** + * Creates a new HdfsData instance using the specified properties. + * @param [properties] Properties to set + * @returns HdfsData instance + */ + public static create(properties?: google.storagetransfer.v1.IHdfsData): google.storagetransfer.v1.HdfsData; + + /** + * Encodes the specified HdfsData message. Does not implicitly {@link google.storagetransfer.v1.HdfsData.verify|verify} messages. + * @param message HdfsData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.storagetransfer.v1.IHdfsData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HdfsData message, length delimited. Does not implicitly {@link google.storagetransfer.v1.HdfsData.verify|verify} messages. + * @param message HdfsData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.storagetransfer.v1.IHdfsData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HdfsData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HdfsData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.storagetransfer.v1.HdfsData; + + /** + * Decodes a HdfsData message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HdfsData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.storagetransfer.v1.HdfsData; + + /** + * Verifies a HdfsData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a HdfsData message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HdfsData + */ + public static fromObject(object: { [k: string]: any }): google.storagetransfer.v1.HdfsData; + + /** + * Creates a plain object from a HdfsData message. Also converts values to other types if specified. + * @param message HdfsData + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.storagetransfer.v1.HdfsData, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HdfsData to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for HdfsData + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of an AwsS3CompatibleData. */ interface IAwsS3CompatibleData { @@ -3610,6 +3728,9 @@ export namespace google { /** TransferSpec awsS3CompatibleDataSource */ awsS3CompatibleDataSource?: (google.storagetransfer.v1.IAwsS3CompatibleData|null); + /** TransferSpec hdfsDataSource */ + hdfsDataSource?: (google.storagetransfer.v1.IHdfsData|null); + /** TransferSpec gcsIntermediateDataLocation */ gcsIntermediateDataLocation?: (google.storagetransfer.v1.IGcsData|null); @@ -3662,6 +3783,9 @@ export namespace google { /** TransferSpec awsS3CompatibleDataSource. */ public awsS3CompatibleDataSource?: (google.storagetransfer.v1.IAwsS3CompatibleData|null); + /** TransferSpec hdfsDataSource. */ + public hdfsDataSource?: (google.storagetransfer.v1.IHdfsData|null); + /** TransferSpec gcsIntermediateDataLocation. */ public gcsIntermediateDataLocation?: (google.storagetransfer.v1.IGcsData|null); @@ -3684,7 +3808,7 @@ export namespace google { public dataSink?: ("gcsDataSink"|"posixDataSink"); /** TransferSpec dataSource. */ - public dataSource?: ("gcsDataSource"|"awsS3DataSource"|"httpDataSource"|"posixDataSource"|"azureBlobStorageDataSource"|"awsS3CompatibleDataSource"); + public dataSource?: ("gcsDataSource"|"awsS3DataSource"|"httpDataSource"|"posixDataSource"|"azureBlobStorageDataSource"|"awsS3CompatibleDataSource"|"hdfsDataSource"); /** TransferSpec intermediateDataLocation. */ public intermediateDataLocation?: "gcsIntermediateDataLocation"; diff --git a/packages/google-storagetransfer/protos/protos.js b/packages/google-storagetransfer/protos/protos.js index a02a0a73594..d6e61c12e05 100644 --- a/packages/google-storagetransfer/protos/protos.js +++ b/packages/google-storagetransfer/protos/protos.js @@ -5290,6 +5290,7 @@ * @interface IGcsData * @property {string|null} [bucketName] GcsData bucketName * @property {string|null} [path] GcsData path + * @property {boolean|null} [managedFolderTransferEnabled] GcsData managedFolderTransferEnabled */ /** @@ -5323,6 +5324,14 @@ */ GcsData.prototype.path = ""; + /** + * GcsData managedFolderTransferEnabled. + * @member {boolean} managedFolderTransferEnabled + * @memberof google.storagetransfer.v1.GcsData + * @instance + */ + GcsData.prototype.managedFolderTransferEnabled = false; + /** * Creates a new GcsData instance using the specified properties. * @function create @@ -5351,6 +5360,8 @@ writer.uint32(/* id 1, wireType 2 =*/10).string(message.bucketName); if (message.path != null && Object.hasOwnProperty.call(message, "path")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.path); + if (message.managedFolderTransferEnabled != null && Object.hasOwnProperty.call(message, "managedFolderTransferEnabled")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.managedFolderTransferEnabled); return writer; }; @@ -5393,6 +5404,10 @@ message.path = reader.string(); break; } + case 4: { + message.managedFolderTransferEnabled = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -5434,6 +5449,9 @@ if (message.path != null && message.hasOwnProperty("path")) if (!$util.isString(message.path)) return "path: string expected"; + if (message.managedFolderTransferEnabled != null && message.hasOwnProperty("managedFolderTransferEnabled")) + if (typeof message.managedFolderTransferEnabled !== "boolean") + return "managedFolderTransferEnabled: boolean expected"; return null; }; @@ -5453,6 +5471,8 @@ message.bucketName = String(object.bucketName); if (object.path != null) message.path = String(object.path); + if (object.managedFolderTransferEnabled != null) + message.managedFolderTransferEnabled = Boolean(object.managedFolderTransferEnabled); return message; }; @@ -5472,11 +5492,14 @@ if (options.defaults) { object.bucketName = ""; object.path = ""; + object.managedFolderTransferEnabled = false; } if (message.bucketName != null && message.hasOwnProperty("bucketName")) object.bucketName = message.bucketName; if (message.path != null && message.hasOwnProperty("path")) object.path = message.path; + if (message.managedFolderTransferEnabled != null && message.hasOwnProperty("managedFolderTransferEnabled")) + object.managedFolderTransferEnabled = message.managedFolderTransferEnabled; return object; }; @@ -5519,7 +5542,9 @@ * @property {google.storagetransfer.v1.IAwsAccessKey|null} [awsAccessKey] AwsS3Data awsAccessKey * @property {string|null} [path] AwsS3Data path * @property {string|null} [roleArn] AwsS3Data roleArn + * @property {string|null} [cloudfrontDomain] AwsS3Data cloudfrontDomain * @property {string|null} [credentialsSecret] AwsS3Data credentialsSecret + * @property {boolean|null} [managedPrivateNetwork] AwsS3Data managedPrivateNetwork */ /** @@ -5569,6 +5594,14 @@ */ AwsS3Data.prototype.roleArn = ""; + /** + * AwsS3Data cloudfrontDomain. + * @member {string} cloudfrontDomain + * @memberof google.storagetransfer.v1.AwsS3Data + * @instance + */ + AwsS3Data.prototype.cloudfrontDomain = ""; + /** * AwsS3Data credentialsSecret. * @member {string} credentialsSecret @@ -5577,6 +5610,28 @@ */ AwsS3Data.prototype.credentialsSecret = ""; + /** + * AwsS3Data managedPrivateNetwork. + * @member {boolean|null|undefined} managedPrivateNetwork + * @memberof google.storagetransfer.v1.AwsS3Data + * @instance + */ + AwsS3Data.prototype.managedPrivateNetwork = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * AwsS3Data privateNetwork. + * @member {"managedPrivateNetwork"|undefined} privateNetwork + * @memberof google.storagetransfer.v1.AwsS3Data + * @instance + */ + Object.defineProperty(AwsS3Data.prototype, "privateNetwork", { + get: $util.oneOfGetter($oneOfFields = ["managedPrivateNetwork"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new AwsS3Data instance using the specified properties. * @function create @@ -5609,8 +5664,12 @@ writer.uint32(/* id 3, wireType 2 =*/26).string(message.path); if (message.roleArn != null && Object.hasOwnProperty.call(message, "roleArn")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.roleArn); + if (message.cloudfrontDomain != null && Object.hasOwnProperty.call(message, "cloudfrontDomain")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.cloudfrontDomain); if (message.credentialsSecret != null && Object.hasOwnProperty.call(message, "credentialsSecret")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.credentialsSecret); + if (message.managedPrivateNetwork != null && Object.hasOwnProperty.call(message, "managedPrivateNetwork")) + writer.uint32(/* id 8, wireType 0 =*/64).bool(message.managedPrivateNetwork); return writer; }; @@ -5661,10 +5720,18 @@ message.roleArn = reader.string(); break; } + case 6: { + message.cloudfrontDomain = reader.string(); + break; + } case 7: { message.credentialsSecret = reader.string(); break; } + case 8: { + message.managedPrivateNetwork = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -5700,6 +5767,7 @@ AwsS3Data.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; if (message.bucketName != null && message.hasOwnProperty("bucketName")) if (!$util.isString(message.bucketName)) return "bucketName: string expected"; @@ -5714,9 +5782,17 @@ if (message.roleArn != null && message.hasOwnProperty("roleArn")) if (!$util.isString(message.roleArn)) return "roleArn: string expected"; + if (message.cloudfrontDomain != null && message.hasOwnProperty("cloudfrontDomain")) + if (!$util.isString(message.cloudfrontDomain)) + return "cloudfrontDomain: string expected"; if (message.credentialsSecret != null && message.hasOwnProperty("credentialsSecret")) if (!$util.isString(message.credentialsSecret)) return "credentialsSecret: string expected"; + if (message.managedPrivateNetwork != null && message.hasOwnProperty("managedPrivateNetwork")) { + properties.privateNetwork = 1; + if (typeof message.managedPrivateNetwork !== "boolean") + return "managedPrivateNetwork: boolean expected"; + } return null; }; @@ -5743,8 +5819,12 @@ message.path = String(object.path); if (object.roleArn != null) message.roleArn = String(object.roleArn); + if (object.cloudfrontDomain != null) + message.cloudfrontDomain = String(object.cloudfrontDomain); if (object.credentialsSecret != null) message.credentialsSecret = String(object.credentialsSecret); + if (object.managedPrivateNetwork != null) + message.managedPrivateNetwork = Boolean(object.managedPrivateNetwork); return message; }; @@ -5766,6 +5846,7 @@ object.awsAccessKey = null; object.path = ""; object.roleArn = ""; + object.cloudfrontDomain = ""; object.credentialsSecret = ""; } if (message.bucketName != null && message.hasOwnProperty("bucketName")) @@ -5776,8 +5857,15 @@ object.path = message.path; if (message.roleArn != null && message.hasOwnProperty("roleArn")) object.roleArn = message.roleArn; + if (message.cloudfrontDomain != null && message.hasOwnProperty("cloudfrontDomain")) + object.cloudfrontDomain = message.cloudfrontDomain; if (message.credentialsSecret != null && message.hasOwnProperty("credentialsSecret")) object.credentialsSecret = message.credentialsSecret; + if (message.managedPrivateNetwork != null && message.hasOwnProperty("managedPrivateNetwork")) { + object.managedPrivateNetwork = message.managedPrivateNetwork; + if (options.oneofs) + object.privateNetwork = "managedPrivateNetwork"; + } return object; }; @@ -6517,6 +6605,209 @@ return PosixFilesystem; })(); + v1.HdfsData = (function() { + + /** + * Properties of a HdfsData. + * @memberof google.storagetransfer.v1 + * @interface IHdfsData + * @property {string|null} [path] HdfsData path + */ + + /** + * Constructs a new HdfsData. + * @memberof google.storagetransfer.v1 + * @classdesc Represents a HdfsData. + * @implements IHdfsData + * @constructor + * @param {google.storagetransfer.v1.IHdfsData=} [properties] Properties to set + */ + function HdfsData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * HdfsData path. + * @member {string} path + * @memberof google.storagetransfer.v1.HdfsData + * @instance + */ + HdfsData.prototype.path = ""; + + /** + * Creates a new HdfsData instance using the specified properties. + * @function create + * @memberof google.storagetransfer.v1.HdfsData + * @static + * @param {google.storagetransfer.v1.IHdfsData=} [properties] Properties to set + * @returns {google.storagetransfer.v1.HdfsData} HdfsData instance + */ + HdfsData.create = function create(properties) { + return new HdfsData(properties); + }; + + /** + * Encodes the specified HdfsData message. Does not implicitly {@link google.storagetransfer.v1.HdfsData.verify|verify} messages. + * @function encode + * @memberof google.storagetransfer.v1.HdfsData + * @static + * @param {google.storagetransfer.v1.IHdfsData} message HdfsData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HdfsData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && Object.hasOwnProperty.call(message, "path")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.path); + return writer; + }; + + /** + * Encodes the specified HdfsData message, length delimited. Does not implicitly {@link google.storagetransfer.v1.HdfsData.verify|verify} messages. + * @function encodeDelimited + * @memberof google.storagetransfer.v1.HdfsData + * @static + * @param {google.storagetransfer.v1.IHdfsData} message HdfsData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HdfsData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a HdfsData message from the specified reader or buffer. + * @function decode + * @memberof google.storagetransfer.v1.HdfsData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.storagetransfer.v1.HdfsData} HdfsData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HdfsData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.storagetransfer.v1.HdfsData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.path = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a HdfsData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.storagetransfer.v1.HdfsData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.storagetransfer.v1.HdfsData} HdfsData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HdfsData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a HdfsData message. + * @function verify + * @memberof google.storagetransfer.v1.HdfsData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + HdfsData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) + if (!$util.isString(message.path)) + return "path: string expected"; + return null; + }; + + /** + * Creates a HdfsData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.storagetransfer.v1.HdfsData + * @static + * @param {Object.} object Plain object + * @returns {google.storagetransfer.v1.HdfsData} HdfsData + */ + HdfsData.fromObject = function fromObject(object) { + if (object instanceof $root.google.storagetransfer.v1.HdfsData) + return object; + var message = new $root.google.storagetransfer.v1.HdfsData(); + if (object.path != null) + message.path = String(object.path); + return message; + }; + + /** + * Creates a plain object from a HdfsData message. Also converts values to other types if specified. + * @function toObject + * @memberof google.storagetransfer.v1.HdfsData + * @static + * @param {google.storagetransfer.v1.HdfsData} message HdfsData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + HdfsData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.path = ""; + if (message.path != null && message.hasOwnProperty("path")) + object.path = message.path; + return object; + }; + + /** + * Converts this HdfsData to JSON. + * @function toJSON + * @memberof google.storagetransfer.v1.HdfsData + * @instance + * @returns {Object.} JSON object + */ + HdfsData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for HdfsData + * @function getTypeUrl + * @memberof google.storagetransfer.v1.HdfsData + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + HdfsData.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.storagetransfer.v1.HdfsData"; + }; + + return HdfsData; + })(); + v1.AwsS3CompatibleData = (function() { /** @@ -8175,6 +8466,7 @@ * @property {google.storagetransfer.v1.IPosixFilesystem|null} [posixDataSource] TransferSpec posixDataSource * @property {google.storagetransfer.v1.IAzureBlobStorageData|null} [azureBlobStorageDataSource] TransferSpec azureBlobStorageDataSource * @property {google.storagetransfer.v1.IAwsS3CompatibleData|null} [awsS3CompatibleDataSource] TransferSpec awsS3CompatibleDataSource + * @property {google.storagetransfer.v1.IHdfsData|null} [hdfsDataSource] TransferSpec hdfsDataSource * @property {google.storagetransfer.v1.IGcsData|null} [gcsIntermediateDataLocation] TransferSpec gcsIntermediateDataLocation * @property {google.storagetransfer.v1.IObjectConditions|null} [objectConditions] TransferSpec objectConditions * @property {google.storagetransfer.v1.ITransferOptions|null} [transferOptions] TransferSpec transferOptions @@ -8262,6 +8554,14 @@ */ TransferSpec.prototype.awsS3CompatibleDataSource = null; + /** + * TransferSpec hdfsDataSource. + * @member {google.storagetransfer.v1.IHdfsData|null|undefined} hdfsDataSource + * @memberof google.storagetransfer.v1.TransferSpec + * @instance + */ + TransferSpec.prototype.hdfsDataSource = null; + /** * TransferSpec gcsIntermediateDataLocation. * @member {google.storagetransfer.v1.IGcsData|null|undefined} gcsIntermediateDataLocation @@ -8326,12 +8626,12 @@ /** * TransferSpec dataSource. - * @member {"gcsDataSource"|"awsS3DataSource"|"httpDataSource"|"posixDataSource"|"azureBlobStorageDataSource"|"awsS3CompatibleDataSource"|undefined} dataSource + * @member {"gcsDataSource"|"awsS3DataSource"|"httpDataSource"|"posixDataSource"|"azureBlobStorageDataSource"|"awsS3CompatibleDataSource"|"hdfsDataSource"|undefined} dataSource * @memberof google.storagetransfer.v1.TransferSpec * @instance */ Object.defineProperty(TransferSpec.prototype, "dataSource", { - get: $util.oneOfGetter($oneOfFields = ["gcsDataSource", "awsS3DataSource", "httpDataSource", "posixDataSource", "azureBlobStorageDataSource", "awsS3CompatibleDataSource"]), + get: $util.oneOfGetter($oneOfFields = ["gcsDataSource", "awsS3DataSource", "httpDataSource", "posixDataSource", "azureBlobStorageDataSource", "awsS3CompatibleDataSource", "hdfsDataSource"]), set: $util.oneOfSetter($oneOfFields) }); @@ -8398,6 +8698,8 @@ writer.uint32(/* id 18, wireType 2 =*/146).string(message.sinkAgentPoolName); if (message.awsS3CompatibleDataSource != null && Object.hasOwnProperty.call(message, "awsS3CompatibleDataSource")) $root.google.storagetransfer.v1.AwsS3CompatibleData.encode(message.awsS3CompatibleDataSource, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); + if (message.hdfsDataSource != null && Object.hasOwnProperty.call(message, "hdfsDataSource")) + $root.google.storagetransfer.v1.HdfsData.encode(message.hdfsDataSource, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); return writer; }; @@ -8464,6 +8766,10 @@ message.awsS3CompatibleDataSource = $root.google.storagetransfer.v1.AwsS3CompatibleData.decode(reader, reader.uint32()); break; } + case 20: { + message.hdfsDataSource = $root.google.storagetransfer.v1.HdfsData.decode(reader, reader.uint32()); + break; + } case 16: { message.gcsIntermediateDataLocation = $root.google.storagetransfer.v1.GcsData.decode(reader, reader.uint32()); break; @@ -8600,6 +8906,16 @@ return "awsS3CompatibleDataSource." + error; } } + if (message.hdfsDataSource != null && message.hasOwnProperty("hdfsDataSource")) { + if (properties.dataSource === 1) + return "dataSource: multiple values"; + properties.dataSource = 1; + { + var error = $root.google.storagetransfer.v1.HdfsData.verify(message.hdfsDataSource); + if (error) + return "hdfsDataSource." + error; + } + } if (message.gcsIntermediateDataLocation != null && message.hasOwnProperty("gcsIntermediateDataLocation")) { properties.intermediateDataLocation = 1; { @@ -8684,6 +9000,11 @@ throw TypeError(".google.storagetransfer.v1.TransferSpec.awsS3CompatibleDataSource: object expected"); message.awsS3CompatibleDataSource = $root.google.storagetransfer.v1.AwsS3CompatibleData.fromObject(object.awsS3CompatibleDataSource); } + if (object.hdfsDataSource != null) { + if (typeof object.hdfsDataSource !== "object") + throw TypeError(".google.storagetransfer.v1.TransferSpec.hdfsDataSource: object expected"); + message.hdfsDataSource = $root.google.storagetransfer.v1.HdfsData.fromObject(object.hdfsDataSource); + } if (object.gcsIntermediateDataLocation != null) { if (typeof object.gcsIntermediateDataLocation !== "object") throw TypeError(".google.storagetransfer.v1.TransferSpec.gcsIntermediateDataLocation: object expected"); @@ -8786,6 +9107,11 @@ if (options.oneofs) object.dataSource = "awsS3CompatibleDataSource"; } + if (message.hdfsDataSource != null && message.hasOwnProperty("hdfsDataSource")) { + object.hdfsDataSource = $root.google.storagetransfer.v1.HdfsData.toObject(message.hdfsDataSource, options); + if (options.oneofs) + object.dataSource = "hdfsDataSource"; + } return object; }; diff --git a/packages/google-storagetransfer/protos/protos.json b/packages/google-storagetransfer/protos/protos.json index 4cd2898d6d2..0edb09c16a6 100644 --- a/packages/google-storagetransfer/protos/protos.json +++ b/packages/google-storagetransfer/protos/protos.json @@ -601,10 +601,21 @@ "path": { "type": "string", "id": 3 + }, + "managedFolderTransferEnabled": { + "type": "bool", + "id": 4 } } }, "AwsS3Data": { + "oneofs": { + "privateNetwork": { + "oneof": [ + "managedPrivateNetwork" + ] + } + }, "fields": { "bucketName": { "type": "string", @@ -628,12 +639,23 @@ "type": "string", "id": 4 }, + "cloudfrontDomain": { + "type": "string", + "id": 6, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, "credentialsSecret": { "type": "string", "id": 7, "options": { "(google.api.field_behavior)": "OPTIONAL" } + }, + "managedPrivateNetwork": { + "type": "bool", + "id": 8 } } }, @@ -692,6 +714,14 @@ } } }, + "HdfsData": { + "fields": { + "path": { + "type": "string", + "id": 1 + } + } + }, "AwsS3CompatibleData": { "oneofs": { "dataProvider": { @@ -876,7 +906,8 @@ "httpDataSource", "posixDataSource", "azureBlobStorageDataSource", - "awsS3CompatibleDataSource" + "awsS3CompatibleDataSource", + "hdfsDataSource" ] }, "intermediateDataLocation": { @@ -918,6 +949,10 @@ "type": "AwsS3CompatibleData", "id": 19 }, + "hdfsDataSource": { + "type": "HdfsData", + "id": 20 + }, "gcsIntermediateDataLocation": { "type": "GcsData", "id": 16