# Google Cloud Storage Transfer V1 Client - Class AwsS3Data (2.4.0)

2.4.0 (latest) 2.3.2 2.2.1 2.1.1 2.0.2 1.5.0 1.4.5 1.3.1 1.2.0 1.1.1 1.0.6 Reference documentation and code samples for the Google Cloud Storage Transfer V1 Client class AwsS3Data.

An AwsS3Data resource can be a data source, but not a data sink.

In an AwsS3Data resource, an object's name is the S3 object's key name.

Generated from protobuf message `google.storagetransfer.v1.AwsS3Data`

## Namespace

Google \\ Cloud \\ StorageTransfer \\ V1

## Methods

### __construct

Constructor.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `data` | `array` Optional. Data for populating the Message object. |
| `↳ bucket_name` | `string` Required. S3 Bucket name (see [Creating a bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)). |
| `↳ aws_access_key` | `https://docs.cloud.google.com/php/docs/reference/cloud-storage-transfer/latest/V1.AwsAccessKey` Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](https://docs.cloud.google.com/storage-transfer/docs/data-retention#user-credentials). |
| `↳ path` | `string` Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'. |
| `↳ role_arn` | `string` The Amazon Resource Name (ARN) of the role to support temporary credentials via `AssumeRoleWithWebIdentity`. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a `AssumeRoleWithWebIdentity` call for the provided role using the [GoogleServiceAccount](https://docs.cloud.google.com/php/docs/reference/cloud-storage-transfer/latest/V1.GoogleServiceAccount) for this project. |
| `↳ cloudfront_domain` | `string` 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://`. |
| `↳ credentials_secret` | `string` 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](https://docs.cloud.google.com/php/docs/reference/cloud-storage-transfer/latest/V1.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}` |
| `↳ managed_private_network` | `bool` Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service. |

### getBucketName

Required. S3 Bucket name (see
[Creating a
bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` |   |

### setBucketName

Required. S3 Bucket name (see
[Creating a
bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `string` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getAwsAccessKey

Input only. AWS access key used to sign the API requests to the AWS S3
bucket. Permissions on the bucket must be granted to the access ID of the
AWS access key.

For information on our data retention policy for user credentials, see
[User credentials](https://docs.cloud.google.com/storage-transfer/docs/data-retention#user-credentials).

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/php/docs/reference/cloud-storage-transfer/latest/V1.AwsAccessKey|null` |   |

### hasAwsAccessKey

### clearAwsAccessKey

### setAwsAccessKey

Input only. AWS access key used to sign the API requests to the AWS S3
bucket. Permissions on the bucket must be granted to the access ID of the
AWS access key.

For information on our data retention policy for user credentials, see
[User credentials](https://docs.cloud.google.com/storage-transfer/docs/data-retention#user-credentials).

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `https://docs.cloud.google.com/php/docs/reference/cloud-storage-transfer/latest/V1.AwsAccessKey` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getPath

Root path to transfer objects.

Must be an empty string or full path name that ends with a '/'. This field
is treated as an object prefix. As such, it should generally not begin with
a '/'.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` |   |

### setPath

Root path to transfer objects.

Must be an empty string or full path name that ends with a '/'. This field
is treated as an object prefix. As such, it should generally not begin with
a '/'.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `string` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getRoleArn

The Amazon Resource Name (ARN) of the role to support temporary
credentials via `AssumeRoleWithWebIdentity`. For more information about
ARNs, see [IAM
ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns).

When a role ARN is provided, Transfer Service fetches temporary
credentials for the session using a `AssumeRoleWithWebIdentity` call for
the provided role using the
[GoogleServiceAccount](https://docs.cloud.google.com/php/docs/reference/cloud-storage-transfer/latest/V1.GoogleServiceAccount) for
this project.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` |   |

### setRoleArn

The Amazon Resource Name (ARN) of the role to support temporary
credentials via `AssumeRoleWithWebIdentity`. For more information about
ARNs, see [IAM
ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns).

When a role ARN is provided, Transfer Service fetches temporary
credentials for the session using a `AssumeRoleWithWebIdentity` call for
the provided role using the
[GoogleServiceAccount](https://docs.cloud.google.com/php/docs/reference/cloud-storage-transfer/latest/V1.GoogleServiceAccount) for
this project.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `string` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getCloudfrontDomain

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://`.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` |   |

### setCloudfrontDomain

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://`.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `string` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getCredentialsSecret

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](https://docs.cloud.google.com/php/docs/reference/cloud-storage-transfer/latest/V1.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}`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` |   |

### setCredentialsSecret

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](https://docs.cloud.google.com/php/docs/reference/cloud-storage-transfer/latest/V1.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}`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `string` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getManagedPrivateNetwork

Egress bytes over a Google-managed private network.

This network is shared between other users of Storage Transfer Service.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `bool` |   |

### hasManagedPrivateNetwork

### setManagedPrivateNetwork

Egress bytes over a Google-managed private network.

This network is shared between other users of Storage Transfer Service.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `bool` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getPrivateNetwork

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `string` |   |