You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::WorkSpaces::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::WorkSpaces::Client
- Defined in:
- (unknown)
Overview
An API client for Amazon WorkSpaces. To construct a client, you need to configure a :region
and :credentials
.
workspaces = Aws::WorkSpaces::Client.new(
region: region_name,
credentials: credentials,
# ...
)
See #initialize for a full list of supported configuration options.
Region
You can configure a default region in the following locations:
ENV['AWS_REGION']
Aws.config[:region]
Go here for a list of supported regions.
Credentials
Default credentials are loaded automatically from the following locations:
ENV['AWS_ACCESS_KEY_ID']
andENV['AWS_SECRET_ACCESS_KEY']
Aws.config[:credentials]
- The shared credentials ini file at
~/.aws/credentials
(more information) - From an instance profile when running on EC2
You can also construct a credentials object from one of the following classes:
Alternatively, you configure credentials with :access_key_id
and
:secret_access_key
:
# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))
Aws::WorkSpaces::Client.new(
access_key_id: creds['access_key_id'],
secret_access_key: creds['secret_access_key']
)
Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
Constructor collapse
-
#initialize(options = {}) ⇒ Aws::WorkSpaces::Client
constructor
Constructs an API client.
API Operations collapse
-
#associate_connection_alias(options = {}) ⇒ Types::AssociateConnectionAliasResult
Associates the specified connection alias with the specified directory to enable cross-Region redirection.
-
#associate_ip_groups(options = {}) ⇒ Struct
Associates the specified IP access control group with the specified directory.
.
-
#authorize_ip_rules(options = {}) ⇒ Struct
Adds one or more rules to the specified IP access control group.
This action gives users permission to access their WorkSpaces from the CIDR address ranges specified in the rules.
. -
#copy_workspace_image(options = {}) ⇒ Types::CopyWorkspaceImageResult
Copies the specified image from the specified Region to the current Region.
-
#create_connection_alias(options = {}) ⇒ Types::CreateConnectionAliasResult
Creates the specified connection alias for use with cross-Region redirection.
-
#create_ip_group(options = {}) ⇒ Types::CreateIpGroupResult
Creates an IP access control group.
An IP access control group provides you with the ability to control the IP addresses from which users are allowed to access their WorkSpaces.
-
#create_tags(options = {}) ⇒ Struct
Creates the specified tags for the specified WorkSpaces resource.
.
-
#create_workspaces(options = {}) ⇒ Types::CreateWorkspacesResult
Creates one or more WorkSpaces.
This operation is asynchronous and returns before the WorkSpaces are created.
. -
#delete_connection_alias(options = {}) ⇒ Struct
Deletes the specified connection alias.
-
#delete_ip_group(options = {}) ⇒ Struct
Deletes the specified IP access control group.
You cannot delete an IP access control group that is associated with a directory.
. -
#delete_tags(options = {}) ⇒ Struct
Deletes the specified tags from the specified WorkSpaces resource.
.
-
#delete_workspace_image(options = {}) ⇒ Struct
Deletes the specified image from your account.
-
#deregister_workspace_directory(options = {}) ⇒ Struct
Deregisters the specified directory.
-
#describe_account(options = {}) ⇒ Types::DescribeAccountResult
Retrieves a list that describes the configuration of Bring Your Own License (BYOL) for the specified account.
.
-
#describe_account_modifications(options = {}) ⇒ Types::DescribeAccountModificationsResult
Retrieves a list that describes modifications to the configuration of Bring Your Own License (BYOL) for the specified account.
.
-
#describe_client_properties(options = {}) ⇒ Types::DescribeClientPropertiesResult
Retrieves a list that describes one or more specified Amazon WorkSpaces clients.
.
-
#describe_connection_alias_permissions(options = {}) ⇒ Types::DescribeConnectionAliasPermissionsResult
Describes the permissions that the owner of a connection alias has granted to another AWS account for the specified connection alias.
-
#describe_connection_aliases(options = {}) ⇒ Types::DescribeConnectionAliasesResult
Retrieves a list that describes the connection aliases used for cross-Region redirection.
-
#describe_ip_groups(options = {}) ⇒ Types::DescribeIpGroupsResult
Describes one or more of your IP access control groups.
.
-
#describe_tags(options = {}) ⇒ Types::DescribeTagsResult
Describes the specified tags for the specified WorkSpaces resource.
.
-
#describe_workspace_bundles(options = {}) ⇒ Types::DescribeWorkspaceBundlesResult
Retrieves a list that describes the available WorkSpace bundles.
You can filter the results using either bundle ID or owner, but not both.
. -
#describe_workspace_directories(options = {}) ⇒ Types::DescribeWorkspaceDirectoriesResult
Describes the available directories that are registered with Amazon WorkSpaces.
.
-
#describe_workspace_image_permissions(options = {}) ⇒ Types::DescribeWorkspaceImagePermissionsResult
Describes the permissions that the owner of an image has granted to other AWS accounts for an image.
.
-
#describe_workspace_images(options = {}) ⇒ Types::DescribeWorkspaceImagesResult
Retrieves a list that describes one or more specified images, if the image identifiers are provided.
-
#describe_workspace_snapshots(options = {}) ⇒ Types::DescribeWorkspaceSnapshotsResult
Describes the snapshots for the specified WorkSpace.
.
-
#describe_workspaces(options = {}) ⇒ Types::DescribeWorkspacesResult
Describes the specified WorkSpaces.
You can filter the results by using the bundle identifier, directory identifier, or owner, but you can specify only one filter at a time.
. -
#describe_workspaces_connection_status(options = {}) ⇒ Types::DescribeWorkspacesConnectionStatusResult
Describes the connection status of the specified WorkSpaces.
.
-
#disassociate_connection_alias(options = {}) ⇒ Struct
Disassociates a connection alias from a directory.
-
#disassociate_ip_groups(options = {}) ⇒ Struct
Disassociates the specified IP access control group from the specified directory.
.
-
#import_workspace_image(options = {}) ⇒ Types::ImportWorkspaceImageResult
Imports the specified Windows 10 Bring Your Own License (BYOL) image into Amazon WorkSpaces.
-
#list_available_management_cidr_ranges(options = {}) ⇒ Types::ListAvailableManagementCidrRangesResult
Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that you can use for the network management interface when you enable Bring Your Own License (BYOL).
-
#migrate_workspace(options = {}) ⇒ Types::MigrateWorkspaceResult
Migrates a WorkSpace from one operating system or bundle type to another, while retaining the data on the user volume.
The migration process recreates the WorkSpace by using a new root volume from the target bundle image and the user volume from the last available snapshot of the original WorkSpace.
-
#modify_account(options = {}) ⇒ Struct
Modifies the configuration of Bring Your Own License (BYOL) for the specified account.
.
-
#modify_client_properties(options = {}) ⇒ Struct
Modifies the properties of the specified Amazon WorkSpaces clients.
.
-
#modify_selfservice_permissions(options = {}) ⇒ Struct
Modifies the self-service WorkSpace management capabilities for your users.
-
#modify_workspace_access_properties(options = {}) ⇒ Struct
Specifies which devices and operating systems users can use to access their WorkSpaces.
-
#modify_workspace_creation_properties(options = {}) ⇒ Struct
Modify the default properties used to create WorkSpaces.
.
-
#modify_workspace_properties(options = {}) ⇒ Struct
Modifies the specified WorkSpace properties.
-
#modify_workspace_state(options = {}) ⇒ Struct
Sets the state of the specified WorkSpace.
To maintain a WorkSpace without being interrupted, set the WorkSpace state to
ADMIN_MAINTENANCE
. -
#reboot_workspaces(options = {}) ⇒ Types::RebootWorkspacesResult
Reboots the specified WorkSpaces.
You cannot reboot a WorkSpace unless its state is
AVAILABLE
orUNHEALTHY
.This operation is asynchronous and returns before the WorkSpaces have rebooted.
. -
#rebuild_workspaces(options = {}) ⇒ Types::RebuildWorkspacesResult
Rebuilds the specified WorkSpace.
You cannot rebuild a WorkSpace unless its state is
AVAILABLE
,ERROR
,UNHEALTHY
,STOPPED
, orREBOOTING
.Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data.
-
#register_workspace_directory(options = {}) ⇒ Struct
Registers the specified directory.
-
#restore_workspace(options = {}) ⇒ Struct
Restores the specified WorkSpace to its last known healthy state.
You cannot restore a WorkSpace unless its state is
AVAILABLE
,ERROR
,UNHEALTHY
, orSTOPPED
.Restoring a WorkSpace is a potentially destructive action that can result in the loss of data.
-
#revoke_ip_rules(options = {}) ⇒ Struct
Removes one or more rules from the specified IP access control group.
.
-
#start_workspaces(options = {}) ⇒ Types::StartWorkspacesResult
Starts the specified WorkSpaces.
You cannot start a WorkSpace unless it has a running mode of
.AutoStop
and a state ofSTOPPED
. -
#stop_workspaces(options = {}) ⇒ Types::StopWorkspacesResult
Stops the specified WorkSpaces.
You cannot stop a WorkSpace unless it has a running mode of
.AutoStop
and a state ofAVAILABLE
,IMPAIRED
,UNHEALTHY
, orERROR
. -
#terminate_workspaces(options = {}) ⇒ Types::TerminateWorkspacesResult
Terminates the specified WorkSpaces.
Terminating a WorkSpace is a permanent action and cannot be undone.
-
#update_connection_alias_permission(options = {}) ⇒ Struct
Shares or unshares a connection alias with one account by specifying whether that account has permission to associate the connection alias with a directory.
-
#update_rules_of_ip_group(options = {}) ⇒ Struct
Replaces the current rules of the specified IP access control group with the specified rules.
.
-
#update_workspace_image_permission(options = {}) ⇒ Struct
Shares or unshares an image with one account by specifying whether that account has permission to copy the image.
Instance Method Summary collapse
-
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
-
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters.
Methods inherited from Seahorse::Client::Base
add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options = {}) ⇒ Aws::WorkSpaces::Client
Constructs an API client.
Instance Method Details
#associate_connection_alias(options = {}) ⇒ Types::AssociateConnectionAliasResult
Associates the specified connection alias with the specified directory to enable cross-Region redirection. For more information, see Cross-Region Redirection for Amazon WorkSpaces.
Before performing this operation, call DescribeConnectionAliases to make sure that the current state of the connection alias is CREATED
.
#associate_ip_groups(options = {}) ⇒ Struct
Associates the specified IP access control group with the specified directory.
#authorize_ip_rules(options = {}) ⇒ Struct
Adds one or more rules to the specified IP access control group.
This action gives users permission to access their WorkSpaces from the CIDR address ranges specified in the rules.
#copy_workspace_image(options = {}) ⇒ Types::CopyWorkspaceImageResult
Copies the specified image from the specified Region to the current Region. For more information about copying images, see Copy a Custom WorkSpaces Image.
Before copying a shared image, be sure to verify that it has been shared from the correct AWS account. To determine if an image has been shared and to see the AWS account ID that owns an image, use the DescribeWorkSpaceImages and DescribeWorkspaceImagePermissions API operations.
#create_connection_alias(options = {}) ⇒ Types::CreateConnectionAliasResult
Creates the specified connection alias for use with cross-Region redirection. For more information, see Cross-Region Redirection for Amazon WorkSpaces.
#create_ip_group(options = {}) ⇒ Types::CreateIpGroupResult
Creates an IP access control group.
An IP access control group provides you with the ability to control the IP addresses from which users are allowed to access their WorkSpaces. To specify the CIDR address ranges, add rules to your IP access control group and then associate the group with your directory. You can add rules when you create the group or at any time using AuthorizeIpRules.
There is a default IP access control group associated with your directory. If you don't associate an IP access control group with your directory, the default group is used. The default group includes a default rule that allows users to access their WorkSpaces from anywhere. You cannot modify the default IP access control group for your directory.
#create_tags(options = {}) ⇒ Struct
Creates the specified tags for the specified WorkSpaces resource.
#create_workspaces(options = {}) ⇒ Types::CreateWorkspacesResult
Creates one or more WorkSpaces.
This operation is asynchronous and returns before the WorkSpaces are created.
#delete_connection_alias(options = {}) ⇒ Struct
Deletes the specified connection alias. For more information, see Cross-Region Redirection for Amazon WorkSpaces.
If you will no longer be using a fully qualified domain name (FQDN) as the registration code for your WorkSpaces users, you must take certain precautions to prevent potential security issues. For more information, see Security Considerations if You Stop Using Cross-Region Redirection. To delete a connection alias that has been shared, the shared account must first disassociate the connection alias from any directories it has been associated with. Then you must unshare the connection alias from the account it has been shared with. You can delete a connection alias only after it is no longer shared with any accounts or associated with any directories.
#delete_ip_group(options = {}) ⇒ Struct
Deletes the specified IP access control group.
You cannot delete an IP access control group that is associated with a directory.
#delete_tags(options = {}) ⇒ Struct
Deletes the specified tags from the specified WorkSpaces resource.
#delete_workspace_image(options = {}) ⇒ Struct
Deletes the specified image from your account. To delete an image, you must first delete any bundles that are associated with the image and unshare the image if it is shared with other accounts.
#deregister_workspace_directory(options = {}) ⇒ Struct
Deregisters the specified directory. This operation is asynchronous and returns before the WorkSpace directory is deregistered. If any WorkSpaces are registered to this directory, you must remove them before you can deregister the directory.
#describe_account(options = {}) ⇒ Types::DescribeAccountResult
Retrieves a list that describes the configuration of Bring Your Own License (BYOL) for the specified account.
#describe_account_modifications(options = {}) ⇒ Types::DescribeAccountModificationsResult
Retrieves a list that describes modifications to the configuration of Bring Your Own License (BYOL) for the specified account.
#describe_client_properties(options = {}) ⇒ Types::DescribeClientPropertiesResult
Retrieves a list that describes one or more specified Amazon WorkSpaces clients.
#describe_connection_alias_permissions(options = {}) ⇒ Types::DescribeConnectionAliasPermissionsResult
Describes the permissions that the owner of a connection alias has granted to another AWS account for the specified connection alias. For more information, see Cross-Region Redirection for Amazon WorkSpaces.
#describe_connection_aliases(options = {}) ⇒ Types::DescribeConnectionAliasesResult
Retrieves a list that describes the connection aliases used for cross-Region redirection. For more information, see Cross-Region Redirection for Amazon WorkSpaces.
#describe_ip_groups(options = {}) ⇒ Types::DescribeIpGroupsResult
Describes one or more of your IP access control groups.
#describe_tags(options = {}) ⇒ Types::DescribeTagsResult
Describes the specified tags for the specified WorkSpaces resource.
#describe_workspace_bundles(options = {}) ⇒ Types::DescribeWorkspaceBundlesResult
Retrieves a list that describes the available WorkSpace bundles.
You can filter the results using either bundle ID or owner, but not both.
#describe_workspace_directories(options = {}) ⇒ Types::DescribeWorkspaceDirectoriesResult
Describes the available directories that are registered with Amazon WorkSpaces.
#describe_workspace_image_permissions(options = {}) ⇒ Types::DescribeWorkspaceImagePermissionsResult
Describes the permissions that the owner of an image has granted to other AWS accounts for an image.
#describe_workspace_images(options = {}) ⇒ Types::DescribeWorkspaceImagesResult
Retrieves a list that describes one or more specified images, if the image identifiers are provided. Otherwise, all images in the account are described.
#describe_workspace_snapshots(options = {}) ⇒ Types::DescribeWorkspaceSnapshotsResult
Describes the snapshots for the specified WorkSpace.
#describe_workspaces(options = {}) ⇒ Types::DescribeWorkspacesResult
Describes the specified WorkSpaces.
You can filter the results by using the bundle identifier, directory identifier, or owner, but you can specify only one filter at a time.
#describe_workspaces_connection_status(options = {}) ⇒ Types::DescribeWorkspacesConnectionStatusResult
Describes the connection status of the specified WorkSpaces.
#disassociate_connection_alias(options = {}) ⇒ Struct
Disassociates a connection alias from a directory. Disassociating a connection alias disables cross-Region redirection between two directories in different AWS Regions. For more information, see Cross-Region Redirection for Amazon WorkSpaces.
Before performing this operation, call DescribeConnectionAliases to make sure that the current state of the connection alias is CREATED
.
#disassociate_ip_groups(options = {}) ⇒ Struct
Disassociates the specified IP access control group from the specified directory.
#import_workspace_image(options = {}) ⇒ Types::ImportWorkspaceImageResult
Imports the specified Windows 10 Bring Your Own License (BYOL) image into Amazon WorkSpaces. The image must be an already licensed Amazon EC2 image that is in your AWS account, and you must own the image. For more information about creating BYOL images, see Bring Your Own Windows Desktop Licenses.
#list_available_management_cidr_ranges(options = {}) ⇒ Types::ListAvailableManagementCidrRangesResult
Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that you can use for the network management interface when you enable Bring Your Own License (BYOL).
This operation can be run only by AWS accounts that are enabled for BYOL. If your account isn't enabled for BYOL, you'll receive an AccessDeniedException
error.
The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace.
#migrate_workspace(options = {}) ⇒ Types::MigrateWorkspaceResult
Migrates a WorkSpace from one operating system or bundle type to another, while retaining the data on the user volume.
The migration process recreates the WorkSpace by using a new root volume from the target bundle image and the user volume from the last available snapshot of the original WorkSpace. During migration, the original D:\Users\%USERNAME%
user profile folder is renamed to D:\Users\%USERNAME%MMddyyTHHmmss%.NotMigrated
. A new D:\Users\%USERNAME%\
folder is generated by the new OS. Certain files in the old user profile are moved to the new user profile.
For available migration scenarios, details about what happens during migration, and best practices, see Migrate a WorkSpace.
#modify_account(options = {}) ⇒ Struct
Modifies the configuration of Bring Your Own License (BYOL) for the specified account.
#modify_client_properties(options = {}) ⇒ Struct
Modifies the properties of the specified Amazon WorkSpaces clients.
#modify_selfservice_permissions(options = {}) ⇒ Struct
Modifies the self-service WorkSpace management capabilities for your users. For more information, see Enable Self-Service WorkSpace Management Capabilities for Your Users.
#modify_workspace_access_properties(options = {}) ⇒ Struct
Specifies which devices and operating systems users can use to access their WorkSpaces. For more information, see Control Device Access.
#modify_workspace_creation_properties(options = {}) ⇒ Struct
Modify the default properties used to create WorkSpaces.
#modify_workspace_properties(options = {}) ⇒ Struct
Modifies the specified WorkSpace properties. For important information about how to modify the size of the root and user volumes, see Modify a WorkSpace.
#modify_workspace_state(options = {}) ⇒ Struct
Sets the state of the specified WorkSpace.
To maintain a WorkSpace without being interrupted, set the WorkSpace state to ADMIN_MAINTENANCE
. WorkSpaces in this state do not respond to requests to reboot, stop, start, rebuild, or restore. An AutoStop WorkSpace in this state is not stopped. Users cannot log into a WorkSpace in the ADMIN_MAINTENANCE
state.
#reboot_workspaces(options = {}) ⇒ Types::RebootWorkspacesResult
Reboots the specified WorkSpaces.
You cannot reboot a WorkSpace unless its state is AVAILABLE
or UNHEALTHY
.
This operation is asynchronous and returns before the WorkSpaces have rebooted.
#rebuild_workspaces(options = {}) ⇒ Types::RebuildWorkspacesResult
Rebuilds the specified WorkSpace.
You cannot rebuild a WorkSpace unless its state is AVAILABLE
, ERROR
, UNHEALTHY
, STOPPED
, or REBOOTING
.
Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Rebuild a WorkSpace.
This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt.
#register_workspace_directory(options = {}) ⇒ Struct
Registers the specified directory. This operation is asynchronous and returns before the WorkSpace directory is registered. If this is the first time you are registering a directory, you will need to create the workspaces_DefaultRole role before you can register a directory. For more information, see Creating the workspaces_DefaultRole Role.
#restore_workspace(options = {}) ⇒ Struct
Restores the specified WorkSpace to its last known healthy state.
You cannot restore a WorkSpace unless its state is AVAILABLE
, ERROR
, UNHEALTHY
, or STOPPED
.
Restoring a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Restore a WorkSpace.
This operation is asynchronous and returns before the WorkSpace is completely restored.
#revoke_ip_rules(options = {}) ⇒ Struct
Removes one or more rules from the specified IP access control group.
#start_workspaces(options = {}) ⇒ Types::StartWorkspacesResult
Starts the specified WorkSpaces.
You cannot start a WorkSpace unless it has a running mode of AutoStop
and a state of STOPPED
.
#stop_workspaces(options = {}) ⇒ Types::StopWorkspacesResult
Stops the specified WorkSpaces.
You cannot stop a WorkSpace unless it has a running mode of AutoStop
and a state of AVAILABLE
, IMPAIRED
, UNHEALTHY
, or ERROR
.
#terminate_workspaces(options = {}) ⇒ Types::TerminateWorkspacesResult
Terminates the specified WorkSpaces.
Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is destroyed. If you need to archive any user data, contact AWS Support before terminating the WorkSpace.
You can terminate a WorkSpace that is in any state except SUSPENDED
.
This operation is asynchronous and returns before the WorkSpaces have been completely terminated. After a WorkSpace is terminated, the TERMINATED
state is returned only briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using DescribeWorkSpaces. If the WorkSpace ID isn't returned, then the WorkSpace has been successfully terminated.
#update_connection_alias_permission(options = {}) ⇒ Struct
Shares or unshares a connection alias with one account by specifying whether that account has permission to associate the connection alias with a directory. If the association permission is granted, the connection alias is shared with that account. If the association permission is revoked, the connection alias is unshared with the account. For more information, see Cross-Region Redirection for Amazon WorkSpaces.
Before performing this operation, call DescribeConnectionAliases to make sure that the current state of the connection alias is To delete a connection alias that has been shared, the shared account must first disassociate the connection alias from any directories it has been associated with. Then you must unshare the connection alias from the account it has been shared with. You can delete a connection alias only after it is no longer shared with any accounts or associated with any directories.
CREATED
.
#update_rules_of_ip_group(options = {}) ⇒ Struct
Replaces the current rules of the specified IP access control group with the specified rules.
#update_workspace_image_permission(options = {}) ⇒ Struct
Shares or unshares an image with one account by specifying whether that account has permission to copy the image. If the copy image permission is granted, the image is shared with that account. If the copy image permission is revoked, the image is unshared with the account. For more information about sharing images, see Share or Unshare a Custom WorkSpaces Image.
To delete an image that has been shared, you must unshare the image before you delete it. Sharing Bring Your Own License (BYOL) images across AWS accounts isn't supported at this time in the AWS GovCloud (US-West) Region. To share BYOL images across accounts in the AWS GovCloud (US-West) Region, contact AWS Support.
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
Basic Usage
Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)
Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:
# poll for ~25 seconds
client.wait_until(...) do |w|
w.max_attempts = 5
w.delay = 5
end
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(...) do |w|
# disable max attempts
w.max_attempts = nil
# poll for 1 hour, instead of a number of attempts
w.before_wait do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
end
Handling Errors
When a waiter is successful, it returns true
. When a waiter
fails, it raises an error. All errors raised 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
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:
Waiter Name | Client Method | Default Delay: | Default Max Attempts: |
---|