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, :session_token, and :account_id options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
    • ~/.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::InstanceProfileCredentials 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)
  • :account_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.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses NoOpTelemetryProvider which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the opentelemetry-sdk gem and then, pass in an instance of a Aws::Telemetry::OTelProvider for telemetry provider.
  • :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_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

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



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

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:



486
487
488
489
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 486

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:



520
521
522
523
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 520

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:



550
551
552
553
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 550

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:



576
577
578
579
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 576

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:



619
620
621
622
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 619

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:



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

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:



706
707
708
709
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 706

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:



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

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:



959
960
961
962
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 959

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:



994
995
996
997
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 994

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:



1098
1099
1100
1101
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1098

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:



1165
1166
1167
1168
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1165

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:



1228
1229
1230
1231
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1228

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:



1587
1588
1589
1590
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1587

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:



1812
1813
1814
1815
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1812

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:



1847
1848
1849
1850
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 1847

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



2000
2001
2002
2003
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2000

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:



2062
2063
2064
2065
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2062

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:



2140
2141
2142
2143
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2140

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:



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

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:



2290
2291
2292
2293
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2290

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:



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

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:



2366
2367
2368
2369
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2366

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:



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

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:



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

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:



2437
2438
2439
2440
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2437

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:



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

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:



2485
2486
2487
2488
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2485

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:



2560
2561
2562
2563
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2560

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:



2617
2618
2619
2620
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2617

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:



2646
2647
2648
2649
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2646

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:



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

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:



2694
2695
2696
2697
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2694

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:



2707
2708
2709
2710
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2707

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:



2737
2738
2739
2740
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2737

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:



2785
2786
2787
2788
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2785

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:



2849
2850
2851
2852
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2849

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:



2910
2911
2912
2913
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2910

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:



2956
2957
2958
2959
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 2956

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:



3014
3015
3016
3017
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3014

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:



3069
3070
3071
3072
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3069

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:



3121
3122
3123
3124
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3121

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:



3204
3205
3206
3207
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3204

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:



3275
3276
3277
3278
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3275

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:



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

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:



3425
3426
3427
3428
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3425

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:



3500
3501
3502
3503
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3500

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



3565
3566
3567
3568
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3565

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:



3604
3605
3606
3607
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3604

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:



3646
3647
3648
3649
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3646

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:



3708
3709
3710
3711
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3708

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:



3757
3758
3759
3760
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3757

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:



3789
3790
3791
3792
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3789

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:



3816
3817
3818
3819
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3816

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:



3842
3843
3844
3845
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3842

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:



3872
3873
3874
3875
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3872

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:



3898
3899
3900
3901
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3898

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:



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

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:



3955
3956
3957
3958
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3955

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:



3992
3993
3994
3995
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 3992

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:



4029
4030
4031
4032
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4029

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:



4073
4074
4075
4076
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4073

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:



4110
4111
4112
4113
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4110

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:



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

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:



4189
4190
4191
4192
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4189

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:



4252
4253
4254
4255
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4252

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:



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

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:



4327
4328
4329
4330
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4327

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:



4384
4385
4386
4387
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4384

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:



4436
4437
4438
4439
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4436

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:



4472
4473
4474
4475
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4472

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:



4604
4605
4606
4607
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4604

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:



4687
4688
4689
4690
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4687

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:



4753
4754
4755
4756
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4753

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:



4810
4811
4812
4813
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 4810

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:



5142
5143
5144
5145
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5142

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:



5176
5177
5178
5179
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5176

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



5313
5314
5315
5316
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5313

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:



5400
5401
5402
5403
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5400

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.



5516
5517
5518
5519
5520
# File 'gems/aws-sdk-appstream/lib/aws-sdk-appstream/client.rb', line 5516

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