Skip to content
v2.277.0

ExecuteFileOptions Struct ​

Options when executing a file.

Example ​

ts
import { Asset } from 'aws-cdk-lib/aws-s3-assets';

declare const instance: ec2.Instance;

const asset = new Asset(this, 'Asset', {
  path: './configure.sh'
});

const localPath = instance.userData.addS3DownloadCommand({
  bucket:asset.bucket,
  bucketKey:asset.s3ObjectKey,
  region: 'us-east-1', // Optional
});
instance.userData.addExecuteFileCommand({
  filePath:localPath,
  arguments: '--verbose -y'
});
asset.grantRead(instance.role);
python
from aws_cdk.aws_s3_assets import Asset

# instance: ec2.Instance


asset = Asset(self, "Asset",
    path="./configure.sh"
)

local_path = instance.user_data.add_s3_download_command(
    bucket=asset.bucket,
    bucket_key=asset.s3_object_key,
    region="us-east-1"
)
instance.user_data.add_execute_file_command(
    file_path=local_path,
    arguments="--verbose -y"
)
asset.grant_read(instance.role)
java
import software.amazon.awscdk.services.s3.assets.Asset;

Instance instance;


Asset asset = Asset.Builder.create(this, "Asset")
        .path("./configure.sh")
        .build();

String localPath = instance.userData.addS3DownloadCommand(S3DownloadOptions.builder()
        .bucket(asset.getBucket())
        .bucketKey(asset.getS3ObjectKey())
        .region("us-east-1")
        .build());
instance.userData.addExecuteFileCommand(ExecuteFileOptions.builder()
        .filePath(localPath)
        .arguments("--verbose -y")
        .build());
asset.grantRead(instance.getRole());
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.S3.Assets;

Instance instance;


var asset = new Asset(this, "Asset", new AssetProps {
    Path = "./configure.sh"
});

var localPath = instance.UserData.AddS3DownloadCommand(new S3DownloadOptions {
    Bucket = asset.Bucket,
    BucketKey = asset.S3ObjectKey,
    Region = "us-east-1"
});
instance.UserData.AddExecuteFileCommand(new ExecuteFileOptions {
    FilePath = localPath,
    Arguments = "--verbose -y"
});
asset.GrantRead(instance.Role);
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import "github.com/aws/aws-cdk-go/awscdk"

var instance Instance


asset := awscdk.NewAsset(this, jsii.String("Asset"), &AssetProps{
	Path: jsii.String("./configure.sh"),
})

localPath := instance.UserData.AddS3DownloadCommand(&S3DownloadOptions{
	Bucket: asset.Bucket,
	BucketKey: asset.S3ObjectKey,
	Region: jsii.String("us-east-1"),
})
instance.UserData.AddExecuteFileCommand(&ExecuteFileOptions{
	FilePath: localPath,
	Arguments: jsii.String("--verbose -y"),
})
asset.GrantRead(instance.Role)

Properties ​

argumentsoptionalstringargumentsoptionalstrargumentsoptionalStringArgumentsoptionalstringArgumentsoptional*string#
The arguments to be passed to the file.

Default: No arguments are passed to the file.

filePathstringfile_pathstrfilePathStringFilePathstringFilePath*stringrequired#
The path to the file.