The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::Transfer - Perl Interface to AWS AWS Transfer for SFTP

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

AWS Transfer for SFTP is a fully managed service that enables the transfer of files directly into and out of Amazon S3 using the Secure File Transfer Protocol (SFTP)—also known as Secure Shell (SSH) File Transfer Protocol. AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer for SFTP—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 S3, you can use it with AWS services for processing, analytics, machine learning, and archiving. Getting started with AWS Transfer for SFTP (AWS SFTP) is easy; 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

CreateServer

[EndpointDetails => Paws::Transfer::EndpointDetails]
[EndpointType => Str]
[HostKey => Str]
[IdentityProviderDetails => Paws::Transfer::IdentityProviderDetails]
[IdentityProviderType => Str]
[LoggingRole => Str]
[Tags => ArrayRef[Paws::Transfer::Tag]]

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

Returns: a Paws::Transfer::CreateServerResponse instance

Instantiates an autoscaling virtual server based on Secure File Transfer Protocol (SFTP) in AWS. When you make updates to your 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]
[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 Secure File Transfer Protocol (SFTP) server. You can only create and associate users with SFTP 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.

DeleteServer

ServerId => Str

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

Returns: nothing

Deletes the Secure File Transfer Protocol (SFTP) 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 the server you specify.

No response returns from this operation.

When you delete a user from a server, the user's information is lost.

DescribeServer

ServerId => Str

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

Returns: a Paws::Transfer::DescribeServerResponse instance

Describes the server that you specify by passing the ServerId parameter.

The response contains a description of the 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 a specific 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 a specific server, identified by ServerId.

The response returns the UserName value, the ServerId value, and the name of the SshPublicKeyId.

ListServers

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

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

Returns: a Paws::Transfer::ListServersResponse instance

Lists the Secure File Transfer Protocol (SFTP) servers that are associated with your AWS 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 Number (ARN) 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 the 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 Secure File Transfer Protocol (SFTP) server from OFFLINE to ONLINE. It has no impact on an SFTP 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 an SFTP 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 a server will not reduce or impact your Secure File Transfer Protocol (SFTP) 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.

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
[UserPassword => Str]

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

Returns: a Paws::Transfer::TestIdentityProviderResponse instance

If the IdentityProviderType of the 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.

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.

UpdateServer

ServerId => Str
[EndpointDetails => Paws::Transfer::EndpointDetails]
[EndpointType => Str]
[HostKey => Str]
[IdentityProviderDetails => Paws::Transfer::IdentityProviderDetails]
[LoggingRole => Str]

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

Returns: a Paws::Transfer::UpdateServerResponse instance

Updates the server properties after that server has been created.

The UpdateServer call returns the ServerId of the Secure File Transfer Protocol (SFTP) server you updated.

UpdateUser

ServerId => Str
UserName => Str
[HomeDirectory => Str]
[HomeDirectoryMappings => ArrayRef[Paws::Transfer::HomeDirectoryMapEntry]]
[HomeDirectoryType => Str]
[Policy => Str]
[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