class Aws::AppStream::Client
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](/sdk-for-ruby/v3/developer-guide/setup-config.html).
See {#initialize} for a full list of supported configuration options.
Attributes
@api private
Public Class Methods
@overload initialize(options)
@param [Hash] options @option options [required, Aws::CredentialProvider] :credentials Your AWS credentials. This can be an instance of any one of the following classes: * `Aws::Credentials` - Used for configuring static, non-refreshing credentials. * `Aws::SharedCredentials` - Used for loading static credentials from a shared file, such as `~/.aws/config`. * `Aws::AssumeRoleCredentials` - Used when you need to assume a role. * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to assume a role after providing credentials via the web. * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an access token generated from `aws login`. * `Aws::ProcessCredentials` - Used for loading credentials from a process that outputs to stdout. * `Aws::InstanceProfileCredentials` - Used for loading credentials from an EC2 IMDS on an EC2 instance. * `Aws::ECSCredentials` - Used for loading credentials from instances running in ECS. * `Aws::CognitoIdentityCredentials` - Used for loading credentials from the Cognito Identity service. When `:credentials` are not configured directly, the following locations will be searched for credentials: * `Aws.config[:credentials]` * The `:access_key_id`, `:secret_access_key`, and `:session_token` options. * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'] * `~/.aws/credentials` * `~/.aws/config` * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to enable retries and extended timeouts. @option options [required, String] :region 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` @option options [String] :access_key_id @option options [Boolean] :active_endpoint_cache (false) When set to `true`, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to `false`. @option options [Boolean] :adaptive_retry_wait_to_fill (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. @option options [Boolean] :client_side_monitoring (false) When `true`, client-side metrics will be collected for all API requests from this client. @option options [String] :client_side_monitoring_client_id ("") Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string. @option options [String] :client_side_monitoring_host ("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. @option options [Integer] :client_side_monitoring_port (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. @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher. @option options [Boolean] :convert_params (true) When `true`, an attempt is made to coerce request parameters into the required types. @option options [Boolean] :correct_clock_skew (true) Used only in `standard` and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks. @option options [Boolean] :disable_host_prefix_injection (false) Set to true to disable SDK automatically adding host prefix to default service endpoint when available. @option options [String] :endpoint The client endpoint is normally constructed from the `:region` option. You should only configure an `:endpoint` when connecting to test or custom endpoints. This should be a valid HTTP(S) URI. @option options [Integer] :endpoint_cache_max_entries (1000) Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. @option options [Integer] :endpoint_cache_max_threads (10) Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. @option options [Integer] :endpoint_cache_poll_interval (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. @option options [Boolean] :endpoint_discovery (false) When set to `true`, endpoint discovery will be enabled for operations when available. @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default) The log formatter. @option options [Symbol] :log_level (:info) The log level to send messages to the `:logger` at. @option options [Logger] :logger The Logger instance to send log messages to. If this option is not set, logging will be disabled. @option options [Integer] :max_attempts (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. @option options [String] :profile ("default") Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. @option options [Proc] :retry_backoff A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the `legacy` retry mode. @option options [Float] :retry_base_delay (0.3) The base delay in seconds used by the default backoff function. This option is only used in the `legacy` retry mode. @option options [Symbol] :retry_jitter (: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 @option options [Integer] :retry_limit (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. @option options [Integer] :retry_max_delay (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. @option options [String] :retry_mode ("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. @option options [String] :secret_access_key @option options [String] :session_token @option options [Boolean] :simple_json (false) Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures. When `:simple_json` is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects. @option options [Boolean] :stub_responses (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. @option options [Boolean] :validate_params (true) When `true`, request parameters are validated before sending the request. @option options [URI::HTTP,String] :http_proxy A proxy to send requests through. Formatted like 'http://proxy.com:123'. @option options [Float] :http_open_timeout (15) The number of seconds to wait when opening a HTTP session before raising a `Timeout::Error`. @option options [Integer] :http_read_timeout (60) The default number of seconds to wait for response data. This value can safely be set per-request on the session. @option options [Float] :http_idle_timeout (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. @option options [Float] :http_continue_timeout (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. @option options [Boolean] :http_wire_trace (false) When `true`, HTTP debug output will be sent to the `:logger`. @option options [Boolean] :ssl_verify_peer (true) When `true`, SSL peer certificates are verified when establishing a connection. @option options [String] :ssl_ca_bundle 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. @option options [String] :ssl_ca_directory 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.
# File lib/aws-sdk-appstream/client.rb, line 334 def initialize(*args) super end
Private Class Methods
@api private
# File lib/aws-sdk-appstream/client.rb, line 3442 def errors_module Errors end
Public Instance Methods
Associates the specified fleet with the specified stack.
@option params [required, String] :fleet_name
The name of the fleet.
@option params [required, String] :stack_name
The name of the stack.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.associate_fleet({ fleet_name: "String", # required stack_name: "String", # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateFleet AWS API Documentation
@overload associate_fleet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 361 def associate_fleet(params = {}, options = {}) req = build_request(:associate_fleet, params) req.send_request(options) end
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.
@option params [required, Array<Types::UserStackAssociation>] :user_stack_associations
The list of UserStackAssociation objects.
@return [Types::BatchAssociateUserStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::BatchAssociateUserStackResult#errors #errors} => Array<Types::UserStackAssociationError>
@example Request syntax with placeholder values
resp = client.batch_associate_user_stack({ user_stack_associations: [ # required { stack_name: "String", # required user_name: "Username", # required authentication_type: "API", # required, accepts API, SAML, USERPOOL send_email_notification: false, }, ], })
@example Response structure
resp.errors #=> Array resp.errors[0].user_stack_association.stack_name #=> String resp.errors[0].user_stack_association.user_name #=> String resp.errors[0].user_stack_association.authentication_type #=> String, one of "API", "SAML", "USERPOOL" resp.errors[0].user_stack_association.send_email_notification #=> Boolean resp.errors[0].error_code #=> String, one of "STACK_NOT_FOUND", "USER_NAME_NOT_FOUND", "DIRECTORY_NOT_FOUND", "INTERNAL_ERROR" resp.errors[0].error_message #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchAssociateUserStack AWS API Documentation
@overload batch_associate_user_stack
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 404 def batch_associate_user_stack(params = {}, options = {}) req = build_request(:batch_associate_user_stack, params) req.send_request(options) end
Disassociates the specified users from the specified stacks.
@option params [required, Array<Types::UserStackAssociation>] :user_stack_associations
The list of UserStackAssociation objects.
@return [Types::BatchDisassociateUserStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::BatchDisassociateUserStackResult#errors #errors} => Array<Types::UserStackAssociationError>
@example Request syntax with placeholder values
resp = client.batch_disassociate_user_stack({ user_stack_associations: [ # required { stack_name: "String", # required user_name: "Username", # required authentication_type: "API", # required, accepts API, SAML, USERPOOL send_email_notification: false, }, ], })
@example Response structure
resp.errors #=> Array resp.errors[0].user_stack_association.stack_name #=> String resp.errors[0].user_stack_association.user_name #=> String resp.errors[0].user_stack_association.authentication_type #=> String, one of "API", "SAML", "USERPOOL" resp.errors[0].user_stack_association.send_email_notification #=> Boolean resp.errors[0].error_code #=> String, one of "STACK_NOT_FOUND", "USER_NAME_NOT_FOUND", "DIRECTORY_NOT_FOUND", "INTERNAL_ERROR" resp.errors[0].error_message #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchDisassociateUserStack AWS API Documentation
@overload batch_disassociate_user_stack
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 445 def batch_disassociate_user_stack(params = {}, options = {}) req = build_request(:batch_disassociate_user_stack, params) req.send_request(options) end
@param params ({}) @api private
# File lib/aws-sdk-appstream/client.rb, line 3302 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-appstream' context[:gem_version] = '1.55.0' Seahorse::Client::Request.new(handlers, context) end
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.
@option params [required, String] :source_image_name
The name of the image to copy.
@option params [required, String] :destination_image_name
The name that the image will have when it is copied to the destination.
@option params [required, String] :destination_region
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.
@option params [String] :destination_image_description
The description that the image will have when it is copied to the destination.
@return [Types::CopyImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CopyImageResponse#destination_image_name #destination_image_name} => String
@example 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", })
@example Response structure
resp.destination_image_name #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CopyImage AWS API Documentation
@overload copy_image
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 491 def copy_image(params = {}, options = {}) req = build_request(:copy_image, params) req.send_request(options) end
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.
@option params [required, String] :directory_name
The fully qualified name of the directory (for example, corp.example.com).
@option params [required, Array<String>] :organizational_unit_distinguished_names
The distinguished names of the organizational units for computer accounts.
@option params [Types::ServiceAccountCredentials] :service_account_credentials
The credentials for the service account used by the fleet or image builder to connect to the directory.
@return [Types::CreateDirectoryConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateDirectoryConfigResult#directory_config #directory_config} => Types::DirectoryConfig
@example 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 }, })
@example 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.service_account_credentials.account_name #=> String resp.directory_config.service_account_credentials.account_password #=> String resp.directory_config.created_time #=> Time
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfig AWS API Documentation
@overload create_directory_config
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 540 def create_directory_config(params = {}, options = {}) req = build_request(:create_directory_config, params) req.send_request(options) end
Creates a fleet. A fleet consists of streaming instances that run a specified image.
@option params [required, String] :name
A unique name for the fleet.
@option params [String] :image_name
The name of the image used to create the fleet.
@option params [String] :image_arn
The ARN of the public, private, or shared image to use.
@option params [required, String] :instance_type
The instance type to use when launching fleet instances. The following instance types are available: * stream.standard.small * stream.standard.medium * stream.standard.large * stream.compute.large * stream.compute.xlarge * stream.compute.2xlarge * stream.compute.4xlarge * stream.compute.8xlarge * stream.memory.large * stream.memory.xlarge * stream.memory.2xlarge * stream.memory.4xlarge * stream.memory.8xlarge * stream.memory.z1d.large * stream.memory.z1d.xlarge * stream.memory.z1d.2xlarge * stream.memory.z1d.3xlarge * stream.memory.z1d.6xlarge * stream.memory.z1d.12xlarge * stream.graphics-design.large * stream.graphics-design.xlarge * stream.graphics-design.2xlarge * stream.graphics-design.4xlarge * stream.graphics-desktop.2xlarge * stream.graphics.g4dn.xlarge * stream.graphics.g4dn.2xlarge * stream.graphics.g4dn.4xlarge * stream.graphics.g4dn.8xlarge * stream.graphics.g4dn.12xlarge * stream.graphics.g4dn.16xlarge * stream.graphics-pro.4xlarge * stream.graphics-pro.8xlarge * stream.graphics-pro.16xlarge
@option params [String] :fleet_type
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.
@option params [required, Types::ComputeCapacity] :compute_capacity
The desired capacity for the fleet.
@option params [Types::VpcConfig] :vpc_config
The VPC configuration for the fleet.
@option params [Integer] :max_user_duration_in_seconds
The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance. Specify a value between 600 and 360000.
@option params [Integer] :disconnect_timeout_in_seconds
The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance. Specify a value between 60 and 360000.
@option params [String] :description
The description to display.
@option params [String] :display_name
The fleet name to display.
@option params [Boolean] :enable_default_internet_access
Enables or disables default internet access for the fleet.
@option params [Types::DomainJoinInfo] :domain_join_info
The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.
@option params [Hash<String,String>] :tags
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][1] in the *Amazon AppStream 2.0 Administration Guide*. [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html
@option params [Integer] :idle_disconnect_timeout_in_seconds
The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `DisconnectTimeoutInSeconds` time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in `DisconnectTimeoutInSeconds` elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in `IdleDisconnectTimeoutInSeconds` elapses, they are disconnected. To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0. <note markdown="1"> 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. </note>
@option params [String] :iam_role_arn
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][1] in the *Amazon AppStream 2.0 Administration Guide*. [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html
@option params [String] :stream_view
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`.
@return [Types::CreateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateFleetResult#fleet #fleet} => Types::Fleet
@example Request syntax with placeholder values
resp = client.create_fleet({ name: "Name", # required image_name: "String", image_arn: "Arn", instance_type: "String", # required fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND compute_capacity: { # required desired_instances: 1, # required }, vpc_config: { subnet_ids: ["String"], security_group_ids: ["String"], }, max_user_duration_in_seconds: 1, disconnect_timeout_in_seconds: 1, description: "Description", display_name: "DisplayName", enable_default_internet_access: false, domain_join_info: { directory_name: "DirectoryName", organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName", }, tags: { "TagKey" => "TagValue", }, idle_disconnect_timeout_in_seconds: 1, iam_role_arn: "Arn", stream_view: "APP", # accepts APP, DESKTOP })
@example 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" resp.fleet.compute_capacity_status.desired #=> Integer resp.fleet.compute_capacity_status.running #=> Integer resp.fleet.compute_capacity_status.in_use #=> Integer resp.fleet.compute_capacity_status.available #=> Integer resp.fleet.max_user_duration_in_seconds #=> Integer resp.fleet.disconnect_timeout_in_seconds #=> Integer resp.fleet.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED" resp.fleet.vpc_config.subnet_ids #=> Array resp.fleet.vpc_config.subnet_ids[0] #=> String resp.fleet.vpc_config.security_group_ids #=> Array resp.fleet.vpc_config.security_group_ids[0] #=> String resp.fleet.created_time #=> Time resp.fleet.fleet_errors #=> Array resp.fleet.fleet_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" resp.fleet.fleet_errors[0].error_message #=> String resp.fleet.enable_default_internet_access #=> Boolean resp.fleet.domain_join_info.directory_name #=> String resp.fleet.domain_join_info.organizational_unit_distinguished_name #=> String resp.fleet.idle_disconnect_timeout_in_seconds #=> Integer resp.fleet.iam_role_arn #=> String resp.fleet.stream_view #=> String, one of "APP", "DESKTOP"
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleet AWS API Documentation
@overload create_fleet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 824 def create_fleet(params = {}, options = {}) req = build_request(:create_fleet, params) req.send_request(options) end
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`.
@option params [required, String] :name
A unique name for the image builder.
@option params [String] :image_name
The name of the image used to create the image builder.
@option params [String] :image_arn
The ARN of the public, private, or shared image to use.
@option params [required, String] :instance_type
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
@option params [String] :description
The description to display.
@option params [String] :display_name
The image builder name to display.
@option params [Types::VpcConfig] :vpc_config
The VPC configuration for the image builder. You can specify only one subnet.
@option params [String] :iam_role_arn
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][1] in the *Amazon AppStream 2.0 Administration Guide*. [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html
@option params [Boolean] :enable_default_internet_access
Enables or disables default internet access for the image builder.
@option params [Types::DomainJoinInfo] :domain_join_info
The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.
@option params [String] :appstream_agent_version
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\].
@option params [Hash<String,String>] :tags
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][1] in the *Amazon AppStream 2.0 Administration Guide*. [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html
@option params [Array<Types::AccessEndpoint>] :access_endpoints
The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.
@return [Types::CreateImageBuilderResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateImageBuilderResult#image_builder #image_builder} => Types::ImageBuilder
@example 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", }, ], })
@example 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" 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
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilder AWS API Documentation
@overload create_image_builder
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1048 def create_image_builder(params = {}, options = {}) req = build_request(:create_image_builder, params) req.send_request(options) end
Creates a URL to start an image builder streaming session.
@option params [required, String] :name
The name of the image builder.
@option params [Integer] :validity
The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds.
@return [Types::CreateImageBuilderStreamingURLResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateImageBuilderStreamingURLResult#streaming_url #streaming_url} => String * {Types::CreateImageBuilderStreamingURLResult#expires #expires} => Time
@example Request syntax with placeholder values
resp = client.create_image_builder_streaming_url({ name: "String", # required validity: 1, })
@example Response structure
resp.streaming_url #=> String resp.expires #=> Time
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderStreamingURL AWS API Documentation
@overload create_image_builder_streaming_url
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1083 def create_image_builder_streaming_url(params = {}, options = {}) req = build_request(:create_image_builder_streaming_url, params) req.send_request(options) end
Creates a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations.
@option params [required, String] :name
The name of the stack.
@option params [String] :description
The description to display.
@option params [String] :display_name
The stack name to display.
@option params [Array<Types::StorageConnector>] :storage_connectors
The storage connectors to enable.
@option params [String] :redirect_url
The URL that users are redirected to after their streaming session ends.
@option params [String] :feedback_url
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.
@option params [Array<Types::UserSetting>] :user_settings
The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.
@option params [Types::ApplicationSettings] :application_settings
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.
@option params [Hash<String,String>] :tags
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][1] in the *Amazon AppStream 2.0 Administration Guide*. [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html
@option params [Array<Types::AccessEndpoint>] :access_endpoints
The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
@option params [Array<String>] :embed_host_domains
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.
@return [Types::CreateStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateStackResult#stack #stack} => Types::Stack
@example Request syntax with placeholder values
resp = client.create_stack({ name: "Name", # required description: "Description", display_name: "DisplayName", storage_connectors: [ { connector_type: "HOMEFOLDERS", # required, accepts HOMEFOLDERS, GOOGLE_DRIVE, ONE_DRIVE resource_identifier: "ResourceIdentifier", domains: ["Domain"], }, ], redirect_url: "RedirectURL", feedback_url: "FeedbackURL", user_settings: [ { action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, FILE_UPLOAD, FILE_DOWNLOAD, PRINTING_TO_LOCAL_DEVICE, DOMAIN_PASSWORD_SIGNIN, DOMAIN_SMART_CARD_SIGNIN permission: "ENABLED", # required, accepts ENABLED, DISABLED }, ], application_settings: { enabled: false, # required settings_group: "SettingsGroup", }, tags: { "TagKey" => "TagValue", }, access_endpoints: [ { endpoint_type: "STREAMING", # required, accepts STREAMING vpce_id: "String", }, ], embed_host_domains: ["EmbedHostDomain"], })
@example 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.user_settings #=> Array resp.stack.user_settings[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "FILE_UPLOAD", "FILE_DOWNLOAD", "PRINTING_TO_LOCAL_DEVICE", "DOMAIN_PASSWORD_SIGNIN", "DOMAIN_SMART_CARD_SIGNIN" resp.stack.user_settings[0].permission #=> String, one of "ENABLED", "DISABLED" resp.stack.application_settings.enabled #=> Boolean resp.stack.application_settings.settings_group #=> String resp.stack.application_settings.s3_bucket_name #=> String resp.stack.access_endpoints #=> Array resp.stack.access_endpoints[0].endpoint_type #=> String, one of "STREAMING" resp.stack.access_endpoints[0].vpce_id #=> String resp.stack.embed_host_domains #=> Array resp.stack.embed_host_domains[0] #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStack AWS API Documentation
@overload create_stack
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1226 def create_stack(params = {}, options = {}) req = build_request(:create_stack, params) req.send_request(options) end
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.
@option params [required, String] :stack_name
The name of the stack.
@option params [required, String] :fleet_name
The name of the fleet.
@option params [required, String] :user_id
The identifier of the user.
@option params [String] :application_id
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**.
@option params [Integer] :validity
The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 60 seconds.
@option params [String] :session_context
The session context. For more information, see [Session Context][1] in the *Amazon AppStream 2.0 Administration Guide*. [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/managing-stacks-fleets.html#managing-stacks-fleets-parameters
@return [Types::CreateStreamingURLResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateStreamingURLResult#streaming_url #streaming_url} => String * {Types::CreateStreamingURLResult#expires #expires} => Time
@example 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", })
@example Response structure
resp.streaming_url #=> String resp.expires #=> Time
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStreamingURL AWS API Documentation
@overload create_streaming_url
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1288 def create_streaming_url(params = {}, options = {}) req = build_request(:create_streaming_url, params) req.send_request(options) end
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*.
[1]: docs.aws.amazon.com/appstream2/latest/developerguide/administer-images.html
@option params [required, String] :existing_image_name
The name of the image to update.
@option params [required, String] :new_image_name
The name of the new image. The name must be unique within the AWS account and Region.
@option params [String] :new_image_description
The description to display for the new image.
@option params [String] :new_image_display_name
The name to display for the new image.
@option params [Hash<String,String>] :new_image_tags
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][1] in the *Amazon AppStream 2.0 Administration Guide*. [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html
@option params [Boolean] :dry_run
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.
@return [Types::CreateUpdatedImageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateUpdatedImageResult#image #image} => Types::Image * {Types::CreateUpdatedImageResult#can_update_image #can_update_image} => Boolean
@example 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, })
@example 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" 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].metadata #=> Hash resp.image.applications[0].metadata["String"] #=> String resp.image.created_time #=> Time resp.image.public_base_image_released_date #=> Time resp.image.appstream_agent_version #=> String resp.image.image_permissions.allow_fleet #=> Boolean resp.image.image_permissions.allow_image_builder #=> Boolean resp.image.image_errors #=> Array resp.image.image_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" resp.image.image_errors[0].error_message #=> String resp.image.image_errors[0].error_timestamp #=> Time resp.can_update_image #=> Boolean
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUpdatedImage AWS API Documentation
@overload create_updated_image
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1400 def create_updated_image(params = {}, options = {}) req = build_request(:create_updated_image, params) req.send_request(options) end
Creates a usage report subscription. Usage reports are generated daily.
@return [Types::CreateUsageReportSubscriptionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateUsageReportSubscriptionResult#s3_bucket_name #s3_bucket_name} => String * {Types::CreateUsageReportSubscriptionResult#schedule #schedule} => String
@example Response structure
resp.s3_bucket_name #=> String resp.schedule #=> String, one of "DAILY"
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUsageReportSubscription AWS API Documentation
@overload create_usage_report_subscription
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1422 def create_usage_report_subscription(params = {}, options = {}) req = build_request(:create_usage_report_subscription, params) req.send_request(options) end
Creates a new user in the user pool.
@option params [required, String] :user_name
The email address of the user. <note markdown="1"> 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. </note>
@option params [String] :message_action
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. <note markdown="1"> 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. </note>
@option params [String] :first_name
The first name, or given name, of the user.
@option params [String] :last_name
The last name, or surname, of the user.
@option params [required, String] :authentication_type
The authentication type for the user. You must specify USERPOOL.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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 })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUser AWS API Documentation
@overload create_user
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1476 def create_user(params = {}, options = {}) req = build_request(:create_user, params) req.send_request(options) end
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.
@option params [required, String] :directory_name
The name of the directory configuration.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.delete_directory_config({ directory_name: "DirectoryName", # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteDirectoryConfig AWS API Documentation
@overload delete_directory_config
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1500 def delete_directory_config(params = {}, options = {}) req = build_request(:delete_directory_config, params) req.send_request(options) end
Deletes the specified fleet.
@option params [required, String] :name
The name of the fleet.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.delete_fleet({ name: "String", # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteFleet AWS API Documentation
@overload delete_fleet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1522 def delete_fleet(params = {}, options = {}) req = build_request(:delete_fleet, params) req.send_request(options) end
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.
@option params [required, String] :name
The name of the image.
@return [Types::DeleteImageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DeleteImageResult#image #image} => Types::Image
@example Request syntax with placeholder values
resp = client.delete_image({ name: "Name", # required })
@example 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" 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].metadata #=> Hash resp.image.applications[0].metadata["String"] #=> String 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
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImage AWS API Documentation
@overload delete_image
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1581 def delete_image(params = {}, options = {}) req = build_request(:delete_image, params) req.send_request(options) end
Deletes the specified image builder and releases the capacity.
@option params [required, String] :name
The name of the image builder.
@return [Types::DeleteImageBuilderResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DeleteImageBuilderResult#image_builder #image_builder} => Types::ImageBuilder
@example Request syntax with placeholder values
resp = client.delete_image_builder({ name: "Name", # required })
@example 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" 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
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageBuilder AWS API Documentation
@overload delete_image_builder
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1637 def delete_image_builder(params = {}, options = {}) req = build_request(:delete_image_builder, params) req.send_request(options) end
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.
@option params [required, String] :name
The name of the private image.
@option params [required, String] :shared_account_id
The 12-digit identifier of the AWS account for which to delete image permissions.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.delete_image_permissions({ name: "Name", # required shared_account_id: "AwsAccountId", # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImagePermissions AWS API Documentation
@overload delete_image_permissions
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1666 def delete_image_permissions(params = {}, options = {}) req = build_request(:delete_image_permissions, params) req.send_request(options) end
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.
@option params [required, String] :name
The name of the stack.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.delete_stack({ name: "String", # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteStack AWS API Documentation
@overload delete_stack
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1691 def delete_stack(params = {}, options = {}) req = build_request(:delete_stack, params) req.send_request(options) end
Disables usage report generation.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUsageReportSubscription AWS API Documentation
@overload delete_usage_report_subscription
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1704 def delete_usage_report_subscription(params = {}, options = {}) req = build_request(:delete_usage_report_subscription, params) req.send_request(options) end
Deletes a user from the user pool.
@option params [required, String] :user_name
The email address of the user. <note markdown="1"> Users' email addresses are case-sensitive. </note>
@option params [required, String] :authentication_type
The authentication type for the user. You must specify USERPOOL.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.delete_user({ user_name: "Username", # required authentication_type: "API", # required, accepts API, SAML, USERPOOL })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUser AWS API Documentation
@overload delete_user
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1734 def delete_user(params = {}, options = {}) req = build_request(:delete_user, params) req.send_request(options) end
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.
@option params [Array<String>] :directory_names
The directory names.
@option params [Integer] :max_results
The maximum size of each page of results.
@option params [String] :next_token
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.
@return [Types::DescribeDirectoryConfigsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeDirectoryConfigsResult#directory_configs #directory_configs} => Array<Types::DirectoryConfig> * {Types::DescribeDirectoryConfigsResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.describe_directory_configs({ directory_names: ["DirectoryName"], max_results: 1, next_token: "String", })
@example 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].service_account_credentials.account_name #=> String resp.directory_configs[0].service_account_credentials.account_password #=> String resp.directory_configs[0].created_time #=> Time resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeDirectoryConfigs AWS API Documentation
@overload describe_directory_configs
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1787 def describe_directory_configs(params = {}, options = {}) req = build_request(:describe_directory_configs, params) req.send_request(options) end
Retrieves a list that describes one or more specified fleets, if the fleet names are provided. Otherwise, all fleets in the account are described.
@option params [Array<String>] :names
The names of the fleets to describe.
@option params [String] :next_token
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.
@return [Types::DescribeFleetsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeFleetsResult#fleets #fleets} => Array<Types::Fleet> * {Types::DescribeFleetsResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.describe_fleets({ names: ["String"], next_token: "String", })
@example 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" resp.fleets[0].compute_capacity_status.desired #=> Integer resp.fleets[0].compute_capacity_status.running #=> Integer resp.fleets[0].compute_capacity_status.in_use #=> Integer resp.fleets[0].compute_capacity_status.available #=> Integer resp.fleets[0].max_user_duration_in_seconds #=> Integer resp.fleets[0].disconnect_timeout_in_seconds #=> Integer resp.fleets[0].state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED" resp.fleets[0].vpc_config.subnet_ids #=> Array resp.fleets[0].vpc_config.subnet_ids[0] #=> String resp.fleets[0].vpc_config.security_group_ids #=> Array resp.fleets[0].vpc_config.security_group_ids[0] #=> String resp.fleets[0].created_time #=> Time resp.fleets[0].fleet_errors #=> Array resp.fleets[0].fleet_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" resp.fleets[0].fleet_errors[0].error_message #=> String resp.fleets[0].enable_default_internet_access #=> Boolean resp.fleets[0].domain_join_info.directory_name #=> String resp.fleets[0].domain_join_info.organizational_unit_distinguished_name #=> String resp.fleets[0].idle_disconnect_timeout_in_seconds #=> Integer resp.fleets[0].iam_role_arn #=> String resp.fleets[0].stream_view #=> String, one of "APP", "DESKTOP" resp.next_token #=> String
The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
* fleet_started * fleet_stopped
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeFleets AWS API Documentation
@overload describe_fleets
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1859 def describe_fleets(params = {}, options = {}) req = build_request(:describe_fleets, params) req.send_request(options) end
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.
@option params [Array<String>] :names
The names of the image builders to describe.
@option params [Integer] :max_results
The maximum size of each page of results.
@option params [String] :next_token
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.
@return [Types::DescribeImageBuildersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeImageBuildersResult#image_builders #image_builders} => Array<Types::ImageBuilder> * {Types::DescribeImageBuildersResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.describe_image_builders({ names: ["String"], max_results: 1, next_token: "String", })
@example 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" resp.image_builders[0].iam_role_arn #=> String resp.image_builders[0].state #=> String, one of "PENDING", "UPDATING_AGENT", "RUNNING", "STOPPING", "STOPPED", "REBOOTING", "SNAPSHOTTING", "DELETING", "FAILED", "UPDATING", "PENDING_QUALIFICATION" resp.image_builders[0].state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_UNAVAILABLE" resp.image_builders[0].state_change_reason.message #=> String resp.image_builders[0].created_time #=> Time resp.image_builders[0].enable_default_internet_access #=> Boolean resp.image_builders[0].domain_join_info.directory_name #=> String resp.image_builders[0].domain_join_info.organizational_unit_distinguished_name #=> String resp.image_builders[0].network_access_configuration.eni_private_ip_address #=> String resp.image_builders[0].network_access_configuration.eni_id #=> String resp.image_builders[0].image_builder_errors #=> Array resp.image_builders[0].image_builder_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" resp.image_builders[0].image_builder_errors[0].error_message #=> String resp.image_builders[0].image_builder_errors[0].error_timestamp #=> Time resp.image_builders[0].appstream_agent_version #=> String resp.image_builders[0].access_endpoints #=> Array resp.image_builders[0].access_endpoints[0].endpoint_type #=> String, one of "STREAMING" resp.image_builders[0].access_endpoints[0].vpce_id #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImageBuilders AWS API Documentation
@overload describe_image_builders
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1929 def describe_image_builders(params = {}, options = {}) req = build_request(:describe_image_builders, params) req.send_request(options) end
Retrieves a list that describes the permissions for shared AWS account IDs on a private image that you own.
@option params [required, String] :name
The name of the private image for which to describe permissions. The image must be one that you own.
@option params [Integer] :max_results
The maximum size of each page of results.
@option params [Array<String>] :shared_aws_account_ids
The 12-digit identifier of one or more AWS accounts with which the image is shared.
@option params [String] :next_token
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.
@return [Types::DescribeImagePermissionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeImagePermissionsResult#name #name} => String * {Types::DescribeImagePermissionsResult#shared_image_permissions_list #shared_image_permissions_list} => Array<Types::SharedImagePermissions> * {Types::DescribeImagePermissionsResult#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.describe_image_permissions({ name: "Name", # required max_results: 1, shared_aws_account_ids: ["AwsAccountId"], next_token: "String", })
@example Response structure
resp.name #=> String resp.shared_image_permissions_list #=> Array resp.shared_image_permissions_list[0].shared_account_id #=> 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
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagePermissions AWS API Documentation
@overload describe_image_permissions
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 1982 def describe_image_permissions(params = {}, options = {}) req = build_request(:describe_image_permissions, params) req.send_request(options) end
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.
@option params [Array<String>] :names
The names of the public or private images to describe.
@option params [Array<String>] :arns
The ARNs of the public, private, and shared images to describe.
@option params [String] :type
The type of image (public, private, or shared) to describe.
@option params [String] :next_token
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.
@option params [Integer] :max_results
The maximum size of each page of results.
@return [Types::DescribeImagesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeImagesResult#images #images} => Array<Types::Image> * {Types::DescribeImagesResult#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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, })
@example 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" 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].metadata #=> Hash resp.images[0].applications[0].metadata["String"] #=> String resp.images[0].created_time #=> Time resp.images[0].public_base_image_released_date #=> Time resp.images[0].appstream_agent_version #=> String resp.images[0].image_permissions.allow_fleet #=> Boolean resp.images[0].image_permissions.allow_image_builder #=> Boolean resp.images[0].image_errors #=> Array resp.images[0].image_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" resp.images[0].image_errors[0].error_message #=> String resp.images[0].image_errors[0].error_timestamp #=> Time resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImages AWS API Documentation
@overload describe_images
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2063 def describe_images(params = {}, options = {}) req = build_request(:describe_images, params) req.send_request(options) end
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.
@option params [required, String] :stack_name
The name of the stack. This value is case-sensitive.
@option params [required, String] :fleet_name
The name of the fleet. This value is case-sensitive.
@option params [String] :user_id
The user identifier (ID). If you specify a user ID, you must also specify the authentication type.
@option params [String] :next_token
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.
@option params [Integer] :limit
The size of each page of results. The default value is 20 and the maximum value is 50
@option params [String] :authentication_type
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.
@return [Types::DescribeSessionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeSessionsResult#sessions #sessions} => Array<Types::Session> * {Types::DescribeSessionsResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.describe_sessions({ stack_name: "String", # required fleet_name: "String", # required user_id: "UserId", next_token: "String", limit: 1, authentication_type: "API", # accepts API, SAML, USERPOOL })
@example Response structure
resp.sessions #=> Array resp.sessions[0].id #=> String resp.sessions[0].user_id #=> String resp.sessions[0].stack_name #=> String resp.sessions[0].fleet_name #=> String resp.sessions[0].state #=> String, one of "ACTIVE", "PENDING", "EXPIRED" resp.sessions[0].connection_state #=> String, one of "CONNECTED", "NOT_CONNECTED" resp.sessions[0].start_time #=> Time resp.sessions[0].max_expiration_time #=> Time resp.sessions[0].authentication_type #=> String, one of "API", "SAML", "USERPOOL" resp.sessions[0].network_access_configuration.eni_private_ip_address #=> String resp.sessions[0].network_access_configuration.eni_id #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeSessions AWS API Documentation
@overload describe_sessions
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2133 def describe_sessions(params = {}, options = {}) req = build_request(:describe_sessions, params) req.send_request(options) end
Retrieves a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described.
@option params [Array<String>] :names
The names of the stacks to describe.
@option params [String] :next_token
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.
@return [Types::DescribeStacksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeStacksResult#stacks #stacks} => Array<Types::Stack> * {Types::DescribeStacksResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.describe_stacks({ names: ["String"], next_token: "String", })
@example 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].user_settings #=> Array resp.stacks[0].user_settings[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "FILE_UPLOAD", "FILE_DOWNLOAD", "PRINTING_TO_LOCAL_DEVICE", "DOMAIN_PASSWORD_SIGNIN", "DOMAIN_SMART_CARD_SIGNIN" resp.stacks[0].user_settings[0].permission #=> String, one of "ENABLED", "DISABLED" resp.stacks[0].application_settings.enabled #=> Boolean resp.stacks[0].application_settings.settings_group #=> String resp.stacks[0].application_settings.s3_bucket_name #=> String resp.stacks[0].access_endpoints #=> Array resp.stacks[0].access_endpoints[0].endpoint_type #=> String, one of "STREAMING" resp.stacks[0].access_endpoints[0].vpce_id #=> String resp.stacks[0].embed_host_domains #=> Array resp.stacks[0].embed_host_domains[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeStacks AWS API Documentation
@overload describe_stacks
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2196 def describe_stacks(params = {}, options = {}) req = build_request(:describe_stacks, params) req.send_request(options) end
Retrieves a list that describes one or more usage report subscriptions.
@option params [Integer] :max_results
The maximum size of each page of results.
@option params [String] :next_token
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.
@return [Types::DescribeUsageReportSubscriptionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeUsageReportSubscriptionsResult#usage_report_subscriptions #usage_report_subscriptions} => Array<Types::UsageReportSubscription> * {Types::DescribeUsageReportSubscriptionsResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.describe_usage_report_subscriptions({ max_results: 1, next_token: "String", })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsageReportSubscriptions AWS API Documentation
@overload describe_usage_report_subscriptions
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2238 def describe_usage_report_subscriptions(params = {}, options = {}) req = build_request(:describe_usage_report_subscriptions, params) req.send_request(options) end
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
@option params [String] :stack_name
The name of the stack that is associated with the user.
@option params [String] :user_name
The email address of the user who is associated with the stack. <note markdown="1"> Users' email addresses are case-sensitive. </note>
@option params [String] :authentication_type
The authentication type for the user who is associated with the stack. You must specify USERPOOL.
@option params [Integer] :max_results
The maximum size of each page of results.
@option params [String] :next_token
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.
@return [Types::DescribeUserStackAssociationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeUserStackAssociationsResult#user_stack_associations #user_stack_associations} => Array<Types::UserStackAssociation> * {Types::DescribeUserStackAssociationsResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.describe_user_stack_associations({ stack_name: "String", user_name: "Username", authentication_type: "API", # accepts API, SAML, USERPOOL max_results: 1, next_token: "String", })
@example Response structure
resp.user_stack_associations #=> Array resp.user_stack_associations[0].stack_name #=> String resp.user_stack_associations[0].user_name #=> String resp.user_stack_associations[0].authentication_type #=> String, one of "API", "SAML", "USERPOOL" resp.user_stack_associations[0].send_email_notification #=> Boolean resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUserStackAssociations AWS API Documentation
@overload describe_user_stack_associations
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2300 def describe_user_stack_associations(params = {}, options = {}) req = build_request(:describe_user_stack_associations, params) req.send_request(options) end
Retrieves a list that describes one or more specified users in the user pool.
@option params [required, String] :authentication_type
The authentication type for the users in the user pool to describe. You must specify USERPOOL.
@option params [Integer] :max_results
The maximum size of each page of results.
@option params [String] :next_token
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.
@return [Types::DescribeUsersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DescribeUsersResult#users #users} => Array<Types::User> * {Types::DescribeUsersResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.describe_users({ authentication_type: "API", # required, accepts API, SAML, USERPOOL max_results: 1, next_token: "String", })
@example Response structure
resp.users #=> Array resp.users[0].arn #=> String resp.users[0].user_name #=> String resp.users[0].enabled #=> Boolean resp.users[0].status #=> String resp.users[0].first_name #=> String resp.users[0].last_name #=> String resp.users[0].created_time #=> Time resp.users[0].authentication_type #=> String, one of "API", "SAML", "USERPOOL" resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsers AWS API Documentation
@overload describe_users
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2349 def describe_users(params = {}, options = {}) req = build_request(:describe_users, params) req.send_request(options) end
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.
@option params [required, String] :user_name
The email address of the user. <note markdown="1"> Users' email addresses are case-sensitive. </note>
@option params [required, String] :authentication_type
The authentication type for the user. You must specify USERPOOL.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.disable_user({ user_name: "Username", # required authentication_type: "API", # required, accepts API, SAML, USERPOOL })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisableUser AWS API Documentation
@overload disable_user
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2381 def disable_user(params = {}, options = {}) req = build_request(:disable_user, params) req.send_request(options) end
Disassociates the specified fleet from the specified stack.
@option params [required, String] :fleet_name
The name of the fleet.
@option params [required, String] :stack_name
The name of the stack.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.disassociate_fleet({ fleet_name: "String", # required stack_name: "String", # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateFleet AWS API Documentation
@overload disassociate_fleet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2407 def disassociate_fleet(params = {}, options = {}) req = build_request(:disassociate_fleet, params) req.send_request(options) end
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.
@option params [required, String] :user_name
The email address of the user. <note markdown="1"> 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. </note>
@option params [required, String] :authentication_type
The authentication type for the user. You must specify USERPOOL.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.enable_user({ user_name: "Username", # required authentication_type: "API", # required, accepts API, SAML, USERPOOL })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EnableUser AWS API Documentation
@overload enable_user
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2442 def enable_user(params = {}, options = {}) req = build_request(:enable_user, params) req.send_request(options) end
Immediately stops the specified streaming session.
@option params [required, String] :session_id
The identifier of the streaming session.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.expire_session({ session_id: "String", # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ExpireSession AWS API Documentation
@overload expire_session
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2464 def expire_session(params = {}, options = {}) req = build_request(:expire_session, params) req.send_request(options) end
Retrieves the name of the fleet that is associated with the specified stack.
@option params [required, String] :stack_name
The name of the stack.
@option params [String] :next_token
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.
@return [Types::ListAssociatedFleetsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListAssociatedFleetsResult#names #names} => Array<String> * {Types::ListAssociatedFleetsResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.list_associated_fleets({ stack_name: "String", # required next_token: "String", })
@example Response structure
resp.names #=> Array resp.names[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedFleets AWS API Documentation
@overload list_associated_fleets
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2501 def list_associated_fleets(params = {}, options = {}) req = build_request(:list_associated_fleets, params) req.send_request(options) end
Retrieves the name of the stack with which the specified fleet is associated.
@option params [required, String] :fleet_name
The name of the fleet.
@option params [String] :next_token
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.
@return [Types::ListAssociatedStacksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListAssociatedStacksResult#names #names} => Array<String> * {Types::ListAssociatedStacksResult#next_token #next_token} => String
@example Request syntax with placeholder values
resp = client.list_associated_stacks({ fleet_name: "String", # required next_token: "String", })
@example Response structure
resp.names #=> Array resp.names[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedStacks AWS API Documentation
@overload list_associated_stacks
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2538 def list_associated_stacks(params = {}, options = {}) req = build_request(:list_associated_stacks, params) req.send_request(options) end
Starts the specified fleet.
@option params [required, String] :name
The name of the fleet.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.start_fleet({ name: "String", # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartFleet AWS API Documentation
@overload start_fleet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2597 def start_fleet(params = {}, options = {}) req = build_request(:start_fleet, params) req.send_request(options) end
Starts the specified image builder.
@option params [required, String] :name
The name of the image builder.
@option params [String] :appstream_agent_version
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\].
@return [Types::StartImageBuilderResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::StartImageBuilderResult#image_builder #image_builder} => Types::ImageBuilder
@example Request syntax with placeholder values
resp = client.start_image_builder({ name: "String", # required appstream_agent_version: "AppstreamAgentVersion", })
@example 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" 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
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartImageBuilder AWS API Documentation
@overload start_image_builder
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2659 def start_image_builder(params = {}, options = {}) req = build_request(:start_image_builder, params) req.send_request(options) end
Stops the specified fleet.
@option params [required, String] :name
The name of the fleet.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.stop_fleet({ name: "String", # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopFleet AWS API Documentation
@overload stop_fleet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2681 def stop_fleet(params = {}, options = {}) req = build_request(:stop_fleet, params) req.send_request(options) end
Stops the specified image builder.
@option params [required, String] :name
The name of the image builder.
@return [Types::StopImageBuilderResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::StopImageBuilderResult#image_builder #image_builder} => Types::ImageBuilder
@example Request syntax with placeholder values
resp = client.stop_image_builder({ name: "String", # required })
@example 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" 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
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopImageBuilder AWS API Documentation
@overload stop_image_builder
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2737 def stop_image_builder(params = {}, options = {}) req = build_request(:stop_image_builder, params) req.send_request(options) end
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*.
[1]: docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html
@option params [required, String] :resource_arn
The Amazon Resource Name (ARN) of the resource.
@option params [required, Hash<String,String>] :tags
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: \_ . : / = + \\ - @
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.tag_resource({ resource_arn: "Arn", # required tags: { # required "TagKey" => "TagValue", }, })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/TagResource AWS API Documentation
@overload tag_resource
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2789 def tag_resource(params = {}, options = {}) req = build_request(:tag_resource, params) req.send_request(options) end
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*.
[1]: docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html
@option params [required, String] :resource_arn
The Amazon Resource Name (ARN) of the resource.
@option params [required, Array<String>] :tag_keys
The tag keys for the tags to disassociate.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.untag_resource({ resource_arn: "Arn", # required tag_keys: ["TagKey"], # required })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UntagResource AWS API Documentation
@overload untag_resource
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2825 def untag_resource(params = {}, options = {}) req = build_request(:untag_resource, params) req.send_request(options) end
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.
@option params [required, String] :directory_name
The name of the Directory Config object.
@option params [Array<String>] :organizational_unit_distinguished_names
The distinguished names of the organizational units for computer accounts.
@option params [Types::ServiceAccountCredentials] :service_account_credentials
The credentials for the service account used by the fleet or image builder to connect to the directory.
@return [Types::UpdateDirectoryConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::UpdateDirectoryConfigResult#directory_config #directory_config} => Types::DirectoryConfig
@example 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 }, })
@example 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.service_account_credentials.account_name #=> String resp.directory_config.service_account_credentials.account_password #=> String resp.directory_config.created_time #=> Time
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfig AWS API Documentation
@overload update_directory_config
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 2873 def update_directory_config(params = {}, options = {}) req = build_request(:update_directory_config, params) req.send_request(options) end
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 `DisplayName`, `ComputeCapacity`, `ImageARN`, `ImageName`, `IdleDisconnectTimeoutInSeconds`, and `DisconnectTimeoutInSeconds` attributes. If the fleet is in the `STARTING` or `STOPPING` state, you can't update it.
@option params [String] :image_name
The name of the image used to create the fleet.
@option params [String] :image_arn
The ARN of the public, private, or shared image to use.
@option params [String] :name
A unique name for the fleet.
@option params [String] :instance_type
The instance type to use when launching fleet instances. The following instance types are available: * stream.standard.small * stream.standard.medium * stream.standard.large * stream.compute.large * stream.compute.xlarge * stream.compute.2xlarge * stream.compute.4xlarge * stream.compute.8xlarge * stream.memory.large * stream.memory.xlarge * stream.memory.2xlarge * stream.memory.4xlarge * stream.memory.8xlarge * stream.memory.z1d.large * stream.memory.z1d.xlarge * stream.memory.z1d.2xlarge * stream.memory.z1d.3xlarge * stream.memory.z1d.6xlarge * stream.memory.z1d.12xlarge * stream.graphics-design.large * stream.graphics-design.xlarge * stream.graphics-design.2xlarge * stream.graphics-design.4xlarge * stream.graphics-desktop.2xlarge * stream.graphics.g4dn.xlarge * stream.graphics.g4dn.2xlarge * stream.graphics.g4dn.4xlarge * stream.graphics.g4dn.8xlarge * stream.graphics.g4dn.12xlarge * stream.graphics.g4dn.16xlarge * stream.graphics-pro.4xlarge * stream.graphics-pro.8xlarge * stream.graphics-pro.16xlarge
@option params [Types::ComputeCapacity] :compute_capacity
The desired capacity for the fleet.
@option params [Types::VpcConfig] :vpc_config
The VPC configuration for the fleet.
@option params [Integer] :max_user_duration_in_seconds
The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance. Specify a value between 600 and 360000.
@option params [Integer] :disconnect_timeout_in_seconds
The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance. Specify a value between 60 and 360000.
@option params [Boolean] :delete_vpc_config
Deletes the VPC association for the specified fleet.
@option params [String] :description
The description to display.
@option params [String] :display_name
The fleet name to display.
@option params [Boolean] :enable_default_internet_access
Enables or disables default internet access for the fleet.
@option params [Types::DomainJoinInfo] :domain_join_info
The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.
@option params [Integer] :idle_disconnect_timeout_in_seconds
The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `DisconnectTimeoutInSeconds` time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in `DisconnectTimeoutInSeconds` elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in `IdleDisconnectTimeoutInSeconds` elapses, they are disconnected. To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0. <note markdown="1"> 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. </note>
@option params [Array<String>] :attributes_to_delete
The fleet attributes to delete.
@option params [String] :iam_role_arn
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][1] in the *Amazon AppStream 2.0 Administration Guide*. [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html
@option params [String] :stream_view
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`.
@return [Types::UpdateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::UpdateFleetResult#fleet #fleet} => Types::Fleet
@example Request syntax with placeholder values
resp = client.update_fleet({ image_name: "String", image_arn: "Arn", name: "String", instance_type: "String", compute_capacity: { desired_instances: 1, # required }, vpc_config: { subnet_ids: ["String"], security_group_ids: ["String"], }, max_user_duration_in_seconds: 1, disconnect_timeout_in_seconds: 1, delete_vpc_config: false, description: "Description", display_name: "DisplayName", enable_default_internet_access: false, domain_join_info: { directory_name: "DirectoryName", organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName", }, idle_disconnect_timeout_in_seconds: 1, attributes_to_delete: ["VPC_CONFIGURATION"], # accepts VPC_CONFIGURATION, VPC_CONFIGURATION_SECURITY_GROUP_IDS, DOMAIN_JOIN_INFO, IAM_ROLE_ARN iam_role_arn: "Arn", stream_view: "APP", # accepts APP, DESKTOP })
@example 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" resp.fleet.compute_capacity_status.desired #=> Integer resp.fleet.compute_capacity_status.running #=> Integer resp.fleet.compute_capacity_status.in_use #=> Integer resp.fleet.compute_capacity_status.available #=> Integer resp.fleet.max_user_duration_in_seconds #=> Integer resp.fleet.disconnect_timeout_in_seconds #=> Integer resp.fleet.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED" resp.fleet.vpc_config.subnet_ids #=> Array resp.fleet.vpc_config.subnet_ids[0] #=> String resp.fleet.vpc_config.security_group_ids #=> Array resp.fleet.vpc_config.security_group_ids[0] #=> String resp.fleet.created_time #=> Time resp.fleet.fleet_errors #=> Array resp.fleet.fleet_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "FLEET_STOPPED", "FLEET_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" resp.fleet.fleet_errors[0].error_message #=> String resp.fleet.enable_default_internet_access #=> Boolean resp.fleet.domain_join_info.directory_name #=> String resp.fleet.domain_join_info.organizational_unit_distinguished_name #=> String resp.fleet.idle_disconnect_timeout_in_seconds #=> Integer resp.fleet.iam_role_arn #=> String resp.fleet.stream_view #=> String, one of "APP", "DESKTOP"
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleet AWS API Documentation
@overload update_fleet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 3132 def update_fleet(params = {}, options = {}) req = build_request(:update_fleet, params) req.send_request(options) end
Adds or updates permissions for the specified private image.
@option params [required, String] :name
The name of the private image.
@option params [required, String] :shared_account_id
The 12-digit identifier of the AWS account for which you want add or update image permissions.
@option params [required, Types::ImagePermissions] :image_permissions
The permissions for the image.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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, }, })
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateImagePermissions AWS API Documentation
@overload update_image_permissions
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 3166 def update_image_permissions(params = {}, options = {}) req = build_request(:update_image_permissions, params) req.send_request(options) end
Updates the specified fields for the specified stack.
@option params [String] :display_name
The stack name to display.
@option params [String] :description
The description to display.
@option params [required, String] :name
The name of the stack.
@option params [Array<Types::StorageConnector>] :storage_connectors
The storage connectors to enable.
@option params [Boolean] :delete_storage_connectors
Deletes the storage connectors currently enabled for the stack.
@option params [String] :redirect_url
The URL that users are redirected to after their streaming session ends.
@option params [String] :feedback_url
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.
@option params [Array<String>] :attributes_to_delete
The stack attributes to delete.
@option params [Array<Types::UserSetting>] :user_settings
The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.
@option params [Types::ApplicationSettings] :application_settings
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.
@option params [Array<Types::AccessEndpoint>] :access_endpoints
The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
@option params [Array<String>] :embed_host_domains
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.
@return [Types::UpdateStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::UpdateStackResult#stack #stack} => Types::Stack
@example Request syntax with placeholder values
resp = client.update_stack({ display_name: "DisplayName", description: "Description", name: "String", # required storage_connectors: [ { connector_type: "HOMEFOLDERS", # required, accepts HOMEFOLDERS, GOOGLE_DRIVE, ONE_DRIVE resource_identifier: "ResourceIdentifier", domains: ["Domain"], }, ], delete_storage_connectors: false, redirect_url: "RedirectURL", feedback_url: "FeedbackURL", attributes_to_delete: ["STORAGE_CONNECTORS"], # accepts STORAGE_CONNECTORS, STORAGE_CONNECTOR_HOMEFOLDERS, STORAGE_CONNECTOR_GOOGLE_DRIVE, STORAGE_CONNECTOR_ONE_DRIVE, REDIRECT_URL, FEEDBACK_URL, THEME_NAME, USER_SETTINGS, EMBED_HOST_DOMAINS, IAM_ROLE_ARN, ACCESS_ENDPOINTS user_settings: [ { action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, FILE_UPLOAD, FILE_DOWNLOAD, PRINTING_TO_LOCAL_DEVICE, DOMAIN_PASSWORD_SIGNIN, DOMAIN_SMART_CARD_SIGNIN permission: "ENABLED", # required, accepts ENABLED, DISABLED }, ], application_settings: { enabled: false, # required settings_group: "SettingsGroup", }, access_endpoints: [ { endpoint_type: "STREAMING", # required, accepts STREAMING vpce_id: "String", }, ], embed_host_domains: ["EmbedHostDomain"], })
@example 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.user_settings #=> Array resp.stack.user_settings[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "FILE_UPLOAD", "FILE_DOWNLOAD", "PRINTING_TO_LOCAL_DEVICE", "DOMAIN_PASSWORD_SIGNIN", "DOMAIN_SMART_CARD_SIGNIN" resp.stack.user_settings[0].permission #=> String, one of "ENABLED", "DISABLED" resp.stack.application_settings.enabled #=> Boolean resp.stack.application_settings.settings_group #=> String resp.stack.application_settings.s3_bucket_name #=> String resp.stack.access_endpoints #=> Array resp.stack.access_endpoints[0].endpoint_type #=> String, one of "STREAMING" resp.stack.access_endpoints[0].vpce_id #=> String resp.stack.embed_host_domains #=> Array resp.stack.embed_host_domains[0] #=> String
@see docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateStack AWS API Documentation
@overload update_stack
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-appstream/client.rb, line 3293 def update_stack(params = {}, options = {}) req = build_request(:update_stack, params) req.send_request(options) end
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 {Aws::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 | {Client#describe_fleets} | 30 | 40 | | fleet_stopped | {Client#describe_fleets} | 30 | 40 |
@raise [Errors::FailureStateError] Raised when the waiter terminates
because the waiter has entered a state that it will not transition out of, preventing success.
@raise [Errors::TooManyAttemptsError] Raised when the configured
maximum number of attempts have been made, and the waiter is not yet successful.
@raise [Errors::UnexpectedError] Raised when an error is encounted
while polling for a resource that is not expected.
@raise [Errors::NoSuchWaiterError] Raised when you request to wait
for an unknown state.
@return [Boolean] Returns `true` if the waiter was successful. @param [Symbol] waiter_name @param [Hash] params ({}) @param [Hash] options ({}) @option options [Integer] :max_attempts @option options [Integer] :delay @option options [Proc] :before_attempt @option options [Proc] :before_wait
# File lib/aws-sdk-appstream/client.rb, line 3404 def wait_until(waiter_name, params = {}, options = {}) w = waiter(waiter_name, options) yield(w.waiter) if block_given? # deprecated w.wait(params) end
@api private @deprecated
# File lib/aws-sdk-appstream/client.rb, line 3412 def waiter_names waiters.keys end
Private Instance Methods
@param [Symbol] waiter_name @param [Hash] options ({})
# File lib/aws-sdk-appstream/client.rb, line 3420 def waiter(waiter_name, options = {}) waiter_class = waiters[waiter_name] if waiter_class waiter_class.new(options.merge(client: self)) else raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys) end end
# File lib/aws-sdk-appstream/client.rb, line 3429 def waiters { fleet_started: Waiters::FleetStarted, fleet_stopped: Waiters::FleetStopped } end