createImageBuilder method
- required String instanceType,
- required String name,
- List<
AccessEndpoint> ? accessEndpoints, - String? appstreamAgentVersion,
- String? description,
- bool? disableIMDSV1,
- String? displayName,
- DomainJoinInfo? domainJoinInfo,
- bool? enableDefaultInternetAccess,
- String? iamRoleArn,
- String? imageArn,
- String? imageName,
- VolumeConfig? rootVolumeConfig,
- List<
String> ? softwaresToInstall, - List<
String> ? softwaresToUninstall, - Map<
String, String> ? tags, - VpcConfig? vpcConfig,
Creates an image builder. An image builder is a virtual machine that is used to create an image.
The initial state of the builder is PENDING. When it is
ready, the state is RUNNING.
May throw ConcurrentModificationException.
May throw IncompatibleImageException.
May throw InvalidAccountStatusException.
May throw InvalidParameterCombinationException.
May throw InvalidRoleException.
May throw LimitExceededException.
May throw OperationNotPermittedException.
May throw RequestLimitExceededException.
May throw ResourceAlreadyExistsException.
May throw ResourceNotAvailableException.
May throw ResourceNotFoundException.
Parameter instanceType :
The instance type to use when launching the image builder. The following
instance types are available:
- stream.standard.small
- stream.standard.medium
- stream.standard.large
- stream.compute.large
- stream.compute.xlarge
- stream.compute.2xlarge
- stream.compute.4xlarge
- stream.compute.8xlarge
- stream.memory.large
- stream.memory.xlarge
- stream.memory.2xlarge
- stream.memory.4xlarge
- stream.memory.8xlarge
- stream.memory.z1d.large
- stream.memory.z1d.xlarge
- stream.memory.z1d.2xlarge
- stream.memory.z1d.3xlarge
- stream.memory.z1d.6xlarge
- stream.memory.z1d.12xlarge
- stream.graphics.g4dn.xlarge
- stream.graphics.g4dn.2xlarge
- stream.graphics.g4dn.4xlarge
- stream.graphics.g4dn.8xlarge
- stream.graphics.g4dn.12xlarge
- stream.graphics.g4dn.16xlarge
- stream.graphics.g5.xlarge
- stream.graphics.g5.2xlarge
- stream.graphics.g5.4xlarge
- stream.graphics.g5.8xlarge
- stream.graphics.g5.16xlarge
- stream.graphics.g5.12xlarge
- stream.graphics.g5.24xlarge
- stream.graphics.g6.xlarge
- stream.graphics.g6.2xlarge
- stream.graphics.g6.4xlarge
- stream.graphics.g6.8xlarge
- stream.graphics.g6.16xlarge
- stream.graphics.g6.12xlarge
- stream.graphics.g6.24xlarge
- stream.graphics.gr6.4xlarge
- stream.graphics.gr6.8xlarge
- stream.graphics.g6f.large
- stream.graphics.g6f.xlarge
- stream.graphics.g6f.2xlarge
- stream.graphics.g6f.4xlarge
- stream.graphics.gr6f.4xlarge
Parameter name :
A unique name for the image builder.
Parameter accessEndpoints :
The list of interface VPC endpoint (interface endpoint) objects.
Administrators can connect to the image builder only through the specified
endpoints.
Parameter appstreamAgentVersion :
The version of the WorkSpaces Applications agent to use for this image
builder. To use the latest version of the WorkSpaces Applications agent,
specify [LATEST].
Parameter description :
The description to display.
Parameter disableIMDSV1 :
Set to true to disable Instance Metadata Service Version 1 (IMDSv1) and
enforce IMDSv2. Set to false to enable both IMDSv1 and IMDSv2.
Parameter displayName :
The image builder name to display.
Parameter domainJoinInfo :
The name of the directory and organizational unit (OU) to use to join the
image builder to a Microsoft Active Directory domain.
Parameter enableDefaultInternetAccess :
Enables or disables default internet access for the image builder.
Parameter iamRoleArn :
The Amazon Resource Name (ARN) of the IAM role to apply to the image
builder. To assume a role, the image builder calls the AWS Security Token
Service (STS) AssumeRole API operation and passes the ARN of
the role to use. The operation creates a new session with temporary
credentials. WorkSpaces Applications retrieves the temporary credentials
and creates the appstream_machine_role credential profile on the
instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on WorkSpaces Applications Streaming Instances in the Amazon WorkSpaces Applications Administration Guide.
Parameter imageArn :
The ARN of the public, private, or shared image to use.
Parameter imageName :
The name of the image used to create the image builder.
Parameter rootVolumeConfig :
The configuration for the root volume of the image builder. Use this to
customize storage capacity from 200 GB up to 500 GB based on your
application installation requirements.
Parameter softwaresToInstall :
The list of license included applications to install on the image builder
during creation.
Possible values include the following:
- Microsoft_Office_2021_LTSC_Professional_Plus_32Bit
- Microsoft_Office_2021_LTSC_Professional_Plus_64Bit
- Microsoft_Office_2024_LTSC_Professional_Plus_32Bit
- Microsoft_Office_2024_LTSC_Professional_Plus_64Bit
- Microsoft_Visio_2021_LTSC_Professional_32Bit
- Microsoft_Visio_2021_LTSC_Professional_64Bit
- Microsoft_Visio_2024_LTSC_Professional_32Bit
- Microsoft_Visio_2024_LTSC_Professional_64Bit
- Microsoft_Project_2021_Professional_32Bit
- Microsoft_Project_2021_Professional_64Bit
- Microsoft_Project_2024_Professional_32Bit
- Microsoft_Project_2024_Professional_64Bit
- Microsoft_Office_2021_LTSC_Standard_32Bit
- Microsoft_Office_2021_LTSC_Standard_64Bit
- Microsoft_Office_2024_LTSC_Standard_32Bit
- Microsoft_Office_2024_LTSC_Standard_64Bit
- Microsoft_Visio_2021_LTSC_Standard_32Bit
- Microsoft_Visio_2021_LTSC_Standard_64Bit
- Microsoft_Visio_2024_LTSC_Standard_32Bit
- Microsoft_Visio_2024_LTSC_Standard_64Bit
- Microsoft_Project_2021_Standard_32Bit
- Microsoft_Project_2021_Standard_64Bit
- Microsoft_Project_2024_Standard_32Bit
- Microsoft_Project_2024_Standard_64Bit
Parameter softwaresToUninstall :
The list of license included applications to uninstall from the image
builder during creation.
Possible values include the following:
- Microsoft_Office_2021_LTSC_Professional_Plus_32Bit
- Microsoft_Office_2021_LTSC_Professional_Plus_64Bit
- Microsoft_Office_2024_LTSC_Professional_Plus_32Bit
- Microsoft_Office_2024_LTSC_Professional_Plus_64Bit
- Microsoft_Visio_2021_LTSC_Professional_32Bit
- Microsoft_Visio_2021_LTSC_Professional_64Bit
- Microsoft_Visio_2024_LTSC_Professional_32Bit
- Microsoft_Visio_2024_LTSC_Professional_64Bit
- Microsoft_Project_2021_Professional_32Bit
- Microsoft_Project_2021_Professional_64Bit
- Microsoft_Project_2024_Professional_32Bit
- Microsoft_Project_2024_Professional_64Bit
- Microsoft_Office_2021_LTSC_Standard_32Bit
- Microsoft_Office_2021_LTSC_Standard_64Bit
- Microsoft_Office_2024_LTSC_Standard_32Bit
- Microsoft_Office_2024_LTSC_Standard_64Bit
- Microsoft_Visio_2021_LTSC_Standard_32Bit
- Microsoft_Visio_2021_LTSC_Standard_64Bit
- Microsoft_Visio_2024_LTSC_Standard_32Bit
- Microsoft_Visio_2024_LTSC_Standard_64Bit
- Microsoft_Project_2021_Standard_32Bit
- Microsoft_Project_2021_Standard_64Bit
- Microsoft_Project_2024_Standard_32Bit
- Microsoft_Project_2024_Standard_64Bit
Parameter tags :
The tags to associate with the image builder. A tag is a key-value pair,
and the value is optional. For example, Environment=Test. If you do not
specify a value, Environment=.
Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:
_ . : / = + \ - @
If you do not specify a value, the value is set to an empty string.
For more information about tags, see Tagging Your Resources in the Amazon WorkSpaces Applications Administration Guide.
Parameter vpcConfig :
The VPC configuration for the image builder. You can specify only one
subnet.
Implementation
Future<CreateImageBuilderResult> createImageBuilder({
required String instanceType,
required String name,
List<AccessEndpoint>? accessEndpoints,
String? appstreamAgentVersion,
String? description,
bool? disableIMDSV1,
String? displayName,
DomainJoinInfo? domainJoinInfo,
bool? enableDefaultInternetAccess,
String? iamRoleArn,
String? imageArn,
String? imageName,
VolumeConfig? rootVolumeConfig,
List<String>? softwaresToInstall,
List<String>? softwaresToUninstall,
Map<String, String>? tags,
VpcConfig? vpcConfig,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'PhotonAdminProxyService.CreateImageBuilder'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'InstanceType': instanceType,
'Name': name,
if (accessEndpoints != null) 'AccessEndpoints': accessEndpoints,
if (appstreamAgentVersion != null)
'AppstreamAgentVersion': appstreamAgentVersion,
if (description != null) 'Description': description,
if (disableIMDSV1 != null) 'DisableIMDSV1': disableIMDSV1,
if (displayName != null) 'DisplayName': displayName,
if (domainJoinInfo != null) 'DomainJoinInfo': domainJoinInfo,
if (enableDefaultInternetAccess != null)
'EnableDefaultInternetAccess': enableDefaultInternetAccess,
if (iamRoleArn != null) 'IamRoleArn': iamRoleArn,
if (imageArn != null) 'ImageArn': imageArn,
if (imageName != null) 'ImageName': imageName,
if (rootVolumeConfig != null) 'RootVolumeConfig': rootVolumeConfig,
if (softwaresToInstall != null)
'SoftwaresToInstall': softwaresToInstall,
if (softwaresToUninstall != null)
'SoftwaresToUninstall': softwaresToUninstall,
if (tags != null) 'Tags': tags,
if (vpcConfig != null) 'VpcConfig': vpcConfig,
},
);
return CreateImageBuilderResult.fromJson(jsonResponse.body);
}