import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; import type { CreateImageBuilderRequest, CreateImageBuilderResult } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateImageBuilderCommand}. */ export interface CreateImageBuilderCommandInput extends CreateImageBuilderRequest { } /** * @public * * The output of {@link CreateImageBuilderCommand}. */ export interface CreateImageBuilderCommandOutput extends CreateImageBuilderResult, __MetadataBearer { } declare const CreateImageBuilderCommand_base: { new (input: CreateImageBuilderCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateImageBuilderCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

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.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { AppStreamClient, CreateImageBuilderCommand } from "@aws-sdk/client-appstream"; // ES Modules import * // const { AppStreamClient, CreateImageBuilderCommand } = require("@aws-sdk/client-appstream"); // CommonJS import * // import type { AppStreamClientConfig } from "@aws-sdk/client-appstream"; * const config = {}; // type is AppStreamClientConfig * const client = new AppStreamClient(config); * const input = { // CreateImageBuilderRequest * Name: "STRING_VALUE", // required * ImageName: "STRING_VALUE", * ImageArn: "STRING_VALUE", * InstanceType: "STRING_VALUE", // required * Description: "STRING_VALUE", * DisplayName: "STRING_VALUE", * VpcConfig: { // VpcConfig * SubnetIds: [ // SubnetIdList * "STRING_VALUE", * ], * SecurityGroupIds: [ // SecurityGroupIdList * "STRING_VALUE", * ], * }, * IamRoleArn: "STRING_VALUE", * EnableDefaultInternetAccess: true || false, * DomainJoinInfo: { // DomainJoinInfo * DirectoryName: "STRING_VALUE", * OrganizationalUnitDistinguishedName: "STRING_VALUE", * }, * AppstreamAgentVersion: "STRING_VALUE", * Tags: { // Tags * "": "STRING_VALUE", * }, * AccessEndpoints: [ // AccessEndpointList * { // AccessEndpoint * EndpointType: "STREAMING", // required * VpceId: "STRING_VALUE", * }, * ], * RootVolumeConfig: { // VolumeConfig * VolumeSizeInGb: Number("int"), * }, * SoftwaresToInstall: [ // StringList * "STRING_VALUE", * ], * SoftwaresToUninstall: [ * "STRING_VALUE", * ], * DisableIMDSV1: true || false, * }; * const command = new CreateImageBuilderCommand(input); * const response = await client.send(command); * // { // CreateImageBuilderResult * // ImageBuilder: { // ImageBuilder * // Name: "STRING_VALUE", // required * // Arn: "STRING_VALUE", * // ImageArn: "STRING_VALUE", * // Description: "STRING_VALUE", * // DisplayName: "STRING_VALUE", * // VpcConfig: { // VpcConfig * // SubnetIds: [ // SubnetIdList * // "STRING_VALUE", * // ], * // SecurityGroupIds: [ // SecurityGroupIdList * // "STRING_VALUE", * // ], * // }, * // InstanceType: "STRING_VALUE", * // Platform: "WINDOWS" || "WINDOWS_SERVER_2016" || "WINDOWS_SERVER_2019" || "WINDOWS_SERVER_2022" || "WINDOWS_SERVER_2025" || "AMAZON_LINUX2" || "RHEL8" || "ROCKY_LINUX8" || "UBUNTU_PRO_2404", * // IamRoleArn: "STRING_VALUE", * // State: "PENDING" || "UPDATING_AGENT" || "RUNNING" || "STOPPING" || "STOPPED" || "REBOOTING" || "SNAPSHOTTING" || "DELETING" || "FAILED" || "UPDATING" || "PENDING_QUALIFICATION" || "PENDING_SYNCING_APPS" || "SYNCING_APPS" || "PENDING_IMAGE_IMPORT", * // StateChangeReason: { // ImageBuilderStateChangeReason * // Code: "INTERNAL_ERROR" || "IMAGE_UNAVAILABLE", * // Message: "STRING_VALUE", * // }, * // CreatedTime: new Date("TIMESTAMP"), * // EnableDefaultInternetAccess: true || false, * // DomainJoinInfo: { // DomainJoinInfo * // DirectoryName: "STRING_VALUE", * // OrganizationalUnitDistinguishedName: "STRING_VALUE", * // }, * // NetworkAccessConfiguration: { // NetworkAccessConfiguration * // EniPrivateIpAddress: "STRING_VALUE", * // EniIpv6Addresses: [ // StringList * // "STRING_VALUE", * // ], * // EniId: "STRING_VALUE", * // }, * // ImageBuilderErrors: [ // ResourceErrors * // { // ResourceError * // ErrorCode: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" || "NETWORK_INTERFACE_LIMIT_EXCEEDED" || "INTERNAL_SERVICE_ERROR" || "IAM_SERVICE_ROLE_IS_MISSING" || "MACHINE_ROLE_IS_MISSING" || "STS_DISABLED_IN_REGION" || "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" || "SUBNET_NOT_FOUND" || "IMAGE_NOT_FOUND" || "INVALID_SUBNET_CONFIGURATION" || "SECURITY_GROUPS_NOT_FOUND" || "IGW_NOT_ATTACHED" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" || "FLEET_STOPPED" || "FLEET_INSTANCE_PROVISIONING_FAILURE" || "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" || "DOMAIN_JOIN_ERROR_ACCESS_DENIED" || "DOMAIN_JOIN_ERROR_LOGON_FAILURE" || "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" || "DOMAIN_JOIN_ERROR_MORE_DATA" || "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" || "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" || "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" || "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" || "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" || "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" || "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" || "VALIDATION_ERROR", * // ErrorMessage: "STRING_VALUE", * // ErrorTimestamp: new Date("TIMESTAMP"), * // }, * // ], * // AppstreamAgentVersion: "STRING_VALUE", * // AccessEndpoints: [ // AccessEndpointList * // { // AccessEndpoint * // EndpointType: "STREAMING", // required * // VpceId: "STRING_VALUE", * // }, * // ], * // RootVolumeConfig: { // VolumeConfig * // VolumeSizeInGb: Number("int"), * // }, * // LatestAppstreamAgentVersion: "TRUE" || "FALSE", * // DisableIMDSV1: true || false, * // }, * // }; * * ``` * * @param CreateImageBuilderCommandInput - {@link CreateImageBuilderCommandInput} * @returns {@link CreateImageBuilderCommandOutput} * @see {@link CreateImageBuilderCommandInput} for command's `input` shape. * @see {@link CreateImageBuilderCommandOutput} for command's `response` shape. * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. * * @throws {@link ConcurrentModificationException} (client fault) *

An API error occurred. Wait a few minutes and try again.

* * @throws {@link IncompatibleImageException} (client fault) *

The image can't be updated because it's not compatible for updates.

* * @throws {@link InvalidAccountStatusException} (client fault) *

The resource cannot be created because your AWS account is suspended. For assistance, contact AWS Support.

* * @throws {@link InvalidParameterCombinationException} (client fault) *

Indicates an incorrect combination of parameters, or a missing parameter.

* * @throws {@link InvalidRoleException} (client fault) *

The specified role is invalid.

* * @throws {@link LimitExceededException} (client fault) *

The requested limit exceeds the permitted limit for an account.

* * @throws {@link OperationNotPermittedException} (client fault) *

The attempted operation is not permitted.

* * @throws {@link RequestLimitExceededException} (client fault) *

WorkSpaces Applications can’t process the request right now because the Describe calls from your AWS account are being throttled by Amazon EC2. Try again later.

* * @throws {@link ResourceAlreadyExistsException} (client fault) *

The specified resource already exists.

* * @throws {@link ResourceNotAvailableException} (client fault) *

The specified resource exists and is not in use, but isn't available.

* * @throws {@link ResourceNotFoundException} (client fault) *

The specified resource was not found.

* * @throws {@link AppStreamServiceException} *

Base exception class for all service exceptions from AppStream service.

* * * @public */ export declare class CreateImageBuilderCommand extends CreateImageBuilderCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateImageBuilderRequest; output: CreateImageBuilderResult; }; sdk: { input: CreateImageBuilderCommandInput; output: CreateImageBuilderCommandOutput; }; }; }