impersonation_roles
Creates, updates, deletes, gets or lists an impersonation_roles resource.
Overview
| Name | impersonation_roles |
| Type | Resource |
| Id | aws.workmail.impersonation_roles |
Fields
The following fields are returned by SELECT queries:
- get_impersonation_role
- list_impersonation_roles
| Name | Datatype | Description |
|---|---|---|
date_created | string (date-time) | The date when the impersonation role was created. |
date_modified | string (date-time) | The date when the impersonation role was last modified. |
description | string | The impersonation role description. (pattern: <code>[^\x00-\x09\x0B\x0C\x0E-\x1F\x7F\x3C\x3E\x5C]+</code>) |
impersonation_role_id | string | The impersonation role ID. (pattern: <code>[a-zA-Z0-9_-]+</code>) |
name | string | The impersonation role name. (pattern: <code>[^\x00-\x1F\x7F\x3C\x3E\x5C]+</code>) |
rules | array | The list of rules for the given impersonation role. |
type | string | The impersonation role type. (FULL_ACCESS, READ_ONLY) |
| Name | Datatype | Description |
|---|---|---|
next_token | string | The token to retrieve the next page of results. The value is null when there are no results to return. (pattern: <code>[\S\s]*|[a-zA-Z0-9/+=]{1,1024}</code>) |
roles | array | The list of impersonation roles under the given WorkMail organization. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get_impersonation_role | select | region | Gets the impersonation role details for the given WorkMail organization. | |
list_impersonation_roles | select | region | Lists all the impersonation roles for the given WorkMail organization. | |
create_impersonation_role | insert | region, OrganizationId | Creates an impersonation role for the given WorkMail organization. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries also complete successfully without performing any further actions. | |
update_impersonation_role | update | region, OrganizationId, ImpersonationRoleId | Updates an impersonation role for the given WorkMail organization. | |
delete_impersonation_role | delete | region | Deletes an impersonation role for the given WorkMail organization. | |
assume_impersonation_role | exec | region, OrganizationId, ImpersonationRoleId | Assumes an impersonation role for the given WorkMail organization. This method returns an authentication token you can use to make impersonated calls. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
region | string | AWS region (default: us-east-1) |
SELECT examples
- get_impersonation_role
- list_impersonation_roles
Gets the impersonation role details for the given WorkMail organization.
SELECT
date_created,
date_modified,
description,
impersonation_role_id,
name,
rules,
type
FROM aws.workmail.impersonation_roles
WHERE region = '{{ region }}' -- required
;
Lists all the impersonation roles for the given WorkMail organization.
SELECT
next_token,
roles
FROM aws.workmail.impersonation_roles
WHERE region = '{{ region }}' -- required
;
INSERT examples
- create_impersonation_role
- Manifest
Creates an impersonation role for the given WorkMail organization. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries also complete successfully without performing any further actions.
INSERT INTO aws.workmail.impersonation_roles (
ClientToken,
OrganizationId,
Name,
Type,
Description,
Rules,
region
)
SELECT
'{{ ClientToken }}',
'{{ OrganizationId }}' /* required */,
'{{ Name }}',
'{{ Type }}',
'{{ Description }}',
'{{ Rules }}',
'{{ region }}'
RETURNING
impersonation_role_id
;
# Description fields are for documentation purposes
- name: impersonation_roles
props:
- name: region
value: "{{ region }}"
description: Required parameter for the impersonation_roles resource.
- name: ClientToken
value: "{{ ClientToken }}"
description: |
The idempotency token for the client request.
- name: OrganizationId
value: "{{ OrganizationId }}"
description: |
The WorkMail organization to create the new impersonation role within.
- name: Name
value: "{{ Name }}"
description: |
The name of the new impersonation role.
- name: Type
value: "{{ Type }}"
description: |
The impersonation role's type. The available impersonation role types are READ_ONLY or FULL_ACCESS.
valid_values: ['FULL_ACCESS', 'READ_ONLY']
- name: Description
value: "{{ Description }}"
description: |
The description of the new impersonation role.
- name: Rules
description: |
The list of rules for the impersonation role.
value:
- ImpersonationRuleId: "{{ ImpersonationRuleId }}"
Name: "{{ Name }}"
Description: "{{ Description }}"
Effect: "{{ Effect }}"
TargetUsers: "{{ TargetUsers }}"
NotTargetUsers: "{{ NotTargetUsers }}"
UPDATE examples
- update_impersonation_role
Updates an impersonation role for the given WorkMail organization.
UPDATE aws.workmail.impersonation_roles
SET
OrganizationId = '{{ OrganizationId }}',
ImpersonationRoleId = '{{ ImpersonationRoleId }}',
Name = '{{ Name }}',
Type = '{{ Type }}',
Description = '{{ Description }}',
Rules = '{{ Rules }}'
WHERE
region = '{{ region }}' --required
AND OrganizationId = '{{ OrganizationId }}' --required
AND ImpersonationRoleId = '{{ ImpersonationRoleId }}' --required;
DELETE examples
- delete_impersonation_role
Deletes an impersonation role for the given WorkMail organization.
DELETE FROM aws.workmail.impersonation_roles
WHERE region = '{{ region }}' --required
;
Lifecycle Methods
- assume_impersonation_role
Assumes an impersonation role for the given WorkMail organization. This method returns an authentication token you can use to make impersonated calls.
EXEC aws.workmail.impersonation_roles.assume_impersonation_role
@region='{{ region }}' --required
@@json=
'{
"OrganizationId": "{{ OrganizationId }}",
"ImpersonationRoleId": "{{ ImpersonationRoleId }}"
}'
;