# FileDestination

Where in S3 a file asset needs to be published.

Extends: FileDestination
Extends: AwsDestination

- Source: [`node_modules/@aws-cdk/cloud-assembly-schema/lib/assets/file-asset.d.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/node_modules/@aws-cdk/cloud-assembly-schema/lib/assets/file-asset.d.ts#L66)

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { cloud_assembly_schema } from 'aws-cdk-lib';

declare const assumeRoleAdditionalOptions: any;
const fileDestination: cloud_assembly_schema.FileDestination = {
  bucketName: 'bucketName',
  objectKey: 'objectKey',

  // the properties below are optional
  assumeRoleAdditionalOptions: {
    assumeRoleAdditionalOptionsKey: assumeRoleAdditionalOptions,
  },
  assumeRoleArn: 'assumeRoleArn',
  assumeRoleExternalId: 'assumeRoleExternalId',
  region: 'region',
};
```

## Properties

- `assumeRoleAdditionalOptions`: { [key: string]: any } — Additional options to pass to STS when assuming the role.

  **Default:** No additional options.

  - `RoleArn` should not be used. Use the dedicated `assumeRoleArn` property instead.
  - `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead.

- `assumeRoleArn`: string — The role that needs to be assumed while publishing this asset.

  **Default:** No role will be assumed

- `assumeRoleExternalId`: string — The ExternalId that needs to be supplied while assuming this role.

  **Default:** No ExternalId will be supplied

- `bucketName`: string (required) — The name of the bucket.

- `objectKey`: string (required) — The destination object key.

- `region`: string — The region where this asset will need to be published.

  **Default:** Current region
