users
Creates, updates, deletes or gets a user resource or lists users in a region
Overview
| Name | users |
| Type | Resource |
| Description | Definition of AWS::Transfer::User Resource Type |
| Id | awscc.transfer.users |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
arn | string | |
home_directory | string | |
home_directory_mappings | array | |
home_directory_type | string | |
policy | string | |
posix_profile | object | |
role | string | |
server_id | string | |
ssh_public_keys | array | This represents the SSH User Public Keys for CloudFormation resource |
tags | array | |
user_name | string | |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
arn | string | |
region | string | AWS region. |
For more information, see AWS::Transfer::User.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | users | INSERT | Role, ServerId, UserName, region |
delete_resource | users | DELETE | Identifier, region |
update_resource | users | UPDATE | Identifier, PatchDocument, region |
list_resources | users_list_only | SELECT | region |
get_resource | users | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual user.
SELECT
region,
arn,
home_directory,
home_directory_mappings,
home_directory_type,
policy,
posix_profile,
role,
server_id,
ssh_public_keys,
tags,
user_name
FROM awscc.transfer.users
WHERE
region = 'us-east-1' AND
Identifier = '{{ arn }}';
Lists all users in a region.
SELECT
region,
arn
FROM awscc.transfer.users_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new user resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.transfer.users (
Role,
ServerId,
UserName,
region
)
SELECT
'{{ role }}',
'{{ server_id }}',
'{{ user_name }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.transfer.users (
HomeDirectory,
HomeDirectoryMappings,
HomeDirectoryType,
Policy,
PosixProfile,
Role,
ServerId,
SshPublicKeys,
Tags,
UserName,
region
)
SELECT
'{{ home_directory }}',
'{{ home_directory_mappings }}',
'{{ home_directory_type }}',
'{{ policy }}',
'{{ posix_profile }}',
'{{ role }}',
'{{ server_id }}',
'{{ ssh_public_keys }}',
'{{ tags }}',
'{{ user_name }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: user
props:
- name: home_directory
value: '{{ home_directory }}'
- name: home_directory_mappings
value:
- entry: '{{ entry }}'
target: '{{ target }}'
type: '{{ type }}'
- name: home_directory_type
value: '{{ home_directory_type }}'
- name: policy
value: '{{ policy }}'
- name: posix_profile
value:
uid: null
gid: null
secondary_gids:
- null
- name: role
value: '{{ role }}'
- name: server_id
value: '{{ server_id }}'
- name: ssh_public_keys
value:
- '{{ ssh_public_keys[0] }}'
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
- name: user_name
value: '{{ user_name }}'
UPDATE example
Use the following StackQL query and manifest file to update a user resource, using stack-deploy.
/*+ update */
UPDATE awscc.transfer.users
SET PatchDocument = string('{{ {
"HomeDirectory": home_directory,
"HomeDirectoryMappings": home_directory_mappings,
"HomeDirectoryType": home_directory_type,
"Policy": policy,
"PosixProfile": posix_profile,
"Role": role,
"SshPublicKeys": ssh_public_keys,
"Tags": tags
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ arn }}';
DELETE example
/*+ delete */
DELETE FROM awscc.transfer.users
WHERE
Identifier = '{{ arn }}' AND
region = 'us-east-1';
Permissions
To operate on the users resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
iam:PassRole,
transfer:CreateUser,
transfer:DescribeUser,
transfer:ImportSshPublicKey,
transfer:TagResource
transfer:DescribeUser
iam:PassRole,
transfer:DeleteSshPublicKey,
transfer:DescribeUser,
transfer:ImportSshPublicKey,
transfer:TagResource,
transfer:UnTagResource,
transfer:UpdateUser
transfer:DeleteUser
transfer:ListUsers