/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace Transfer { namespace Model { class CreateServerRequest; class CreateUserRequest; class DeleteServerRequest; class DeleteSshPublicKeyRequest; class DeleteUserRequest; class DescribeSecurityPolicyRequest; class DescribeServerRequest; class DescribeUserRequest; class ImportSshPublicKeyRequest; class ListSecurityPoliciesRequest; class ListServersRequest; class ListTagsForResourceRequest; class ListUsersRequest; class StartServerRequest; class StopServerRequest; class TagResourceRequest; class TestIdentityProviderRequest; class UntagResourceRequest; class UpdateServerRequest; class UpdateUserRequest; typedef Aws::Utils::Outcome CreateServerOutcome; typedef Aws::Utils::Outcome CreateUserOutcome; typedef Aws::Utils::Outcome DeleteServerOutcome; typedef Aws::Utils::Outcome DeleteSshPublicKeyOutcome; typedef Aws::Utils::Outcome DeleteUserOutcome; typedef Aws::Utils::Outcome DescribeSecurityPolicyOutcome; typedef Aws::Utils::Outcome DescribeServerOutcome; typedef Aws::Utils::Outcome DescribeUserOutcome; typedef Aws::Utils::Outcome ImportSshPublicKeyOutcome; typedef Aws::Utils::Outcome ListSecurityPoliciesOutcome; typedef Aws::Utils::Outcome ListServersOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListUsersOutcome; typedef Aws::Utils::Outcome StartServerOutcome; typedef Aws::Utils::Outcome StopServerOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome TestIdentityProviderOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateServerOutcome; typedef Aws::Utils::Outcome UpdateUserOutcome; typedef std::future CreateServerOutcomeCallable; typedef std::future CreateUserOutcomeCallable; typedef std::future DeleteServerOutcomeCallable; typedef std::future DeleteSshPublicKeyOutcomeCallable; typedef std::future DeleteUserOutcomeCallable; typedef std::future DescribeSecurityPolicyOutcomeCallable; typedef std::future DescribeServerOutcomeCallable; typedef std::future DescribeUserOutcomeCallable; typedef std::future ImportSshPublicKeyOutcomeCallable; typedef std::future ListSecurityPoliciesOutcomeCallable; typedef std::future ListServersOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListUsersOutcomeCallable; typedef std::future StartServerOutcomeCallable; typedef std::future StopServerOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future TestIdentityProviderOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateServerOutcomeCallable; typedef std::future UpdateUserOutcomeCallable; } // namespace Model class TransferClient; typedef std::function&) > CreateServerResponseReceivedHandler; typedef std::function&) > CreateUserResponseReceivedHandler; typedef std::function&) > DeleteServerResponseReceivedHandler; typedef std::function&) > DeleteSshPublicKeyResponseReceivedHandler; typedef std::function&) > DeleteUserResponseReceivedHandler; typedef std::function&) > DescribeSecurityPolicyResponseReceivedHandler; typedef std::function&) > DescribeServerResponseReceivedHandler; typedef std::function&) > DescribeUserResponseReceivedHandler; typedef std::function&) > ImportSshPublicKeyResponseReceivedHandler; typedef std::function&) > ListSecurityPoliciesResponseReceivedHandler; typedef std::function&) > ListServersResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListUsersResponseReceivedHandler; typedef std::function&) > StartServerResponseReceivedHandler; typedef std::function&) > StopServerResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > TestIdentityProviderResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateServerResponseReceivedHandler; typedef std::function&) > UpdateUserResponseReceivedHandler; /** *

AWS Transfer Family is a fully managed service that enables the transfer of * files over the File Transfer Protocol (FTP), File Transfer Protocol over SSL * (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly into and * out of Amazon Simple Storage Service (Amazon S3). AWS helps you seamlessly * migrate your file transfer workflows to AWS Transfer Family by integrating with * existing authentication systems, and providing DNS routing with Amazon Route 53 * so nothing changes for your customers and partners, or their applications. With * your data in Amazon S3, you can use it with AWS services for processing, * analytics, machine learning, and archiving. Getting started with AWS Transfer * Family is easy since there is no infrastructure to buy and set up.

*/ class AWS_TRANSFER_API TransferClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TransferClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TransferClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ TransferClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~TransferClient(); /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::CreateServerOutcome CreateServer(const Model::CreateServerRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateServerOutcomeCallable CreateServerCallable(const Model::CreateServerRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateServerAsync(const Model::CreateServerRequest& request, const CreateServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::CreateUserOutcome CreateUser(const Model::CreateUserRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateUserOutcomeCallable CreateUserCallable(const Model::CreateUserRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateUserAsync(const Model::CreateUserRequest& request, const CreateUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the file transfer protocol-enabled server that you specify.

No * response returns from this operation.

See Also:

AWS * API Reference

*/ virtual Model::DeleteServerOutcome DeleteServer(const Model::DeleteServerRequest& request) const; /** *

Deletes the file transfer protocol-enabled server that you specify.

No * response returns from this operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteServerOutcomeCallable DeleteServerCallable(const Model::DeleteServerRequest& request) const; /** *

Deletes the file transfer protocol-enabled server that you specify.

No * response returns from this operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteServerAsync(const Model::DeleteServerRequest& request, const DeleteServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a user's Secure Shell (SSH) public key.

No response is * returned from this operation.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSshPublicKeyOutcome DeleteSshPublicKey(const Model::DeleteSshPublicKeyRequest& request) const; /** *

Deletes a user's Secure Shell (SSH) public key.

No response is * returned from this operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSshPublicKeyOutcomeCallable DeleteSshPublicKeyCallable(const Model::DeleteSshPublicKeyRequest& request) const; /** *

Deletes a user's Secure Shell (SSH) public key.

No response is * returned from this operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSshPublicKeyAsync(const Model::DeleteSshPublicKeyRequest& request, const DeleteSshPublicKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

*

See Also:

AWS * API Reference

*/ virtual Model::DeleteUserOutcome DeleteUser(const Model::DeleteUserRequest& request) const; /** *

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.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteUserOutcomeCallable DeleteUserCallable(const Model::DeleteUserRequest& request) const; /** *

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.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteUserAsync(const Model::DeleteUserRequest& request, const DeleteUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeSecurityPolicyOutcome DescribeSecurityPolicy(const Model::DescribeSecurityPolicyRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeSecurityPolicyOutcomeCallable DescribeSecurityPolicyCallable(const Model::DescribeSecurityPolicyRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeSecurityPolicyAsync(const Model::DescribeSecurityPolicyRequest& request, const DescribeSecurityPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeServerOutcome DescribeServer(const Model::DescribeServerRequest& request) const; /** *

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.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeServerOutcomeCallable DescribeServerCallable(const Model::DescribeServerRequest& request) const; /** *

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.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeServerAsync(const Model::DescribeServerRequest& request, const DescribeServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeUserOutcome DescribeUser(const Model::DescribeUserRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeUserOutcomeCallable DescribeUserCallable(const Model::DescribeUserRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeUserAsync(const Model::DescribeUserRequest& request, const DescribeUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

* AWS * API Reference

*/ virtual Model::ImportSshPublicKeyOutcome ImportSshPublicKey(const Model::ImportSshPublicKeyRequest& request) const; /** *

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.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ImportSshPublicKeyOutcomeCallable ImportSshPublicKeyCallable(const Model::ImportSshPublicKeyRequest& request) const; /** *

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.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ImportSshPublicKeyAsync(const Model::ImportSshPublicKeyRequest& request, const ImportSshPublicKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the security policies that are attached to your file transfer * protocol-enabled servers.

See Also:

AWS * API Reference

*/ virtual Model::ListSecurityPoliciesOutcome ListSecurityPolicies(const Model::ListSecurityPoliciesRequest& request) const; /** *

Lists the security policies that are attached to your file transfer * protocol-enabled servers.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListSecurityPoliciesOutcomeCallable ListSecurityPoliciesCallable(const Model::ListSecurityPoliciesRequest& request) const; /** *

Lists the security policies that are attached to your file transfer * protocol-enabled servers.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListSecurityPoliciesAsync(const Model::ListSecurityPoliciesRequest& request, const ListSecurityPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the file transfer protocol-enabled servers that are associated with * your AWS account.

See Also:

AWS * API Reference

*/ virtual Model::ListServersOutcome ListServers(const Model::ListServersRequest& request) const; /** *

Lists the file transfer protocol-enabled servers that are associated with * your AWS account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListServersOutcomeCallable ListServersCallable(const Model::ListServersRequest& request) const; /** *

Lists the file transfer protocol-enabled servers that are associated with * your AWS account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListServersAsync(const Model::ListServersRequest& request, const ListServersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists all of the tags associated with the Amazon Resource Number (ARN) you * specify. The resource can be a user, server, or role.

See Also:

* AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Lists all of the tags associated with the Amazon Resource Number (ARN) you * specify. The resource can be a user, server, or role.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Lists all of the tags associated with the Amazon Resource Number (ARN) you * specify. The resource can be a user, server, or role.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the users for a file transfer protocol-enabled server that you specify * by passing the ServerId parameter.

See Also:

AWS * API Reference

*/ virtual Model::ListUsersOutcome ListUsers(const Model::ListUsersRequest& request) const; /** *

Lists the users for a file transfer protocol-enabled server that you specify * by passing the ServerId parameter.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListUsersOutcomeCallable ListUsersCallable(const Model::ListUsersRequest& request) const; /** *

Lists the users for a file transfer protocol-enabled server that you specify * by passing the ServerId parameter.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListUsersAsync(const Model::ListUsersRequest& request, const ListUsersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::StartServerOutcome StartServer(const Model::StartServerRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StartServerOutcomeCallable StartServerCallable(const Model::StartServerRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StartServerAsync(const Model::StartServerRequest& request, const StartServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

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.

See * Also:

AWS * API Reference

*/ virtual Model::StopServerOutcome StopServer(const Model::StopServerRequest& request) const; /** *

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.

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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StopServerOutcomeCallable StopServerCallable(const Model::StopServerRequest& request) const; /** *

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.

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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StopServerAsync(const Model::StopServerRequest& request, const StopServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::TestIdentityProviderOutcome TestIdentityProvider(const Model::TestIdentityProviderRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TestIdentityProviderOutcomeCallable TestIdentityProviderCallable(const Model::TestIdentityProviderRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TestIdentityProviderAsync(const Model::TestIdentityProviderRequest& request, const TestIdentityProviderResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::UpdateServerOutcome UpdateServer(const Model::UpdateServerRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateServerOutcomeCallable UpdateServerCallable(const Model::UpdateServerRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateServerAsync(const Model::UpdateServerRequest& request, const UpdateServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::UpdateUserOutcome UpdateUser(const Model::UpdateUserRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateUserOutcomeCallable UpdateUserCallable(const Model::UpdateUserRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateUserAsync(const Model::UpdateUserRequest& request, const UpdateUserResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void CreateServerAsyncHelper(const Model::CreateServerRequest& request, const CreateServerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateUserAsyncHelper(const Model::CreateUserRequest& request, const CreateUserResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteServerAsyncHelper(const Model::DeleteServerRequest& request, const DeleteServerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSshPublicKeyAsyncHelper(const Model::DeleteSshPublicKeyRequest& request, const DeleteSshPublicKeyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteUserAsyncHelper(const Model::DeleteUserRequest& request, const DeleteUserResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeSecurityPolicyAsyncHelper(const Model::DescribeSecurityPolicyRequest& request, const DescribeSecurityPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeServerAsyncHelper(const Model::DescribeServerRequest& request, const DescribeServerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeUserAsyncHelper(const Model::DescribeUserRequest& request, const DescribeUserResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ImportSshPublicKeyAsyncHelper(const Model::ImportSshPublicKeyRequest& request, const ImportSshPublicKeyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListSecurityPoliciesAsyncHelper(const Model::ListSecurityPoliciesRequest& request, const ListSecurityPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListServersAsyncHelper(const Model::ListServersRequest& request, const ListServersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListUsersAsyncHelper(const Model::ListUsersRequest& request, const ListUsersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StartServerAsyncHelper(const Model::StartServerRequest& request, const StartServerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StopServerAsyncHelper(const Model::StopServerRequest& request, const StopServerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TestIdentityProviderAsyncHelper(const Model::TestIdentityProviderRequest& request, const TestIdentityProviderResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateServerAsyncHelper(const Model::UpdateServerRequest& request, const UpdateServerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateUserAsyncHelper(const Model::UpdateUserRequest& request, const UpdateUserResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace Transfer } // namespace Aws