Amazon AppStream

2019/01/21 - Amazon AppStream - 3 updated api methods

Changes  This API update includes support for tagging Stack, Fleet, and ImageBuilder resources at creation time.

CreateFleet (updated) Link ¶
Changes (request)
{'Tags': {'string': 'string'}}

Creates a fleet. A fleet consists of streaming instances that run a specified image.

See also: AWS API Documentation

Request Syntax

client.create_fleet(
    Name='string',
    ImageName='string',
    ImageArn='string',
    InstanceType='string',
    FleetType='ALWAYS_ON'|'ON_DEMAND',
    ComputeCapacity={
        'DesiredInstances': 123
    },
    VpcConfig={
        'SubnetIds': [
            'string',
        ],
        'SecurityGroupIds': [
            'string',
        ]
    },
    MaxUserDurationInSeconds=123,
    DisconnectTimeoutInSeconds=123,
    Description='string',
    DisplayName='string',
    EnableDefaultInternetAccess=True|False,
    DomainJoinInfo={
        'DirectoryName': 'string',
        'OrganizationalUnitDistinguishedName': 'string'
    },
    Tags={
        'string': 'string'
    }
)
type Name

string

param Name

[REQUIRED]

A unique name for the fleet.

type ImageName

string

param ImageName

The name of the image used to create the fleet.

type ImageArn

string

param ImageArn

The ARN of the public, private, or shared image to use.

type InstanceType

string

param InstanceType

[REQUIRED]

The instance type to use when launching fleet instances. The following instance types are available:

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

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

type FleetType

string

param FleetType

The fleet type.

ALWAYS_ON

Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps.

ON_DEMAND

Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps.

type ComputeCapacity

dict

param ComputeCapacity

[REQUIRED]

The desired capacity for the fleet.

  • DesiredInstances (integer) -- [REQUIRED]

    The desired number of streaming instances.

type VpcConfig

dict

param VpcConfig

The VPC configuration for the fleet.

  • 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 two subnets. Image builder instances use one subnet.

    • (string) --

  • SecurityGroupIds (list) --

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

    • (string) --

type MaxUserDurationInSeconds

integer

param MaxUserDurationInSeconds

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

type DisconnectTimeoutInSeconds

integer

param DisconnectTimeoutInSeconds

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

type Description

string

param Description

The description to display.

type DisplayName

string

param DisplayName

The fleet name to display.

type EnableDefaultInternetAccess

boolean

param EnableDefaultInternetAccess

Enables or disables default internet access for the fleet.

type DomainJoinInfo

dict

param DomainJoinInfo

The name of the directory and organizational unit (OU) to use to join the fleet 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.

type Tags

dict

param Tags

The tags to associate with the fleet. A tag is a key-value pair (the value is optional). For example, Environment=Test, or, if you do not specify a value, Environment=.

If you do not specify a value, we set the value to an empty string.

For more information, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide .

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'Fleet': {
        'Arn': 'string',
        'Name': 'string',
        'DisplayName': 'string',
        'Description': 'string',
        'ImageName': 'string',
        'ImageArn': 'string',
        'InstanceType': 'string',
        'FleetType': 'ALWAYS_ON'|'ON_DEMAND',
        'ComputeCapacityStatus': {
            'Desired': 123,
            'Running': 123,
            'InUse': 123,
            'Available': 123
        },
        'MaxUserDurationInSeconds': 123,
        'DisconnectTimeoutInSeconds': 123,
        'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED',
        'VpcConfig': {
            'SubnetIds': [
                'string',
            ],
            'SecurityGroupIds': [
                'string',
            ]
        },
        'CreatedTime': datetime(2015, 1, 1),
        'FleetErrors': [
            {
                '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'|'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'|'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'
            },
        ],
        'EnableDefaultInternetAccess': True|False,
        'DomainJoinInfo': {
            'DirectoryName': 'string',
            'OrganizationalUnitDistinguishedName': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • Fleet (dict) --

      Information about the fleet.

      • Arn (string) --

        The ARN for the fleet.

      • Name (string) --

        The name of the fleet.

      • DisplayName (string) --

        The fleet name to display.

      • Description (string) --

        The description to display.

      • ImageName (string) --

        The name of the image used to create the fleet.

      • ImageArn (string) --

        The ARN for the public, private, or shared image.

      • InstanceType (string) --

        The instance type to use when launching fleet instances.

      • FleetType (string) --

        The fleet type.

        ALWAYS_ON

        Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps.

        ON_DEMAND

        Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps.

      • ComputeCapacityStatus (dict) --

        The capacity status for the fleet.

        • Desired (integer) --

          The desired number of streaming instances.

        • Running (integer) --

          The total number of simultaneous streaming instances that are running.

        • InUse (integer) --

          The number of instances in use for streaming.

        • Available (integer) --

          The number of currently available instances that can be used to stream sessions.

      • MaxUserDurationInSeconds (integer) --

        The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

      • DisconnectTimeoutInSeconds (integer) --

        The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

      • State (string) --

        The current state for the fleet.

      • VpcConfig (dict) --

        The VPC configuration for the fleet.

        • 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 two subnets. Image builder instances use one subnet.

          • (string) --

        • SecurityGroupIds (list) --

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

          • (string) --

      • CreatedTime (datetime) --

        The time the fleet was created.

      • FleetErrors (list) --

        The fleet errors.

        • (dict) --

          Describes a fleet error.

          • ErrorCode (string) --

            The error code.

          • ErrorMessage (string) --

            The error message.

      • EnableDefaultInternetAccess (boolean) --

        Indicates whether default internet access is enabled for the fleet.

      • DomainJoinInfo (dict) --

        The name of the directory and organizational unit (OU) to use to join the fleet 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.

CreateImageBuilder (updated) Link ¶
Changes (request)
{'Tags': {'string': 'string'}}

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

client.create_image_builder(
    Name='string',
    ImageName='string',
    ImageArn='string',
    InstanceType='string',
    Description='string',
    DisplayName='string',
    VpcConfig={
        'SubnetIds': [
            'string',
        ],
        'SecurityGroupIds': [
            'string',
        ]
    },
    EnableDefaultInternetAccess=True|False,
    DomainJoinInfo={
        'DirectoryName': 'string',
        'OrganizationalUnitDistinguishedName': 'string'
    },
    AppstreamAgentVersion='string',
    Tags={
        'string': 'string'
    }
)
type Name

string

param Name

[REQUIRED]

A unique name for the image builder.

type ImageName

string

param ImageName

The name of the image used to create the image builder.

type ImageArn

string

param ImageArn

The ARN of the public, private, or shared image to use.

type InstanceType

string

param InstanceType

[REQUIRED]

The instance type to use when launching the image builder.

type Description

string

param Description

The description to display.

type DisplayName

string

param DisplayName

The image builder name to display.

type VpcConfig

dict

param VpcConfig

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 two subnets. Image builder instances use one subnet.

    • (string) --

  • SecurityGroupIds (list) --

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

    • (string) --

type EnableDefaultInternetAccess

boolean

param EnableDefaultInternetAccess

Enables or disables default internet access for the image builder.

type DomainJoinInfo

dict

param DomainJoinInfo

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.

type AppstreamAgentVersion

string

param AppstreamAgentVersion

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].

type Tags

dict

param Tags

The tags to associate with the image builder. A tag is a key-value pair (the value is optional). For example, Environment=Test, or, if you do not specify a value, Environment=.

If you do not specify a value, we set the value to an empty string.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide .

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'ImageBuilder': {
        'Name': 'string',
        'Arn': 'string',
        'ImageArn': 'string',
        'Description': 'string',
        'DisplayName': 'string',
        'VpcConfig': {
            'SubnetIds': [
                'string',
            ],
            'SecurityGroupIds': [
                'string',
            ]
        },
        'InstanceType': 'string',
        'Platform': 'WINDOWS',
        'State': 'PENDING'|'UPDATING_AGENT'|'RUNNING'|'STOPPING'|'STOPPED'|'REBOOTING'|'SNAPSHOTTING'|'DELETING'|'FAILED',
        'StateChangeReason': {
            'Code': 'INTERNAL_ERROR'|'IMAGE_UNAVAILABLE',
            'Message': 'string'
        },
        'CreatedTime': datetime(2015, 1, 1),
        'EnableDefaultInternetAccess': True|False,
        'DomainJoinInfo': {
            'DirectoryName': 'string',
            'OrganizationalUnitDistinguishedName': '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'|'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'|'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'
    }
}

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 two 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.

      • Platform (string) --

        The operating system platform of the image builder.

      • 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.

      • 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.

CreateStack (updated) Link ¶
Changes (request)
{'Tags': {'string': 'string'}}

Creates a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations.

See also: AWS API Documentation

Request Syntax

client.create_stack(
    Name='string',
    Description='string',
    DisplayName='string',
    StorageConnectors=[
        {
            'ConnectorType': 'HOMEFOLDERS'|'GOOGLE_DRIVE'|'ONE_DRIVE',
            'ResourceIdentifier': 'string',
            'Domains': [
                'string',
            ]
        },
    ],
    RedirectURL='string',
    FeedbackURL='string',
    UserSettings=[
        {
            'Action': 'CLIPBOARD_COPY_FROM_LOCAL_DEVICE'|'CLIPBOARD_COPY_TO_LOCAL_DEVICE'|'FILE_UPLOAD'|'FILE_DOWNLOAD'|'PRINTING_TO_LOCAL_DEVICE',
            'Permission': 'ENABLED'|'DISABLED'
        },
    ],
    ApplicationSettings={
        'Enabled': True|False,
        'SettingsGroup': 'string'
    },
    Tags={
        'string': 'string'
    }
)
type Name

string

param Name

[REQUIRED]

The name of the stack.

type Description

string

param Description

The description to display.

type DisplayName

string

param DisplayName

The stack name to display.

type StorageConnectors

list

param StorageConnectors

The storage connectors to enable.

  • (dict) --

    Describes a connector to enable persistent storage for users.

    • ConnectorType (string) -- [REQUIRED]

      The type of storage connector.

    • ResourceIdentifier (string) --

      The ARN of the storage connector.

    • Domains (list) --

      The names of the domains for the account.

      • (string) -- GSuite domain for GDrive integration.

type RedirectURL

string

param RedirectURL

The URL that users are redirected to after their streaming session ends.

type FeedbackURL

string

param FeedbackURL

The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

type UserSettings

list

param UserSettings

The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

  • (dict) --

    Describes an action and whether the action is enabled or disabled for users during their streaming sessions.

    • Action (string) -- [REQUIRED]

      The action that is enabled or disabled.

    • Permission (string) -- [REQUIRED]

      Indicates whether the action is enabled or disabled.

type ApplicationSettings

dict

param ApplicationSettings

The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

  • Enabled (boolean) -- [REQUIRED]

    Enables or disables persistent application settings for users during their streaming sessions.

  • SettingsGroup (string) --

    The path prefix for the S3 bucket where users’ persistent application settings are stored. You can allow the same persistent application settings to be used across multiple stacks by specifying the same settings group for each stack.

type Tags

dict

param Tags

The tags to associate with the stack. A tag is a key-value pair (the value is optional). For example, Environment=Test, or, if you do not specify a value, Environment=.

If you do not specify a value, we set the value to an empty string.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide .

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'Stack': {
        'Arn': 'string',
        'Name': 'string',
        'Description': 'string',
        'DisplayName': 'string',
        'CreatedTime': datetime(2015, 1, 1),
        'StorageConnectors': [
            {
                'ConnectorType': 'HOMEFOLDERS'|'GOOGLE_DRIVE'|'ONE_DRIVE',
                'ResourceIdentifier': 'string',
                'Domains': [
                    'string',
                ]
            },
        ],
        'RedirectURL': 'string',
        'FeedbackURL': 'string',
        'StackErrors': [
            {
                'ErrorCode': 'STORAGE_CONNECTOR_ERROR'|'INTERNAL_SERVICE_ERROR',
                'ErrorMessage': 'string'
            },
        ],
        'UserSettings': [
            {
                'Action': 'CLIPBOARD_COPY_FROM_LOCAL_DEVICE'|'CLIPBOARD_COPY_TO_LOCAL_DEVICE'|'FILE_UPLOAD'|'FILE_DOWNLOAD'|'PRINTING_TO_LOCAL_DEVICE',
                'Permission': 'ENABLED'|'DISABLED'
            },
        ],
        'ApplicationSettings': {
            'Enabled': True|False,
            'SettingsGroup': 'string',
            'S3BucketName': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • Stack (dict) --

      Information about the stack.

      • Arn (string) --

        The ARN of the stack.

      • Name (string) --

        The name of the stack.

      • Description (string) --

        The description to display.

      • DisplayName (string) --

        The stack name to display.

      • CreatedTime (datetime) --

        The time the stack was created.

      • StorageConnectors (list) --

        The storage connectors to enable.

        • (dict) --

          Describes a connector to enable persistent storage for users.

          • ConnectorType (string) --

            The type of storage connector.

          • ResourceIdentifier (string) --

            The ARN of the storage connector.

          • Domains (list) --

            The names of the domains for the account.

            • (string) -- GSuite domain for GDrive integration.

      • RedirectURL (string) --

        The URL that users are redirected to after their streaming session ends.

      • FeedbackURL (string) --

        The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

      • StackErrors (list) --

        The errors for the stack.

        • (dict) --

          Describes a stack error.

          • ErrorCode (string) --

            The error code.

          • ErrorMessage (string) --

            The error message.

      • UserSettings (list) --

        The actions that are enabled or disabled for users during their streaming sessions. By default these actions are enabled.

        • (dict) --

          Describes an action and whether the action is enabled or disabled for users during their streaming sessions.

          • Action (string) --

            The action that is enabled or disabled.

          • Permission (string) --

            Indicates whether the action is enabled or disabled.

      • ApplicationSettings (dict) --

        The persistent application settings for users of the stack.

        • Enabled (boolean) --

          Specifies whether persistent application settings are enabled for users during their streaming sessions.

        • SettingsGroup (string) --

          The path prefix for the S3 bucket where users’ persistent application settings are stored.

        • S3BucketName (string) --

          The S3 bucket where users’ persistent application settings are stored. When persistent application settings are enabled for the first time for an account in an AWS Region, an S3 bucket is created. The bucket is unique to the AWS account and the Region.