aws-cdk-lib.aws_ec2.AttachInitOptions

interface AttachInitOptions

LanguageType name
.NETAmazon.CDK.AWS.EC2.AttachInitOptions
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsec2#AttachInitOptions
Javasoftware.amazon.awscdk.services.ec2.AttachInitOptions
Pythonaws_cdk.aws_ec2.AttachInitOptions
TypeScript (source)aws-cdk-lib » aws_ec2 » AttachInitOptions

Options for attaching a CloudFormationInit to a resource.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_ec2 as ec2 } from 'aws-cdk-lib';
import { aws_iam as iam } from 'aws-cdk-lib';

declare const cfnResource: cdk.CfnResource;
declare const role: iam.Role;
declare const userData: ec2.UserData;
const attachInitOptions: ec2.AttachInitOptions = {
  instanceRole: role,
  platform: ec2.OperatingSystemType.LINUX,
  userData: userData,

  // the properties below are optional
  configSets: ['configSets'],
  embedFingerprint: false,
  ignoreFailures: false,
  includeRole: false,
  includeUrl: false,
  printLog: false,
  signalResource: cfnResource,
};

Properties

NameTypeDescription
instanceRoleIRoleInstance role of the consuming instance or fleet.
platformOperatingSystemTypeOS Platform the init config will be used for.
userDataUserDataUserData to add commands to.
configSets?string[]ConfigSet to activate.
embedFingerprint?booleanWhether to embed a hash into the userData.
ignoreFailures?booleanDon't fail the instance creation when cfn-init fails.
includeRole?booleanInclude --role argument when running cfn-init and cfn-signal commands.
includeUrl?booleanInclude --url argument when running cfn-init and cfn-signal commands.
printLog?booleanPrint the results of running cfn-init to the Instance System Log.
signalResource?CfnResourceWhen provided, signals this resource instead of the attached resource.

instanceRole

Type: IRole

Instance role of the consuming instance or fleet.


platform

Type: OperatingSystemType

OS Platform the init config will be used for.


userData

Type: UserData

UserData to add commands to.


configSets?

Type: string[] (optional, default: ['default'])

ConfigSet to activate.


embedFingerprint?

Type: boolean (optional, default: true)

Whether to embed a hash into the userData.

If true (the default), a hash of the config will be embedded into the UserData, so that if the config changes, the UserData changes and the instance will be replaced.

If false, no such hash will be embedded, and if the CloudFormation Init config changes nothing will happen to the running instance.


ignoreFailures?

Type: boolean (optional, default: false)

Don't fail the instance creation when cfn-init fails.

You can use this to prevent CloudFormation from rolling back when instances fail to start up, to help in debugging.


includeRole?

Type: boolean (optional, default: false)

Include --role argument when running cfn-init and cfn-signal commands.

This will be the IAM instance profile attached to the EC2 instance


includeUrl?

Type: boolean (optional, default: false)

Include --url argument when running cfn-init and cfn-signal commands.

This will be the cloudformation endpoint in the deployed region e.g. https://cloudformation.us-east-1.amazonaws.com


printLog?

Type: boolean (optional, default: true)

Print the results of running cfn-init to the Instance System Log.

By default, the output of running cfn-init is written to a log file on the instance. Set this to true to print it to the System Log (visible from the EC2 Console), false to not print it.

(Be aware that the system log is refreshed at certain points in time of the instance life cycle, and successful execution may not always show up).


signalResource?

Type: CfnResource (optional, default: if this property is undefined cfn-signal signals the attached resource)

When provided, signals this resource instead of the attached resource.

You can use this to support signaling LaunchTemplate while attaching AutoScalingGroup