@Generated(value="jsii-pacmak/1.73.0 (build 6faeda3)", date="2023-01-31T18:36:53.449Z") public class MultipartUserData extends UserData
This class represents MIME multipart user data, as described in. Specifying Multiple User Data Blocks Using a MIME Multi Part Archive
Example:
UserData bootHookConf = UserData.forLinux(); bootHookConf.addCommands("cloud-init-per once docker_options echo 'OPTIONS=\"${OPTIONS} --storage-opt dm.basesize=40G\"' >> /etc/sysconfig/docker"); UserData setupCommands = UserData.forLinux(); setupCommands.addCommands("sudo yum install awscli && echo Packages installed らと > /var/tmp/setup"); MultipartUserData 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)); LaunchTemplate.Builder.create(this, "") .userData(multipartUserData) .blockDevices(List.of()) .build();
Modifier and Type | Class and Description |
---|---|
static class |
MultipartUserData.Builder
A fluent builder for
MultipartUserData . |
Modifier | Constructor and Description |
---|---|
|
MultipartUserData() |
protected |
MultipartUserData(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
MultipartUserData(software.amazon.jsii.JsiiObjectRef objRef) |
Modifier and Type | Method and Description |
---|---|
void |
addCommands(java.lang.String... commands)
Add one or more commands to the user data.
|
void |
addExecuteFileCommand(ExecuteFileOptions params)
Adds commands to execute a file.
|
void |
addOnExitCommands(java.lang.String... commands)
Add one or more commands to the user data that will run when the script exits.
|
void |
addPart(MultipartBody part)
Adds a part to the list of parts.
|
java.lang.String |
addS3DownloadCommand(S3DownloadOptions params)
Adds commands to download a file from S3.
|
void |
addSignalOnExitCommand(Resource resource)
Adds a command which will send a cfn-signal when the user data script ends.
|
void |
addUserDataPart(UserData userData)
Adds a multipart part based on a UserData object.
|
void |
addUserDataPart(UserData userData,
java.lang.String contentType)
Adds a multipart part based on a UserData object.
|
void |
addUserDataPart(UserData userData,
java.lang.String contentType,
java.lang.Boolean makeDefault)
Adds a multipart part based on a UserData object.
|
java.lang.String |
render()
Render the UserData for use in a construct.
|
custom, forLinux, forLinux, forOperatingSystem, forWindows
protected MultipartUserData(software.amazon.jsii.JsiiObjectRef objRef)
protected MultipartUserData(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
public MultipartUserData()
public void addCommands(java.lang.String... commands)
addCommands
in class UserData
commands
- This parameter is required.public void addExecuteFileCommand(ExecuteFileOptions params)
addExecuteFileCommand
in class UserData
params
- This parameter is required.public void addOnExitCommands(java.lang.String... commands)
addOnExitCommands
in class UserData
commands
- This parameter is required.public void addPart(MultipartBody part)
part
- This parameter is required.public java.lang.String addS3DownloadCommand(S3DownloadOptions params)
addS3DownloadCommand
in class UserData
params
- This parameter is required.public void addSignalOnExitCommand(Resource resource)
addSignalOnExitCommand
in class UserData
resource
- This parameter is required.public void addUserDataPart(UserData userData, java.lang.String contentType, java.lang.Boolean makeDefault)
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:
true
if no default UserData has been set yet; orfalse
if there is no default UserData set.userData
- This parameter is required.contentType
- makeDefault
- public void addUserDataPart(UserData userData, java.lang.String contentType)
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:
true
if no default UserData has been set yet; orfalse
if there is no default UserData set.userData
- This parameter is required.contentType
- public void addUserDataPart(UserData userData)
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:
true
if no default UserData has been set yet; orfalse
if there is no default UserData set.userData
- This parameter is required.