Amazon AppStream

2017/06/05 - Amazon AppStream - 4 updated api methods

Changes  AppStream 2.0 Custom Security Groups allows you to easily control what network resources your streaming instances and images have access to. You can assign up to 5 security groups per Fleet to control the inbound and outbound network access to your streaming instances to specific IP ranges, network protocols, or ports.

CreateFleet (updated) Link ¶
Changes (request, response)
Request
{'VpcConfig': {'SecurityGroupIds': ['string']}}
Response
{'Fleet': {'VpcConfig': {'SecurityGroupIds': ['string']}}}

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',
        ],
        'SecurityGroupIds': [
            '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) --

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

    • (string) --

  • SecurityGroupIds (list) --

    Security groups associated with the fleet.

    • (string) --

type MaxUserDurationInSeconds

integer

param MaxUserDurationInSeconds

The maximum time for which a streaming session can run. The input can be any numeric value in seconds between 600 and 57600.

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 their previous session. The input can be any numeric value in seconds between 60 and 57600.

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

Enables or disables default Internet access for the 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',
            ],
            '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',
                '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 for which a streaming session can run. The value can be any numeric value in seconds between 600 and 57600.

      • DisconnectTimeoutInSeconds (integer) --

        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 their previous session. The input can be any numeric value in seconds between 60 and 57600.

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

        • SecurityGroupIds (list) --

          Security groups associated with the fleet.

          • (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) --

        Whether default Internet access is enabled for the fleet.

DescribeFleets (updated) Link ¶
Changes (response)
{'Fleets': {'VpcConfig': {'SecurityGroupIds': ['string']}}}

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',
                ],
                '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',
                    '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 for which a streaming session can run. The value can be any numeric value in seconds between 600 and 57600.

        • DisconnectTimeoutInSeconds (integer) --

          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 their previous session. The input can be any numeric value in seconds between 60 and 57600.

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

          • SecurityGroupIds (list) --

            Security groups associated with the fleet.

            • (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) --

          Whether default Internet access is enabled for the fleet.

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

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

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'|'USERPOOL'
)
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'|'USERPOOL'
        },
    ],
    '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
{'AttributesToDelete': ['VPC_CONFIGURATION | '
                        'VPC_CONFIGURATION_SECURITY_GROUP_IDS'],
 'VpcConfig': {'SecurityGroupIds': ['string']}}
Response
{'Fleet': {'VpcConfig': {'SecurityGroupIds': ['string']}}}

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',
        ],
        'SecurityGroupIds': [
            'string',
        ]
    },
    MaxUserDurationInSeconds=123,
    DisconnectTimeoutInSeconds=123,
    DeleteVpcConfig=True|False,
    Description='string',
    DisplayName='string',
    EnableDefaultInternetAccess=True|False,
    AttributesToDelete=[
        'VPC_CONFIGURATION'|'VPC_CONFIGURATION_SECURITY_GROUP_IDS',
    ]
)
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) --

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

    • (string) --

  • SecurityGroupIds (list) --

    Security groups associated with the fleet.

    • (string) --

type MaxUserDurationInSeconds

integer

param MaxUserDurationInSeconds

The maximum time for which a streaming session can run. The input can be any numeric value in seconds between 600 and 57600.

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 their previous session. The input can be any numeric value in seconds between 60 and 57600.

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

Enables or disables default Internet access for the fleet.

type AttributesToDelete

list

param AttributesToDelete

Fleet attributes to be deleted.

  • (string) --

    Fleet attribute.

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',
            ],
            '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',
                '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 for which a streaming session can run. The value can be any numeric value in seconds between 600 and 57600.

      • DisconnectTimeoutInSeconds (integer) --

        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 their previous session. The input can be any numeric value in seconds between 60 and 57600.

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

        • SecurityGroupIds (list) --

          Security groups associated with the fleet.

          • (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) --

        Whether default Internet access is enabled for the fleet.