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

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

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

  • :disable_request_compression (Boolean) — default: false

    When set to 'true' the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the :endpoint option directly. This is normally constructed from the :region option. Configuring :endpoint is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :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.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

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

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

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

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default :sigv4a_signing_region_set is searched for in the following locations:

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disables response data type conversions. The request parameters hash must be formatted exactly as the API expects.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.

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

  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

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

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

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

  • :endpoint_provider (Aws::AppStream::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::AppStream::EndpointParameters

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

  • :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_open_timeout (Float) — default: 15

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

  • :http_proxy (URI::HTTP, String)

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

  • :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_wire_trace (Boolean) — default: false

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

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a content-length).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

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

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

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



429
430
431
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 429

def initialize(*args)
  super
end

Instance Method Details

#associate_app_block_builder_app_block(params = {}) ⇒ Types::AssociateAppBlockBuilderAppBlockResult

Associates the specified app block builder with the specified app block.

Examples:

Request syntax with placeholder values


resp = client.associate_app_block_builder_app_block({
  app_block_arn: "Arn", # required
  app_block_builder_name: "Name", # required
})

Response structure


resp.app_block_builder_app_block_association.app_block_arn #=> String
resp.app_block_builder_app_block_association.app_block_builder_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_block_arn (required, String)

    The ARN of the app block.

  • :app_block_builder_name (required, String)

    The name of the app block builder.

Returns:

See Also:



464
465
466
467
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 464

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

#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:



498
499
500
501
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 498

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:



528
529
530
531
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 528

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:



554
555
556
557
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 554

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, AWS_AD
      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", "AWS_AD"
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:



597
598
599
600
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 597

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, AWS_AD
      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", "AWS_AD"
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:



638
639
640
641
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 638

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:



684
685
686
687
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 684

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",
  },
  setup_script_details: {
    script_s3_location: { # required
      s3_bucket: "S3Bucket", # required
      s3_key: "S3Key",
    },
    executable_path: "String", # required
    executable_parameters: "String",
    timeout_in_seconds: 1, # required
  },
  tags: {
    "TagKey" => "TagValue",
  },
  post_setup_script_details: {
    script_s3_location: { # required
      s3_bucket: "S3Bucket", # required
      s3_key: "S3Key",
    },
    executable_path: "String", # required
    executable_parameters: "String",
    timeout_in_seconds: 1, # required
  },
  packaging_type: "CUSTOM", # accepts CUSTOM, APPSTREAM2
})

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
resp.app_block.post_setup_script_details.script_s3_location.s3_bucket #=> String
resp.app_block.post_setup_script_details.script_s3_location.s3_key #=> String
resp.app_block.post_setup_script_details.executable_path #=> String
resp.app_block.post_setup_script_details.executable_parameters #=> String
resp.app_block.post_setup_script_details.timeout_in_seconds #=> Integer
resp.app_block.packaging_type #=> String, one of "CUSTOM", "APPSTREAM2"
resp.app_block.state #=> String, one of "INACTIVE", "ACTIVE"
resp.app_block.app_block_errors #=> Array
resp.app_block.app_block_errors[0].error_code #=> String
resp.app_block.app_block_errors[0].error_message #=> String

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 (Types::ScriptDetails)

    The setup script details of the app block. This must be provided for the CUSTOM PackagingType.

  • :tags (Hash<String,String>)

    The tags assigned to the app block.

  • :post_setup_script_details (Types::ScriptDetails)

    The post setup script details of the app block. This can only be provided for the APPSTREAM2 PackagingType.

  • :packaging_type (String)

    The packaging type of the app block.

Returns:

See Also:



793
794
795
796
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 793

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

#create_app_block_builder(params = {}) ⇒ Types::CreateAppBlockBuilderResult

Creates an app block builder.

Examples:

Request syntax with placeholder values


resp = client.create_app_block_builder({
  name: "Name", # required
  description: "Description",
  display_name: "DisplayName",
  tags: {
    "TagKey" => "TagValue",
  },
  platform: "WINDOWS_SERVER_2019", # required, accepts WINDOWS_SERVER_2019
  instance_type: "String", # required
  vpc_config: { # required
    subnet_ids: ["String"],
    security_group_ids: ["String"],
  },
  enable_default_internet_access: false,
  iam_role_arn: "Arn",
  access_endpoints: [
    {
      endpoint_type: "STREAMING", # required, accepts STREAMING
      vpce_id: "String",
    },
  ],
})

Response structure


resp.app_block_builder.arn #=> String
resp.app_block_builder.name #=> String
resp.app_block_builder.display_name #=> String
resp.app_block_builder.description #=> String
resp.app_block_builder.platform #=> String, one of "WINDOWS_SERVER_2019"
resp.app_block_builder.instance_type #=> String
resp.app_block_builder.enable_default_internet_access #=> Boolean
resp.app_block_builder.iam_role_arn #=> String
resp.app_block_builder.vpc_config.subnet_ids #=> Array
resp.app_block_builder.vpc_config.subnet_ids[0] #=> String
resp.app_block_builder.vpc_config.security_group_ids #=> Array
resp.app_block_builder.vpc_config.security_group_ids[0] #=> String
resp.app_block_builder.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
resp.app_block_builder.created_time #=> Time
resp.app_block_builder.app_block_builder_errors #=> Array
resp.app_block_builder.app_block_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.app_block_builder.app_block_builder_errors[0].error_message #=> String
resp.app_block_builder.app_block_builder_errors[0].error_timestamp #=> Time
resp.app_block_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR"
resp.app_block_builder.state_change_reason.message #=> String
resp.app_block_builder.access_endpoints #=> Array
resp.app_block_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.app_block_builder.access_endpoints[0].vpce_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The unique name for the app block builder.

  • :description (String)

    The description of the app block builder.

  • :display_name (String)

    The display name of the app block builder.

  • :tags (Hash<String,String>)

    The tags to associate with the app block 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=.

    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.

  • :platform (required, String)

    The platform of the app block builder.

    WINDOWS_SERVER_2019 is the only valid value.

  • :instance_type (required, String)

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

    • stream.standard.small

    • stream.standard.medium

    • stream.standard.large

    • stream.standard.xlarge

    • stream.standard.2xlarge

  • :vpc_config (required, Types::VpcConfig)

    The VPC configuration for the app block builder.

    App block builders require that you specify at least two subnets in different availability zones.

  • :enable_default_internet_access (Boolean)

    Enables or disables default internet access for the app block builder.

  • :iam_role_arn (String)

    The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To assume a role, the app block 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.

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

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

Returns:

See Also:



937
938
939
940
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 937

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

#create_app_block_builder_streaming_url(params = {}) ⇒ Types::CreateAppBlockBuilderStreamingURLResult

Creates a URL to start a create app block builder streaming session.

Examples:

Request syntax with placeholder values


resp = client.create_app_block_builder_streaming_url({
  app_block_builder_name: "Name", # required
  validity: 1,
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :app_block_builder_name (required, String)

    The name of the app block 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:



972
973
974
975
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 972

def create_app_block_builder_streaming_url(params = {}, options = {})
  req = build_request(:create_app_block_builder_streaming_url, 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",
  },
  launch_path: "String", # required
  working_directory: "String",
  launch_parameters: "String",
  platforms: ["WINDOWS"], # required, accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, WINDOWS_SERVER_2022, AMAZON_LINUX2, RHEL8
  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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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:



1076
1077
1078
1079
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1076

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
  },
  certificate_based_auth_properties: {
    status: "DISABLED", # accepts DISABLED, ENABLED, ENABLED_NO_DIRECTORY_LOGIN_FALLBACK
    certificate_authority_arn: "Arn",
  },
})

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
resp.directory_config.certificate_based_auth_properties.status #=> String, one of "DISABLED", "ENABLED", "ENABLED_NO_DIRECTORY_LOGIN_FALLBACK"
resp.directory_config.certificate_based_auth_properties.certificate_authority_arn #=> String

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.

  • :certificate_based_auth_properties (Types::CertificateBasedAuthProperties)

    The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) user identities to Active Directory domain-joined streaming instances. Fallback is turned on by default when certificate-based authentication is Enabled . Fallback allows users to log in using their AD domain password if certificate-based authentication is unsuccessful, or to unlock a desktop lock screen. Enabled_no_directory_login_fallback enables certificate-based authentication, but does not allow users to log in using their AD domain password. Users will be disconnected to re-authenticate using certificates.

Returns:

See Also:



1143
1144
1145
1146
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1143

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:



1206
1207
1208
1209
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1206

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 your users access for their applications and desktops.

Examples:

Request syntax with placeholder values


resp = client.create_fleet({
  name: "Name", # required
  image_name: "Name",
  image_arn: "Arn",
  instance_type: "String", # required
  fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND, ELASTIC
  compute_capacity: {
    desired_instances: 1,
    desired_sessions: 1,
  },
  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, WINDOWS_SERVER_2022, AMAZON_LINUX2, RHEL8
  max_concurrent_sessions: 1,
  usb_device_filter_strings: ["UsbDeviceFilterString"],
  session_script_s3_location: {
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key",
  },
  max_sessions_per_instance: 1,
})

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.compute_capacity_status.desired_user_sessions #=> Integer
resp.fleet.compute_capacity_status.available_user_sessions #=> Integer
resp.fleet.compute_capacity_status.active_user_sessions #=> Integer
resp.fleet.compute_capacity_status.actual_user_sessions #=> 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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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
resp.fleet.max_sessions_per_instance #=> Integer

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.standard.xlarge

    • stream.standard.2xlarge

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

    • stream.graphics.g5.2xlarge

    • stream.graphics.g5.4xlarge

    • stream.graphics.g5.8xlarge

    • stream.graphics.g5.12xlarge

    • stream.graphics.g5.16xlarge

    • stream.graphics.g5.24xlarge

    • 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

    • stream.standard.large

    • stream.standard.xlarge

    • stream.standard.2xlarge

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

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

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

  • :max_sessions_per_instance (Integer)

    The maximum number of user sessions on an instance. This only applies to multi-session fleets.

Returns:

See Also:



1565
1566
1567
1568
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1565

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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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
resp.image_builder.latest_appstream_agent_version #=> String, one of "TRUE", "FALSE"

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:



1790
1791
1792
1793
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1790

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:



1825
1826
1827
1828
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1825

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
      maximum_length: 1,
    },
  ],
  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"],
  streaming_experience_settings: {
    preferred_protocol: "TCP", # accepts TCP, UDP
  },
})

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.[0].maximum_length #=> Integer
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
resp.stack.streaming_experience_settings.preferred_protocol #=> String, one of "TCP", "UDP"

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.

  • :streaming_experience_settings (Types::StreamingExperienceSettings)

    The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.

Returns:

See Also:



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

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:



2040
2041
2042
2043
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2040

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

#create_theme_for_stack(params = {}) ⇒ Types::CreateThemeForStackResult

Creates custom branding that customizes the appearance of the streaming application catalog page.

Examples:

Request syntax with placeholder values


resp = client.create_theme_for_stack({
  stack_name: "Name", # required
  footer_links: [
    {
      display_name: "ThemeFooterLinkDisplayName",
      footer_link_url: "ThemeFooterLinkURL",
    },
  ],
  title_text: "ThemeTitleText", # required
  theme_styling: "LIGHT_BLUE", # required, accepts LIGHT_BLUE, BLUE, PINK, RED
  organization_logo_s3_location: { # required
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key",
  },
  favicon_s3_location: { # required
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key",
  },
})

Response structure


resp.theme.stack_name #=> String
resp.theme.state #=> String, one of "ENABLED", "DISABLED"
resp.theme.theme_title_text #=> String
resp.theme.theme_styling #=> String, one of "LIGHT_BLUE", "BLUE", "PINK", "RED"
resp.theme.theme_footer_links #=> Array
resp.theme.theme_footer_links[0].display_name #=> String
resp.theme.theme_footer_links[0].footer_link_url #=> String
resp.theme.theme_organization_logo_url #=> String
resp.theme.theme_favicon_url #=> String
resp.theme.created_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack for the theme.

  • :footer_links (Array<Types::ThemeFooterLink>)

    The links that are displayed in the footer of the streaming application catalog page. These links are helpful resources for users, such as the organization's IT support and product marketing sites.

  • :title_text (required, String)

    The title that is displayed at the top of the browser tab during users' application streaming sessions.

  • :theme_styling (required, String)

    The color theme that is applied to website links, text, and buttons. These colors are also applied as accents in the background for the streaming application catalog page.

  • :organization_logo_s3_location (required, Types::S3Location)

    The organization logo that appears on the streaming application catalog page.

  • :favicon_s3_location (required, Types::S3Location)

    The S3 location of the favicon. The favicon enables users to recognize their application streaming site in a browser full of tabs or bookmarks. It is displayed at the top of the browser tab for the application streaming site during users' streaming sessions.

Returns:

See Also:



2118
2119
2120
2121
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2118

def create_theme_for_stack(params = {}, options = {})
  req = build_request(:create_theme_for_stack, 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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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.image.latest_appstream_agent_version #=> String, one of "TRUE", "FALSE"
resp.image.supported_instance_families #=> Array
resp.image.supported_instance_families[0] #=> String
resp.image.dynamic_app_providers_enabled #=> String, one of "ENABLED", "DISABLED"
resp.image.image_shared_with_others #=> String, one of "TRUE", "FALSE"
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:



2246
2247
2248
2249
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2246

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:



2268
2269
2270
2271
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2268

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, AWS_AD
})

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:



2322
2323
2324
2325
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2322

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:



2344
2345
2346
2347
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2344

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

#delete_app_block_builder(params = {}) ⇒ Struct

Deletes an app block builder.

An app block builder can only be deleted when it has no association with an app block.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the app block builder.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2369
2370
2371
2372
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2369

def delete_app_block_builder(params = {}, options = {})
  req = build_request(:delete_app_block_builder, 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:



2391
2392
2393
2394
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2391

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:



2415
2416
2417
2418
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2415

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:



2441
2442
2443
2444
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2441

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:



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

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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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.image.latest_appstream_agent_version #=> String, one of "TRUE", "FALSE"
resp.image.supported_instance_families #=> Array
resp.image.supported_instance_families[0] #=> String
resp.image.dynamic_app_providers_enabled #=> String, one of "ENABLED", "DISABLED"
resp.image.image_shared_with_others #=> String, one of "TRUE", "FALSE"

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the image.

Returns:

See Also:



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

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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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
resp.image_builder.latest_appstream_agent_version #=> String, one of "TRUE", "FALSE"

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the image builder.

Returns:

See Also:



2595
2596
2597
2598
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2595

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:



2624
2625
2626
2627
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2624

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:



2649
2650
2651
2652
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2649

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

#delete_theme_for_stack(params = {}) ⇒ Struct

Deletes custom branding that customizes the appearance of the streaming application catalog page.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack for the theme.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2672
2673
2674
2675
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2672

def delete_theme_for_stack(params = {}, options = {})
  req = build_request(:delete_theme_for_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:



2685
2686
2687
2688
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2685

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, AWS_AD
})

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:



2715
2716
2717
2718
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2715

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

#describe_app_block_builder_app_block_associations(params = {}) ⇒ Types::DescribeAppBlockBuilderAppBlockAssociationsResult

Retrieves a list that describes one or more app block builder associations.

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_app_block_builder_app_block_associations({
  app_block_arn: "Arn",
  app_block_builder_name: "Name",
  max_results: 1,
  next_token: "String",
})

Response structure


resp.app_block_builder_app_block_associations #=> Array
resp.app_block_builder_app_block_associations[0].app_block_arn #=> String
resp.app_block_builder_app_block_associations[0].app_block_builder_name #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :app_block_arn (String)

    The ARN of the app block.

  • :app_block_builder_name (String)

    The name of the app block builder.

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



2763
2764
2765
2766
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2763

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

#describe_app_block_builders(params = {}) ⇒ Types::DescribeAppBlockBuildersResult

Retrieves a list that describes one or more app block builders.

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_app_block_builders({
  names: ["String"],
  next_token: "String",
  max_results: 1,
})

Response structure


resp.app_block_builders #=> Array
resp.app_block_builders[0].arn #=> String
resp.app_block_builders[0].name #=> String
resp.app_block_builders[0].display_name #=> String
resp.app_block_builders[0].description #=> String
resp.app_block_builders[0].platform #=> String, one of "WINDOWS_SERVER_2019"
resp.app_block_builders[0].instance_type #=> String
resp.app_block_builders[0].enable_default_internet_access #=> Boolean
resp.app_block_builders[0].iam_role_arn #=> String
resp.app_block_builders[0].vpc_config.subnet_ids #=> Array
resp.app_block_builders[0].vpc_config.subnet_ids[0] #=> String
resp.app_block_builders[0].vpc_config.security_group_ids #=> Array
resp.app_block_builders[0].vpc_config.security_group_ids[0] #=> String
resp.app_block_builders[0].state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
resp.app_block_builders[0].created_time #=> Time
resp.app_block_builders[0].app_block_builder_errors #=> Array
resp.app_block_builders[0].app_block_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.app_block_builders[0].app_block_builder_errors[0].error_message #=> String
resp.app_block_builders[0].app_block_builder_errors[0].error_timestamp #=> Time
resp.app_block_builders[0].state_change_reason.code #=> String, one of "INTERNAL_ERROR"
resp.app_block_builders[0].state_change_reason.message #=> String
resp.app_block_builders[0].access_endpoints #=> Array
resp.app_block_builders[0].access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.app_block_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 app block builders.

  • :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. The maximum value is 25.

Returns:

See Also:



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

def describe_app_block_builders(params = {}, options = {})
  req = build_request(:describe_app_block_builders, 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.app_blocks[0].post_setup_script_details.script_s3_location.s3_bucket #=> String
resp.app_blocks[0].post_setup_script_details.script_s3_location.s3_key #=> String
resp.app_blocks[0].post_setup_script_details.executable_path #=> String
resp.app_blocks[0].post_setup_script_details.executable_parameters #=> String
resp.app_blocks[0].post_setup_script_details.timeout_in_seconds #=> Integer
resp.app_blocks[0].packaging_type #=> String, one of "CUSTOM", "APPSTREAM2"
resp.app_blocks[0].state #=> String, one of "INACTIVE", "ACTIVE"
resp.app_blocks[0].app_block_errors #=> Array
resp.app_blocks[0].app_block_errors[0].error_code #=> String
resp.app_blocks[0].app_block_errors[0].error_message #=> String
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:



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

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:



2934
2935
2936
2937
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2934

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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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:



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

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.directory_configs[0].certificate_based_auth_properties.status #=> String, one of "DISABLED", "ENABLED", "ENABLED_NO_DIRECTORY_LOGIN_FALLBACK"
resp.directory_configs[0].certificate_based_auth_properties.certificate_authority_arn #=> String
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:



3047
3048
3049
3050
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3047

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:



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

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].compute_capacity_status.desired_user_sessions #=> Integer
resp.fleets[0].compute_capacity_status.available_user_sessions #=> Integer
resp.fleets[0].compute_capacity_status.active_user_sessions #=> Integer
resp.fleets[0].compute_capacity_status.actual_user_sessions #=> 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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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.fleets[0].max_sessions_per_instance #=> Integer
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:



3182
3183
3184
3185
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3182

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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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.image_builders[0].latest_appstream_agent_version #=> String, one of "TRUE", "FALSE"
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:



3253
3254
3255
3256
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3253

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:



3306
3307
3308
3309
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3306

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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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.images[0].latest_appstream_agent_version #=> String, one of "TRUE", "FALSE"
resp.images[0].supported_instance_families #=> Array
resp.images[0].supported_instance_families[0] #=> String
resp.images[0].dynamic_app_providers_enabled #=> String, one of "ENABLED", "DISABLED"
resp.images[0].image_shared_with_others #=> String, one of "TRUE", "FALSE"
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:



3403
3404
3405
3406
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3403

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: "Name", # required
  fleet_name: "Name", # required
  user_id: "UserId",
  next_token: "String",
  limit: 1,
  authentication_type: "API", # accepts API, SAML, USERPOOL, AWS_AD
  instance_id: "String",
})

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", "AWS_AD"
resp.sessions[0].network_access_configuration.eni_private_ip_address #=> String
resp.sessions[0].network_access_configuration.eni_id #=> String
resp.sessions[0].instance_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.

  • :instance_id (String)

    The identifier for the instance hosting the session.

Returns:

See Also:



3478
3479
3480
3481
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3478

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].[0].maximum_length #=> Integer
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.stacks[0].streaming_experience_settings.preferred_protocol #=> String, one of "TCP", "UDP"
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:



3543
3544
3545
3546
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3543

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

#describe_theme_for_stack(params = {}) ⇒ Types::DescribeThemeForStackResult

Retrieves a list that describes the theme for a specified stack. A theme is custom branding that customizes the appearance of the streaming application catalog page.

Examples:

Request syntax with placeholder values


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

Response structure


resp.theme.stack_name #=> String
resp.theme.state #=> String, one of "ENABLED", "DISABLED"
resp.theme.theme_title_text #=> String
resp.theme.theme_styling #=> String, one of "LIGHT_BLUE", "BLUE", "PINK", "RED"
resp.theme.theme_footer_links #=> Array
resp.theme.theme_footer_links[0].display_name #=> String
resp.theme.theme_footer_links[0].footer_link_url #=> String
resp.theme.theme_organization_logo_url #=> String
resp.theme.theme_favicon_url #=> String
resp.theme.created_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack for the theme.

Returns:

See Also:



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

def describe_theme_for_stack(params = {}, options = {})
  req = build_request(:describe_theme_for_stack, 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:



3624
3625
3626
3627
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3624

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, AWS_AD
  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", "AWS_AD"
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:



3686
3687
3688
3689
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3686

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, AWS_AD
  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", "AWS_AD"
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:



3735
3736
3737
3738
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3735

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, AWS_AD
})

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:



3767
3768
3769
3770
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3767

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

#disassociate_app_block_builder_app_block(params = {}) ⇒ Struct

Disassociates a specified app block builder from a specified app block.

Examples:

Request syntax with placeholder values


resp = client.disassociate_app_block_builder_app_block({
  app_block_arn: "Arn", # required
  app_block_builder_name: "Name", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :app_block_arn (required, String)

    The ARN of the app block.

  • :app_block_builder_name (required, String)

    The name of the app block builder.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3794
3795
3796
3797
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3794

def disassociate_app_block_builder_app_block(params = {}, options = {})
  req = build_request(:disassociate_app_block_builder_app_block, 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:



3820
3821
3822
3823
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3820

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:



3850
3851
3852
3853
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3850

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:



3876
3877
3878
3879
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3876

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, AWS_AD
})

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:



3911
3912
3913
3914
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3911

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:



3933
3934
3935
3936
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3933

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:



3970
3971
3972
3973
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3970

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:



4007
4008
4009
4010
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4007

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:



4051
4052
4053
4054
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4051

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:



4088
4089
4090
4091
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4088

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

#start_app_block_builder(params = {}) ⇒ Types::StartAppBlockBuilderResult

Starts an app block builder.

An app block builder can only be started when it's associated with an app block.

Starting an app block builder starts a new instance, which is equivalent to an elastic fleet instance with application builder assistance functionality.

Examples:

Request syntax with placeholder values


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

Response structure


resp.app_block_builder.arn #=> String
resp.app_block_builder.name #=> String
resp.app_block_builder.display_name #=> String
resp.app_block_builder.description #=> String
resp.app_block_builder.platform #=> String, one of "WINDOWS_SERVER_2019"
resp.app_block_builder.instance_type #=> String
resp.app_block_builder.enable_default_internet_access #=> Boolean
resp.app_block_builder.iam_role_arn #=> String
resp.app_block_builder.vpc_config.subnet_ids #=> Array
resp.app_block_builder.vpc_config.subnet_ids[0] #=> String
resp.app_block_builder.vpc_config.security_group_ids #=> Array
resp.app_block_builder.vpc_config.security_group_ids[0] #=> String
resp.app_block_builder.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
resp.app_block_builder.created_time #=> Time
resp.app_block_builder.app_block_builder_errors #=> Array
resp.app_block_builder.app_block_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.app_block_builder.app_block_builder_errors[0].error_message #=> String
resp.app_block_builder.app_block_builder_errors[0].error_timestamp #=> Time
resp.app_block_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR"
resp.app_block_builder.state_change_reason.message #=> String
resp.app_block_builder.access_endpoints #=> Array
resp.app_block_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.app_block_builder.access_endpoints[0].vpce_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the app block builder.

Returns:

See Also:



4145
4146
4147
4148
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4145

def start_app_block_builder(params = {}, options = {})
  req = build_request(:start_app_block_builder, 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:



4167
4168
4169
4170
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4167

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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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
resp.image_builder.latest_appstream_agent_version #=> String, one of "TRUE", "FALSE"

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:



4230
4231
4232
4233
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4230

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

#stop_app_block_builder(params = {}) ⇒ Types::StopAppBlockBuilderResult

Stops an app block builder.

Stopping an app block builder terminates the instance, and the instance state is not persisted.

Examples:

Request syntax with placeholder values


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

Response structure


resp.app_block_builder.arn #=> String
resp.app_block_builder.name #=> String
resp.app_block_builder.display_name #=> String
resp.app_block_builder.description #=> String
resp.app_block_builder.platform #=> String, one of "WINDOWS_SERVER_2019"
resp.app_block_builder.instance_type #=> String
resp.app_block_builder.enable_default_internet_access #=> Boolean
resp.app_block_builder.iam_role_arn #=> String
resp.app_block_builder.vpc_config.subnet_ids #=> Array
resp.app_block_builder.vpc_config.subnet_ids[0] #=> String
resp.app_block_builder.vpc_config.security_group_ids #=> Array
resp.app_block_builder.vpc_config.security_group_ids[0] #=> String
resp.app_block_builder.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
resp.app_block_builder.created_time #=> Time
resp.app_block_builder.app_block_builder_errors #=> Array
resp.app_block_builder.app_block_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.app_block_builder.app_block_builder_errors[0].error_message #=> String
resp.app_block_builder.app_block_builder_errors[0].error_timestamp #=> Time
resp.app_block_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR"
resp.app_block_builder.state_change_reason.message #=> String
resp.app_block_builder.access_endpoints #=> Array
resp.app_block_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.app_block_builder.access_endpoints[0].vpce_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the app block builder.

Returns:

See Also:



4283
4284
4285
4286
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4283

def stop_app_block_builder(params = {}, options = {})
  req = build_request(:stop_app_block_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:



4305
4306
4307
4308
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4305

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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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
resp.image_builder.latest_appstream_agent_version #=> String, one of "TRUE", "FALSE"

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the image builder.

Returns:

See Also:



4362
4363
4364
4365
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4362

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:



4414
4415
4416
4417
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4414

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:



4450
4451
4452
4453
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4450

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

#update_app_block_builder(params = {}) ⇒ Types::UpdateAppBlockBuilderResult

Updates an app block builder.

If the app block builder is in the STARTING or STOPPING state, you can't update it. If the app block builder is in the RUNNING state, you can only update the DisplayName and Description. If the app block builder is in the STOPPED state, you can update any attribute except the Name.

Examples:

Request syntax with placeholder values


resp = client.update_app_block_builder({
  name: "Name", # required
  description: "Description",
  display_name: "DisplayName",
  platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, WINDOWS_SERVER_2022, AMAZON_LINUX2, RHEL8
  instance_type: "String",
  vpc_config: {
    subnet_ids: ["String"],
    security_group_ids: ["String"],
  },
  enable_default_internet_access: false,
  iam_role_arn: "Arn",
  access_endpoints: [
    {
      endpoint_type: "STREAMING", # required, accepts STREAMING
      vpce_id: "String",
    },
  ],
  attributes_to_delete: ["IAM_ROLE_ARN"], # accepts IAM_ROLE_ARN, ACCESS_ENDPOINTS, VPC_CONFIGURATION_SECURITY_GROUP_IDS
})

Response structure


resp.app_block_builder.arn #=> String
resp.app_block_builder.name #=> String
resp.app_block_builder.display_name #=> String
resp.app_block_builder.description #=> String
resp.app_block_builder.platform #=> String, one of "WINDOWS_SERVER_2019"
resp.app_block_builder.instance_type #=> String
resp.app_block_builder.enable_default_internet_access #=> Boolean
resp.app_block_builder.iam_role_arn #=> String
resp.app_block_builder.vpc_config.subnet_ids #=> Array
resp.app_block_builder.vpc_config.subnet_ids[0] #=> String
resp.app_block_builder.vpc_config.security_group_ids #=> Array
resp.app_block_builder.vpc_config.security_group_ids[0] #=> String
resp.app_block_builder.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
resp.app_block_builder.created_time #=> Time
resp.app_block_builder.app_block_builder_errors #=> Array
resp.app_block_builder.app_block_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.app_block_builder.app_block_builder_errors[0].error_message #=> String
resp.app_block_builder.app_block_builder_errors[0].error_timestamp #=> Time
resp.app_block_builder.state_change_reason.code #=> String, one of "INTERNAL_ERROR"
resp.app_block_builder.state_change_reason.message #=> String
resp.app_block_builder.access_endpoints #=> Array
resp.app_block_builder.access_endpoints[0].endpoint_type #=> String, one of "STREAMING"
resp.app_block_builder.access_endpoints[0].vpce_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The unique name for the app block builder.

  • :description (String)

    The description of the app block builder.

  • :display_name (String)

    The display name of the app block builder.

  • :platform (String)

    The platform of the app block builder.

    WINDOWS_SERVER_2019 is the only valid value.

  • :instance_type (String)

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

    • stream.standard.small

    • stream.standard.medium

    • stream.standard.large

    • stream.standard.xlarge

    • stream.standard.2xlarge

  • :vpc_config (Types::VpcConfig)

    The VPC configuration for the app block builder.

    App block builders require that you specify at least two subnets in different availability zones.

  • :enable_default_internet_access (Boolean)

    Enables or disables default internet access for the app block builder.

  • :iam_role_arn (String)

    The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To assume a role, the app block 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.

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

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

  • :attributes_to_delete (Array<String>)

    The attributes to delete from the app block builder.

Returns:

See Also:



4582
4583
4584
4585
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4582

def update_app_block_builder(params = {}, options = {})
  req = build_request(:update_app_block_builder, 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",
  },
  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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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:



4665
4666
4667
4668
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4665

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
  },
  certificate_based_auth_properties: {
    status: "DISABLED", # accepts DISABLED, ENABLED, ENABLED_NO_DIRECTORY_LOGIN_FALLBACK
    certificate_authority_arn: "Arn",
  },
})

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
resp.directory_config.certificate_based_auth_properties.status #=> String, one of "DISABLED", "ENABLED", "ENABLED_NO_DIRECTORY_LOGIN_FALLBACK"
resp.directory_config.certificate_based_auth_properties.certificate_authority_arn #=> String

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.

  • :certificate_based_auth_properties (Types::CertificateBasedAuthProperties)

    The certificate-based authentication properties used to authenticate SAML 2.0 Identity Provider (IdP) user identities to Active Directory domain-joined streaming instances. Fallback is turned on by default when certificate-based authentication is Enabled . Fallback allows users to log in using their AD domain password if certificate-based authentication is unsuccessful, or to unlock a desktop lock screen. Enabled_no_directory_login_fallback enables certificate-based authentication, but does not allow users to log in using their AD domain password. Users will be disconnected to re-authenticate using certificates.

Returns:

See Also:



4731
4732
4733
4734
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4731

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:



4788
4789
4790
4791
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4788

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, SessionScriptS3Location 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: "Name",
  instance_type: "String",
  compute_capacity: {
    desired_instances: 1,
    desired_sessions: 1,
  },
  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, MAX_SESSIONS_PER_INSTANCE
  iam_role_arn: "Arn",
  stream_view: "APP", # accepts APP, DESKTOP
  platform: "WINDOWS", # accepts WINDOWS, WINDOWS_SERVER_2016, WINDOWS_SERVER_2019, WINDOWS_SERVER_2022, AMAZON_LINUX2, RHEL8
  max_concurrent_sessions: 1,
  usb_device_filter_strings: ["UsbDeviceFilterString"],
  session_script_s3_location: {
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key",
  },
  max_sessions_per_instance: 1,
})

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.compute_capacity_status.desired_user_sessions #=> Integer
resp.fleet.compute_capacity_status.available_user_sessions #=> Integer
resp.fleet.compute_capacity_status.active_user_sessions #=> Integer
resp.fleet.compute_capacity_status.actual_user_sessions #=> 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", "WINDOWS_SERVER_2022", "AMAZON_LINUX2", "RHEL8"
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
resp.fleet.max_sessions_per_instance #=> Integer

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.standard.xlarge

    • stream.standard.2xlarge

    • 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

    • stream.standard.large

    • stream.standard.xlarge

    • stream.standard.2xlarge

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

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

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

  • :max_sessions_per_instance (Integer)

    The maximum number of user sessions on an instance. This only applies to multi-session fleets.

Returns:

See Also:



5120
5121
5122
5123
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5120

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:



5154
5155
5156
5157
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5154

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, STREAMING_EXPERIENCE_SETTINGS
  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
      maximum_length: 1,
    },
  ],
  application_settings: {
    enabled: false, # required
    settings_group: "SettingsGroup",
  },
  access_endpoints: [
    {
      endpoint_type: "STREAMING", # required, accepts STREAMING
      vpce_id: "String",
    },
  ],
  embed_host_domains: ["EmbedHostDomain"],
  streaming_experience_settings: {
    preferred_protocol: "TCP", # accepts TCP, UDP
  },
})

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.[0].maximum_length #=> Integer
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
resp.stack.streaming_experience_settings.preferred_protocol #=> String, one of "TCP", "UDP"

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.

  • :streaming_experience_settings (Types::StreamingExperienceSettings)

    The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.

Returns:

See Also:



5291
5292
5293
5294
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5291

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

#update_theme_for_stack(params = {}) ⇒ Types::UpdateThemeForStackResult

Updates custom branding that customizes the appearance of the streaming application catalog page.

Examples:

Request syntax with placeholder values


resp = client.update_theme_for_stack({
  stack_name: "Name", # required
  footer_links: [
    {
      display_name: "ThemeFooterLinkDisplayName",
      footer_link_url: "ThemeFooterLinkURL",
    },
  ],
  title_text: "ThemeTitleText",
  theme_styling: "LIGHT_BLUE", # accepts LIGHT_BLUE, BLUE, PINK, RED
  organization_logo_s3_location: {
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key",
  },
  favicon_s3_location: {
    s3_bucket: "S3Bucket", # required
    s3_key: "S3Key",
  },
  state: "ENABLED", # accepts ENABLED, DISABLED
  attributes_to_delete: ["FOOTER_LINKS"], # accepts FOOTER_LINKS
})

Response structure


resp.theme.stack_name #=> String
resp.theme.state #=> String, one of "ENABLED", "DISABLED"
resp.theme.theme_title_text #=> String
resp.theme.theme_styling #=> String, one of "LIGHT_BLUE", "BLUE", "PINK", "RED"
resp.theme.theme_footer_links #=> Array
resp.theme.theme_footer_links[0].display_name #=> String
resp.theme.theme_footer_links[0].footer_link_url #=> String
resp.theme.theme_organization_logo_url #=> String
resp.theme.theme_favicon_url #=> String
resp.theme.created_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :stack_name (required, String)

    The name of the stack for the theme.

  • :footer_links (Array<Types::ThemeFooterLink>)

    The links that are displayed in the footer of the streaming application catalog page. These links are helpful resources for users, such as the organization's IT support and product marketing sites.

  • :title_text (String)

    The title that is displayed at the top of the browser tab during users' application streaming sessions.

  • :theme_styling (String)

    The color theme that is applied to website links, text, and buttons. These colors are also applied as accents in the background for the streaming application catalog page.

  • :organization_logo_s3_location (Types::S3Location)

    The organization logo that appears on the streaming application catalog page.

  • :favicon_s3_location (Types::S3Location)

    The S3 location of the favicon. The favicon enables users to recognize their application streaming site in a browser full of tabs or bookmarks. It is displayed at the top of the browser tab for the application streaming site during users' streaming sessions.

  • :state (String)

    Specifies whether custom branding should be applied to catalog page or not.

  • :attributes_to_delete (Array<String>)

    The attributes to delete.

Returns:

See Also:



5378
5379
5380
5381
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5378

def update_theme_for_stack(params = {}, options = {})
  req = build_request(:update_theme_for_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.



5489
5490
5491
5492
5493
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5489

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