Skip to content
v2.273.0

UserData Class ​

Instance User Data.

Example ​

ts
declare const cluster: eks.Cluster;
const userData = ec2.UserData.forLinux();
userData.addCommands(
  'set -o xtrace',
  `/etc/eks/bootstrap.sh ${cluster.clusterName}`,
);
const lt = new ec2.CfnLaunchTemplate(this, 'LaunchTemplate', {
  launchTemplateData: {
    imageId: 'some-ami-id', // custom AMI
    instanceType: 't3.small',
    userData: Fn.base64(userData.render()),
  },
});
cluster.addNodegroupCapacity('extra-ng', {
  launchTemplateSpec: {
    id: lt.ref,
    version: lt.attrLatestVersionNumber,
  },
});

Initializer ​

ts
new UserData()
python
UserData()
java
new UserData()
csharp
new UserData()
go
NewUserData()

Methods ​

addCommands(...commands: string[]): voiddef add_commands(self, commands: str) -> Nonepublic void addCommands(String commands)public void AddCommands(string commands)func AddCommands(Commands *string)#
Add one or more commands to the user data.
addExecuteFileCommand(params: ExecuteFileOptions): voiddef add_execute_file_command(self, params: ExecuteFileOptions) -> Nonepublic void addExecuteFileCommand(ExecuteFileOptions params)public void AddExecuteFileCommand(ExecuteFileOptions params)func AddExecuteFileCommand(Params ExecuteFileOptions)#
Adds commands to execute a file.
addOnExitCommands(...commands: string[]): voiddef add_on_exit_commands(self, commands: str) -> Nonepublic void addOnExitCommands(String commands)public void AddOnExitCommands(string commands)func AddOnExitCommands(Commands *string)#
Add one or more commands to the user data that will run when the script exits.
addS3DownloadCommand(params: S3DownloadOptions): stringdef add_s3_download_command(self, params: S3DownloadOptions) -> strpublic String addS3DownloadCommand(S3DownloadOptions params)public string AddS3DownloadCommand(S3DownloadOptions params)func AddS3DownloadCommand(Params S3DownloadOptions) *string#
Adds commands to download a file from S3.
returns

Returns: : The local path that the file will be downloaded to

addSignalOnExitCommand(resource: Resource): voiddef add_signal_on_exit_command(self, resource: Resource) -> Nonepublic void addSignalOnExitCommand(Resource resource)public void AddSignalOnExitCommand(Resource resource)func AddSignalOnExitCommand(Resource Resource)#
Adds a command which will send a cfn-signal when the user data script ends.
custom(content: string): UserData // chainable@staticmethod def custom(content: str) -> UserDatapublic static UserData custom(String content)public static UserData Custom(string content)func Custom(Content *string) UserDatastatic#
Create a userdata object with custom content.
forLinux(options?: LinuxUserDataOptions): UserData // chainable@staticmethod def for_linux(options: typing.Optional[LinuxUserDataOptions] = None) -> UserDatapublic static UserData forLinux(LinuxUserDataOptions options)public static UserData ForLinux(LinuxUserDataOptions? options = null)func ForLinux(Options LinuxUserDataOptions) UserDatastatic#
Create a userdata object for Linux hosts.
forOperatingSystem(os: OperatingSystemType): UserData // chainable@staticmethod def for_operating_system(os: OperatingSystemType) -> UserDatapublic static UserData forOperatingSystem(OperatingSystemType os)public static UserData ForOperatingSystem(OperatingSystemType os)func ForOperatingSystem(Os OperatingSystemType) UserDatastatic#
forWindows(options?: WindowsUserDataOptions): UserData // chainable@staticmethod def for_windows(options: typing.Optional[WindowsUserDataOptions] = None) -> UserDatapublic static UserData forWindows(WindowsUserDataOptions options)public static UserData ForWindows(WindowsUserDataOptions? options = null)func ForWindows(Options WindowsUserDataOptions) UserDatastatic#
Create a userdata object for Windows hosts.
render(): stringdef render(self, ) -> strpublic String render()public string Render()func Render() *string#
Render the UserData for use in a construct.