Class: Aws::Transfer::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::Transfer::Client
- Includes:
- ClientStubs
- Defined in:
- gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb
Overview
An API client for Transfer. To construct a client, you need to configure a :region
and :credentials
.
client = Aws::Transfer::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the developer guide.
See #initialize for a full list of supported configuration options.
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
API Operations collapse
-
#create_access(params = {}) ⇒ Types::CreateAccessResponse
Used by administrators to choose which groups in the directory should have access to upload and download files over the enabled protocols using Amazon Web Services Transfer Family.
-
#create_server(params = {}) ⇒ Types::CreateServerResponse
Instantiates an auto-scaling virtual server based on the selected file transfer protocol in Amazon Web Services.
-
#create_user(params = {}) ⇒ Types::CreateUserResponse
Creates a user and associates them with an existing file transfer protocol-enabled server.
-
#create_workflow(params = {}) ⇒ Types::CreateWorkflowResponse
Allows you to create a workflow with specified steps and step details the workflow invokes after file transfer completes.
-
#delete_access(params = {}) ⇒ Struct
Allows you to delete the access specified in the
ServerID
andExternalID
parameters. -
#delete_server(params = {}) ⇒ Struct
Deletes the file transfer protocol-enabled server that you specify.
-
#delete_ssh_public_key(params = {}) ⇒ Struct
Deletes a user's Secure Shell (SSH) public key.
-
#delete_user(params = {}) ⇒ Struct
Deletes the user belonging to a file transfer protocol-enabled server you specify.
-
#delete_workflow(params = {}) ⇒ Struct
Deletes the specified workflow.
-
#describe_access(params = {}) ⇒ Types::DescribeAccessResponse
Describes the access that is assigned to the specific file transfer protocol-enabled server, as identified by its
ServerId
property and itsExternalID
. -
#describe_execution(params = {}) ⇒ Types::DescribeExecutionResponse
You can use
DescribeExecution
to check the details of the execution of the specified workflow. -
#describe_security_policy(params = {}) ⇒ Types::DescribeSecurityPolicyResponse
Describes the security policy that is attached to your file transfer protocol-enabled server.
-
#describe_server(params = {}) ⇒ Types::DescribeServerResponse
Describes a file transfer protocol-enabled server that you specify by passing the
ServerId
parameter. -
#describe_user(params = {}) ⇒ Types::DescribeUserResponse
Describes the user assigned to the specific file transfer protocol-enabled server, as identified by its
ServerId
property. -
#describe_workflow(params = {}) ⇒ Types::DescribeWorkflowResponse
Describes the specified workflow.
-
#import_ssh_public_key(params = {}) ⇒ 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
. -
#list_accesses(params = {}) ⇒ Types::ListAccessesResponse
Lists the details for all the accesses you have on your server.
-
#list_executions(params = {}) ⇒ Types::ListExecutionsResponse
Lists all executions for the specified workflow.
-
#list_security_policies(params = {}) ⇒ Types::ListSecurityPoliciesResponse
Lists the security policies that are attached to your file transfer protocol-enabled servers.
-
#list_servers(params = {}) ⇒ Types::ListServersResponse
Lists the file transfer protocol-enabled servers that are associated with your Amazon Web Services account.
-
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Lists all of the tags associated with the Amazon Resource Name (ARN) that you specify.
-
#list_users(params = {}) ⇒ Types::ListUsersResponse
Lists the users for a file transfer protocol-enabled server that you specify by passing the
ServerId
parameter. -
#list_workflows(params = {}) ⇒ Types::ListWorkflowsResponse
Lists all of your workflows.
-
#send_workflow_step_state(params = {}) ⇒ Struct
Sends a callback for asynchronous custom steps.
-
#start_server(params = {}) ⇒ Struct
Changes the state of a file transfer protocol-enabled server from
OFFLINE
toONLINE
. -
#stop_server(params = {}) ⇒ Struct
Changes the state of a file transfer protocol-enabled server from
ONLINE
toOFFLINE
. -
#tag_resource(params = {}) ⇒ Struct
Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN).
-
#test_identity_provider(params = {}) ⇒ Types::TestIdentityProviderResponse
If the
IdentityProviderType
of a file transfer protocol-enabled server isAWS_DIRECTORY_SERVICE
orAPI_Gateway
, tests whether your identity provider is set up successfully. -
#untag_resource(params = {}) ⇒ Struct
Detaches a key-value pair from a resource, as identified by its Amazon Resource Name (ARN).
-
#update_access(params = {}) ⇒ Types::UpdateAccessResponse
Allows you to update parameters for the access specified in the
ServerID
andExternalID
parameters. -
#update_server(params = {}) ⇒ Types::UpdateServerResponse
Updates the file transfer protocol-enabled server's properties after that server has been created.
-
#update_user(params = {}) ⇒ Types::UpdateUserResponse
Assigns new properties to a user.
Instance Method Summary collapse
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
-
#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean
Polls an API operation until a resource enters a desired state.
Methods included from ClientStubs
#api_requests, #stub_data, #stub_responses
Methods inherited from Seahorse::Client::Base
add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
358 359 360 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 358 def initialize(*args) super end |
Instance Method Details
#create_access(params = {}) ⇒ Types::CreateAccessResponse
Used by administrators to choose which groups in the directory should
have access to upload and download files over the enabled protocols
using Amazon Web Services Transfer Family. For example, a Microsoft
Active Directory might contain 50,000 users, but only a small fraction
might need the ability to transfer files to the server. An
administrator can use CreateAccess
to limit the access to the
correct set of users who need this ability.
514 515 516 517 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 514 def create_access(params = {}, = {}) req = build_request(:create_access, params) req.send_request() end |
#create_server(params = {}) ⇒ Types::CreateServerResponse
Instantiates an auto-scaling virtual server based on the selected file
transfer protocol in Amazon Web Services. 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.
798 799 800 801 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 798 def create_server(params = {}, = {}) req = build_request(:create_server, params) req.send_request() end |
#create_user(params = {}) ⇒ 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 Amazon Web Services Identity and Access Management (IAM) role.
You can also optionally add a session policy, and assign metadata with
tags that can be used to group and search for users.
962 963 964 965 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 962 def create_user(params = {}, = {}) req = build_request(:create_user, params) req.send_request() end |
#create_workflow(params = {}) ⇒ Types::CreateWorkflowResponse
Allows you to create a workflow with specified steps and step details
the workflow invokes after file transfer completes. After creating a
workflow, you can associate the workflow created with any transfer
servers by specifying the workflow-details
field in CreateServer
and UpdateServer
operations.
1117 1118 1119 1120 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1117 def create_workflow(params = {}, = {}) req = build_request(:create_workflow, params) req.send_request() end |
#delete_access(params = {}) ⇒ Struct
Allows you to delete the access specified in the ServerID
and
ExternalID
parameters.
1161 1162 1163 1164 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1161 def delete_access(params = {}, = {}) req = build_request(:delete_access, params) req.send_request() end |
#delete_server(params = {}) ⇒ Struct
Deletes the file transfer protocol-enabled server that you specify.
No response returns from this operation.
1185 1186 1187 1188 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1185 def delete_server(params = {}, = {}) req = build_request(:delete_server, params) req.send_request() end |
#delete_ssh_public_key(params = {}) ⇒ Struct
Deletes a user's Secure Shell (SSH) public key.
1217 1218 1219 1220 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1217 def delete_ssh_public_key(params = {}, = {}) req = build_request(:delete_ssh_public_key, params) req.send_request() end |
#delete_user(params = {}) ⇒ Struct
Deletes the user belonging to a file transfer protocol-enabled server you specify.
No response returns from this operation.
1252 1253 1254 1255 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1252 def delete_user(params = {}, = {}) req = build_request(:delete_user, params) req.send_request() end |
#delete_workflow(params = {}) ⇒ Struct
Deletes the specified workflow.
1274 1275 1276 1277 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1274 def delete_workflow(params = {}, = {}) req = build_request(:delete_workflow, params) req.send_request() end |
#describe_access(params = {}) ⇒ Types::DescribeAccessResponse
Describes the access that is assigned to the specific file transfer
protocol-enabled server, as identified by its ServerId
property and
its ExternalID
.
The response from this call returns the properties of the access that
is associated with the ServerId
value that was specified.
1341 1342 1343 1344 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1341 def describe_access(params = {}, = {}) req = build_request(:describe_access, params) req.send_request() end |
#describe_execution(params = {}) ⇒ Types::DescribeExecutionResponse
You can use DescribeExecution
to check the details of the execution
of the specified workflow.
1403 1404 1405 1406 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1403 def describe_execution(params = {}, = {}) req = build_request(:describe_execution, params) req.send_request() end |
#describe_security_policy(params = {}) ⇒ 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.
1448 1449 1450 1451 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1448 def describe_security_policy(params = {}, = {}) req = build_request(:describe_security_policy, params) req.send_request() end |
#describe_server(params = {}) ⇒ 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
.
The following waiters are defined for this operation (see #wait_until for detailed usage):
- server_offline
- server_online
1522 1523 1524 1525 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1522 def describe_server(params = {}, = {}) req = build_request(:describe_server, params) req.send_request() end |
#describe_user(params = {}) ⇒ 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.
1582 1583 1584 1585 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1582 def describe_user(params = {}, = {}) req = build_request(:describe_user, params) req.send_request() end |
#describe_workflow(params = {}) ⇒ Types::DescribeWorkflowResponse
Describes the specified workflow.
1655 1656 1657 1658 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1655 def describe_workflow(params = {}, = {}) req = build_request(:describe_workflow, params) req.send_request() end |
#import_ssh_public_key(params = {}) ⇒ 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
.
1700 1701 1702 1703 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1700 def import_ssh_public_key(params = {}, = {}) req = build_request(:import_ssh_public_key, params) req.send_request() end |
#list_accesses(params = {}) ⇒ Types::ListAccessesResponse
Lists the details for all the accesses you have on your server.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1750 1751 1752 1753 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1750 def list_accesses(params = {}, = {}) req = build_request(:list_accesses, params) req.send_request() end |
#list_executions(params = {}) ⇒ Types::ListExecutionsResponse
Lists all executions for the specified workflow.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1822 1823 1824 1825 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1822 def list_executions(params = {}, = {}) req = build_request(:list_executions, params) req.send_request() end |
#list_security_policies(params = {}) ⇒ Types::ListSecurityPoliciesResponse
Lists the security policies that are attached to your file transfer protocol-enabled servers.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1864 1865 1866 1867 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1864 def list_security_policies(params = {}, = {}) req = build_request(:list_security_policies, params) req.send_request() end |
#list_servers(params = {}) ⇒ Types::ListServersResponse
Lists the file transfer protocol-enabled servers that are associated with your Amazon Web Services account.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1913 1914 1915 1916 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1913 def list_servers(params = {}, = {}) req = build_request(:list_servers, params) req.send_request() end |
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Lists all of the tags associated with the Amazon Resource Name (ARN) that you specify. The resource can be a user, server, or role.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1964 1965 1966 1967 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 1964 def (params = {}, = {}) req = build_request(:list_tags_for_resource, params) req.send_request() end |
#list_users(params = {}) ⇒ Types::ListUsersResponse
Lists the users for a file transfer protocol-enabled server that you
specify by passing the ServerId
parameter.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2018 2019 2020 2021 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2018 def list_users(params = {}, = {}) req = build_request(:list_users, params) req.send_request() end |
#list_workflows(params = {}) ⇒ Types::ListWorkflowsResponse
Lists all of your workflows.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2059 2060 2061 2062 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2059 def list_workflows(params = {}, = {}) req = build_request(:list_workflows, params) req.send_request() end |
#send_workflow_step_state(params = {}) ⇒ Struct
Sends a callback for asynchronous custom steps.
The ExecutionId
, WorkflowId
, and Token
are passed to the target
resource during execution of a custom step of a workflow. You must
include those with their callback as well as providing a status.
2098 2099 2100 2101 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2098 def send_workflow_step_state(params = {}, = {}) req = build_request(:send_workflow_step_state, params) req.send_request() end |
#start_server(params = {}) ⇒ 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.
2129 2130 2131 2132 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2129 def start_server(params = {}, = {}) req = build_request(:start_server, params) req.send_request() end |
#stop_server(params = {}) ⇒ 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.
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.
2166 2167 2168 2169 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2166 def stop_server(params = {}, = {}) req = build_request(:stop_server, params) req.send_request() end |
#tag_resource(params = {}) ⇒ 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.
2204 2205 2206 2207 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2204 def tag_resource(params = {}, = {}) req = build_request(:tag_resource, params) req.send_request() end |
#test_identity_provider(params = {}) ⇒ Types::TestIdentityProviderResponse
If the IdentityProviderType
of a file transfer protocol-enabled
server is AWS_DIRECTORY_SERVICE
or API_Gateway
, tests whether your
identity provider 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
identity provider integration to ensure that your users can
successfully use the service.
The ServerId
and UserName
parameters are required. The
ServerProtocol
, SourceIp
, and UserPassword
are all optional.
TestIdentityProvider
if the IdentityProviderType
of
your server is SERVICE_MANAGED
.
If you provide any incorrect values for any parameters, the
Response
field is empty.If you provide a server ID for a server that uses service-managed users, you get an error:
An error occurred (InvalidRequestException) when calling the TestIdentityProvider operation: s-server-ID not configured for external auth
If you enter a Server ID for the
--server-id
parameter that does not identify an actual Transfer server, you receive the following error:An error occurred (ResourceNotFoundException) when calling the TestIdentityProvider operation: Unknown server
2294 2295 2296 2297 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2294 def test_identity_provider(params = {}, = {}) req = build_request(:test_identity_provider, params) req.send_request() end |
#untag_resource(params = {}) ⇒ 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.
2328 2329 2330 2331 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2328 def untag_resource(params = {}, = {}) req = build_request(:untag_resource, params) req.send_request() end |
#update_access(params = {}) ⇒ Types::UpdateAccessResponse
Allows you to update parameters for the access specified in the
ServerID
and ExternalID
parameters.
2478 2479 2480 2481 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2478 def update_access(params = {}, = {}) req = build_request(:update_access, params) req.send_request() end |
#update_server(params = {}) ⇒ 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.
2728 2729 2730 2731 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2728 def update_server(params = {}, = {}) req = build_request(:update_server, params) req.send_request() end |
#update_user(params = {}) ⇒ 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.
2872 2873 2874 2875 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2872 def update_user(params = {}, = {}) req = build_request(:update_user, params) req.send_request() end |
#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean
Polls an API operation until a resource enters a desired state.
Basic Usage
A waiter will call an API operation until:
- It is successful
- It enters a terminal state
- It makes the maximum number of attempts
In between attempts, the waiter will sleep.
# polls in a loop, sleeping between attempts
client.wait_until(waiter_name, params)
Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You can pass configuration as the final arguments hash.
# poll for ~25 seconds
client.wait_until(waiter_name, params, {
max_attempts: 5,
delay: 5,
})
Callbacks
You can be notified before each polling attempt and before each
delay. If you throw :success
or :failure
from these callbacks,
it will terminate the waiter.
started_at = Time.now
client.wait_until(waiter_name, params, {
# disable max attempts
max_attempts: nil,
# poll for 1 hour, instead of a number of attempts
before_wait: -> (attempts, response) do
throw :failure if Time.now - started_at > 3600
end
})
Handling Errors
When a waiter is unsuccessful, it will raise an error. All of the failure errors extend from Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
Valid Waiters
The following table lists the valid waiter names, the operations they call,
and the default :delay
and :max_attempts
values.
waiter_name | params | :delay | :max_attempts |
---|---|---|---|
server_offline | #describe_server | 30 | 120 |
server_online | #describe_server | 30 | 120 |
2983 2984 2985 2986 2987 |
# File 'gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb', line 2983 def wait_until(waiter_name, params = {}, = {}) w = waiter(waiter_name, ) yield(w.waiter) if block_given? # deprecated w.wait(params) end |