Amazon AppStream

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

Changes  Update appstream client to latest version

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.