Class MultipartUserData
Mime multipart user data.
Inherited Members
Namespace: Amazon.CDK.AWS.EC2
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class MultipartUserData : UserData
Syntax (vb)
Public Class MultipartUserData Inherits UserData
Remarks
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
ExampleMetadata: infused
Examples
var bootHookConf = UserData.ForLinux();
bootHookConf.AddCommands("cloud-init-per once docker_options echo 'OPTIONS=\"${OPTIONS} --storage-opt dm.basesize=40G\"' >> /etc/sysconfig/docker");
var setupCommands = UserData.ForLinux();
setupCommands.AddCommands("sudo yum install awscli && echo Packages installed らと > /var/tmp/setup");
var multipartUserData = new MultipartUserData();
// The docker has to be configured at early stage, so content type is overridden to boothook
multipartUserData.AddPart(MultipartBody.FromUserData(bootHookConf, "text/cloud-boothook; charset=\"us-ascii\""));
// Execute the rest of setup
multipartUserData.AddPart(MultipartBody.FromUserData(setupCommands));
new LaunchTemplate(this, "", new LaunchTemplateProps {
UserData = multipartUserData,
BlockDevices = new [] { }
});
Synopsis
Constructors
| MultipartUserData(IMultipartUserDataOptions?) | Mime multipart 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. |
| AddPart(MultipartBody) | Adds a part to the list of parts. |
| 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. |
| AddUserDataPart(UserData, string?, bool?) | Adds a multipart part based on a UserData object. |
| Render() | Render the UserData for use in a construct. |
Constructors
MultipartUserData(IMultipartUserDataOptions?)
Mime multipart user data.
public MultipartUserData(IMultipartUserDataOptions? opts = null)
Parameters
Remarks
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
ExampleMetadata: infused
Examples
var bootHookConf = UserData.ForLinux();
bootHookConf.AddCommands("cloud-init-per once docker_options echo 'OPTIONS=\"${OPTIONS} --storage-opt dm.basesize=40G\"' >> /etc/sysconfig/docker");
var setupCommands = UserData.ForLinux();
setupCommands.AddCommands("sudo yum install awscli && echo Packages installed らと > /var/tmp/setup");
var multipartUserData = new MultipartUserData();
// The docker has to be configured at early stage, so content type is overridden to boothook
multipartUserData.AddPart(MultipartBody.FromUserData(bootHookConf, "text/cloud-boothook; charset=\"us-ascii\""));
// Execute the rest of setup
multipartUserData.AddPart(MultipartBody.FromUserData(setupCommands));
new LaunchTemplate(this, "", new LaunchTemplateProps {
UserData = multipartUserData,
BlockDevices = new [] { }
});
Methods
AddCommands(params string[])
Add one or more commands to the user data.
public override void AddCommands(params string[] commands)
Parameters
- commands string[]
Overrides
Remarks
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
ExampleMetadata: infused
AddExecuteFileCommand(IExecuteFileOptions)
Adds commands to execute a file.
public override void AddExecuteFileCommand(IExecuteFileOptions @params)
Parameters
- params IExecuteFileOptions
Overrides
Remarks
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
ExampleMetadata: infused
AddOnExitCommands(params string[])
Add one or more commands to the user data that will run when the script exits.
public override void AddOnExitCommands(params string[] commands)
Parameters
- commands string[]
Overrides
Remarks
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
ExampleMetadata: infused
AddPart(MultipartBody)
Adds a part to the list of parts.
public virtual void AddPart(MultipartBody part)
Parameters
- part MultipartBody
Remarks
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
ExampleMetadata: infused
AddS3DownloadCommand(IS3DownloadOptions)
Adds commands to download a file from S3.
public override string AddS3DownloadCommand(IS3DownloadOptions @params)
Parameters
- params IS3DownloadOptions
Returns
Overrides
Remarks
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
ExampleMetadata: infused
AddSignalOnExitCommand(Resource)
Adds a command which will send a cfn-signal when the user data script ends.
public override void AddSignalOnExitCommand(Resource resource)
Parameters
- resource Resource
Overrides
Remarks
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
ExampleMetadata: infused
AddUserDataPart(UserData, string?, bool?)
Adds a multipart part based on a UserData object.
public virtual void AddUserDataPart(UserData userData, string? contentType = null, bool? makeDefault = null)
Parameters
Remarks
If makeDefault is true, then the UserData added by this method
will also be the target of calls to the add*Command methods on
this MultipartUserData object.
If makeDefault is false, then this is the same as calling:
MultipartUserData multiPart;
UserData userData;
string contentType;
multiPart.AddPart(MultipartBody.FromUserData(userData, contentType));
An undefined makeDefault defaults to either:
Render()
Render the UserData for use in a construct.
public override string Render()
Returns
Overrides
Remarks
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
ExampleMetadata: infused