plans
Creates, updates, deletes or gets a plan resource or lists plans in a region
Overview
| Name | plans |
| Type | Resource |
| Description | Engagement Plan for a SSM Incident Manager Contact. |
| Id | awscc.ssmcontacts.plans |
Fields
| Name | Datatype | Description |
|---|---|---|
contact_id | string | Contact ID for the AWS SSM Incident Manager Contact to associate the plan. |
stages | array | The stages that an escalation plan or engagement plan engages contacts and contact methods in. |
rotation_ids | array | Rotation Ids to associate with Oncall Contact for engagement. |
arn | string | The Amazon Resource Name (ARN) of the contact. |
region | string | AWS region. |
For more information, see AWS::SSMContacts::Plan.
Methods
| Name | Accessible by | Required Params |
|---|---|---|
create_resource | INSERT | region |
delete_resource | DELETE | Identifier, region |
update_resource | UPDATE | Identifier, PatchDocument, region |
get_resource | SELECT | Identifier, region |
SELECT examples
Gets all properties from an individual plan.
SELECT
region,
contact_id,
stages,
rotation_ids,
arn
FROM awscc.ssmcontacts.plans
WHERE
region = 'us-east-1' AND
Identifier = '{{ arn }}';
INSERT example
Use the following StackQL query and manifest file to create a new plan resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.ssmcontacts.plans (
ContactId,
Stages,
RotationIds,
region
)
SELECT
'{{ contact_id }}',
'{{ stages }}',
'{{ rotation_ids }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.ssmcontacts.plans (
ContactId,
Stages,
RotationIds,
region
)
SELECT
'{{ contact_id }}',
'{{ stages }}',
'{{ rotation_ids }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: plan
props:
- name: contact_id
value: '{{ contact_id }}'
- name: stages
value:
- duration_in_minutes: '{{ duration_in_minutes }}'
targets:
- contact_target_info:
contact_id: '{{ contact_id }}'
is_essential: '{{ is_essential }}'
channel_target_info:
channel_id: '{{ channel_id }}'
retry_interval_in_minutes: '{{ retry_interval_in_minutes }}'
- name: rotation_ids
value:
- '{{ rotation_ids[0] }}'
UPDATE example
Use the following StackQL query and manifest file to update a plan resource, using stack-deploy.
/*+ update */
UPDATE awscc.ssmcontacts.plans
SET PatchDocument = string('{{ {
"Stages": stages,
"RotationIds": rotation_ids
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ arn }}';
DELETE example
/*+ delete */
DELETE FROM awscc.ssmcontacts.plans
WHERE
Identifier = '{{ arn }}' AND
region = 'us-east-1';
Permissions
To operate on the plans resource, the following permissions are required:
- Create
- Read
- Update
- Delete
ssm-contacts:UpdateContact,
ssm-contacts:GetContact,
ssm-contacts:AssociateContact
ssm-contacts:GetContact
ssm-contacts:UpdateContact,
ssm-contacts:GetContact,
ssm-contacts:AssociateContact
ssm-contacts:UpdateContact,
ssm-contacts:GetContact,
ssm-contacts:AssociateContact