AppStream / Client / create_image_builder

create_image_builder#

AppStream.Client.create_image_builder(**kwargs)#

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.

See also: AWS API Documentation

Request Syntax

response = client.create_image_builder(
    Name='string',
    ImageName='string',
    ImageArn='string',
    InstanceType='string',
    Description='string',
    DisplayName='string',
    VpcConfig={
        'SubnetIds': [
            'string',
        ],
        'SecurityGroupIds': [
            'string',
        ]
    },
    IamRoleArn='string',
    EnableDefaultInternetAccess=True|False,
    DomainJoinInfo={
        'DirectoryName': 'string',
        'OrganizationalUnitDistinguishedName': 'string'
    },
    AppstreamAgentVersion='string',
    Tags={
        'string': 'string'
    },
    AccessEndpoints=[
        {
            'EndpointType': 'STREAMING',
            'VpceId': 'string'
        },
    ]
)
Parameters:
  • Name (string) –

    [REQUIRED]

    A unique name for the image builder.

  • ImageName (string) – The name of the image used to create the image builder.

  • ImageArn (string) – The ARN of the public, private, or shared image to use.

  • InstanceType (string) –

    [REQUIRED]

    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-design.large

    • stream.graphics-design.xlarge

    • stream.graphics-design.2xlarge

    • stream.graphics-design.4xlarge

    • stream.graphics-desktop.2xlarge

    • 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-pro.4xlarge

    • stream.graphics-pro.8xlarge

    • stream.graphics-pro.16xlarge

  • Description (string) – The description to display.

  • DisplayName (string) – The image builder name to display.

  • VpcConfig (dict) –

    The VPC configuration for the image builder. You can specify only one subnet.

    • SubnetIds (list) –

      The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.

      • (string) –

    • SecurityGroupIds (list) –

      The identifiers of the security groups for the fleet or image builder.

      • (string) –

  • IamRoleArn (string) –

    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. AppStream 2.0 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 AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

  • EnableDefaultInternetAccess (boolean) – Enables or disables default internet access for the image builder.

  • DomainJoinInfo (dict) –

    The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

    • DirectoryName (string) –

      The fully qualified name of the directory (for example, corp.example.com).

    • OrganizationalUnitDistinguishedName (string) –

      The distinguished name of the organizational unit for computer accounts.

  • AppstreamAgentVersion (string) – The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].

  • Tags (dict) –

    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 AppStream 2.0 Administration Guide.

    • (string) –

      • (string) –

  • AccessEndpoints (list) –

    The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.

    • (dict) –

      Describes an interface VPC endpoint (interface endpoint) that lets you create a private connection between the virtual private cloud (VPC) that you specify and AppStream 2.0. When you specify an interface endpoint for a stack, users of the stack can connect to AppStream 2.0 only through that endpoint. When you specify an interface endpoint for an image builder, administrators can connect to the image builder only through that endpoint.

      • EndpointType (string) – [REQUIRED]

        The type of interface endpoint.

      • VpceId (string) –

        The identifier (ID) of the VPC in which the interface endpoint is used.

Return type:

dict

Returns:

Response Syntax

{
    'ImageBuilder': {
        'Name': 'string',
        'Arn': 'string',
        'ImageArn': 'string',
        'Description': 'string',
        'DisplayName': 'string',
        'VpcConfig': {
            'SubnetIds': [
                'string',
            ],
            'SecurityGroupIds': [
                'string',
            ]
        },
        'InstanceType': 'string',
        'Platform': 'WINDOWS'|'WINDOWS_SERVER_2016'|'WINDOWS_SERVER_2019'|'WINDOWS_SERVER_2022'|'AMAZON_LINUX2'|'RHEL8',
        'IamRoleArn': 'string',
        'State': 'PENDING'|'UPDATING_AGENT'|'RUNNING'|'STOPPING'|'STOPPED'|'REBOOTING'|'SNAPSHOTTING'|'DELETING'|'FAILED'|'UPDATING'|'PENDING_QUALIFICATION',
        'StateChangeReason': {
            'Code': 'INTERNAL_ERROR'|'IMAGE_UNAVAILABLE',
            'Message': 'string'
        },
        'CreatedTime': datetime(2015, 1, 1),
        'EnableDefaultInternetAccess': True|False,
        'DomainJoinInfo': {
            'DirectoryName': 'string',
            'OrganizationalUnitDistinguishedName': 'string'
        },
        'NetworkAccessConfiguration': {
            'EniPrivateIpAddress': 'string',
            'EniId': 'string'
        },
        'ImageBuilderErrors': [
            {
                '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',
                'ErrorMessage': 'string',
                'ErrorTimestamp': datetime(2015, 1, 1)
            },
        ],
        'AppstreamAgentVersion': 'string',
        'AccessEndpoints': [
            {
                'EndpointType': 'STREAMING',
                'VpceId': 'string'
            },
        ],
        'LatestAppstreamAgentVersion': 'TRUE'|'FALSE'
    }
}

Response Structure

  • (dict) –

    • ImageBuilder (dict) –

      Information about the image builder.

      • Name (string) –

        The name of the image builder.

      • Arn (string) –

        The ARN for the image builder.

      • ImageArn (string) –

        The ARN of the image from which this builder was created.

      • Description (string) –

        The description to display.

      • DisplayName (string) –

        The image builder name to display.

      • VpcConfig (dict) –

        The VPC configuration of the image builder.

        • SubnetIds (list) –

          The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.

          • (string) –

        • SecurityGroupIds (list) –

          The identifiers of the security groups for the fleet or image builder.

          • (string) –

      • InstanceType (string) –

        The instance type for 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-design.large

        • stream.graphics-design.xlarge

        • stream.graphics-design.2xlarge

        • stream.graphics-design.4xlarge

        • stream.graphics-desktop.2xlarge

        • 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-pro.4xlarge

        • stream.graphics-pro.8xlarge

        • stream.graphics-pro.16xlarge

      • Platform (string) –

        The operating system platform of the image builder.

      • IamRoleArn (string) –

        The ARN of the IAM role that is applied 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. AppStream 2.0 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 AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

      • State (string) –

        The state of the image builder.

      • StateChangeReason (dict) –

        The reason why the last state change occurred.

        • Code (string) –

          The state change reason code.

        • Message (string) –

          The state change reason message.

      • CreatedTime (datetime) –

        The time stamp when the image builder was created.

      • EnableDefaultInternetAccess (boolean) –

        Enables or disables default internet access for the image builder.

      • DomainJoinInfo (dict) –

        The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

        • DirectoryName (string) –

          The fully qualified name of the directory (for example, corp.example.com).

        • OrganizationalUnitDistinguishedName (string) –

          The distinguished name of the organizational unit for computer accounts.

      • NetworkAccessConfiguration (dict) –

        Describes the network details of the fleet or image builder instance.

        • EniPrivateIpAddress (string) –

          The private IP address of the elastic network interface that is attached to instances in your VPC.

        • EniId (string) –

          The resource identifier of the elastic network interface that is attached to instances in your VPC. All network interfaces have the eni-xxxxxxxx resource identifier.

      • ImageBuilderErrors (list) –

        The image builder errors.

        • (dict) –

          Describes a resource error.

          • ErrorCode (string) –

            The error code.

          • ErrorMessage (string) –

            The error message.

          • ErrorTimestamp (datetime) –

            The time the error occurred.

      • AppstreamAgentVersion (string) –

        The version of the AppStream 2.0 agent that is currently being used by the image builder.

      • AccessEndpoints (list) –

        The list of virtual private cloud (VPC) interface endpoint objects. Administrators can connect to the image builder only through the specified endpoints.

        • (dict) –

          Describes an interface VPC endpoint (interface endpoint) that lets you create a private connection between the virtual private cloud (VPC) that you specify and AppStream 2.0. When you specify an interface endpoint for a stack, users of the stack can connect to AppStream 2.0 only through that endpoint. When you specify an interface endpoint for an image builder, administrators can connect to the image builder only through that endpoint.

          • EndpointType (string) –

            The type of interface endpoint.

          • VpceId (string) –

            The identifier (ID) of the VPC in which the interface endpoint is used.

      • LatestAppstreamAgentVersion (string) –

        Indicates whether the image builder is using the latest AppStream 2.0 agent version or not.

Exceptions