Amazon AppStream

2017/07/24 - Amazon AppStream - 4 new 3 updated api methods

Changes  Amazon AppStream 2.0 image builders and fleets can now access applications and network resources that rely on Microsoft Active Directory (AD) for authentication and permissions. This new feature allows you to join your streaming instances to your AD, so you can use your existing AD user management tools.

UpdateDirectoryConfig (new) Link ¶

Updates the directory configuration with the given parameters.

See also: AWS API Documentation

Request Syntax

client.update_directory_config(
    DirectoryName='string',
    OrganizationalUnitDistinguishedNames=[
        'string',
    ],
    ServiceAccountCredentials={
        'AccountName': 'string',
        'AccountPassword': 'string'
    }
)
type DirectoryName

string

param DirectoryName

[REQUIRED]

The name of the existing directory configuration to be updated.

type OrganizationalUnitDistinguishedNames

list

param OrganizationalUnitDistinguishedNames

The list of the distinguished names of organizational units to place computer accounts in.

  • (string) --

type ServiceAccountCredentials

dict

param ServiceAccountCredentials

The AccountName and AccountPassword values for the service account, which are used by the streaming instance to connect to the directory

  • AccountName (string) -- [REQUIRED]

    The user name of an account in the directory that is used by AppStream 2.0 streaming instances to connect to the directory. This account must have the following privileges: create computer objects, join computers to the domain, change/reset the password on descendant computer objects for the organizational units specified.

  • AccountPassword (string) -- [REQUIRED]

    The password for the user account for directory actions.

rtype

dict

returns

Response Syntax

{
    'DirectoryConfig': {
        'DirectoryName': 'string',
        'OrganizationalUnitDistinguishedNames': [
            'string',
        ],
        'ServiceAccountCredentials': {
            'AccountName': 'string',
            'AccountPassword': 'string'
        },
        'CreatedTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • DirectoryConfig (dict) --

      The updated directory configuration details.

      • DirectoryName (string) --

        The fully qualified name of the directory, such as corp.example.com

      • OrganizationalUnitDistinguishedNames (list) --

        The list of the distinguished names of organizational units in which to place computer accounts.

        • (string) --

      • ServiceAccountCredentials (dict) --

        The AccountName and AccountPassword of the service account, to be used by the streaming instance to connect to the directory.

        • AccountName (string) --

          The user name of an account in the directory that is used by AppStream 2.0 streaming instances to connect to the directory. This account must have the following privileges: create computer objects, join computers to the domain, change/reset the password on descendant computer objects for the organizational units specified.

        • AccountPassword (string) --

          The password for the user account for directory actions.

      • CreatedTime (datetime) --

        The time stamp when the directory configuration was created within AppStream 2.0.

CreateDirectoryConfig (new) Link ¶

Creates a directory configuration with the given parameters.

See also: AWS API Documentation

Request Syntax

client.create_directory_config(
    DirectoryName='string',
    OrganizationalUnitDistinguishedNames=[
        'string',
    ],
    ServiceAccountCredentials={
        'AccountName': 'string',
        'AccountPassword': 'string'
    }
)
type DirectoryName

string

param DirectoryName

[REQUIRED]

The fully qualified name of the directory, such as corp.example.com

type OrganizationalUnitDistinguishedNames

list

param OrganizationalUnitDistinguishedNames

[REQUIRED]

The list of the distinguished names of organizational units to place computer accounts in.

  • (string) --

type ServiceAccountCredentials

dict

param ServiceAccountCredentials

[REQUIRED]

The AccountName and AccountPassword values for the service account, which are used by the streaming instance to connect to the directory.

  • AccountName (string) -- [REQUIRED]

    The user name of an account in the directory that is used by AppStream 2.0 streaming instances to connect to the directory. This account must have the following privileges: create computer objects, join computers to the domain, change/reset the password on descendant computer objects for the organizational units specified.

  • AccountPassword (string) -- [REQUIRED]

    The password for the user account for directory actions.

rtype

dict

returns

Response Syntax

{
    'DirectoryConfig': {
        'DirectoryName': 'string',
        'OrganizationalUnitDistinguishedNames': [
            'string',
        ],
        'ServiceAccountCredentials': {
            'AccountName': 'string',
            'AccountPassword': 'string'
        },
        'CreatedTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • DirectoryConfig (dict) --

      Directory configuration details.

      • DirectoryName (string) --

        The fully qualified name of the directory, such as corp.example.com

      • OrganizationalUnitDistinguishedNames (list) --

        The list of the distinguished names of organizational units in which to place computer accounts.

        • (string) --

      • ServiceAccountCredentials (dict) --

        The AccountName and AccountPassword of the service account, to be used by the streaming instance to connect to the directory.

        • AccountName (string) --

          The user name of an account in the directory that is used by AppStream 2.0 streaming instances to connect to the directory. This account must have the following privileges: create computer objects, join computers to the domain, change/reset the password on descendant computer objects for the organizational units specified.

        • AccountPassword (string) --

          The password for the user account for directory actions.

      • CreatedTime (datetime) --

        The time stamp when the directory configuration was created within AppStream 2.0.

DescribeDirectoryConfigs (new) Link ¶

Returns a list describing the specified directory configurations.

See also: AWS API Documentation

Request Syntax

client.describe_directory_configs(
    DirectoryNames=[
        'string',
    ],
    MaxResults=123,
    NextToken='string'
)
type DirectoryNames

list

param DirectoryNames

A specific list of directory names.

  • (string) --

type MaxResults

integer

param MaxResults

The size of each page of results.

type NextToken

string

param NextToken

The DescribeDirectoryConfigsResult.NextToken from a previous call to DescribeDirectoryConfigs. If this is the first call, pass null.

rtype

dict

returns

Response Syntax

{
    'DirectoryConfigs': [
        {
            'DirectoryName': 'string',
            'OrganizationalUnitDistinguishedNames': [
                'string',
            ],
            'ServiceAccountCredentials': {
                'AccountName': 'string',
                'AccountPassword': 'string'
            },
            'CreatedTime': datetime(2015, 1, 1)
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • DirectoryConfigs (list) --

      The list of directory configurations.

      • (dict) --

        Full directory configuration details, which are used to join domains for the AppStream 2.0 streaming instances.

        • DirectoryName (string) --

          The fully qualified name of the directory, such as corp.example.com

        • OrganizationalUnitDistinguishedNames (list) --

          The list of the distinguished names of organizational units in which to place computer accounts.

          • (string) --

        • ServiceAccountCredentials (dict) --

          The AccountName and AccountPassword of the service account, to be used by the streaming instance to connect to the directory.

          • AccountName (string) --

            The user name of an account in the directory that is used by AppStream 2.0 streaming instances to connect to the directory. This account must have the following privileges: create computer objects, join computers to the domain, change/reset the password on descendant computer objects for the organizational units specified.

          • AccountPassword (string) --

            The password for the user account for directory actions.

        • CreatedTime (datetime) --

          The time stamp when the directory configuration was created within AppStream 2.0.

    • NextToken (string) --

      If not null, more results are available. To retrieve the next set of items, pass this value for the NextToken parameter in a subsequent call to DescribeDirectoryConfigs.

DeleteDirectoryConfig (new) Link ¶

Deletes the directory configuration with the given parameters.

See also: AWS API Documentation

Request Syntax

client.delete_directory_config(
    DirectoryName='string'
)
type DirectoryName

string

param DirectoryName

[REQUIRED]

The name of the directory configuration to be deleted.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

CreateFleet (updated) Link ¶
Changes (request, response)
Request
{'DomainJoinInfo': {'DirectoryName': 'string',
                    'OrganizationalUnitDistinguishedName': 'string'}}
Response
{'Fleet': {'DomainJoinInfo': {'DirectoryName': 'string',
                              'OrganizationalUnitDistinguishedName': 'string'},
           'FleetErrors': {'ErrorCode': {'DOMAIN_JOIN_ERROR_ACCESS_DENIED',
                                         'DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED',
                                         'DOMAIN_JOIN_ERROR_FILE_NOT_FOUND',
                                         'DOMAIN_JOIN_ERROR_INVALID_PARAMETER',
                                         'DOMAIN_JOIN_ERROR_LOGON_FAILURE',
                                         'DOMAIN_JOIN_ERROR_MORE_DATA',
                                         'DOMAIN_JOIN_ERROR_NOT_SUPPORTED',
                                         'DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN',
                                         'DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                                         'DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME',
                                         'DOMAIN_JOIN_NERR_PASSWORD_EXPIRED',
                                         'DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED',
                                         'IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION',
                                         'SECURITY_GROUPS_NOT_FOUND'}}}}

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,
    DomainJoinInfo={
        'DirectoryName': 'string',
        'OrganizationalUnitDistinguishedName': 'string'
    }
)
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. Available instance types are:

  • 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

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.

type DomainJoinInfo

dict

param DomainJoinInfo

The DirectoryName and OrganizationalUnitDistinguishedName values, which are used to join domains for the AppStream 2.0 streaming instances.

  • DirectoryName (string) --

    The fully qualified name of the directory, such as corp.example.com

  • OrganizationalUnitDistinguishedName (string) --

    The distinguished name of the organizational unit to place the computer account in.

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'|'SECURITY_GROUPS_NOT_FOUND'|'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) --

      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.

      • DomainJoinInfo (dict) --

        The DirectoryName and OrganizationalUnitDistinguishedName values, which are used to join domains for the AppStream 2.0 streaming instances.

        • DirectoryName (string) --

          The fully qualified name of the directory, such as corp.example.com

        • OrganizationalUnitDistinguishedName (string) --

          The distinguished name of the organizational unit to place the computer account in.

DescribeFleets (updated) Link ¶
Changes (response)
{'Fleets': {'DomainJoinInfo': {'DirectoryName': 'string',
                               'OrganizationalUnitDistinguishedName': 'string'},
            'FleetErrors': {'ErrorCode': {'DOMAIN_JOIN_ERROR_ACCESS_DENIED',
                                          'DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED',
                                          'DOMAIN_JOIN_ERROR_FILE_NOT_FOUND',
                                          'DOMAIN_JOIN_ERROR_INVALID_PARAMETER',
                                          'DOMAIN_JOIN_ERROR_LOGON_FAILURE',
                                          'DOMAIN_JOIN_ERROR_MORE_DATA',
                                          'DOMAIN_JOIN_ERROR_NOT_SUPPORTED',
                                          'DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN',
                                          'DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                                          'DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME',
                                          'DOMAIN_JOIN_NERR_PASSWORD_EXPIRED',
                                          'DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED',
                                          'IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION',
                                          'SECURITY_GROUPS_NOT_FOUND'}}}}

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'|'SECURITY_GROUPS_NOT_FOUND'|'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'
            }
        },
    ],
    '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.

        • DomainJoinInfo (dict) --

          The DirectoryName and OrganizationalUnitDistinguishedName values, which are used to join domains for the AppStream 2.0 streaming instances.

          • DirectoryName (string) --

            The fully qualified name of the directory, such as corp.example.com

          • OrganizationalUnitDistinguishedName (string) --

            The distinguished name of the organizational unit to place the computer account in.

    • 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': {'DOMAIN_JOIN_INFO'},
 'DomainJoinInfo': {'DirectoryName': 'string',
                    'OrganizationalUnitDistinguishedName': 'string'}}
Response
{'Fleet': {'DomainJoinInfo': {'DirectoryName': 'string',
                              'OrganizationalUnitDistinguishedName': 'string'},
           'FleetErrors': {'ErrorCode': {'DOMAIN_JOIN_ERROR_ACCESS_DENIED',
                                         'DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED',
                                         'DOMAIN_JOIN_ERROR_FILE_NOT_FOUND',
                                         'DOMAIN_JOIN_ERROR_INVALID_PARAMETER',
                                         'DOMAIN_JOIN_ERROR_LOGON_FAILURE',
                                         'DOMAIN_JOIN_ERROR_MORE_DATA',
                                         'DOMAIN_JOIN_ERROR_NOT_SUPPORTED',
                                         'DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN',
                                         'DOMAIN_JOIN_INTERNAL_SERVICE_ERROR',
                                         'DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME',
                                         'DOMAIN_JOIN_NERR_PASSWORD_EXPIRED',
                                         'DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED',
                                         'IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION',
                                         'SECURITY_GROUPS_NOT_FOUND'}}}}

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,
    DomainJoinInfo={
        'DirectoryName': 'string',
        'OrganizationalUnitDistinguishedName': 'string'
    },
    AttributesToDelete=[
        'VPC_CONFIGURATION'|'VPC_CONFIGURATION_SECURITY_GROUP_IDS'|'DOMAIN_JOIN_INFO',
    ]
)
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. Available instance types are:

  • 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

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 DomainJoinInfo

dict

param DomainJoinInfo

The DirectoryName and OrganizationalUnitDistinguishedName values, which are used to join domains for the AppStream 2.0 streaming instances.

  • DirectoryName (string) --

    The fully qualified name of the directory, such as corp.example.com

  • OrganizationalUnitDistinguishedName (string) --

    The distinguished name of the organizational unit to place the computer account in.

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'|'SECURITY_GROUPS_NOT_FOUND'|'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) --

      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.

      • DomainJoinInfo (dict) --

        The DirectoryName and OrganizationalUnitDistinguishedName values, which are used to join domains for the AppStream 2.0 streaming instances.

        • DirectoryName (string) --

          The fully qualified name of the directory, such as corp.example.com

        • OrganizationalUnitDistinguishedName (string) --

          The distinguished name of the organizational unit to place the computer account in.