Class: Aws::AppStream::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb

Overview

An API client for AppStream. To construct a client, you need to configure a :region and :credentials.

client = Aws::AppStream::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test or custom endpoints. This should be a valid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :secret_access_key (String)
  • :session_token (String)
  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :use_dualstack_endpoint (Boolean)

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before raising a Timeout::Error.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :ssl_timeout (Float) — default: nil

    Sets the SSL timeout in seconds.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.



358
359
360
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 358

def initialize(*args)
  super
end

Instance Method Details

#associate_application_fleet(params = {}) ⇒ Types::AssociateApplicationFleetResult

Associates the specified application with the specified fleet. This is only supported for Elastic fleets.

Examples:

Request syntax with placeholder values


resp = client.associate_application_fleet({
  fleet_name: "Name", # required
  application_arn: "Arn", # required
})

Response structure


resp.application_fleet_association.fleet_name #=> String
resp.application_fleet_association.application_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :fleet_name (required, String)

    The name of the fleet.

  • :application_arn (required, String)

    The ARN of the application.

Returns:

See Also:



393
394
395
396
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 393

def associate_application_fleet(params = {}, options = {})
  req = build_request(:associate_application_fleet, params)
  req.send_request(options)
end

#associate_application_to_entitlement(params = {}) ⇒ Struct

Associates an application to entitle.

Examples:

Request syntax with placeholder values


resp = client.associate_application_to_entitlement({
  stack_name: "Name", # required
  entitlement_name: "Name", # required
  application_identifier: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack.

  • :entitlement_name (required, String)

    The name of the entitlement.

  • :application_identifier (required, String)

    The identifier of the application.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



423
424
425
426
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 423

def associate_application_to_entitlement(params = {}, options = {})
  req = build_request(:associate_application_to_entitlement, params)
  req.send_request(options)
end

#associate_fleet(params = {}) ⇒ Struct

Associates the specified fleet with the specified stack.

Examples:

Request syntax with placeholder values


resp = client.associate_fleet({
  fleet_name: "String", # required
  stack_name: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :fleet_name (required, String)

    The name of the fleet.

  • :stack_name (required, String)

    The name of the stack.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



449
450
451
452
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 449

def associate_fleet(params = {}, options = {})
  req = build_request(:associate_fleet, params)
  req.send_request(options)
end

#batch_associate_user_stack(params = {}) ⇒ Types::BatchAssociateUserStackResult

Associates the specified users with the specified stacks. Users in a user pool cannot be assigned to stacks with fleets that are joined to an Active Directory domain.

Examples:

Request syntax with placeholder values


resp = client.batch_associate_user_stack({
  user_stack_associations: [ # required
    {
      stack_name: "String", # required
      user_name: "Username", # required
      authentication_type: "API", # required, accepts API, SAML, USERPOOL
      send_email_notification: false,
    },
  ],
})

Response structure


resp.errors #=> Array
resp.errors[0].user_stack_association.stack_name #=> String
resp.errors[0].user_stack_association.user_name #=> String
resp.errors[0].user_stack_association.authentication_type #=> String, one of "API", "SAML", "USERPOOL"
resp.errors[0].user_stack_association.send_email_notification #=> Boolean
resp.errors[0].error_code #=> String, one of "STACK_NOT_FOUND", "USER_NAME_NOT_FOUND", "DIRECTORY_NOT_FOUND", "INTERNAL_ERROR"
resp.errors[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



492
493
494
495
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 492

def batch_associate_user_stack(params = {}, options = {})
  req = build_request(:batch_associate_user_stack, params)
  req.send_request(options)
end

#batch_disassociate_user_stack(params = {}) ⇒ Types::BatchDisassociateUserStackResult

Disassociates the specified users from the specified stacks.

Examples:

Request syntax with placeholder values


resp = client.batch_disassociate_user_stack({
  user_stack_associations: [ # required
    {
      stack_name: "String", # required
      user_name: "Username", # required
      authentication_type: "API", # required, accepts API, SAML, USERPOOL
      send_email_notification: false,
    },
  ],
})

Response structure


resp.errors #=> Array
resp.errors[0].user_stack_association.stack_name #=> String
resp.errors[0].user_stack_association.user_name #=> String
resp.errors[0].user_stack_association.authentication_type #=> String, one of "API", "SAML", "USERPOOL"
resp.errors[0].user_stack_association.send_email_notification #=> Boolean
resp.errors[0].error_code #=> String, one of "STACK_NOT_FOUND", "USER_NAME_NOT_FOUND", "DIRECTORY_NOT_FOUND", "INTERNAL_ERROR"
resp.errors[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



533
534
535
536
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 533

def batch_disassociate_user_stack(params = {}, options = {})
  req = build_request(:batch_disassociate_user_stack, params)
  req.send_request(options)
end

#copy_image(params = {}) ⇒ Types::CopyImageResponse

Copies the image within the same region or to a new region within the same AWS account. Note that any tags you added to the image will not be copied.

Examples:

Request syntax with placeholder values


resp = client.copy_image({
  source_image_name: "Name", # required
  destination_image_name: "Name", # required
  destination_region: "RegionName", # required
  destination_image_description: "Description",
})

Response structure


resp.destination_image_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :source_image_name (required, String)

    The name of the image to copy.

  • :destination_image_name (required, String)

    The name that the image will have when it is copied to the destination.

  • :destination_region (required, String)

    The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region.

  • :destination_image_description (String)

    The description that the image will have when it is copied to the destination.

Returns:

See Also:



579
580
581
582
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 579

def copy_image(params = {}, options = {})
  req = build_request(:copy_image, params)
  req.send_request(options)
end

#create_app_block(params = {}) ⇒ Types::CreateAppBlockResult

Creates an app block.

App blocks are an Amazon AppStream 2.0 resource that stores the details about the virtual hard disk in an S3 bucket. It also stores the setup script with details about how to mount the virtual hard disk. The virtual hard disk includes the application binaries and other files necessary to launch your applications. Multiple applications can be assigned to a single app block.

This is only supported for Elastic fleets.

Examples:

Request syntax with placeholder values


resp = client.create_app_block({
  name: "Name", # required
  description: "Description",
  display_name: "DisplayName",
  source_s3_location: { # required
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key", # required
  },
  setup_script_details: { # required
    script_s3_location: { # required
      s3_bucket: "S3Bucket", # required
      s3_key: "S3Key", # required
    },
    executable_path: "String", # required
    executable_parameters: "String",
    timeout_in_seconds: 1, # required
  },
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.app_block.name #=> String
resp.app_block.arn #=> String
resp.app_block.description #=> String
resp.app_block.display_name #=> String
resp.app_block.source_s3_location.s3_bucket #=> String
resp.app_block.source_s3_location.s3_key #=> String
resp.app_block.setup_script_details.script_s3_location.s3_bucket #=> String
resp.app_block.setup_script_details.script_s3_location.s3_key #=> String
resp.app_block.setup_script_details.executable_path #=> String
resp.app_block.setup_script_details.executable_parameters #=> String
resp.app_block.setup_script_details.timeout_in_seconds #=> Integer
resp.app_block.created_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the app block.

  • :description (String)

    The description of the app block.

  • :display_name (String)

    The display name of the app block. This is not displayed to the user.

  • :source_s3_location (required, Types::S3Location)

    The source S3 location of the app block.

  • :setup_script_details (required, Types::ScriptDetails)

    The setup script details of the app block.

  • :tags (Hash<String,String>)

    The tags assigned to the app block.

Returns:

See Also:



660
661
662
663
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 660

def create_app_block(params = {}, options = {})
  req = build_request(:create_app_block, params)
  req.send_request(options)
end

#create_application(params = {}) ⇒ Types::CreateApplicationResult

Creates an application.

Applications are an Amazon AppStream 2.0 resource that stores the details about how to launch applications on Elastic fleet streaming instances. An application consists of the launch details, icon, and display name. Applications are associated with an app block that contains the application binaries and other files. The applications assigned to an Elastic fleet are the applications users can launch.

This is only supported for Elastic fleets.

Examples:

Request syntax with placeholder values


resp = client.create_application({
  name: "Name", # required
  display_name: "DisplayName",
  description: "Description",
  icon_s3_location: { # required
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key", # required
  },
  launch_path: "String", # required
  working_directory: "String",
  launch_parameters: "String",
  platforms: ["WINDOWS"], # required, accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
  instance_families: ["String"], # required
  app_block_arn: "Arn", # required
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.application.name #=> String
resp.application.display_name #=> String
resp.application.icon_url #=> String
resp.application.launch_path #=> String
resp.application.launch_parameters #=> String
resp.application.enabled #=> Boolean
resp.application. #=> Hash
resp.application.["String"] #=> String
resp.application.working_directory #=> String
resp.application.description #=> String
resp.application.arn #=> String
resp.application.app_block_arn #=> String
resp.application.icon_s3_location.s3_bucket #=> String
resp.application.icon_s3_location.s3_key #=> String
resp.application.platforms #=> Array
resp.application.platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.application.instance_families #=> Array
resp.application.instance_families[0] #=> String
resp.application.created_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the application. This name is visible to users when display name is not specified.

  • :display_name (String)

    The display name of the application. This name is visible to users in the application catalog.

  • :description (String)

    The description of the application.

  • :icon_s3_location (required, Types::S3Location)

    The location in S3 of the application icon.

  • :launch_path (required, String)

    The launch path of the application.

  • :working_directory (String)

    The working directory of the application.

  • :launch_parameters (String)

    The launch parameters of the application.

  • :platforms (required, Array<String>)

    The platforms the application supports. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are supported for Elastic fleets.

  • :instance_families (required, Array<String>)

    The instance families the application supports. Valid values are GENERAL_PURPOSE and GRAPHICS_G4.

  • :app_block_arn (required, String)

    The app block ARN to which the application should be associated

  • :tags (Hash<String,String>)

    The tags assigned to the application.

Returns:

See Also:



764
765
766
767
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 764

def create_application(params = {}, options = {})
  req = build_request(:create_application, params)
  req.send_request(options)
end

#create_directory_config(params = {}) ⇒ Types::CreateDirectoryConfigResult

Creates a Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Examples:

Request syntax with placeholder values


resp = client.create_directory_config({
  directory_name: "DirectoryName", # required
  organizational_unit_distinguished_names: ["OrganizationalUnitDistinguishedName"], # required
  service_account_credentials: {
    account_name: "AccountName", # required
    account_password: "AccountPassword", # required
  },
})

Response structure


resp.directory_config.directory_name #=> String
resp.directory_config.organizational_unit_distinguished_names #=> Array
resp.directory_config.organizational_unit_distinguished_names[0] #=> String
resp.directory_config.. #=> String
resp.directory_config.. #=> String
resp.directory_config.created_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_name (required, String)

    The fully qualified name of the directory (for example, corp.example.com).

  • :organizational_unit_distinguished_names (required, Array<String>)

    The distinguished names of the organizational units for computer accounts.

  • :service_account_credentials (Types::ServiceAccountCredentials)

    The credentials for the service account used by the fleet or image builder to connect to the directory.

Returns:

See Also:



813
814
815
816
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 813

def create_directory_config(params = {}, options = {})
  req = build_request(:create_directory_config, params)
  req.send_request(options)
end

#create_entitlement(params = {}) ⇒ Types::CreateEntitlementResult

Creates a new entitlement. Entitlements control access to specific applications within a stack, based on user attributes. Entitlements apply to SAML 2.0 federated user identities. Amazon AppStream 2.0 user pool and streaming URL users are entitled to all applications in a stack. Entitlements don't apply to the desktop stream view application, or to applications managed by a dynamic app provider using the Dynamic Application Framework.

Examples:

Request syntax with placeholder values


resp = client.create_entitlement({
  name: "Name", # required
  stack_name: "Name", # required
  description: "Description",
  app_visibility: "ALL", # required, accepts ALL, ASSOCIATED
  attributes: [ # required
    {
      name: "String", # required
      value: "String", # required
    },
  ],
})

Response structure


resp.entitlement.name #=> String
resp.entitlement.stack_name #=> String
resp.entitlement.description #=> String
resp.entitlement.app_visibility #=> String, one of "ALL", "ASSOCIATED"
resp.entitlement.attributes #=> Array
resp.entitlement.attributes[0].name #=> String
resp.entitlement.attributes[0].value #=> String
resp.entitlement.created_time #=> Time
resp.entitlement.last_modified_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the entitlement.

  • :stack_name (required, String)

    The name of the stack with which the entitlement is associated.

  • :description (String)

    The description of the entitlement.

  • :app_visibility (required, String)

    Specifies whether all or selected apps are entitled.

  • :attributes (required, Array<Types::EntitlementAttribute>)

    The attributes of the entitlement.

Returns:

See Also:



876
877
878
879
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 876

def create_entitlement(params = {}, options = {})
  req = build_request(:create_entitlement, params)
  req.send_request(options)
end

#create_fleet(params = {}) ⇒ Types::CreateFleetResult

Creates a fleet. A fleet consists of streaming instances that run a specified image when using Always-On or On-Demand.

Examples:

Request syntax with placeholder values


resp = client.create_fleet({
  name: "Name", # required
  image_name: "String",
  image_arn: "Arn",
  instance_type: "String", # required
  fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND, ELASTIC
  compute_capacity: {
    desired_instances: 1, # required
  },
  vpc_config: {
    subnet_ids: ["String"],
    security_group_ids: ["String"],
  },
  max_user_duration_in_seconds: 1,
  disconnect_timeout_in_seconds: 1,
  description: "Description",
  display_name: "DisplayName",
  enable_default_internet_access: false,
  domain_join_info: {
    directory_name: "DirectoryName",
    organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
  },
  tags: {
    "TagKey" => "TagValue",
  },
  idle_disconnect_timeout_in_seconds: 1,
  iam_role_arn: "Arn",
  stream_view: "APP", # accepts APP, DESKTOP
  platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
  max_concurrent_sessions: 1,
  usb_device_filter_strings: ["UsbDeviceFilterString"],
  session_script_s3_location: {
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key", # required
  },
})

Response structure


resp.fleet.arn #=> String
resp.fleet.name #=> String
resp.fleet.display_name #=> String
resp.fleet.description #=> String
resp.fleet.image_name #=> String
resp.fleet.image_arn #=> String
resp.fleet.instance_type #=> String
resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND", "ELASTIC"
resp.fleet.compute_capacity_status.desired #=> Integer
resp.fleet.compute_capacity_status.running #=> Integer
resp.fleet.compute_capacity_status.in_use #=> Integer
resp.fleet.compute_capacity_status.available #=> Integer
resp.fleet.max_user_duration_in_seconds #=> Integer
resp.fleet.disconnect_timeout_in_seconds #=> Integer
resp.fleet.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
resp.fleet.vpc_config.subnet_ids #=> Array
resp.fleet.vpc_config.subnet_ids[0] #=> String
resp.fleet.vpc_config.security_group_ids #=> Array
resp.fleet.vpc_config.security_group_ids[0] #=> String
resp.fleet.created_time #=> Time
resp.fleet.fleet_errors #=> Array
resp.fleet.fleet_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.fleet.fleet_errors[0].error_message #=> String
resp.fleet.enable_default_internet_access #=> Boolean
resp.fleet.domain_join_info.directory_name #=> String
resp.fleet.domain_join_info.organizational_unit_distinguished_name #=> String
resp.fleet.idle_disconnect_timeout_in_seconds #=> Integer
resp.fleet.iam_role_arn #=> String
resp.fleet.stream_view #=> String, one of "APP", "DESKTOP"
resp.fleet.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.fleet.max_concurrent_sessions #=> Integer
resp.fleet.usb_device_filter_strings #=> Array
resp.fleet.usb_device_filter_strings[0] #=> String
resp.fleet.session_script_s3_location.s3_bucket #=> String
resp.fleet.session_script_s3_location.s3_key #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    A unique name for the fleet.

  • :image_name (String)

    The name of the image used to create the fleet.

  • :image_arn (String)

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

  • :instance_type (required, String)

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

    • stream.standard.small

    • stream.standard.medium

    • stream.standard.large

    • stream.compute.large

    • stream.compute.xlarge

    • stream.compute.2xlarge

    • stream.compute.4xlarge

    • stream.compute.8xlarge

    • stream.memory.large

    • stream.memory.xlarge

    • stream.memory.2xlarge

    • stream.memory.4xlarge

    • stream.memory.8xlarge

    • stream.memory.z1d.large

    • stream.memory.z1d.xlarge

    • stream.memory.z1d.2xlarge

    • stream.memory.z1d.3xlarge

    • stream.memory.z1d.6xlarge

    • stream.memory.z1d.12xlarge

    • stream.graphics-design.large

    • stream.graphics-design.xlarge

    • stream.graphics-design.2xlarge

    • stream.graphics-design.4xlarge

    • stream.graphics-desktop.2xlarge

    • stream.graphics.g4dn.xlarge

    • stream.graphics.g4dn.2xlarge

    • stream.graphics.g4dn.4xlarge

    • stream.graphics.g4dn.8xlarge

    • stream.graphics.g4dn.12xlarge

    • stream.graphics.g4dn.16xlarge

    • stream.graphics-pro.4xlarge

    • stream.graphics-pro.8xlarge

    • stream.graphics-pro.16xlarge

    The following instance types are available for Elastic fleets:

    • stream.standard.small

    • stream.standard.medium

  • :fleet_type (String)

    The fleet type.

    ALWAYS_ON

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

    ON_DEMAND

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

  • :compute_capacity (Types::ComputeCapacity)

    The desired capacity for the fleet. This is not allowed for Elastic fleets. For Elastic fleets, specify MaxConcurrentSessions instead.

  • :vpc_config (Types::VpcConfig)

    The VPC configuration for the fleet. This is required for Elastic fleets, but not required for other fleet types. Elastic fleets require that you specify at least two subnets in different availability zones.

  • :max_user_duration_in_seconds (Integer)

    The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

    Specify a value between 600 and 360000.

  • :disconnect_timeout_in_seconds (Integer)

    The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

    Specify a value between 60 and 360000.

  • :description (String)

    The description to display.

  • :display_name (String)

    The fleet name to display.

  • :enable_default_internet_access (Boolean)

    Enables or disables default internet access for the fleet.

  • :domain_join_info (Types::DomainJoinInfo)

    The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. This is not allowed for Elastic fleets.

  • :tags (Hash<String,String>)

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

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

    Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

    _ . : / = + \ - @

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

  • :idle_disconnect_timeout_in_seconds (Integer)

    The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

    To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

    If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

  • :iam_role_arn (String)

    The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

  • :stream_view (String)

    The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is specified, the standard desktop that is provided by the operating system displays.

    The default value is APP.

  • :platform (String)

    The fleet platform. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are supported for Elastic fleets.

  • :max_concurrent_sessions (Integer)

    The maximum concurrent sessions of the Elastic fleet. This is required for Elastic fleets, and not allowed for other fleet types.

  • :usb_device_filter_strings (Array<String>)

    The USB device filter strings that specify which USB devices a user can redirect to the fleet streaming session, when using the Windows native client. This is allowed but not required for Elastic fleets.

  • :session_script_s3_location (Types::S3Location)

    The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets.

Returns:

See Also:



1200
1201
1202
1203
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1200

def create_fleet(params = {}, options = {})
  req = build_request(:create_fleet, params)
  req.send_request(options)
end

#create_image_builder(params = {}) ⇒ Types::CreateImageBuilderResult

Creates an image builder. An image builder is a virtual machine that is used to create an image.

The initial state of the builder is PENDING. When it is ready, the state is RUNNING.

Examples:

Request syntax with placeholder values


resp = client.create_image_builder({
  name: "Name", # required
  image_name: "String",
  image_arn: "Arn",
  instance_type: "String", # required
  description: "Description",
  display_name: "DisplayName",
  vpc_config: {
    subnet_ids: ["String"],
    security_group_ids: ["String"],
  },
  iam_role_arn: "Arn",
  enable_default_internet_access: false,
  domain_join_info: {
    directory_name: "DirectoryName",
    organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
  },
  appstream_agent_version: "AppstreamAgentVersion",
  tags: {
    "TagKey" => "TagValue",
  },
  access_endpoints: [
    {
      endpoint_type: "STREAMING", # required, accepts STREAMING
      vpce_id: "String",
    },
  ],
})

Response structure


resp.image_builder.name #=> String
resp.image_builder.arn #=> String
resp.image_builder.image_arn #=> String
resp.image_builder.description #=> String
resp.image_builder.display_name #=> String
resp.image_builder.vpc_config.subnet_ids #=> Array
resp.image_builder.vpc_config.subnet_ids[0] #=> String
resp.image_builder.vpc_config.security_group_ids #=> Array
resp.image_builder.vpc_config.security_group_ids[0] #=> String
resp.image_builder.instance_type #=> String
resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.image_builder.iam_role_arn #=> String
resp.image_builder.state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
resp.image_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
resp.image_builder.state_change_reason.message #=> String
resp.image_builder.created_time #=> Time
resp.image_builder.enable_default_internet_access #=> Boolean
resp.image_builder.domain_join_info.directory_name #=> String
resp.image_builder.domain_join_info.organizational_unit_distinguished_name #=> String
resp.image_builder.network_access_configuration.eni_private_ip_address #=> String
resp.image_builder.network_access_configuration.eni_id #=> String
resp.image_builder.image_builder_errors #=> Array
resp.image_builder.image_builder_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.image_builder.image_builder_errors[0].error_message #=> String
resp.image_builder.image_builder_errors[0].error_timestamp #=> Time
resp.image_builder.appstream_agent_version #=> String
resp.image_builder.access_endpoints #=> Array
resp.image_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.image_builder.access_endpoints[0].vpce_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    A unique name for the image builder.

  • :image_name (String)

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

  • :image_arn (String)

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

  • :instance_type (required, String)

    The instance type to use when launching the image builder. The following instance types are available:

    • stream.standard.small

    • stream.standard.medium

    • stream.standard.large

    • stream.compute.large

    • stream.compute.xlarge

    • stream.compute.2xlarge

    • stream.compute.4xlarge

    • stream.compute.8xlarge

    • stream.memory.large

    • stream.memory.xlarge

    • stream.memory.2xlarge

    • stream.memory.4xlarge

    • stream.memory.8xlarge

    • stream.memory.z1d.large

    • stream.memory.z1d.xlarge

    • stream.memory.z1d.2xlarge

    • stream.memory.z1d.3xlarge

    • stream.memory.z1d.6xlarge

    • stream.memory.z1d.12xlarge

    • stream.graphics-design.large

    • stream.graphics-design.xlarge

    • stream.graphics-design.2xlarge

    • stream.graphics-design.4xlarge

    • stream.graphics-desktop.2xlarge

    • stream.graphics.g4dn.xlarge

    • stream.graphics.g4dn.2xlarge

    • stream.graphics.g4dn.4xlarge

    • stream.graphics.g4dn.8xlarge

    • stream.graphics.g4dn.12xlarge

    • stream.graphics.g4dn.16xlarge

    • stream.graphics-pro.4xlarge

    • stream.graphics-pro.8xlarge

    • stream.graphics-pro.16xlarge

  • :description (String)

    The description to display.

  • :display_name (String)

    The image builder name to display.

  • :vpc_config (Types::VpcConfig)

    The VPC configuration for the image builder. You can specify only one subnet.

  • :iam_role_arn (String)

    The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

  • :enable_default_internet_access (Boolean)

    Enables or disables default internet access for the image builder.

  • :domain_join_info (Types::DomainJoinInfo)

    The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

  • :appstream_agent_version (String)

    The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].

  • :tags (Hash<String,String>)

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

    Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

    _ . : / = + \ - @

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

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

  • :access_endpoints (Array<Types::AccessEndpoint>)

    The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.

Returns:

See Also:



1424
1425
1426
1427
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1424

def create_image_builder(params = {}, options = {})
  req = build_request(:create_image_builder, params)
  req.send_request(options)
end

#create_image_builder_streaming_url(params = {}) ⇒ Types::CreateImageBuilderStreamingURLResult

Creates a URL to start an image builder streaming session.

Examples:

Request syntax with placeholder values


resp = client.create_image_builder_streaming_url({
  name: "String", # required
  validity: 1,
})

Response structure


resp.streaming_url #=> String
resp.expires #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the image builder.

  • :validity (Integer)

    The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds.

Returns:

See Also:



1459
1460
1461
1462
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1459

def create_image_builder_streaming_url(params = {}, options = {})
  req = build_request(:create_image_builder_streaming_url, params)
  req.send_request(options)
end

#create_stack(params = {}) ⇒ Types::CreateStackResult

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

Examples:

Request syntax with placeholder values


resp = client.create_stack({
  name: "Name", # required
  description: "Description",
  display_name: "DisplayName",
  storage_connectors: [
    {
      connector_type: "HOMEFOLDERS", # required, accepts HOMEFOLDERS, GOOGLE_DRIVE, ONE_DRIVE
      resource_identifier: "ResourceIdentifier",
      domains: ["Domain"],
    },
  ],
  redirect_url: "RedirectURL",
  feedback_url: "FeedbackURL",
  user_settings: [
    {
      action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, FILE_UPLOAD, FILE_DOWNLOAD, PRINTING_TO_LOCAL_DEVICE, DOMAIN_PASSWORD_SIGNIN, DOMAIN_SMART_CARD_SIGNIN
      permission: "ENABLED", # required, accepts ENABLED, DISABLED
    },
  ],
  application_settings: {
    enabled: false, # required
    settings_group: "SettingsGroup",
  },
  tags: {
    "TagKey" => "TagValue",
  },
  access_endpoints: [
    {
      endpoint_type: "STREAMING", # required, accepts STREAMING
      vpce_id: "String",
    },
  ],
  embed_host_domains: ["EmbedHostDomain"],
})

Response structure


resp.stack.arn #=> String
resp.stack.name #=> String
resp.stack.description #=> String
resp.stack.display_name #=> String
resp.stack.created_time #=> Time
resp.stack.storage_connectors #=> Array
resp.stack.storage_connectors[0].connector_type #=> String, one of "HOMEFOLDERS", "GOOGLE_DRIVE", "ONE_DRIVE"
resp.stack.storage_connectors[0].resource_identifier #=> String
resp.stack.storage_connectors[0].domains #=> Array
resp.stack.storage_connectors[0].domains[0] #=> String
resp.stack.redirect_url #=> String
resp.stack.feedback_url #=> String
resp.stack.stack_errors #=> Array
resp.stack.stack_errors[0].error_code #=> String, one of "STORAGE_CONNECTOR_ERROR", "INTERNAL_SERVICE_ERROR"
resp.stack.stack_errors[0].error_message #=> String
resp.stack. #=> Array
resp.stack.[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "FILE_UPLOAD", "FILE_DOWNLOAD", "PRINTING_TO_LOCAL_DEVICE", "DOMAIN_PASSWORD_SIGNIN", "DOMAIN_SMART_CARD_SIGNIN"
resp.stack.[0].permission #=> String, one of "ENABLED", "DISABLED"
resp.stack.application_settings.enabled #=> Boolean
resp.stack.application_settings.settings_group #=> String
resp.stack.application_settings.s3_bucket_name #=> String
resp.stack.access_endpoints #=> Array
resp.stack.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.stack.access_endpoints[0].vpce_id #=> String
resp.stack.embed_host_domains #=> Array
resp.stack.embed_host_domains[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the stack.

  • :description (String)

    The description to display.

  • :display_name (String)

    The stack name to display.

  • :storage_connectors (Array<Types::StorageConnector>)

    The storage connectors to enable.

  • :redirect_url (String)

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

  • :feedback_url (String)

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

  • :user_settings (Array<Types::UserSetting>)

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

  • :application_settings (Types::ApplicationSettings)

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

  • :tags (Hash<String,String>)

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

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

    Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

    _ . : / = + \ - @

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

  • :access_endpoints (Array<Types::AccessEndpoint>)

    The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

  • :embed_host_domains (Array<String>)

    The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

Returns:

See Also:



1602
1603
1604
1605
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1602

def create_stack(params = {}, options = {})
  req = build_request(:create_stack, params)
  req.send_request(options)
end

#create_streaming_url(params = {}) ⇒ Types::CreateStreamingURLResult

Creates a temporary URL to start an AppStream 2.0 streaming session for the specified user. A streaming URL enables application streaming to be tested without user setup.

Examples:

Request syntax with placeholder values


resp = client.create_streaming_url({
  stack_name: "String", # required
  fleet_name: "String", # required
  user_id: "StreamingUrlUserId", # required
  application_id: "String",
  validity: 1,
  session_context: "String",
})

Response structure


resp.streaming_url #=> String
resp.expires #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack.

  • :fleet_name (required, String)

    The name of the fleet.

  • :user_id (required, String)

    The identifier of the user.

  • :application_id (String)

    The name of the application to launch after the session starts. This is the name that you specified as Name in the Image Assistant. If your fleet is enabled for the Desktop stream view, you can also choose to launch directly to the operating system desktop. To do so, specify Desktop.

  • :validity (Integer)

    The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 60 seconds.

  • :session_context (String)

    The session context. For more information, see Session Context in the Amazon AppStream 2.0 Administration Guide.

Returns:

See Also:



1664
1665
1666
1667
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1664

def create_streaming_url(params = {}, options = {})
  req = build_request(:create_streaming_url, params)
  req.send_request(options)
end

#create_updated_image(params = {}) ⇒ Types::CreateUpdatedImageResult

Creates a new image with the latest Windows operating system updates, driver updates, and AppStream 2.0 agent software.

For more information, see the "Update an Image by Using Managed AppStream 2.0 Image Updates" section in Administer Your AppStream 2.0 Images, in the Amazon AppStream 2.0 Administration Guide.

Examples:

Request syntax with placeholder values


resp = client.create_updated_image({
  existing_image_name: "Name", # required
  new_image_name: "Name", # required
  new_image_description: "Description",
  new_image_display_name: "DisplayName",
  new_image_tags: {
    "TagKey" => "TagValue",
  },
  dry_run: false,
})

Response structure


resp.image.name #=> String
resp.image.arn #=> String
resp.image.base_image_arn #=> String
resp.image.display_name #=> String
resp.image.state #=> String, one of "PENDING", "AVAILABLE", "FAILED", "COPYING", "DELETING", "CREATING", "IMPORTING"
resp.image.visibility #=> String, one of "PUBLIC", "PRIVATE", "SHARED"
resp.image.image_builder_supported #=> Boolean
resp.image.image_builder_name #=> String
resp.image.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.image.description #=> String
resp.image.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_BUILDER_NOT_AVAILABLE", "IMAGE_COPY_FAILURE"
resp.image.state_change_reason.message #=> String
resp.image.applications #=> Array
resp.image.applications[0].name #=> String
resp.image.applications[0].display_name #=> String
resp.image.applications[0].icon_url #=> String
resp.image.applications[0].launch_path #=> String
resp.image.applications[0].launch_parameters #=> String
resp.image.applications[0].enabled #=> Boolean
resp.image.applications[0]. #=> Hash
resp.image.applications[0].["String"] #=> String
resp.image.applications[0].working_directory #=> String
resp.image.applications[0].description #=> String
resp.image.applications[0].arn #=> String
resp.image.applications[0].app_block_arn #=> String
resp.image.applications[0].icon_s3_location.s3_bucket #=> String
resp.image.applications[0].icon_s3_location.s3_key #=> String
resp.image.applications[0].platforms #=> Array
resp.image.applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.image.applications[0].instance_families #=> Array
resp.image.applications[0].instance_families[0] #=> String
resp.image.applications[0].created_time #=> Time
resp.image.created_time #=> Time
resp.image.public_base_image_released_date #=> Time
resp.image.appstream_agent_version #=> String
resp.image.image_permissions.allow_fleet #=> Boolean
resp.image.image_permissions.allow_image_builder #=> Boolean
resp.image.image_errors #=> Array
resp.image.image_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.image.image_errors[0].error_message #=> String
resp.image.image_errors[0].error_timestamp #=> Time
resp.can_update_image #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :existing_image_name (required, String)

    The name of the image to update.

  • :new_image_name (required, String)

    The name of the new image. The name must be unique within the AWS account and Region.

  • :new_image_description (String)

    The description to display for the new image.

  • :new_image_display_name (String)

    The name to display for the new image.

  • :new_image_tags (Hash<String,String>)

    The tags to associate with the new image. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

    Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

    _ . : / = + \ - @

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

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

  • :dry_run (Boolean)

    Indicates whether to display the status of image update availability before AppStream 2.0 initiates the process of creating a new updated image. If this value is set to true, AppStream 2.0 displays whether image updates are available. If this value is set to false, AppStream 2.0 initiates the process of creating a new updated image without displaying whether image updates are available.

Returns:

See Also:



1787
1788
1789
1790
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1787

def create_updated_image(params = {}, options = {})
  req = build_request(:create_updated_image, params)
  req.send_request(options)
end

#create_usage_report_subscription(params = {}) ⇒ Types::CreateUsageReportSubscriptionResult

Creates a usage report subscription. Usage reports are generated daily.

Examples:

Response structure


resp.s3_bucket_name #=> String
resp.schedule #=> String, one of "DAILY"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



1809
1810
1811
1812
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1809

def create_usage_report_subscription(params = {}, options = {})
  req = build_request(:create_usage_report_subscription, params)
  req.send_request(options)
end

#create_user(params = {}) ⇒ Struct

Creates a new user in the user pool.

Examples:

Request syntax with placeholder values


resp = client.create_user({
  user_name: "Username", # required
  message_action: "SUPPRESS", # accepts SUPPRESS, RESEND
  first_name: "UserAttributeValue",
  last_name: "UserAttributeValue",
  authentication_type: "API", # required, accepts API, SAML, USERPOOL
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :user_name (required, String)

    The email address of the user.

    Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a "user does not exist" error message displays.

  • :message_action (String)

    The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent.

    The temporary password in the welcome email is valid for only 7 days. If users don’t set their passwords within 7 days, you must send them a new welcome email.

  • :first_name (String)

    The first name, or given name, of the user.

  • :last_name (String)

    The last name, or surname, of the user.

  • :authentication_type (required, String)

    The authentication type for the user. You must specify USERPOOL.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1863
1864
1865
1866
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1863

def create_user(params = {}, options = {})
  req = build_request(:create_user, params)
  req.send_request(options)
end

#delete_app_block(params = {}) ⇒ Struct

Deletes an app block.

Examples:

Request syntax with placeholder values


resp = client.delete_app_block({
  name: "Name", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the app block.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1885
1886
1887
1888
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1885

def delete_app_block(params = {}, options = {})
  req = build_request(:delete_app_block, params)
  req.send_request(options)
end

#delete_application(params = {}) ⇒ Struct

Deletes an application.

Examples:

Request syntax with placeholder values


resp = client.delete_application({
  name: "Name", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the application.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1907
1908
1909
1910
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1907

def delete_application(params = {}, options = {})
  req = build_request(:delete_application, params)
  req.send_request(options)
end

#delete_directory_config(params = {}) ⇒ Struct

Deletes the specified Directory Config object from AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain.

Examples:

Request syntax with placeholder values


resp = client.delete_directory_config({
  directory_name: "DirectoryName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_name (required, String)

    The name of the directory configuration.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1931
1932
1933
1934
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1931

def delete_directory_config(params = {}, options = {})
  req = build_request(:delete_directory_config, params)
  req.send_request(options)
end

#delete_entitlement(params = {}) ⇒ Struct

Deletes the specified entitlement.

Examples:

Request syntax with placeholder values


resp = client.delete_entitlement({
  name: "Name", # required
  stack_name: "Name", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the entitlement.

  • :stack_name (required, String)

    The name of the stack with which the entitlement is associated.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1957
1958
1959
1960
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1957

def delete_entitlement(params = {}, options = {})
  req = build_request(:delete_entitlement, params)
  req.send_request(options)
end

#delete_fleet(params = {}) ⇒ Struct

Deletes the specified fleet.

Examples:

Request syntax with placeholder values


resp = client.delete_fleet({
  name: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the fleet.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1979
1980
1981
1982
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1979

def delete_fleet(params = {}, options = {})
  req = build_request(:delete_fleet, params)
  req.send_request(options)
end

#delete_image(params = {}) ⇒ Types::DeleteImageResult

Deletes the specified image. You cannot delete an image when it is in use. After you delete an image, you cannot provision new capacity using the image.

Examples:

Request syntax with placeholder values


resp = client.delete_image({
  name: "Name", # required
})

Response structure


resp.image.name #=> String
resp.image.arn #=> String
resp.image.base_image_arn #=> String
resp.image.display_name #=> String
resp.image.state #=> String, one of "PENDING", "AVAILABLE", "FAILED", "COPYING", "DELETING", "CREATING", "IMPORTING"
resp.image.visibility #=> String, one of "PUBLIC", "PRIVATE", "SHARED"
resp.image.image_builder_supported #=> Boolean
resp.image.image_builder_name #=> String
resp.image.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.image.description #=> String
resp.image.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_BUILDER_NOT_AVAILABLE", "IMAGE_COPY_FAILURE"
resp.image.state_change_reason.message #=> String
resp.image.applications #=> Array
resp.image.applications[0].name #=> String
resp.image.applications[0].display_name #=> String
resp.image.applications[0].icon_url #=> String
resp.image.applications[0].launch_path #=> String
resp.image.applications[0].launch_parameters #=> String
resp.image.applications[0].enabled #=> Boolean
resp.image.applications[0]. #=> Hash
resp.image.applications[0].["String"] #=> String
resp.image.applications[0].working_directory #=> String
resp.image.applications[0].description #=> String
resp.image.applications[0].arn #=> String
resp.image.applications[0].app_block_arn #=> String
resp.image.applications[0].icon_s3_location.s3_bucket #=> String
resp.image.applications[0].icon_s3_location.s3_key #=> String
resp.image.applications[0].platforms #=> Array
resp.image.applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.image.applications[0].instance_families #=> Array
resp.image.applications[0].instance_families[0] #=> String
resp.image.applications[0].created_time #=> Time
resp.image.created_time #=> Time
resp.image.public_base_image_released_date #=> Time
resp.image.appstream_agent_version #=> String
resp.image.image_permissions.allow_fleet #=> Boolean
resp.image.image_permissions.allow_image_builder #=> Boolean
resp.image.image_errors #=> Array
resp.image.image_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.image.image_errors[0].error_message #=> String
resp.image.image_errors[0].error_timestamp #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the image.

Returns:

See Also:



2049
2050
2051
2052
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2049

def delete_image(params = {}, options = {})
  req = build_request(:delete_image, params)
  req.send_request(options)
end

#delete_image_builder(params = {}) ⇒ Types::DeleteImageBuilderResult

Deletes the specified image builder and releases the capacity.

Examples:

Request syntax with placeholder values


resp = client.delete_image_builder({
  name: "Name", # required
})

Response structure


resp.image_builder.name #=> String
resp.image_builder.arn #=> String
resp.image_builder.image_arn #=> String
resp.image_builder.description #=> String
resp.image_builder.display_name #=> String
resp.image_builder.vpc_config.subnet_ids #=> Array
resp.image_builder.vpc_config.subnet_ids[0] #=> String
resp.image_builder.vpc_config.security_group_ids #=> Array
resp.image_builder.vpc_config.security_group_ids[0] #=> String
resp.image_builder.instance_type #=> String
resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.image_builder.iam_role_arn #=> String
resp.image_builder.state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
resp.image_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
resp.image_builder.state_change_reason.message #=> String
resp.image_builder.created_time #=> Time
resp.image_builder.enable_default_internet_access #=> Boolean
resp.image_builder.domain_join_info.directory_name #=> String
resp.image_builder.domain_join_info.organizational_unit_distinguished_name #=> String
resp.image_builder.network_access_configuration.eni_private_ip_address #=> String
resp.image_builder.network_access_configuration.eni_id #=> String
resp.image_builder.image_builder_errors #=> Array
resp.image_builder.image_builder_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.image_builder.image_builder_errors[0].error_message #=> String
resp.image_builder.image_builder_errors[0].error_timestamp #=> Time
resp.image_builder.appstream_agent_version #=> String
resp.image_builder.access_endpoints #=> Array
resp.image_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.image_builder.access_endpoints[0].vpce_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the image builder.

Returns:

See Also:



2105
2106
2107
2108
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2105

def delete_image_builder(params = {}, options = {})
  req = build_request(:delete_image_builder, params)
  req.send_request(options)
end

#delete_image_permissions(params = {}) ⇒ Struct

Deletes permissions for the specified private image. After you delete permissions for an image, AWS accounts to which you previously granted these permissions can no longer use the image.

Examples:

Request syntax with placeholder values


resp = client.delete_image_permissions({
  name: "Name", # required
  shared_account_id: "AwsAccountId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the private image.

  • :shared_account_id (required, String)

    The 12-digit identifier of the AWS account for which to delete image permissions.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2134
2135
2136
2137
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2134

def delete_image_permissions(params = {}, options = {})
  req = build_request(:delete_image_permissions, params)
  req.send_request(options)
end

#delete_stack(params = {}) ⇒ Struct

Deletes the specified stack. After the stack is deleted, the application streaming environment provided by the stack is no longer available to users. Also, any reservations made for application streaming sessions for the stack are released.

Examples:

Request syntax with placeholder values


resp = client.delete_stack({
  name: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the stack.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2159
2160
2161
2162
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2159

def delete_stack(params = {}, options = {})
  req = build_request(:delete_stack, params)
  req.send_request(options)
end

#delete_usage_report_subscription(params = {}) ⇒ Struct

Disables usage report generation.

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2172
2173
2174
2175
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2172

def delete_usage_report_subscription(params = {}, options = {})
  req = build_request(:delete_usage_report_subscription, params)
  req.send_request(options)
end

#delete_user(params = {}) ⇒ Struct

Deletes a user from the user pool.

Examples:

Request syntax with placeholder values


resp = client.delete_user({
  user_name: "Username", # required
  authentication_type: "API", # required, accepts API, SAML, USERPOOL
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :user_name (required, String)

    The email address of the user.

    Users' email addresses are case-sensitive.

  • :authentication_type (required, String)

    The authentication type for the user. You must specify USERPOOL.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2202
2203
2204
2205
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2202

def delete_user(params = {}, options = {})
  req = build_request(:delete_user, params)
  req.send_request(options)
end

#describe_app_blocks(params = {}) ⇒ Types::DescribeAppBlocksResult

Retrieves a list that describes one or more app blocks.

Examples:

Request syntax with placeholder values


resp = client.describe_app_blocks({
  arns: ["Arn"],
  next_token: "String",
  max_results: 1,
})

Response structure


resp.app_blocks #=> Array
resp.app_blocks[0].name #=> String
resp.app_blocks[0].arn #=> String
resp.app_blocks[0].description #=> String
resp.app_blocks[0].display_name #=> String
resp.app_blocks[0].source_s3_location.s3_bucket #=> String
resp.app_blocks[0].source_s3_location.s3_key #=> String
resp.app_blocks[0].setup_script_details.script_s3_location.s3_bucket #=> String
resp.app_blocks[0].setup_script_details.script_s3_location.s3_key #=> String
resp.app_blocks[0].setup_script_details.executable_path #=> String
resp.app_blocks[0].setup_script_details.executable_parameters #=> String
resp.app_blocks[0].setup_script_details.timeout_in_seconds #=> Integer
resp.app_blocks[0].created_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :arns (Array<String>)

    The ARNs of the app blocks.

  • :next_token (String)

    The pagination token used to retrieve the next page of results for this operation.

  • :max_results (Integer)

    The maximum size of each page of results.

Returns:

See Also:



2253
2254
2255
2256
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2253

def describe_app_blocks(params = {}, options = {})
  req = build_request(:describe_app_blocks, params)
  req.send_request(options)
end

#describe_application_fleet_associations(params = {}) ⇒ Types::DescribeApplicationFleetAssociationsResult

Retrieves a list that describes one or more application fleet associations. Either ApplicationArn or FleetName must be specified.

Examples:

Request syntax with placeholder values


resp = client.describe_application_fleet_associations({
  fleet_name: "Name",
  application_arn: "Arn",
  max_results: 1,
  next_token: "String",
})

Response structure


resp.application_fleet_associations #=> Array
resp.application_fleet_associations[0].fleet_name #=> String
resp.application_fleet_associations[0].application_arn #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :fleet_name (String)

    The name of the fleet.

  • :application_arn (String)

    The ARN of the application.

  • :max_results (Integer)

    The maximum size of each page of results.

  • :next_token (String)

    The pagination token used to retrieve the next page of results for this operation.

Returns:

See Also:



2299
2300
2301
2302
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2299

def describe_application_fleet_associations(params = {}, options = {})
  req = build_request(:describe_application_fleet_associations, params)
  req.send_request(options)
end

#describe_applications(params = {}) ⇒ Types::DescribeApplicationsResult

Retrieves a list that describes one or more applications.

Examples:

Request syntax with placeholder values


resp = client.describe_applications({
  arns: ["Arn"],
  next_token: "String",
  max_results: 1,
})

Response structure


resp.applications #=> Array
resp.applications[0].name #=> String
resp.applications[0].display_name #=> String
resp.applications[0].icon_url #=> String
resp.applications[0].launch_path #=> String
resp.applications[0].launch_parameters #=> String
resp.applications[0].enabled #=> Boolean
resp.applications[0]. #=> Hash
resp.applications[0].["String"] #=> String
resp.applications[0].working_directory #=> String
resp.applications[0].description #=> String
resp.applications[0].arn #=> String
resp.applications[0].app_block_arn #=> String
resp.applications[0].icon_s3_location.s3_bucket #=> String
resp.applications[0].icon_s3_location.s3_key #=> String
resp.applications[0].platforms #=> Array
resp.applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.applications[0].instance_families #=> Array
resp.applications[0].instance_families[0] #=> String
resp.applications[0].created_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :arns (Array<String>)

    The ARNs for the applications.

  • :next_token (String)

    The pagination token used to retrieve the next page of results for this operation.

  • :max_results (Integer)

    The maximum size of each page of results.

Returns:

See Also:



2357
2358
2359
2360
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2357

def describe_applications(params = {}, options = {})
  req = build_request(:describe_applications, params)
  req.send_request(options)
end

#describe_directory_configs(params = {}) ⇒ Types::DescribeDirectoryConfigsResult

Retrieves a list that describes one or more specified Directory Config objects for AppStream 2.0, if the names for these objects are provided. Otherwise, all Directory Config objects in the account are described. These objects include the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Although the response syntax in this topic includes the account password, this password is not returned in the actual response.

Examples:

Request syntax with placeholder values


resp = client.describe_directory_configs({
  directory_names: ["DirectoryName"],
  max_results: 1,
  next_token: "String",
})

Response structure


resp.directory_configs #=> Array
resp.directory_configs[0].directory_name #=> String
resp.directory_configs[0].organizational_unit_distinguished_names #=> Array
resp.directory_configs[0].organizational_unit_distinguished_names[0] #=> String
resp.directory_configs[0].. #=> String
resp.directory_configs[0].. #=> String
resp.directory_configs[0].created_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_names (Array<String>)

    The directory names.

  • :max_results (Integer)

    The maximum size of each page of results.

  • :next_token (String)

    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.

Returns:

See Also:



2410
2411
2412
2413
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2410

def describe_directory_configs(params = {}, options = {})
  req = build_request(:describe_directory_configs, params)
  req.send_request(options)
end

#describe_entitlements(params = {}) ⇒ Types::DescribeEntitlementsResult

Retrieves a list that describes one of more entitlements.

Examples:

Request syntax with placeholder values


resp = client.describe_entitlements({
  name: "Name",
  stack_name: "Name", # required
  next_token: "String",
  max_results: 1,
})

Response structure


resp.entitlements #=> Array
resp.entitlements[0].name #=> String
resp.entitlements[0].stack_name #=> String
resp.entitlements[0].description #=> String
resp.entitlements[0].app_visibility #=> String, one of "ALL", "ASSOCIATED"
resp.entitlements[0].attributes #=> Array
resp.entitlements[0].attributes[0].name #=> String
resp.entitlements[0].attributes[0].value #=> String
resp.entitlements[0].created_time #=> Time
resp.entitlements[0].last_modified_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (String)

    The name of the entitlement.

  • :stack_name (required, String)

    The name of the stack with which the entitlement is associated.

  • :next_token (String)

    The pagination token used to retrieve the next page of results for this operation.

  • :max_results (Integer)

    The maximum size of each page of results.

Returns:

See Also:



2462
2463
2464
2465
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2462

def describe_entitlements(params = {}, options = {})
  req = build_request(:describe_entitlements, params)
  req.send_request(options)
end

#describe_fleets(params = {}) ⇒ Types::DescribeFleetsResult

Retrieves a list that describes one or more specified fleets, if the fleet names are provided. Otherwise, all fleets in the account are described.

The following waiters are defined for this operation (see #wait_until for detailed usage):

  • fleet_started
  • fleet_stopped

Examples:

Request syntax with placeholder values


resp = client.describe_fleets({
  names: ["String"],
  next_token: "String",
})

Response structure


resp.fleets #=> Array
resp.fleets[0].arn #=> String
resp.fleets[0].name #=> String
resp.fleets[0].display_name #=> String
resp.fleets[0].description #=> String
resp.fleets[0].image_name #=> String
resp.fleets[0].image_arn #=> String
resp.fleets[0].instance_type #=> String
resp.fleets[0].fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND", "ELASTIC"
resp.fleets[0].compute_capacity_status.desired #=> Integer
resp.fleets[0].compute_capacity_status.running #=> Integer
resp.fleets[0].compute_capacity_status.in_use #=> Integer
resp.fleets[0].compute_capacity_status.available #=> Integer
resp.fleets[0].max_user_duration_in_seconds #=> Integer
resp.fleets[0].disconnect_timeout_in_seconds #=> Integer
resp.fleets[0].state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
resp.fleets[0].vpc_config.subnet_ids #=> Array
resp.fleets[0].vpc_config.subnet_ids[0] #=> String
resp.fleets[0].vpc_config.security_group_ids #=> Array
resp.fleets[0].vpc_config.security_group_ids[0] #=> String
resp.fleets[0].created_time #=> Time
resp.fleets[0].fleet_errors #=> Array
resp.fleets[0].fleet_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.fleets[0].fleet_errors[0].error_message #=> String
resp.fleets[0].enable_default_internet_access #=> Boolean
resp.fleets[0].domain_join_info.directory_name #=> String
resp.fleets[0].domain_join_info.organizational_unit_distinguished_name #=> String
resp.fleets[0].idle_disconnect_timeout_in_seconds #=> Integer
resp.fleets[0].iam_role_arn #=> String
resp.fleets[0].stream_view #=> String, one of "APP", "DESKTOP"
resp.fleets[0].platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.fleets[0].max_concurrent_sessions #=> Integer
resp.fleets[0].usb_device_filter_strings #=> Array
resp.fleets[0].usb_device_filter_strings[0] #=> String
resp.fleets[0].session_script_s3_location.s3_bucket #=> String
resp.fleets[0].session_script_s3_location.s3_key #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :names (Array<String>)

    The names of the fleets to describe.

  • :next_token (String)

    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.

Returns:

See Also:



2540
2541
2542
2543
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2540

def describe_fleets(params = {}, options = {})
  req = build_request(:describe_fleets, params)
  req.send_request(options)
end

#describe_image_builders(params = {}) ⇒ Types::DescribeImageBuildersResult

Retrieves a list that describes one or more specified image builders, if the image builder names are provided. Otherwise, all image builders in the account are described.

Examples:

Request syntax with placeholder values


resp = client.describe_image_builders({
  names: ["String"],
  max_results: 1,
  next_token: "String",
})

Response structure


resp.image_builders #=> Array
resp.image_builders[0].name #=> String
resp.image_builders[0].arn #=> String
resp.image_builders[0].image_arn #=> String
resp.image_builders[0].description #=> String
resp.image_builders[0].display_name #=> String
resp.image_builders[0].vpc_config.subnet_ids #=> Array
resp.image_builders[0].vpc_config.subnet_ids[0] #=> String
resp.image_builders[0].vpc_config.security_group_ids #=> Array
resp.image_builders[0].vpc_config.security_group_ids[0] #=> String
resp.image_builders[0].instance_type #=> String
resp.image_builders[0].platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.image_builders[0].iam_role_arn #=> String
resp.image_builders[0].state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
resp.image_builders[0].state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
resp.image_builders[0].state_change_reason.message #=> String
resp.image_builders[0].created_time #=> Time
resp.image_builders[0].enable_default_internet_access #=> Boolean
resp.image_builders[0].domain_join_info.directory_name #=> String
resp.image_builders[0].domain_join_info.organizational_unit_distinguished_name #=> String
resp.image_builders[0].network_access_configuration.eni_private_ip_address #=> String
resp.image_builders[0].network_access_configuration.eni_id #=> String
resp.image_builders[0].image_builder_errors #=> Array
resp.image_builders[0].image_builder_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.image_builders[0].image_builder_errors[0].error_message #=> String
resp.image_builders[0].image_builder_errors[0].error_timestamp #=> Time
resp.image_builders[0].appstream_agent_version #=> String
resp.image_builders[0].access_endpoints #=> Array
resp.image_builders[0].access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.image_builders[0].access_endpoints[0].vpce_id #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :names (Array<String>)

    The names of the image builders to describe.

  • :max_results (Integer)

    The maximum size of each page of results.

  • :next_token (String)

    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.

Returns:

See Also:



2610
2611
2612
2613
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2610

def describe_image_builders(params = {}, options = {})
  req = build_request(:describe_image_builders, params)
  req.send_request(options)
end

#describe_image_permissions(params = {}) ⇒ Types::DescribeImagePermissionsResult

Retrieves a list that describes the permissions for shared AWS account IDs on a private image that you own.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_image_permissions({
  name: "Name", # required
  max_results: 1,
  shared_aws_account_ids: ["AwsAccountId"],
  next_token: "String",
})

Response structure


resp.name #=> String
resp.shared_image_permissions_list #=> Array
resp.shared_image_permissions_list[0]. #=> String
resp.shared_image_permissions_list[0].image_permissions.allow_fleet #=> Boolean
resp.shared_image_permissions_list[0].image_permissions.allow_image_builder #=> Boolean
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the private image for which to describe permissions. The image must be one that you own.

  • :max_results (Integer)

    The maximum size of each page of results.

  • :shared_aws_account_ids (Array<String>)

    The 12-digit identifier of one or more AWS accounts with which the image is shared.

  • :next_token (String)

    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.

Returns:

See Also:



2663
2664
2665
2666
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2663

def describe_image_permissions(params = {}, options = {})
  req = build_request(:describe_image_permissions, params)
  req.send_request(options)
end

#describe_images(params = {}) ⇒ Types::DescribeImagesResult

Retrieves a list that describes one or more specified images, if the image names or image ARNs are provided. Otherwise, all images in the account are described.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_images({
  names: ["String"],
  arns: ["Arn"],
  type: "PUBLIC", # accepts PUBLIC, PRIVATE, SHARED
  next_token: "String",
  max_results: 1,
})

Response structure


resp.images #=> Array
resp.images[0].name #=> String
resp.images[0].arn #=> String
resp.images[0].base_image_arn #=> String
resp.images[0].display_name #=> String
resp.images[0].state #=> String, one of "PENDING", "AVAILABLE", "FAILED", "COPYING", "DELETING", "CREATING", "IMPORTING"
resp.images[0].visibility #=> String, one of "PUBLIC", "PRIVATE", "SHARED"
resp.images[0].image_builder_supported #=> Boolean
resp.images[0].image_builder_name #=> String
resp.images[0].platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.images[0].description #=> String
resp.images[0].state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_BUILDER_NOT_AVAILABLE", "IMAGE_COPY_FAILURE"
resp.images[0].state_change_reason.message #=> String
resp.images[0].applications #=> Array
resp.images[0].applications[0].name #=> String
resp.images[0].applications[0].display_name #=> String
resp.images[0].applications[0].icon_url #=> String
resp.images[0].applications[0].launch_path #=> String
resp.images[0].applications[0].launch_parameters #=> String
resp.images[0].applications[0].enabled #=> Boolean
resp.images[0].applications[0]. #=> Hash
resp.images[0].applications[0].["String"] #=> String
resp.images[0].applications[0].working_directory #=> String
resp.images[0].applications[0].description #=> String
resp.images[0].applications[0].arn #=> String
resp.images[0].applications[0].app_block_arn #=> String
resp.images[0].applications[0].icon_s3_location.s3_bucket #=> String
resp.images[0].applications[0].icon_s3_location.s3_key #=> String
resp.images[0].applications[0].platforms #=> Array
resp.images[0].applications[0].platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.images[0].applications[0].instance_families #=> Array
resp.images[0].applications[0].instance_families[0] #=> String
resp.images[0].applications[0].created_time #=> Time
resp.images[0].created_time #=> Time
resp.images[0].public_base_image_released_date #=> Time
resp.images[0].appstream_agent_version #=> String
resp.images[0].image_permissions.allow_fleet #=> Boolean
resp.images[0].image_permissions.allow_image_builder #=> Boolean
resp.images[0].image_errors #=> Array
resp.images[0].image_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.images[0].image_errors[0].error_message #=> String
resp.images[0].image_errors[0].error_timestamp #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :names (Array<String>)

    The names of the public or private images to describe.

  • :arns (Array<String>)

    The ARNs of the public, private, and shared images to describe.

  • :type (String)

    The type of image (public, private, or shared) to describe.

  • :next_token (String)

    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.

  • :max_results (Integer)

    The maximum size of each page of results.

Returns:

See Also:



2755
2756
2757
2758
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2755

def describe_images(params = {}, options = {})
  req = build_request(:describe_images, params)
  req.send_request(options)
end

#describe_sessions(params = {}) ⇒ Types::DescribeSessionsResult

Retrieves a list that describes the streaming sessions for a specified stack and fleet. If a UserId is provided for the stack and fleet, only streaming sessions for that user are described. If an authentication type is not provided, the default is to authenticate users using a streaming URL.

Examples:

Request syntax with placeholder values


resp = client.describe_sessions({
  stack_name: "String", # required
  fleet_name: "String", # required
  user_id: "UserId",
  next_token: "String",
  limit: 1,
  authentication_type: "API", # accepts API, SAML, USERPOOL
})

Response structure


resp.sessions #=> Array
resp.sessions[0].id #=> String
resp.sessions[0].user_id #=> String
resp.sessions[0].stack_name #=> String
resp.sessions[0].fleet_name #=> String
resp.sessions[0].state #=> String, one of "ACTIVE", "PENDING", "EXPIRED"
resp.sessions[0].connection_state #=> String, one of "CONNECTED", "NOT_CONNECTED"
resp.sessions[0].start_time #=> Time
resp.sessions[0].max_expiration_time #=> Time
resp.sessions[0].authentication_type #=> String, one of "API", "SAML", "USERPOOL"
resp.sessions[0].network_access_configuration.eni_private_ip_address #=> String
resp.sessions[0].network_access_configuration.eni_id #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack. This value is case-sensitive.

  • :fleet_name (required, String)

    The name of the fleet. This value is case-sensitive.

  • :user_id (String)

    The user identifier (ID). If you specify a user ID, you must also specify the authentication type.

  • :next_token (String)

    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.

  • :limit (Integer)

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

  • :authentication_type (String)

    The authentication method. Specify API for a user authenticated using a streaming URL or SAML for a SAML federated user. The default is to authenticate users using a streaming URL.

Returns:

See Also:



2825
2826
2827
2828
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2825

def describe_sessions(params = {}, options = {})
  req = build_request(:describe_sessions, params)
  req.send_request(options)
end

#describe_stacks(params = {}) ⇒ Types::DescribeStacksResult

Retrieves a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described.

Examples:

Request syntax with placeholder values


resp = client.describe_stacks({
  names: ["String"],
  next_token: "String",
})

Response structure


resp.stacks #=> Array
resp.stacks[0].arn #=> String
resp.stacks[0].name #=> String
resp.stacks[0].description #=> String
resp.stacks[0].display_name #=> String
resp.stacks[0].created_time #=> Time
resp.stacks[0].storage_connectors #=> Array
resp.stacks[0].storage_connectors[0].connector_type #=> String, one of "HOMEFOLDERS", "GOOGLE_DRIVE", "ONE_DRIVE"
resp.stacks[0].storage_connectors[0].resource_identifier #=> String
resp.stacks[0].storage_connectors[0].domains #=> Array
resp.stacks[0].storage_connectors[0].domains[0] #=> String
resp.stacks[0].redirect_url #=> String
resp.stacks[0].feedback_url #=> String
resp.stacks[0].stack_errors #=> Array
resp.stacks[0].stack_errors[0].error_code #=> String, one of "STORAGE_CONNECTOR_ERROR", "INTERNAL_SERVICE_ERROR"
resp.stacks[0].stack_errors[0].error_message #=> String
resp.stacks[0]. #=> Array
resp.stacks[0].[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "FILE_UPLOAD", "FILE_DOWNLOAD", "PRINTING_TO_LOCAL_DEVICE", "DOMAIN_PASSWORD_SIGNIN", "DOMAIN_SMART_CARD_SIGNIN"
resp.stacks[0].[0].permission #=> String, one of "ENABLED", "DISABLED"
resp.stacks[0].application_settings.enabled #=> Boolean
resp.stacks[0].application_settings.settings_group #=> String
resp.stacks[0].application_settings.s3_bucket_name #=> String
resp.stacks[0].access_endpoints #=> Array
resp.stacks[0].access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.stacks[0].access_endpoints[0].vpce_id #=> String
resp.stacks[0].embed_host_domains #=> Array
resp.stacks[0].embed_host_domains[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :names (Array<String>)

    The names of the stacks to describe.

  • :next_token (String)

    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.

Returns:

See Also:



2888
2889
2890
2891
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2888

def describe_stacks(params = {}, options = {})
  req = build_request(:describe_stacks, params)
  req.send_request(options)
end

#describe_usage_report_subscriptions(params = {}) ⇒ Types::DescribeUsageReportSubscriptionsResult

Retrieves a list that describes one or more usage report subscriptions.

Examples:

Request syntax with placeholder values


resp = client.describe_usage_report_subscriptions({
  max_results: 1,
  next_token: "String",
})

Response structure


resp.usage_report_subscriptions #=> Array
resp.usage_report_subscriptions[0].s3_bucket_name #=> String
resp.usage_report_subscriptions[0].schedule #=> String, one of "DAILY"
resp.usage_report_subscriptions[0].last_generated_report_date #=> Time
resp.usage_report_subscriptions[0].subscription_errors #=> Array
resp.usage_report_subscriptions[0].subscription_errors[0].error_code #=> String, one of "RESOURCE_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_SERVICE_ERROR"
resp.usage_report_subscriptions[0].subscription_errors[0].error_message #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum size of each page of results.

  • :next_token (String)

    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.

Returns:

See Also:



2930
2931
2932
2933
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2930

def describe_usage_report_subscriptions(params = {}, options = {})
  req = build_request(:describe_usage_report_subscriptions, params)
  req.send_request(options)
end

#describe_user_stack_associations(params = {}) ⇒ Types::DescribeUserStackAssociationsResult

Retrieves a list that describes the UserStackAssociation objects. You must specify either or both of the following:

  • The stack name

  • The user name (email address of the user associated with the stack) and the authentication type for the user

Examples:

Request syntax with placeholder values


resp = client.describe_user_stack_associations({
  stack_name: "String",
  user_name: "Username",
  authentication_type: "API", # accepts API, SAML, USERPOOL
  max_results: 1,
  next_token: "String",
})

Response structure


resp.user_stack_associations #=> Array
resp.user_stack_associations[0].stack_name #=> String
resp.user_stack_associations[0].user_name #=> String
resp.user_stack_associations[0].authentication_type #=> String, one of "API", "SAML", "USERPOOL"
resp.user_stack_associations[0].send_email_notification #=> Boolean
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :stack_name (String)

    The name of the stack that is associated with the user.

  • :user_name (String)

    The email address of the user who is associated with the stack.

    Users' email addresses are case-sensitive.

  • :authentication_type (String)

    The authentication type for the user who is associated with the stack. You must specify USERPOOL.

  • :max_results (Integer)

    The maximum size of each page of results.

  • :next_token (String)

    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.

Returns:

See Also:



2992
2993
2994
2995
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2992

def describe_user_stack_associations(params = {}, options = {})
  req = build_request(:describe_user_stack_associations, params)
  req.send_request(options)
end

#describe_users(params = {}) ⇒ Types::DescribeUsersResult

Retrieves a list that describes one or more specified users in the user pool.

Examples:

Request syntax with placeholder values


resp = client.describe_users({
  authentication_type: "API", # required, accepts API, SAML, USERPOOL
  max_results: 1,
  next_token: "String",
})

Response structure


resp.users #=> Array
resp.users[0].arn #=> String
resp.users[0].user_name #=> String
resp.users[0].enabled #=> Boolean
resp.users[0].status #=> String
resp.users[0].first_name #=> String
resp.users[0].last_name #=> String
resp.users[0].created_time #=> Time
resp.users[0].authentication_type #=> String, one of "API", "SAML", "USERPOOL"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :authentication_type (required, String)

    The authentication type for the users in the user pool to describe. You must specify USERPOOL.

  • :max_results (Integer)

    The maximum size of each page of results.

  • :next_token (String)

    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.

Returns:

See Also:



3041
3042
3043
3044
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3041

def describe_users(params = {}, options = {})
  req = build_request(:describe_users, params)
  req.send_request(options)
end

#disable_user(params = {}) ⇒ Struct

Disables the specified user in the user pool. Users can't sign in to AppStream 2.0 until they are re-enabled. This action does not delete the user.

Examples:

Request syntax with placeholder values


resp = client.disable_user({
  user_name: "Username", # required
  authentication_type: "API", # required, accepts API, SAML, USERPOOL
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :user_name (required, String)

    The email address of the user.

    Users' email addresses are case-sensitive.

  • :authentication_type (required, String)

    The authentication type for the user. You must specify USERPOOL.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3073
3074
3075
3076
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3073

def disable_user(params = {}, options = {})
  req = build_request(:disable_user, params)
  req.send_request(options)
end

#disassociate_application_fleet(params = {}) ⇒ Struct

Disassociates the specified application from the fleet.

Examples:

Request syntax with placeholder values


resp = client.disassociate_application_fleet({
  fleet_name: "Name", # required
  application_arn: "Arn", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :fleet_name (required, String)

    The name of the fleet.

  • :application_arn (required, String)

    The ARN of the application.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3099
3100
3101
3102
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3099

def disassociate_application_fleet(params = {}, options = {})
  req = build_request(:disassociate_application_fleet, params)
  req.send_request(options)
end

#disassociate_application_from_entitlement(params = {}) ⇒ Struct

Deletes the specified application from the specified entitlement.

Examples:

Request syntax with placeholder values


resp = client.disassociate_application_from_entitlement({
  stack_name: "Name", # required
  entitlement_name: "Name", # required
  application_identifier: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack with which the entitlement is associated.

  • :entitlement_name (required, String)

    The name of the entitlement.

  • :application_identifier (required, String)

    The identifier of the application to remove from the entitlement.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3129
3130
3131
3132
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3129

def disassociate_application_from_entitlement(params = {}, options = {})
  req = build_request(:disassociate_application_from_entitlement, params)
  req.send_request(options)
end

#disassociate_fleet(params = {}) ⇒ Struct

Disassociates the specified fleet from the specified stack.

Examples:

Request syntax with placeholder values


resp = client.disassociate_fleet({
  fleet_name: "String", # required
  stack_name: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :fleet_name (required, String)

    The name of the fleet.

  • :stack_name (required, String)

    The name of the stack.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3155
3156
3157
3158
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3155

def disassociate_fleet(params = {}, options = {})
  req = build_request(:disassociate_fleet, params)
  req.send_request(options)
end

#enable_user(params = {}) ⇒ Struct

Enables a user in the user pool. After being enabled, users can sign in to AppStream 2.0 and open applications from the stacks to which they are assigned.

Examples:

Request syntax with placeholder values


resp = client.enable_user({
  user_name: "Username", # required
  authentication_type: "API", # required, accepts API, SAML, USERPOOL
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :user_name (required, String)

    The email address of the user.

    Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a "user does not exist" error message displays.

  • :authentication_type (required, String)

    The authentication type for the user. You must specify USERPOOL.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3190
3191
3192
3193
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3190

def enable_user(params = {}, options = {})
  req = build_request(:enable_user, params)
  req.send_request(options)
end

#expire_session(params = {}) ⇒ Struct

Immediately stops the specified streaming session.

Examples:

Request syntax with placeholder values


resp = client.expire_session({
  session_id: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :session_id (required, String)

    The identifier of the streaming session.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3212
3213
3214
3215
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3212

def expire_session(params = {}, options = {})
  req = build_request(:expire_session, params)
  req.send_request(options)
end

#list_associated_fleets(params = {}) ⇒ Types::ListAssociatedFleetsResult

Retrieves the name of the fleet that is associated with the specified stack.

Examples:

Request syntax with placeholder values


resp = client.list_associated_fleets({
  stack_name: "String", # required
  next_token: "String",
})

Response structure


resp.names #=> Array
resp.names[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack.

  • :next_token (String)

    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.

Returns:

See Also:



3249
3250
3251
3252
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3249

def list_associated_fleets(params = {}, options = {})
  req = build_request(:list_associated_fleets, params)
  req.send_request(options)
end

#list_associated_stacks(params = {}) ⇒ Types::ListAssociatedStacksResult

Retrieves the name of the stack with which the specified fleet is associated.

Examples:

Request syntax with placeholder values


resp = client.list_associated_stacks({
  fleet_name: "String", # required
  next_token: "String",
})

Response structure


resp.names #=> Array
resp.names[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :fleet_name (required, String)

    The name of the fleet.

  • :next_token (String)

    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.

Returns:

See Also:



3286
3287
3288
3289
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3286

def list_associated_stacks(params = {}, options = {})
  req = build_request(:list_associated_stacks, params)
  req.send_request(options)
end

#list_entitled_applications(params = {}) ⇒ Types::ListEntitledApplicationsResult

Retrieves a list of entitled applications.

Examples:

Request syntax with placeholder values


resp = client.list_entitled_applications({
  stack_name: "Name", # required
  entitlement_name: "Name", # required
  next_token: "String",
  max_results: 1,
})

Response structure


resp.entitled_applications #=> Array
resp.entitled_applications[0].application_identifier #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack with which the entitlement is associated.

  • :entitlement_name (required, String)

    The name of the entitlement.

  • :next_token (String)

    The pagination token used to retrieve the next page of results for this operation.

  • :max_results (Integer)

    The maximum size of each page of results.

Returns:

See Also:



3330
3331
3332
3333
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3330

def list_entitled_applications(params = {}, options = {})
  req = build_request(:list_entitled_applications, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Retrieves a list of all tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

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

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "Arn", # required
})

Response structure


resp.tags #=> Hash
resp.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource.

Returns:

See Also:



3367
3368
3369
3370
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3367

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#start_fleet(params = {}) ⇒ Struct

Starts the specified fleet.

Examples:

Request syntax with placeholder values


resp = client.start_fleet({
  name: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the fleet.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3389
3390
3391
3392
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3389

def start_fleet(params = {}, options = {})
  req = build_request(:start_fleet, params)
  req.send_request(options)
end

#start_image_builder(params = {}) ⇒ Types::StartImageBuilderResult

Starts the specified image builder.

Examples:

Request syntax with placeholder values


resp = client.start_image_builder({
  name: "String", # required
  appstream_agent_version: "AppstreamAgentVersion",
})

Response structure


resp.image_builder.name #=> String
resp.image_builder.arn #=> String
resp.image_builder.image_arn #=> String
resp.image_builder.description #=> String
resp.image_builder.display_name #=> String
resp.image_builder.vpc_config.subnet_ids #=> Array
resp.image_builder.vpc_config.subnet_ids[0] #=> String
resp.image_builder.vpc_config.security_group_ids #=> Array
resp.image_builder.vpc_config.security_group_ids[0] #=> String
resp.image_builder.instance_type #=> String
resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.image_builder.iam_role_arn #=> String
resp.image_builder.state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
resp.image_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
resp.image_builder.state_change_reason.message #=> String
resp.image_builder.created_time #=> Time
resp.image_builder.enable_default_internet_access #=> Boolean
resp.image_builder.domain_join_info.directory_name #=> String
resp.image_builder.domain_join_info.organizational_unit_distinguished_name #=> String
resp.image_builder.network_access_configuration.eni_private_ip_address #=> String
resp.image_builder.network_access_configuration.eni_id #=> String
resp.image_builder.image_builder_errors #=> Array
resp.image_builder.image_builder_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.image_builder.image_builder_errors[0].error_message #=> String
resp.image_builder.image_builder_errors[0].error_timestamp #=> Time
resp.image_builder.appstream_agent_version #=> String
resp.image_builder.access_endpoints #=> Array
resp.image_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.image_builder.access_endpoints[0].vpce_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the image builder.

  • :appstream_agent_version (String)

    The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].

Returns:

See Also:



3451
3452
3453
3454
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3451

def start_image_builder(params = {}, options = {})
  req = build_request(:start_image_builder, params)
  req.send_request(options)
end

#stop_fleet(params = {}) ⇒ Struct

Stops the specified fleet.

Examples:

Request syntax with placeholder values


resp = client.stop_fleet({
  name: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the fleet.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3473
3474
3475
3476
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3473

def stop_fleet(params = {}, options = {})
  req = build_request(:stop_fleet, params)
  req.send_request(options)
end

#stop_image_builder(params = {}) ⇒ Types::StopImageBuilderResult

Stops the specified image builder.

Examples:

Request syntax with placeholder values


resp = client.stop_image_builder({
  name: "String", # required
})

Response structure


resp.image_builder.name #=> String
resp.image_builder.arn #=> String
resp.image_builder.image_arn #=> String
resp.image_builder.description #=> String
resp.image_builder.display_name #=> String
resp.image_builder.vpc_config.subnet_ids #=> Array
resp.image_builder.vpc_config.subnet_ids[0] #=> String
resp.image_builder.vpc_config.security_group_ids #=> Array
resp.image_builder.vpc_config.security_group_ids[0] #=> String
resp.image_builder.instance_type #=> String
resp.image_builder.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.image_builder.iam_role_arn #=> String
resp.image_builder.state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION"
resp.image_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE"
resp.image_builder.state_change_reason.message #=> String
resp.image_builder.created_time #=> Time
resp.image_builder.enable_default_internet_access #=> Boolean
resp.image_builder.domain_join_info.directory_name #=> String
resp.image_builder.domain_join_info.organizational_unit_distinguished_name #=> String
resp.image_builder.network_access_configuration.eni_private_ip_address #=> String
resp.image_builder.network_access_configuration.eni_id #=> String
resp.image_builder.image_builder_errors #=> Array
resp.image_builder.image_builder_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.image_builder.image_builder_errors[0].error_message #=> String
resp.image_builder.image_builder_errors[0].error_timestamp #=> Time
resp.image_builder.appstream_agent_version #=> String
resp.image_builder.access_endpoints #=> Array
resp.image_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.image_builder.access_endpoints[0].vpce_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the image builder.

Returns:

See Also:



3529
3530
3531
3532
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3529

def stop_image_builder(params = {}, options = {})
  req = build_request(:stop_image_builder, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Adds or overwrites one or more tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, this operation updates its value.

To list the current tags for your resources, use ListTagsForResource. To disassociate tags from your resources, use UntagResource.

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

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "Arn", # required
  tags: { # required
    "TagKey" => "TagValue",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource.

  • :tags (required, Hash<String,String>)

    The tags to associate. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

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

    Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

    _ . : / = + \ - @

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3581
3582
3583
3584
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3581

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Disassociates one or more specified tags from the specified AppStream 2.0 resource.

To list the current tags for your resources, use ListTagsForResource.

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

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "Arn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource.

  • :tag_keys (required, Array<String>)

    The tag keys for the tags to disassociate.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3617
3618
3619
3620
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3617

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_application(params = {}) ⇒ Types::UpdateApplicationResult

Updates the specified application.

Examples:

Request syntax with placeholder values


resp = client.update_application({
  name: "Name", # required
  display_name: "DisplayName",
  description: "Description",
  icon_s3_location: {
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key", # required
  },
  launch_path: "String",
  working_directory: "String",
  launch_parameters: "String",
  app_block_arn: "Arn",
  attributes_to_delete: ["LAUNCH_PARAMETERS"], # accepts LAUNCH_PARAMETERS, WORKING_DIRECTORY
})

Response structure


resp.application.name #=> String
resp.application.display_name #=> String
resp.application.icon_url #=> String
resp.application.launch_path #=> String
resp.application.launch_parameters #=> String
resp.application.enabled #=> Boolean
resp.application. #=> Hash
resp.application.["String"] #=> String
resp.application.working_directory #=> String
resp.application.description #=> String
resp.application.arn #=> String
resp.application.app_block_arn #=> String
resp.application.icon_s3_location.s3_bucket #=> String
resp.application.icon_s3_location.s3_key #=> String
resp.application.platforms #=> Array
resp.application.platforms[0] #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.application.instance_families #=> Array
resp.application.instance_families[0] #=> String
resp.application.created_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the application. This name is visible to users when display name is not specified.

  • :display_name (String)

    The display name of the application. This name is visible to users in the application catalog.

  • :description (String)

    The description of the application.

  • :icon_s3_location (Types::S3Location)

    The icon S3 location of the application.

  • :launch_path (String)

    The launch path of the application.

  • :working_directory (String)

    The working directory of the application.

  • :launch_parameters (String)

    The launch parameters of the application.

  • :app_block_arn (String)

    The ARN of the app block.

  • :attributes_to_delete (Array<String>)

    The attributes to delete for an application.

Returns:

See Also:



3700
3701
3702
3703
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3700

def update_application(params = {}, options = {})
  req = build_request(:update_application, params)
  req.send_request(options)
end

#update_directory_config(params = {}) ⇒ Types::UpdateDirectoryConfigResult

Updates the specified Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Examples:

Request syntax with placeholder values


resp = client.update_directory_config({
  directory_name: "DirectoryName", # required
  organizational_unit_distinguished_names: ["OrganizationalUnitDistinguishedName"],
  service_account_credentials: {
    account_name: "AccountName", # required
    account_password: "AccountPassword", # required
  },
})

Response structure


resp.directory_config.directory_name #=> String
resp.directory_config.organizational_unit_distinguished_names #=> Array
resp.directory_config.organizational_unit_distinguished_names[0] #=> String
resp.directory_config.. #=> String
resp.directory_config.. #=> String
resp.directory_config.created_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_name (required, String)

    The name of the Directory Config object.

  • :organizational_unit_distinguished_names (Array<String>)

    The distinguished names of the organizational units for computer accounts.

  • :service_account_credentials (Types::ServiceAccountCredentials)

    The credentials for the service account used by the fleet or image builder to connect to the directory.

Returns:

See Also:



3748
3749
3750
3751
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3748

def update_directory_config(params = {}, options = {})
  req = build_request(:update_directory_config, params)
  req.send_request(options)
end

#update_entitlement(params = {}) ⇒ Types::UpdateEntitlementResult

Updates the specified entitlement.

Examples:

Request syntax with placeholder values


resp = client.update_entitlement({
  name: "Name", # required
  stack_name: "Name", # required
  description: "Description",
  app_visibility: "ALL", # accepts ALL, ASSOCIATED
  attributes: [
    {
      name: "String", # required
      value: "String", # required
    },
  ],
})

Response structure


resp.entitlement.name #=> String
resp.entitlement.stack_name #=> String
resp.entitlement.description #=> String
resp.entitlement.app_visibility #=> String, one of "ALL", "ASSOCIATED"
resp.entitlement.attributes #=> Array
resp.entitlement.attributes[0].name #=> String
resp.entitlement.attributes[0].value #=> String
resp.entitlement.created_time #=> Time
resp.entitlement.last_modified_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the entitlement.

  • :stack_name (required, String)

    The name of the stack with which the entitlement is associated.

  • :description (String)

    The description of the entitlement.

  • :app_visibility (String)

    Specifies whether all or only selected apps are entitled.

  • :attributes (Array<Types::EntitlementAttribute>)

    The attributes of the entitlement.

Returns:

See Also:



3805
3806
3807
3808
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3805

def update_entitlement(params = {}, options = {})
  req = build_request(:update_entitlement, params)
  req.send_request(options)
end

#update_fleet(params = {}) ⇒ Types::UpdateFleetResult

Updates the specified fleet.

If the fleet is in the STOPPED state, you can update any attribute except the fleet name.

If the fleet is in the RUNNING state, you can update the following based on the fleet type:

  • Always-On and On-Demand fleet types

    You can update the DisplayName, ComputeCapacity, ImageARN, ImageName, IdleDisconnectTimeoutInSeconds, and DisconnectTimeoutInSeconds attributes.

  • Elastic fleet type

    You can update the DisplayName, IdleDisconnectTimeoutInSeconds, DisconnectTimeoutInSeconds, MaxConcurrentSessions, and UsbDeviceFilterStrings attributes.

If the fleet is in the STARTING or STOPPED state, you can't update it.

Examples:

Request syntax with placeholder values


resp = client.update_fleet({
  image_name: "String",
  image_arn: "Arn",
  name: "String",
  instance_type: "String",
  compute_capacity: {
    desired_instances: 1, # required
  },
  vpc_config: {
    subnet_ids: ["String"],
    security_group_ids: ["String"],
  },
  max_user_duration_in_seconds: 1,
  disconnect_timeout_in_seconds: 1,
  delete_vpc_config: false,
  description: "Description",
  display_name: "DisplayName",
  enable_default_internet_access: false,
  domain_join_info: {
    directory_name: "DirectoryName",
    organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
  },
  idle_disconnect_timeout_in_seconds: 1,
  attributes_to_delete: ["VPC_CONFIGURATION"], # accepts VPC_CONFIGURATION, VPC_CONFIGURATION_SECURITY_GROUP_IDS, DOMAIN_JOIN_INFO, IAM_ROLE_ARN, USB_DEVICE_FILTER_STRINGS, SESSION_SCRIPT_S3_LOCATION
  iam_role_arn: "Arn",
  stream_view: "APP", # accepts APP, DESKTOP
  platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, AMAZON_LINUX2
  max_concurrent_sessions: 1,
  usb_device_filter_strings: ["UsbDeviceFilterString"],
  session_script_s3_location: {
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key", # required
  },
})

Response structure


resp.fleet.arn #=> String
resp.fleet.name #=> String
resp.fleet.display_name #=> String
resp.fleet.description #=> String
resp.fleet.image_name #=> String
resp.fleet.image_arn #=> String
resp.fleet.instance_type #=> String
resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND", "ELASTIC"
resp.fleet.compute_capacity_status.desired #=> Integer
resp.fleet.compute_capacity_status.running #=> Integer
resp.fleet.compute_capacity_status.in_use #=> Integer
resp.fleet.compute_capacity_status.available #=> Integer
resp.fleet.max_user_duration_in_seconds #=> Integer
resp.fleet.disconnect_timeout_in_seconds #=> Integer
resp.fleet.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
resp.fleet.vpc_config.subnet_ids #=> Array
resp.fleet.vpc_config.subnet_ids[0] #=> String
resp.fleet.vpc_config.security_group_ids #=> Array
resp.fleet.vpc_config.security_group_ids[0] #=> String
resp.fleet.created_time #=> Time
resp.fleet.fleet_errors #=> Array
resp.fleet.fleet_errors[0].error_code #=> String, one of "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", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "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"
resp.fleet.fleet_errors[0].error_message #=> String
resp.fleet.enable_default_internet_access #=> Boolean
resp.fleet.domain_join_info.directory_name #=> String
resp.fleet.domain_join_info.organizational_unit_distinguished_name #=> String
resp.fleet.idle_disconnect_timeout_in_seconds #=> Integer
resp.fleet.iam_role_arn #=> String
resp.fleet.stream_view #=> String, one of "APP", "DESKTOP"
resp.fleet.platform #=> String, one of "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "AMAZON_LINUX2"
resp.fleet.max_concurrent_sessions #=> Integer
resp.fleet.usb_device_filter_strings #=> Array
resp.fleet.usb_device_filter_strings[0] #=> String
resp.fleet.session_script_s3_location.s3_bucket #=> String
resp.fleet.session_script_s3_location.s3_key #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :image_name (String)

    The name of the image used to create the fleet.

  • :image_arn (String)

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

  • :name (String)

    A unique name for the fleet.

  • :instance_type (String)

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

    • stream.standard.small

    • stream.standard.medium

    • stream.standard.large

    • stream.compute.large

    • stream.compute.xlarge

    • stream.compute.2xlarge

    • stream.compute.4xlarge

    • stream.compute.8xlarge

    • stream.memory.large

    • stream.memory.xlarge

    • stream.memory.2xlarge

    • stream.memory.4xlarge

    • stream.memory.8xlarge

    • stream.memory.z1d.large

    • stream.memory.z1d.xlarge

    • stream.memory.z1d.2xlarge

    • stream.memory.z1d.3xlarge

    • stream.memory.z1d.6xlarge

    • stream.memory.z1d.12xlarge

    • stream.graphics-design.large

    • stream.graphics-design.xlarge

    • stream.graphics-design.2xlarge

    • stream.graphics-design.4xlarge

    • stream.graphics-desktop.2xlarge

    • stream.graphics.g4dn.xlarge

    • stream.graphics.g4dn.2xlarge

    • stream.graphics.g4dn.4xlarge

    • stream.graphics.g4dn.8xlarge

    • stream.graphics.g4dn.12xlarge

    • stream.graphics.g4dn.16xlarge

    • stream.graphics-pro.4xlarge

    • stream.graphics-pro.8xlarge

    • stream.graphics-pro.16xlarge

    The following instance types are available for Elastic fleets:

    • stream.standard.small

    • stream.standard.medium

  • :compute_capacity (Types::ComputeCapacity)

    The desired capacity for the fleet. This is not allowed for Elastic fleets.

  • :vpc_config (Types::VpcConfig)

    The VPC configuration for the fleet. This is required for Elastic fleets, but not required for other fleet types. Elastic fleets require that you specify at least two subnets in different availability zones.

  • :max_user_duration_in_seconds (Integer)

    The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

    Specify a value between 600 and 360000.

  • :disconnect_timeout_in_seconds (Integer)

    The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

    Specify a value between 60 and 360000.

  • :delete_vpc_config (Boolean)

    Deletes the VPC association for the specified fleet.

  • :description (String)

    The description to display.

  • :display_name (String)

    The fleet name to display.

  • :enable_default_internet_access (Boolean)

    Enables or disables default internet access for the fleet.

  • :domain_join_info (Types::DomainJoinInfo)

    The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

  • :idle_disconnect_timeout_in_seconds (Integer)

    The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

    To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

    If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

  • :attributes_to_delete (Array<String>)

    The fleet attributes to delete.

  • :iam_role_arn (String)

    The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.

    For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

  • :stream_view (String)

    The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP is specified, only the windows of applications opened by users display. When DESKTOP is specified, the standard desktop that is provided by the operating system displays.

    The default value is APP.

  • :platform (String)

    The platform of the fleet. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are supported for Elastic fleets.

  • :max_concurrent_sessions (Integer)

    The maximum number of concurrent sessions for a fleet.

  • :usb_device_filter_strings (Array<String>)

    The USB device filter strings that specify which USB devices a user can redirect to the fleet streaming session, when using the Windows native client. This is allowed but not required for Elastic fleets.

  • :session_script_s3_location (Types::S3Location)

    The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets.

Returns:

See Also:



4116
4117
4118
4119
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4116

def update_fleet(params = {}, options = {})
  req = build_request(:update_fleet, params)
  req.send_request(options)
end

#update_image_permissions(params = {}) ⇒ Struct

Adds or updates permissions for the specified private image.

Examples:

Request syntax with placeholder values


resp = client.update_image_permissions({
  name: "Name", # required
  shared_account_id: "AwsAccountId", # required
  image_permissions: { # required
    allow_fleet: false,
    allow_image_builder: false,
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the private image.

  • :shared_account_id (required, String)

    The 12-digit identifier of the AWS account for which you want add or update image permissions.

  • :image_permissions (required, Types::ImagePermissions)

    The permissions for the image.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4150
4151
4152
4153
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4150

def update_image_permissions(params = {}, options = {})
  req = build_request(:update_image_permissions, params)
  req.send_request(options)
end

#update_stack(params = {}) ⇒ Types::UpdateStackResult

Updates the specified fields for the specified stack.

Examples:

Request syntax with placeholder values


resp = client.update_stack({
  display_name: "DisplayName",
  description: "Description",
  name: "String", # required
  storage_connectors: [
    {
      connector_type: "HOMEFOLDERS", # required, accepts HOMEFOLDERS, GOOGLE_DRIVE, ONE_DRIVE
      resource_identifier: "ResourceIdentifier",
      domains: ["Domain"],
    },
  ],
  delete_storage_connectors: false,
  redirect_url: "RedirectURL",
  feedback_url: "FeedbackURL",
  attributes_to_delete: ["STORAGE_CONNECTORS"], # accepts STORAGE_CONNECTORS, STORAGE_CONNECTOR_HOMEFOLDERS, STORAGE_CONNECTOR_GOOGLE_DRIVE, STORAGE_CONNECTOR_ONE_DRIVE, REDIRECT_URL, FEEDBACK_URL, THEME_NAME, USER_SETTINGS, EMBED_HOST_DOMAINS, IAM_ROLE_ARN, ACCESS_ENDPOINTS
  user_settings: [
    {
      action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, FILE_UPLOAD, FILE_DOWNLOAD, PRINTING_TO_LOCAL_DEVICE, DOMAIN_PASSWORD_SIGNIN, DOMAIN_SMART_CARD_SIGNIN
      permission: "ENABLED", # required, accepts ENABLED, DISABLED
    },
  ],
  application_settings: {
    enabled: false, # required
    settings_group: "SettingsGroup",
  },
  access_endpoints: [
    {
      endpoint_type: "STREAMING", # required, accepts STREAMING
      vpce_id: "String",
    },
  ],
  embed_host_domains: ["EmbedHostDomain"],
})

Response structure


resp.stack.arn #=> String
resp.stack.name #=> String
resp.stack.description #=> String
resp.stack.display_name #=> String
resp.stack.created_time #=> Time
resp.stack.storage_connectors #=> Array
resp.stack.storage_connectors[0].connector_type #=> String, one of "HOMEFOLDERS", "GOOGLE_DRIVE", "ONE_DRIVE"
resp.stack.storage_connectors[0].resource_identifier #=> String
resp.stack.storage_connectors[0].domains #=> Array
resp.stack.storage_connectors[0].domains[0] #=> String
resp.stack.redirect_url #=> String
resp.stack.feedback_url #=> String
resp.stack.stack_errors #=> Array
resp.stack.stack_errors[0].error_code #=> String, one of "STORAGE_CONNECTOR_ERROR", "INTERNAL_SERVICE_ERROR"
resp.stack.stack_errors[0].error_message #=> String
resp.stack. #=> Array
resp.stack.[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "FILE_UPLOAD", "FILE_DOWNLOAD", "PRINTING_TO_LOCAL_DEVICE", "DOMAIN_PASSWORD_SIGNIN", "DOMAIN_SMART_CARD_SIGNIN"
resp.stack.[0].permission #=> String, one of "ENABLED", "DISABLED"
resp.stack.application_settings.enabled #=> Boolean
resp.stack.application_settings.settings_group #=> String
resp.stack.application_settings.s3_bucket_name #=> String
resp.stack.access_endpoints #=> Array
resp.stack.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.stack.access_endpoints[0].vpce_id #=> String
resp.stack.embed_host_domains #=> Array
resp.stack.embed_host_domains[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :display_name (String)

    The stack name to display.

  • :description (String)

    The description to display.

  • :name (required, String)

    The name of the stack.

  • :storage_connectors (Array<Types::StorageConnector>)

    The storage connectors to enable.

  • :delete_storage_connectors (Boolean)

    Deletes the storage connectors currently enabled for the stack.

  • :redirect_url (String)

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

  • :feedback_url (String)

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

  • :attributes_to_delete (Array<String>)

    The stack attributes to delete.

  • :user_settings (Array<Types::UserSetting>)

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

  • :application_settings (Types::ApplicationSettings)

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

  • :access_endpoints (Array<Types::AccessEndpoint>)

    The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

  • :embed_host_domains (Array<String>)

    The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

Returns:

See Also:



4277
4278
4279
4280
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4277

def update_stack(params = {}, options = {})
  req = build_request(:update_stack, params)
  req.send_request(options)
end

#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean

Polls an API operation until a resource enters a desired state.

Basic Usage

A waiter will call an API operation until:

  • It is successful
  • It enters a terminal state
  • It makes the maximum number of attempts

In between attempts, the waiter will sleep.

# polls in a loop, sleeping between attempts
client.wait_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You can pass configuration as the final arguments hash.

# poll for ~25 seconds
client.wait_until(waiter_name, params, {
  max_attempts: 5,
  delay: 5,
})

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(waiter_name, params, {

  # disable max attempts
  max_attempts: nil,

  # poll for 1 hour, instead of a number of attempts
  before_wait: -> (attempts, response) do
    throw :failure if Time.now - started_at > 3600
  end
})

Handling Errors

When a waiter is unsuccessful, it will raise an error. All of the failure errors extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Valid Waiters

The following table lists the valid waiter names, the operations they call, and the default :delay and :max_attempts values.

waiter_name params :delay :max_attempts
fleet_started #describe_fleets 30 40
fleet_stopped #describe_fleets 30 40

Parameters:

  • waiter_name (Symbol)
  • params (Hash) (defaults to: {})

    ({})

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :max_attempts (Integer)
  • :delay (Integer)
  • :before_attempt (Proc)
  • :before_wait (Proc)

Yields:

  • (w.waiter)

Returns:

  • (Boolean)

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError)

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError)

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError)

    Raised when you request to wait for an unknown state.



4388
4389
4390
4391
4392
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4388

def wait_until(waiter_name, params = {}, options = {})
  w = waiter(waiter_name, options)
  yield(w.waiter) if block_given? # deprecated
  w.wait(params)
end