NAME

Paws::Transfer - Perl Interface to AWS AWS Transfer Family

SYNOPSIS

use Paws;

my $obj = Paws->service('Transfer');
my $res = $obj->Method(
  Arg1 => $val1,
  Arg2 => [ 'V1', 'V2' ],
  # if Arg3 is an object, the HashRef will be used as arguments to the constructor
  # of the arguments type
  Arg3 => { Att1 => 'Val1' },
  # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
  # the constructor of the arguments type
  Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
);

DESCRIPTION

Amazon Web Services 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). Amazon Web Services helps you seamlessly migrate your file transfer workflows to Amazon Web Services 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 Amazon Web Services services for processing, analytics, machine learning, and archiving. Getting started with Amazon Web Services Transfer Family is easy since there is no infrastructure to buy and set up.

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05

METHODS

CreateAccess

ExternalId => Str
Role => Str
ServerId => Str
[HomeDirectory => Str]
[HomeDirectoryMappings => ArrayRef[Paws::Transfer::HomeDirectoryMapEntry]]
[HomeDirectoryType => Str]
[Policy => Str]
[PosixProfile => Paws::Transfer::PosixProfile]

Each argument is described in detail in: Paws::Transfer::CreateAccess

Returns: a Paws::Transfer::CreateAccessResponse instance

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.

CreateServer

[Certificate => Str]
[Domain => Str]
[EndpointDetails => Paws::Transfer::EndpointDetails]
[EndpointType => Str]
[HostKey => Str]
[IdentityProviderDetails => Paws::Transfer::IdentityProviderDetails]
[IdentityProviderType => Str]
[LoggingRole => Str]
[Protocols => ArrayRef[Str|Undef]]
[SecurityPolicyName => Str]
[Tags => ArrayRef[Paws::Transfer::Tag]]

Each argument is described in detail in: Paws::Transfer::CreateServer

Returns: a Paws::Transfer::CreateServerResponse instance

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.

CreateUser

Role => Str
ServerId => Str
UserName => Str
[HomeDirectory => Str]
[HomeDirectoryMappings => ArrayRef[Paws::Transfer::HomeDirectoryMapEntry]]
[HomeDirectoryType => Str]
[Policy => Str]
[PosixProfile => Paws::Transfer::PosixProfile]
[SshPublicKeyBody => Str]
[Tags => ArrayRef[Paws::Transfer::Tag]]

Each argument is described in detail in: Paws::Transfer::CreateUser

Returns: a Paws::Transfer::CreateUserResponse instance

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 scope-down policy, and assign metadata with tags that can be used to group and search for users.

DeleteAccess

ExternalId => Str
ServerId => Str

Each argument is described in detail in: Paws::Transfer::DeleteAccess

Returns: nothing

Allows you to delete the access specified in the ServerID and ExternalID parameters.

DeleteServer

ServerId => Str

Each argument is described in detail in: Paws::Transfer::DeleteServer

Returns: nothing

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

No response returns from this operation.

DeleteSshPublicKey

ServerId => Str
SshPublicKeyId => Str
UserName => Str

Each argument is described in detail in: Paws::Transfer::DeleteSshPublicKey

Returns: nothing

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

No response is returned from this operation.

DeleteUser

ServerId => Str
UserName => Str

Each argument is described in detail in: Paws::Transfer::DeleteUser

Returns: nothing

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.

DescribeAccess

ExternalId => Str
ServerId => Str

Each argument is described in detail in: Paws::Transfer::DescribeAccess

Returns: a Paws::Transfer::DescribeAccessResponse instance

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.

DescribeSecurityPolicy

SecurityPolicyName => Str

Each argument is described in detail in: Paws::Transfer::DescribeSecurityPolicy

Returns: a Paws::Transfer::DescribeSecurityPolicyResponse instance

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 (https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html).

DescribeServer

ServerId => Str

Each argument is described in detail in: Paws::Transfer::DescribeServer

Returns: a Paws::Transfer::DescribeServerResponse instance

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.

DescribeUser

ServerId => Str
UserName => Str

Each argument is described in detail in: Paws::Transfer::DescribeUser

Returns: a Paws::Transfer::DescribeUserResponse instance

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.

ImportSshPublicKey

ServerId => Str
SshPublicKeyBody => Str
UserName => Str

Each argument is described in detail in: Paws::Transfer::ImportSshPublicKey

Returns: a Paws::Transfer::ImportSshPublicKeyResponse instance

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.

ListAccesses

ServerId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Transfer::ListAccesses

Returns: a Paws::Transfer::ListAccessesResponse instance

Lists the details for all the accesses you have on your server.

ListSecurityPolicies

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Transfer::ListSecurityPolicies

Returns: a Paws::Transfer::ListSecurityPoliciesResponse instance

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

ListServers

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Transfer::ListServers

Returns: a Paws::Transfer::ListServersResponse instance

Lists the file transfer protocol-enabled servers that are associated with your Amazon Web Services account.

ListTagsForResource

Arn => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Transfer::ListTagsForResource

Returns: a Paws::Transfer::ListTagsForResourceResponse instance

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

ListUsers

ServerId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Transfer::ListUsers

Returns: a Paws::Transfer::ListUsersResponse instance

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

StartServer

ServerId => Str

Each argument is described in detail in: Paws::Transfer::StartServer

Returns: nothing

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.

StopServer

ServerId => Str

Each argument is described in detail in: Paws::Transfer::StopServer

Returns: nothing

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.

TagResource

Arn => Str
Tags => ArrayRef[Paws::Transfer::Tag]

Each argument is described in detail in: Paws::Transfer::TagResource

Returns: nothing

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.

TestIdentityProvider

ServerId => Str
UserName => Str
[ServerProtocol => Str]
[SourceIp => Str]
[UserPassword => Str]

Each argument is described in detail in: Paws::Transfer::TestIdentityProvider

Returns: a Paws::Transfer::TestIdentityProviderResponse instance

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.

UntagResource

Arn => Str
TagKeys => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::Transfer::UntagResource

Returns: nothing

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.

UpdateAccess

ExternalId => Str
ServerId => Str
[HomeDirectory => Str]
[HomeDirectoryMappings => ArrayRef[Paws::Transfer::HomeDirectoryMapEntry]]
[HomeDirectoryType => Str]
[Policy => Str]
[PosixProfile => Paws::Transfer::PosixProfile]
[Role => Str]

Each argument is described in detail in: Paws::Transfer::UpdateAccess

Returns: a Paws::Transfer::UpdateAccessResponse instance

Allows you to update parameters for the access specified in the ServerID and ExternalID parameters.

UpdateServer

ServerId => Str
[Certificate => Str]
[EndpointDetails => Paws::Transfer::EndpointDetails]
[EndpointType => Str]
[HostKey => Str]
[IdentityProviderDetails => Paws::Transfer::IdentityProviderDetails]
[LoggingRole => Str]
[ProtocolDetails => Paws::Transfer::ProtocolDetails]
[Protocols => ArrayRef[Str|Undef]]
[SecurityPolicyName => Str]

Each argument is described in detail in: Paws::Transfer::UpdateServer

Returns: a Paws::Transfer::UpdateServerResponse instance

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.

UpdateUser

ServerId => Str
UserName => Str
[HomeDirectory => Str]
[HomeDirectoryMappings => ArrayRef[Paws::Transfer::HomeDirectoryMapEntry]]
[HomeDirectoryType => Str]
[Policy => Str]
[PosixProfile => Paws::Transfer::PosixProfile]
[Role => Str]

Each argument is described in detail in: Paws::Transfer::UpdateUser

Returns: a Paws::Transfer::UpdateUserResponse instance

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.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

ListAllServers(sub { },[MaxResults => Int, NextToken => Str])

ListAllServers([MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

- Servers, passing the object as the first parameter, and the string 'Servers' as the second parameter 

If not, it will return a a Paws::Transfer::ListServersResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues