Show / Hide Table of Contents

Class UserData

Instance User Data.

Inheritance
object
UserData
MultipartUserData
Namespace: Amazon.CDK.AWS.EC2
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public abstract class UserData : DeputyBase
Syntax (vb)
Public MustInherit Class UserData Inherits DeputyBase
Remarks

ExampleMetadata: infused

Examples
Cluster cluster;

            var userData = UserData.ForLinux();
            userData.AddCommands("set -o xtrace", $"/etc/eks/bootstrap.sh {cluster.clusterName}");
            var lt = new CfnLaunchTemplate(this, "LaunchTemplate", new CfnLaunchTemplateProps {
                LaunchTemplateData = new LaunchTemplateDataProperty {
                    ImageId = "some-ami-id",  // custom AMI
                    InstanceType = "t3.small",
                    UserData = Fn.Base64(userData.Render())
                }
            });
            cluster.AddNodegroupCapacity("extra-ng", new NodegroupOptions {
                LaunchTemplateSpec = new LaunchTemplateSpec {
                    Id = lt.Ref,
                    Version = lt.AttrLatestVersionNumber
                }
            });

Synopsis

Constructors

UserData()

Instance User Data.

Methods

AddCommands(params string[])

Add one or more commands to the user data.

AddExecuteFileCommand(IExecuteFileOptions)

Adds commands to execute a file.

AddOnExitCommands(params string[])

Add one or more commands to the user data that will run when the script exits.

AddS3DownloadCommand(IS3DownloadOptions)

Adds commands to download a file from S3.

AddSignalOnExitCommand(Resource)

Adds a command which will send a cfn-signal when the user data script ends.

Custom(string)

Create a userdata object with custom content.

ForLinux(ILinuxUserDataOptions?)

Create a userdata object for Linux hosts.

ForOperatingSystem(OperatingSystemType)

Instance User Data.

ForWindows(IWindowsUserDataOptions?)

Create a userdata object for Windows hosts.

Render()

Render the UserData for use in a construct.

Constructors

UserData()

Instance User Data.

protected UserData()
Remarks

ExampleMetadata: infused

Examples
Cluster cluster;

            var userData = UserData.ForLinux();
            userData.AddCommands("set -o xtrace", $"/etc/eks/bootstrap.sh {cluster.clusterName}");
            var lt = new CfnLaunchTemplate(this, "LaunchTemplate", new CfnLaunchTemplateProps {
                LaunchTemplateData = new LaunchTemplateDataProperty {
                    ImageId = "some-ami-id",  // custom AMI
                    InstanceType = "t3.small",
                    UserData = Fn.Base64(userData.Render())
                }
            });
            cluster.AddNodegroupCapacity("extra-ng", new NodegroupOptions {
                LaunchTemplateSpec = new LaunchTemplateSpec {
                    Id = lt.Ref,
                    Version = lt.AttrLatestVersionNumber
                }
            });

Methods

AddCommands(params string[])

Add one or more commands to the user data.

public abstract void AddCommands(params string[] commands)
Parameters
commands string[]
Remarks

ExampleMetadata: infused

AddExecuteFileCommand(IExecuteFileOptions)

Adds commands to execute a file.

public abstract void AddExecuteFileCommand(IExecuteFileOptions @params)
Parameters
params IExecuteFileOptions
Remarks

ExampleMetadata: infused

AddOnExitCommands(params string[])

Add one or more commands to the user data that will run when the script exits.

public abstract void AddOnExitCommands(params string[] commands)
Parameters
commands string[]
Remarks

ExampleMetadata: infused

AddS3DownloadCommand(IS3DownloadOptions)

Adds commands to download a file from S3.

public abstract string AddS3DownloadCommand(IS3DownloadOptions @params)
Parameters
params IS3DownloadOptions
Returns

string

: The local path that the file will be downloaded to

Remarks

ExampleMetadata: infused

AddSignalOnExitCommand(Resource)

Adds a command which will send a cfn-signal when the user data script ends.

public abstract void AddSignalOnExitCommand(Resource resource)
Parameters
resource Resource
Remarks

ExampleMetadata: infused

Custom(string)

Create a userdata object with custom content.

public static UserData Custom(string content)
Parameters
content string
Returns

UserData

Remarks

ExampleMetadata: infused

ForLinux(ILinuxUserDataOptions?)

Create a userdata object for Linux hosts.

public static UserData ForLinux(ILinuxUserDataOptions? options = null)
Parameters
options ILinuxUserDataOptions
Returns

UserData

Remarks

ExampleMetadata: infused

ForOperatingSystem(OperatingSystemType)

Instance User Data.

public static UserData ForOperatingSystem(OperatingSystemType os)
Parameters
os OperatingSystemType
Returns

UserData

Remarks

ExampleMetadata: infused

Examples
Cluster cluster;

            var userData = UserData.ForLinux();
            userData.AddCommands("set -o xtrace", $"/etc/eks/bootstrap.sh {cluster.clusterName}");
            var lt = new CfnLaunchTemplate(this, "LaunchTemplate", new CfnLaunchTemplateProps {
                LaunchTemplateData = new LaunchTemplateDataProperty {
                    ImageId = "some-ami-id",  // custom AMI
                    InstanceType = "t3.small",
                    UserData = Fn.Base64(userData.Render())
                }
            });
            cluster.AddNodegroupCapacity("extra-ng", new NodegroupOptions {
                LaunchTemplateSpec = new LaunchTemplateSpec {
                    Id = lt.Ref,
                    Version = lt.AttrLatestVersionNumber
                }
            });

ForWindows(IWindowsUserDataOptions?)

Create a userdata object for Windows hosts.

public static UserData ForWindows(IWindowsUserDataOptions? options = null)
Parameters
options IWindowsUserDataOptions
Returns

UserData

Remarks

ExampleMetadata: infused

Render()

Render the UserData for use in a construct.

public abstract string Render()
Returns

string

Remarks

ExampleMetadata: infused

Back to top Generated by DocFX