You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::Transfer::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::Transfer::Client
- Defined in:
- (unknown)
Overview
An API client for AWS Transfer Family. To construct a client, you need to configure a :region
and :credentials
.
transfer = Aws::Transfer::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::Transfer::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::Transfer::Client
constructor
Constructs an API client.
API Operations collapse
-
#create_server(options = {}) ⇒ Types::CreateServerResponse
Instantiates an autoscaling virtual server based on the selected file transfer protocol in AWS.
-
#create_user(options = {}) ⇒ Types::CreateUserResponse
Creates a user and associates them with an existing file transfer protocol-enabled server.
-
#delete_server(options = {}) ⇒ Struct
Deletes the file transfer protocol-enabled server that you specify.
No response returns from this operation.
. -
#delete_ssh_public_key(options = {}) ⇒ Struct
Deletes a user's Secure Shell (SSH) public key.
No response is returned from this operation.
. -
#delete_user(options = {}) ⇒ Struct
Deletes the user belonging to a file transfer protocol-enabled server you specify.
No response returns from this operation.
When you delete a user from a server, the user's information is lost.
-
#describe_security_policy(options = {}) ⇒ Types::DescribeSecurityPolicyResponse
Describes the security policy that is attached to your file transfer protocol-enabled server.
-
#describe_server(options = {}) ⇒ Types::DescribeServerResponse
Describes a file transfer protocol-enabled server that you specify by passing the
ServerId
parameter.The response contains a description of a server's properties.
-
#describe_user(options = {}) ⇒ Types::DescribeUserResponse
Describes the user assigned to the specific file transfer protocol-enabled server, as identified by its
ServerId
property.The response from this call returns the properties of the user associated with the
.ServerId
value that was specified. -
#import_ssh_public_key(options = {}) ⇒ Types::ImportSshPublicKeyResponse
Adds a Secure Shell (SSH) public key to a user account identified by a
UserName
value assigned to the specific file transfer protocol-enabled server, identified byServerId
.The response returns the
.UserName
value, theServerId
value, and the name of theSshPublicKeyId
. -
#list_security_policies(options = {}) ⇒ Types::ListSecurityPoliciesResponse
Lists the security policies that are attached to your file transfer protocol-enabled servers.
.
-
#list_servers(options = {}) ⇒ Types::ListServersResponse
Lists the file transfer protocol-enabled servers that are associated with your AWS account.
.
-
#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse
Lists all of the tags associated with the Amazon Resource Number (ARN) you specify.
-
#list_users(options = {}) ⇒ Types::ListUsersResponse
Lists the users for a file transfer protocol-enabled server that you specify by passing the
ServerId
parameter..
-
#start_server(options = {}) ⇒ Struct
Changes the state of a file transfer protocol-enabled server from
OFFLINE
toONLINE
. -
#stop_server(options = {}) ⇒ Struct
Changes the state of a file transfer protocol-enabled server from
ONLINE
toOFFLINE
. -
#tag_resource(options = {}) ⇒ Struct
Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN).
-
#test_identity_provider(options = {}) ⇒ Types::TestIdentityProviderResponse
If the
IdentityProviderType
of a file transfer protocol-enabled server isAPI_Gateway
, tests whether your API Gateway is set up successfully. -
#untag_resource(options = {}) ⇒ Struct
Detaches a key-value pair from a resource, as identified by its Amazon Resource Name (ARN).
-
#update_server(options = {}) ⇒ Types::UpdateServerResponse
Updates the file transfer protocol-enabled server's properties after that server has been created.
The
.UpdateServer
call returns theServerId
of the server you updated. -
#update_user(options = {}) ⇒ Types::UpdateUserResponse
Assigns new properties to a user.
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::Transfer::Client
Constructs an API client.
Instance Method Details
#create_server(options = {}) ⇒ Types::CreateServerResponse
Instantiates an autoscaling virtual server based on the selected file transfer protocol in AWS. When you make updates to your file transfer protocol-enabled server or when you work with users, use the service-generated ServerId
property that is assigned to the newly created server.
#create_user(options = {}) ⇒ Types::CreateUserResponse
Creates a user and associates them with an existing file transfer protocol-enabled server. You can only create and associate users with servers that have the IdentityProviderType
set to SERVICE_MANAGED
. Using parameters for CreateUser
, you can specify the user name, set the home directory, store the user's public key, and assign the user's AWS Identity and Access Management (IAM) role. You can also optionally add a scope-down policy, and assign metadata with tags that can be used to group and search for users.
#delete_server(options = {}) ⇒ Struct
Deletes the file transfer protocol-enabled server that you specify.
No response returns from this operation.
#delete_ssh_public_key(options = {}) ⇒ Struct
Deletes a user's Secure Shell (SSH) public key.
No response is returned from this operation.
#delete_user(options = {}) ⇒ Struct
Deletes the user belonging to a file transfer protocol-enabled server you specify.
No response returns from this operation.
When you delete a user from a server, the user's information is lost.
#describe_security_policy(options = {}) ⇒ Types::DescribeSecurityPolicyResponse
Describes the security policy that is attached to your file transfer protocol-enabled server. The response contains a description of the security policy's properties. For more information about security policies, see Working with security policies.
#describe_server(options = {}) ⇒ Types::DescribeServerResponse
Describes a file transfer protocol-enabled server that you specify by passing the ServerId
parameter.
The response contains a description of a server's properties. When you set EndpointType
to VPC, the response will contain the EndpointDetails
.
#describe_user(options = {}) ⇒ Types::DescribeUserResponse
Describes the user assigned to the specific file transfer protocol-enabled server, as identified by its ServerId
property.
The response from this call returns the properties of the user associated with the ServerId
value that was specified.
#import_ssh_public_key(options = {}) ⇒ Types::ImportSshPublicKeyResponse
Adds a Secure Shell (SSH) public key to a user account identified by a UserName
value assigned to the specific file transfer protocol-enabled server, identified by ServerId
.
The response returns the UserName
value, the ServerId
value, and the name of the SshPublicKeyId
.
#list_security_policies(options = {}) ⇒ Types::ListSecurityPoliciesResponse
Lists the security policies that are attached to your file transfer protocol-enabled servers.
#list_servers(options = {}) ⇒ Types::ListServersResponse
Lists the file transfer protocol-enabled servers that are associated with your AWS account.
#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse
Lists all of the tags associated with the Amazon Resource Number (ARN) you specify. The resource can be a user, server, or role.
#list_users(options = {}) ⇒ Types::ListUsersResponse
Lists the users for a file transfer protocol-enabled server that you specify by passing the ServerId
parameter.
#start_server(options = {}) ⇒ Struct
Changes the state of a file transfer protocol-enabled server from OFFLINE
to ONLINE
. It has no impact on a server that is already ONLINE
. An ONLINE
server can accept and process file transfer jobs.
The state of STARTING
indicates that the server is in an intermediate state, either not fully able to respond, or not fully online. The values of START_FAILED
can indicate an error condition.
No response is returned from this call.
#stop_server(options = {}) ⇒ Struct
Changes the state of a file transfer protocol-enabled server from ONLINE
to OFFLINE
. An OFFLINE
server cannot accept and process file transfer jobs. Information tied to your server, such as server and user properties, are not affected by stopping your server.
Stopping the server will not reduce or impact your file transfer protocol endpoint billing; you must delete the server to stop being billed.
The state of STOPPING
indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of STOP_FAILED
can indicate an error condition.
No response is returned from this call.
#tag_resource(options = {}) ⇒ Struct
Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.
There is no response returned from this call.
#test_identity_provider(options = {}) ⇒ Types::TestIdentityProviderResponse
If the IdentityProviderType
of a file transfer protocol-enabled server is API_Gateway
, tests whether your API Gateway is set up successfully. We highly recommend that you call this operation to test your authentication method as soon as you create your server. By doing so, you can troubleshoot issues with the API Gateway integration to ensure that your users can successfully use the service.
#untag_resource(options = {}) ⇒ Struct
Detaches a key-value pair from a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.
No response is returned from this call.
#update_server(options = {}) ⇒ Types::UpdateServerResponse
Updates the file transfer protocol-enabled server's properties after that server has been created.
The UpdateServer
call returns the ServerId
of the server you updated.
#update_user(options = {}) ⇒ Types::UpdateUserResponse
Assigns new properties to a user. Parameters you pass modify any or all of the following: the home directory, role, and policy for the UserName
and ServerId
you specify.
The response returns the ServerId
and the UserName
for the updated user.
#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
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: |
---|