Skip to content

Transfer Family

CloudMock emulates AWS Transfer Family, supporting SFTP/FTPS/FTP server management, user management, and SSH public key operations.

OperationStatusNotes
CreateServerSupportedCreates a Transfer server
DescribeServerSupportedReturns server details
ListServersSupportedLists all servers
StartServerSupportedStarts a server
StopServerSupportedStops a server
DeleteServerSupportedDeletes a server
CreateUserSupportedCreates a user on a server
DescribeUserSupportedReturns user details
ListUsersSupportedLists users for a server
DeleteUserSupportedDeletes a user
ImportSshPublicKeySupportedImports an SSH public key for a user
DeleteSshPublicKeySupportedDeletes an SSH public key
import { TransferClient, CreateServerCommand, CreateUserCommand } from '@aws-sdk/client-transfer';
const client = new TransferClient({
endpoint: 'http://localhost:4566',
region: 'us-east-1',
credentials: { accessKeyId: 'test', secretAccessKey: 'test' },
});
const { ServerId } = await client.send(new CreateServerCommand({
Protocols: ['SFTP'],
IdentityProviderType: 'SERVICE_MANAGED',
}));
await client.send(new CreateUserCommand({
ServerId,
UserName: 'my-user',
Role: 'arn:aws:iam::000000000000:role/transfer-role',
HomeDirectory: '/my-bucket',
}));
import boto3
client = boto3.client('transfer',
endpoint_url='http://localhost:4566',
region_name='us-east-1',
aws_access_key_id='test',
aws_secret_access_key='test')
response = client.create_server(
Protocols=['SFTP'],
IdentityProviderType='SERVICE_MANAGED')
server_id = response['ServerId']
client.create_user(
ServerId=server_id,
UserName='my-user',
Role='arn:aws:iam::000000000000:role/transfer-role',
HomeDirectory='/my-bucket')
cloudmock.yml
services:
transfer:
enabled: true
  • No actual SFTP/FTPS/FTP server is provisioned
  • Server endpoints are generated but not functional
  • SSH key authentication is not performed