Amazon AppStream

2017/04/21 - Amazon AppStream - 5 updated api methods

Changes  The new feature named "Default Internet Access" will enable Internet access from AppStream 2.0 instances - image builders and fleet instances. Admins will check a flag either through AWS management console for AppStream 2.0 or through API while creating an image builder or while creating/updating a fleet.

CreateFleet (updated) Link ¶
Changes (request, response)
Request
{'EnableDefaultInternetAccess': 'boolean'}
Response
{'Fleet': {'EnableDefaultInternetAccess': 'boolean'}}

Creates a new fleet.

See also: AWS API Documentation

Request Syntax

client.create_fleet(
    Name='string',
    ImageName='string',
    InstanceType='string',
    ComputeCapacity={
        'DesiredInstances': 123
    },
    VpcConfig={
        'SubnetIds': [
            'string',
        ]
    },
    MaxUserDurationInSeconds=123,
    DisconnectTimeoutInSeconds=123,
    Description='string',
    DisplayName='string',
    EnableDefaultInternetAccess=True|False
)
type Name

string

param Name

[REQUIRED]

A unique identifier for the fleet.

type ImageName

string

param ImageName

[REQUIRED]

Unique name of the image used by the fleet.

type InstanceType

string

param InstanceType

[REQUIRED]

The instance type of compute resources for the fleet. Fleet instances are launched from this instance type.

type ComputeCapacity

dict

param ComputeCapacity

[REQUIRED]

The parameters for the capacity allocated to the fleet.

  • DesiredInstances (integer) -- [REQUIRED]

    The desired number of streaming instances.

type VpcConfig

dict

param VpcConfig

The VPC configuration for the fleet.

  • SubnetIds (list) -- [REQUIRED]

    The list of subnets to which a network interface is established from the fleet instance.

    • (string) --

type MaxUserDurationInSeconds

integer

param MaxUserDurationInSeconds

The maximum time up to which a streaming session can run.

type DisconnectTimeoutInSeconds

integer

param DisconnectTimeoutInSeconds

The time after disconnection when a session is considered to have ended. If a user who got disconnected reconnects within this timeout interval, the user is connected back to his/her previous session.

type Description

string

param Description

The description of the fleet.

type DisplayName

string

param DisplayName

The display name of the fleet.

type EnableDefaultInternetAccess

boolean

param EnableDefaultInternetAccess

Enable/Disable default Internet access from fleet.

rtype

dict

returns

Response Syntax

{
    'Fleet': {
        'Arn': 'string',
        'Name': 'string',
        'DisplayName': 'string',
        'Description': 'string',
        'ImageName': 'string',
        'InstanceType': 'string',
        'ComputeCapacityStatus': {
            'Desired': 123,
            'Running': 123,
            'InUse': 123,
            'Available': 123
        },
        'MaxUserDurationInSeconds': 123,
        'DisconnectTimeoutInSeconds': 123,
        'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED',
        'VpcConfig': {
            'SubnetIds': [
                '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',
                'ErrorMessage': 'string'
            },
        ],
        'EnableDefaultInternetAccess': True|False
    }
}

Response Structure

  • (dict) --

    • Fleet (dict) --

      The details for the created fleet.

      • Arn (string) --

        The ARN for the fleet.

      • Name (string) --

        The name of the fleet.

      • DisplayName (string) --

        The name displayed to end users on the AppStream 2.0 portal.

      • Description (string) --

        The description displayed to end users on the AppStream 2.0 portal.

      • ImageName (string) --

        The image used by the fleet.

      • InstanceType (string) --

        The instance type of compute resources for the fleet. The fleet instances are launched from this instance type.

      • ComputeCapacityStatus (dict) --

        The capacity information 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 that are being used for streaming.

        • Available (integer) --

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

      • MaxUserDurationInSeconds (integer) --

        The maximum time during which a streaming session can run.

      • DisconnectTimeoutInSeconds (integer) --

        The time after disconnection when a session is considered to have ended. When a user reconnects after a disconnection, the user is connected to the same session and instance within this time interval.

      • State (string) --

        The current state for the fleet.

      • VpcConfig (dict) --

        The VPC configuration for the fleet.

        • SubnetIds (list) --

          The list of subnets to which a network interface is established from the fleet instance.

          • (string) --

      • CreatedTime (datetime) --

        The time at which the fleet was created.

      • FleetErrors (list) --

        The list of fleet errors is appended to this list.

        • (dict) --

          The details of the fleet error.

          • ErrorCode (string) --

            The error code for the fleet error.

          • ErrorMessage (string) --

            The error message generated when the fleet has errors.

      • EnableDefaultInternetAccess (boolean) --

        Default Internet access from the fleet. True (Enabled), False (Disabled).

DescribeFleets (updated) Link ¶
Changes (response)
{'Fleets': {'EnableDefaultInternetAccess': 'boolean'}}

If fleet names are provided, this operation describes the specified fleets; otherwise, all the fleets in the account are described.

See also: AWS API Documentation

Request Syntax

client.describe_fleets(
    Names=[
        'string',
    ],
    NextToken='string'
)
type Names

list

param Names

The fleet names to describe. Use null to describe all the fleets for the AWS account.

  • (string) --

type NextToken

string

param NextToken

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

rtype

dict

returns

Response Syntax

{
    'Fleets': [
        {
            'Arn': 'string',
            'Name': 'string',
            'DisplayName': 'string',
            'Description': 'string',
            'ImageName': 'string',
            'InstanceType': 'string',
            'ComputeCapacityStatus': {
                'Desired': 123,
                'Running': 123,
                'InUse': 123,
                'Available': 123
            },
            'MaxUserDurationInSeconds': 123,
            'DisconnectTimeoutInSeconds': 123,
            'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED',
            'VpcConfig': {
                'SubnetIds': [
                    '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',
                    'ErrorMessage': 'string'
                },
            ],
            'EnableDefaultInternetAccess': True|False
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Fleets (list) --

      The list of fleet details.

      • (dict) --

        Contains the parameters for a fleet.

        • Arn (string) --

          The ARN for the fleet.

        • Name (string) --

          The name of the fleet.

        • DisplayName (string) --

          The name displayed to end users on the AppStream 2.0 portal.

        • Description (string) --

          The description displayed to end users on the AppStream 2.0 portal.

        • ImageName (string) --

          The image used by the fleet.

        • InstanceType (string) --

          The instance type of compute resources for the fleet. The fleet instances are launched from this instance type.

        • ComputeCapacityStatus (dict) --

          The capacity information 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 that are being used for streaming.

          • Available (integer) --

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

        • MaxUserDurationInSeconds (integer) --

          The maximum time during which a streaming session can run.

        • DisconnectTimeoutInSeconds (integer) --

          The time after disconnection when a session is considered to have ended. When a user reconnects after a disconnection, the user is connected to the same session and instance within this time interval.

        • State (string) --

          The current state for the fleet.

        • VpcConfig (dict) --

          The VPC configuration for the fleet.

          • SubnetIds (list) --

            The list of subnets to which a network interface is established from the fleet instance.

            • (string) --

        • CreatedTime (datetime) --

          The time at which the fleet was created.

        • FleetErrors (list) --

          The list of fleet errors is appended to this list.

          • (dict) --

            The details of the fleet error.

            • ErrorCode (string) --

              The error code for the fleet error.

            • ErrorMessage (string) --

              The error message generated when the fleet has errors.

        • EnableDefaultInternetAccess (boolean) --

          Default Internet access from the fleet. True (Enabled), False (Disabled).

    • NextToken (string) --

      The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

DescribeImages (updated) Link ¶
Changes (response)
{'Images': {'ImageBuilderSupported': 'boolean'}}

Describes the images. If a list of names is not provided, all images in your account are returned. This operation does not return a paginated result.

See also: AWS API Documentation

Request Syntax

client.describe_images(
    Names=[
        'string',
    ]
)
type Names

list

param Names

A specific list of images to describe.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'Images': [
        {
            'Name': 'string',
            'Arn': 'string',
            'BaseImageArn': 'string',
            'DisplayName': 'string',
            'State': 'PENDING'|'AVAILABLE'|'FAILED'|'DELETING',
            'Visibility': 'PUBLIC'|'PRIVATE',
            'ImageBuilderSupported': True|False,
            'Platform': 'WINDOWS',
            'Description': 'string',
            'StateChangeReason': {
                'Code': 'INTERNAL_ERROR'|'IMAGE_BUILDER_NOT_AVAILABLE',
                'Message': 'string'
            },
            'Applications': [
                {
                    'Name': 'string',
                    'DisplayName': 'string',
                    'IconURL': 'string',
                    'LaunchPath': 'string',
                    'LaunchParameters': 'string',
                    'Enabled': True|False,
                    'Metadata': {
                        'string': 'string'
                    }
                },
            ],
            'CreatedTime': datetime(2015, 1, 1)
        },
    ]
}

Response Structure

  • (dict) --

    • Images (list) --

      The list of images.

      • (dict) --

        New streaming instances are booted from images. The image stores the application catalog and is connected to fleets.

        • Name (string) --

          The unique identifier for the image.

        • Arn (string) --

          The ARN for the image.

        • BaseImageArn (string) --

          The source image ARN from which this image was created.

        • DisplayName (string) --

          The display name for the image.

        • State (string) --

          The image starts in the PENDING state, and then moves to AVAILABLE if image creation succeeds and FAILED if image creation has failed.

        • Visibility (string) --

          The visibility of an image to the user; images can be public or private.

        • ImageBuilderSupported (boolean) --

          Indicates whether an image builder can be launched from this image.

        • Platform (string) --

          The operating system platform of the image.

        • Description (string) --

          A meaningful description for the image.

        • StateChangeReason (dict) --

          The reason why the last state change occurred.

          • Code (string) --

            The state change reason code of the image.

          • Message (string) --

            The state change reason message to the end user.

        • Applications (list) --

          The applications associated with an image.

          • (dict) --

            An entry for a single application in the application catalog.

            • Name (string) --

              The unique identifier for the application.

            • DisplayName (string) --

              The name of the application shown to the end users.

            • IconURL (string) --

              The URL for the application icon. This URL may be time-limited.

            • LaunchPath (string) --

              The path to the application executable in the instance.

            • LaunchParameters (string) --

              A list of arguments that are passed to the application at launch.

            • Enabled (boolean) --

              An application can be disabled after image creation if there is a problem.

            • Metadata (dict) --

              Additional attributes that describes the application.

              • (string) --

                • (string) --

        • CreatedTime (datetime) --

          The timestamp when the image was created.

DescribeSessions (updated) Link ¶
Changes (request, response)
Request
{'AuthenticationType': 'API | SAML'}
Response
{'Sessions': {'AuthenticationType': 'API | SAML'}}

Describes the streaming sessions for a stack and a fleet. If a user ID is provided, this operation returns streaming sessions for only that user. Pass this value for the nextToken parameter in a subsequent call to this operation to retrieve the next set of items. If an authentication type is not provided, the operation defaults to users authenticated using a streaming url.

See also: AWS API Documentation

Request Syntax

client.describe_sessions(
    StackName='string',
    FleetName='string',
    UserId='string',
    NextToken='string',
    Limit=123,
    AuthenticationType='API'|'SAML'
)
type StackName

string

param StackName

[REQUIRED]

The name of the stack for which to list sessions.

type FleetName

string

param FleetName

[REQUIRED]

The name of the fleet for which to list sessions.

type UserId

string

param UserId

The user for whom to list sessions. Use null to describe all the sessions for the stack and fleet.

type NextToken

string

param NextToken

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

type Limit

integer

param Limit

The size of each page of results. The default value is 20 and the maximum supported value is 50.

type AuthenticationType

string

param AuthenticationType

The authentication method of the user. It can be API for a user authenticated using a streaming url or SAML for a SAML federated user. If an authentication type is not provided, the operation defaults to users authenticated using a streaming url.

rtype

dict

returns

Response Syntax

{
    'Sessions': [
        {
            'Id': 'string',
            'UserId': 'string',
            'StackName': 'string',
            'FleetName': 'string',
            'State': 'ACTIVE'|'PENDING'|'EXPIRED',
            'AuthenticationType': 'API'|'SAML'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Sessions (list) --

      The list of streaming sessions.

      • (dict) --

        Contains the parameters for a streaming session.

        • Id (string) --

          The unique ID for a streaming session.

        • UserId (string) --

          The identifier of the user for whom the session was created.

        • StackName (string) --

          The name of the stack for which the streaming session was created.

        • FleetName (string) --

          The name of the fleet for which the streaming session was created.

        • State (string) --

          The current state of the streaming session.

        • AuthenticationType (string) --

          The authentication method of the user for whom the session was created. It can be API for a user authenticated using a streaming url or SAML for a SAML federated user.

    • NextToken (string) --

      The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

UpdateFleet (updated) Link ¶
Changes (request, response)
Request
{'EnableDefaultInternetAccess': 'boolean'}
Response
{'Fleet': {'EnableDefaultInternetAccess': 'boolean'}}

Updates an existing fleet. All the attributes except the fleet name can be updated in the STOPPED state. When a fleet is in the RUNNING state, only DisplayName and ComputeCapacity can be updated. A fleet cannot be updated in a status of STARTING or STOPPING .

See also: AWS API Documentation

Request Syntax

client.update_fleet(
    ImageName='string',
    Name='string',
    InstanceType='string',
    ComputeCapacity={
        'DesiredInstances': 123
    },
    VpcConfig={
        'SubnetIds': [
            'string',
        ]
    },
    MaxUserDurationInSeconds=123,
    DisconnectTimeoutInSeconds=123,
    DeleteVpcConfig=True|False,
    Description='string',
    DisplayName='string',
    EnableDefaultInternetAccess=True|False
)
type ImageName

string

param ImageName

The image name from which a fleet is created.

type Name

string

param Name

[REQUIRED]

The name of the fleet.

type InstanceType

string

param InstanceType

The instance type of compute resources for the fleet. Fleet instances are launched from this instance type.

type ComputeCapacity

dict

param ComputeCapacity

The parameters for the capacity allocated to the fleet.

  • DesiredInstances (integer) -- [REQUIRED]

    The desired number of streaming instances.

type VpcConfig

dict

param VpcConfig

The VPC configuration for the fleet.

  • SubnetIds (list) -- [REQUIRED]

    The list of subnets to which a network interface is established from the fleet instance.

    • (string) --

type MaxUserDurationInSeconds

integer

param MaxUserDurationInSeconds

The maximum time during which a streaming session can run.

type DisconnectTimeoutInSeconds

integer

param DisconnectTimeoutInSeconds

The time after disconnection when a session is considered to have ended. When the user reconnects after a disconnection, the user is connected to the same instance within this time interval.

type DeleteVpcConfig

boolean

param DeleteVpcConfig

Delete the VPC association for the specified fleet.

type Description

string

param Description

The description displayed to end users on the AppStream 2.0 portal.

type DisplayName

string

param DisplayName

The name displayed to end users on the AppStream 2.0 portal.

type EnableDefaultInternetAccess

boolean

param EnableDefaultInternetAccess

Enable/Disable default Internet access from fleet.

rtype

dict

returns

Response Syntax

{
    'Fleet': {
        'Arn': 'string',
        'Name': 'string',
        'DisplayName': 'string',
        'Description': 'string',
        'ImageName': 'string',
        'InstanceType': 'string',
        'ComputeCapacityStatus': {
            'Desired': 123,
            'Running': 123,
            'InUse': 123,
            'Available': 123
        },
        'MaxUserDurationInSeconds': 123,
        'DisconnectTimeoutInSeconds': 123,
        'State': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED',
        'VpcConfig': {
            'SubnetIds': [
                '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',
                'ErrorMessage': 'string'
            },
        ],
        'EnableDefaultInternetAccess': True|False
    }
}

Response Structure

  • (dict) --

    • Fleet (dict) --

      A list of fleet details.

      • Arn (string) --

        The ARN for the fleet.

      • Name (string) --

        The name of the fleet.

      • DisplayName (string) --

        The name displayed to end users on the AppStream 2.0 portal.

      • Description (string) --

        The description displayed to end users on the AppStream 2.0 portal.

      • ImageName (string) --

        The image used by the fleet.

      • InstanceType (string) --

        The instance type of compute resources for the fleet. The fleet instances are launched from this instance type.

      • ComputeCapacityStatus (dict) --

        The capacity information 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 that are being used for streaming.

        • Available (integer) --

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

      • MaxUserDurationInSeconds (integer) --

        The maximum time during which a streaming session can run.

      • DisconnectTimeoutInSeconds (integer) --

        The time after disconnection when a session is considered to have ended. When a user reconnects after a disconnection, the user is connected to the same session and instance within this time interval.

      • State (string) --

        The current state for the fleet.

      • VpcConfig (dict) --

        The VPC configuration for the fleet.

        • SubnetIds (list) --

          The list of subnets to which a network interface is established from the fleet instance.

          • (string) --

      • CreatedTime (datetime) --

        The time at which the fleet was created.

      • FleetErrors (list) --

        The list of fleet errors is appended to this list.

        • (dict) --

          The details of the fleet error.

          • ErrorCode (string) --

            The error code for the fleet error.

          • ErrorMessage (string) --

            The error message generated when the fleet has errors.

      • EnableDefaultInternetAccess (boolean) --

        Default Internet access from the fleet. True (Enabled), False (Disabled).