policies
Creates, updates, deletes or gets a policy resource or lists policies in a region
Overview
| Name | policies |
| Type | Resource |
| Description | Resource Type definition for AWS::IoT::Policy |
| Id | awscc.iot.policies |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
id | string | |
arn | string | |
policy_document | object | |
policy_name | string | |
tags | array | |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
id | string | |
region | string | AWS region. |
For more information, see AWS::IoT::Policy.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | policies | INSERT | PolicyDocument, region |
delete_resource | policies | DELETE | Identifier, region |
update_resource | policies | UPDATE | Identifier, PatchDocument, region |
list_resources | policies_list_only | SELECT | region |
get_resource | policies | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual policy.
SELECT
region,
id,
arn,
policy_document,
policy_name,
tags
FROM awscc.iot.policies
WHERE
region = 'us-east-1' AND
Identifier = '{{ id }}';
Lists all policies in a region.
SELECT
region,
id
FROM awscc.iot.policies_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new policy resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.iot.policies (
PolicyDocument,
region
)
SELECT
'{{ policy_document }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.iot.policies (
PolicyDocument,
PolicyName,
Tags,
region
)
SELECT
'{{ policy_document }}',
'{{ policy_name }}',
'{{ tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: policy
props:
- name: policy_document
value: {}
- name: policy_name
value: '{{ policy_name }}'
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
UPDATE example
Use the following StackQL query and manifest file to update a policy resource, using stack-deploy.
/*+ update */
UPDATE awscc.iot.policies
SET PatchDocument = string('{{ {
"PolicyDocument": policy_document,
"Tags": tags
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ id }}';
DELETE example
/*+ delete */
DELETE FROM awscc.iot.policies
WHERE
Identifier = '{{ id }}' AND
region = 'us-east-1';
Permissions
To operate on the policies resource, the following permissions are required:
- Create
- Read
- Delete
- Update
- List
iot:CreatePolicy,
iot:GetPolicy,
iot:TagResource,
iot:ListTagsForResource,
kms:Decrypt
iot:GetPolicy,
iot:ListTagsForResource,
kms:Decrypt
iot:DeletePolicy,
iot:GetPolicy,
iot:ListPolicyVersions,
iot:DeletePolicyVersion,
kms:Decrypt
iot:GetPolicy,
iot:ListPolicyVersions,
iot:CreatePolicyVersion,
iot:DeletePolicyVersion,
iot:SetDefaultPolicyVersion,
iot:TagResource,
iot:UntagResource,
iot:ListTagsForResource,
kms:Decrypt
iot:ListPolicies