Policy types for @turbot/firehose-aws-sns
- Turbot > Firehose > AWS SNS
- Turbot > Firehose > AWS SNS > Notification Access Key
- Turbot > Firehose > AWS SNS > Notification Secret Key
- Turbot > Firehose > AWS SNS > Notification Template
- Turbot > Firehose > AWS SNS > Notification Template > Action Notify
- Turbot > Firehose > AWS SNS > Notification Template > Active Grants Created
- Turbot > Firehose > AWS SNS > Notification Template > Active Grants Deleted
- Turbot > Firehose > AWS SNS > Notification Template > Control Notify
- Turbot > Firehose > AWS SNS > Notification Template > Control Updated
- Turbot > Firehose > AWS SNS > Notification Template > Favorite Created
- Turbot > Firehose > AWS SNS > Notification Template > Favorite Deleted
- Turbot > Firehose > AWS SNS > Notification Template > Grant Created
- Turbot > Firehose > AWS SNS > Notification Template > Grant Deleted
- Turbot > Firehose > AWS SNS > Notification Template > Notification Subject
- Turbot > Firehose > AWS SNS > Notification Template > Notification Subject Deleted
- Turbot > Firehose > AWS SNS > Notification Template > Policy Setting Created
- Turbot > Firehose > AWS SNS > Notification Template > Policy Setting Deleted
- Turbot > Firehose > AWS SNS > Notification Template > Policy Setting Updated
- Turbot > Firehose > AWS SNS > Notification Template > Policy Value Updated
- Turbot > Firehose > AWS SNS > Notification Template > Resource Created
- Turbot > Firehose > AWS SNS > Notification Template > Resource Deleted
- Turbot > Firehose > AWS SNS > Notification Template > Resource Updated
- Turbot > Firehose > AWS SNS > Notification Topic
Turbot > Firehose > AWS SNS
AWS SNS
Turbot > Firehose > AWS SNS > Notification Access Key
An Access Key to send notifications to AWS SNS. This key must have
permissions to publish to the SNS topic specified in the
Turbot > Firehose > AWS SNS > Notification Topic policy.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationAccessKey
{ "type": "string"}
Turbot > Firehose > AWS SNS > Notification Secret Key
Secret Key for the key pair specified in the
Turbot > Firehose > AWS SNS > Notification Access Key, used to send
notifications to AWS SNS
tmod:@turbot/firehose-aws-sns#/policy/types/notificationSecretKey
{ "type": "string"}
Turbot > Firehose > AWS SNS > Notification Template
Base type for notification templates.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplate
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }}
Turbot > Firehose > AWS SNS > Notification Template > Action Notify
Template for action notify events sent via AWS SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateActionNotify
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n data\n actor {\n identity {\n picture\n turbot {\n title\n id\n }\n }\n }\n turbot {\n id\n type\n controlId\n createTimestamp\n }\n action {\n turbot {\n id\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Active Grants Created
Template for active grants created events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateActiveGrantsCreated
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n turbot {\n title\n id\n }\n title\n }\n }\n turbot {\n id\n createTimestamp\n }\n activeGrant {\n grant {\n type {\n trunk {\n title\n }\n }\n level {\n trunk {\n title\n }\n }\n resource {\n trunk {\n title\n }\n }\n identity {\n trunk {\n title\n }\n }\n }\n resource {\n trunk {\n title\n }\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Active Grants Deleted
Template for active grants deleted events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateActiveGrantsDeleted
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n turbot {\n title\n id\n }\n title\n }\n }\n turbot {\n id\n createTimestamp\n }\n oldActiveGrant {\n grant {\n type {\n trunk {\n title\n }\n }\n level {\n trunk {\n title\n }\n }\n resource {\n trunk {\n title\n }\n }\n identity {\n trunk {\n title\n }\n }\n }\n resource {\n trunk {\n title\n }\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Control Notify
Template for control notify events sent via AWS SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateControlNotify
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n data\n actor {\n identity {\n picture\n turbot {\n title\n id\n }\n }\n }\n turbot {\n id\n type\n controlId\n createTimestamp\n }\n control {\n state\n reason\n details\n type {\n trunk { title }\n }\n turbot {\n id\n }\n resource {\n title\n turbot {\n id\n }\n\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Control Updated
Template for control updated events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateControlUpdated
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n alternatePersona\n identity {\n title\n picture\n turbot {\n title\n id\n }\n }\n }\n turbot {\n type\n controlId\n controlOldVersionId\n controlNewVersionId\n createTimestamp\n }\n control {\n state\n reason\n details\n type {\n trunk { title }\n }\n turbot {\n id\n }\n resource {\n title\n metadata\n turbot {\n title\n tags\n id\n }\n }\n }\n oldControl {\n state\n turbot {\n id\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Favorite Created
Template for favorite created events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateFavoriteCreated
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n turbot {\n title\n id\n }\n title\n }\n }\n turbot {\n id\n createTimestamp\n }\n favorite {\n name\n resource {\n turbot {\n title\n }\n }\n turbot {\n id\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Favorite Deleted
Template for favorite deleted events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateFavoriteDeleted
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n turbot {\n title\n id\n }\n title\n }\n }\n turbot {\n id\n createTimestamp\n }\n favorite {\n turbot {\n id\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Grant Created
Template for grant created events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateGrantCreated
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n turbot {\n title\n id\n }\n title\n }\n }\n turbot {\n id\n createTimestamp\n }\n grant {\n type {\n trunk { title }\n }\n level {\n trunk { title }\n }\n resource {\n trunk { title }\n }\n identity {\n trunk { title }\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Grant Deleted
Template for grant deleted events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateGrantDeleted
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n turbot {\n title\n id\n }\n }\n }\n turbot {\n id\n createTimestamp\n }\n oldGrant {\n type {\n title\n trunk { title }\n }\n level {\n turbot {\n title\n }\n }\n identity {\n title\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Notification Subject
Configures the subject for SNS notification.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateSubject
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n data\n message\n\n control {\n type {\n title\n }\n }\n\n action {\n turbot {\n id\n }\n }\n\n policySetting {\n type {\n trunk {\n items {\n turbot {\n title\n }\n }\n }\n turbot {\n title\n }\n }\n }\n oldPolicySetting {\n type {\n trunk {\n items {\n turbot {\n title\n }\n }\n }\n turbot {\n title\n }\n }\n }\n policyValue {\n precedence\n value\n type {\n uri\n title\n turbot {\n id\n }\n trunk { title }\n }\n }\n\n oldPolicyValue {\n precedence\n value\n state\n turbot {\n id\n createTimestamp\n updateTimestamp\n }\n type {\n trunk { title }\n }\n }\n\n resource {\n turbot {\n title\n }\n type {\n turbot {\n title\n }\n }\n }\n oldResource {\n turbot {\n title\n }\n type {\n turbot {\n title\n }\n }\n }\n grant{\n identity {\n turbot {\n title\n }\n }\n resource {\n turbot {\n title\n }\n }\n level {\n turbot {\n title\n }\n }\n type {\n turbot {\n title\n }\n }\n }\n activeGrant {\n grant {\n identity {\n turbot {\n title\n }\n }\n resource {\n turbot {\n title\n }\n }\n level {\n turbot {\n title\n }\n }\n type {\n turbot {\n title\n }\n }\n }\n }\n oldActiveGrant {\n grant {\n identity {\n turbot {\n title\n }\n }\n resource {\n turbot {\n title\n }\n }\n level {\n turbot {\n title\n }\n }\n type {\n turbot {\n title\n }\n }\n }\n }\n actor {\n identity {\n title\n turbot {\n title\n }\n }\n }\n\n favorite {\n name\n resource {\n turbot {\n title\n }\n }\n turbot {\n id\n }\n }\n\n oldFavorite {\n name\n resource {\n turbot {\n title\n }\n }\n turbot {\n id\n }\n }\n\n turbot {\n createTimestamp\n }\n }\n}\n{% endinput %}\n{%- set notificationTitle = \"\" -%}\n\n{%- if $.notification.notificationType === \"policy_setting_created\" -%}\n{%- set notificationTitle -%}\nPolicy {{ $.notification.policySetting.type.trunk.items[$.notification.policySetting.type.trunk.items.length-2].turbot.title }} > {{ $.notification.policySetting.type.turbot.title }} set on {{ $.notification.resource.type.turbot.title }} {{ $.notification.resource.turbot.title }} by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"policy_setting_updated\" -%}\n{%- set notificationTitle -%}\nPolicy {{ $.notification.oldPolicySetting.type.trunk.items[$.notification.policySetting.type.trunk.items.length-2].turbot.title }} > {{ $.notification.oldPolicySetting.type.turbot.title }} updated for {{ $.notification.resource.type.turbot.title }} {{ $.notification.resource.turbot.title }} by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"resource_created\" -%}\n{%- set notificationTitle -%}\n{{ $.notification.resource.type.turbot.title }} {{ $.notification.resource.turbot.title }} created by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"resource_updated\" -%}\n{%- set notificationTitle -%}\n{{ $.notification.resource.type.turbot.title }} {{ $.notification.resource.turbot.title }} updated by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"grant_created\" -%}\n{%- set notificationTitle -%}\n{{ $.notification.grant.type.turbot.title}}/{{ $.notification.grant.level.turbot.title}} granted at {{ $.notification.grant.resource.turbot.title }} to {{ $.notification.grant.identity.turbot.title }} by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"active_grants_created\" -%}\n{%- set notificationTitle -%}\n{{ $.notification.activeGrant.grant.type.turbot.title}}/{{ $.notification.activeGrant.grant.level.turbot.title}} grant activated at {{ $.notification.activeGrant.grant.resource.turbot.title }} for {{ $.notification.activeGrant.grant.identity.turbot.title }} by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"control_created\" -%}\n{%- set notificationTitle -%}\nControl {{ $.notification.control.type.title }} created by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"control_updated\" -%}\n{%- set notificationTitle -%}\nControl {{ $.notification.control.type.title }} updated by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"control_notify\" -%}\n{%- set notificationTitle -%}\n{{ $.notification.control.type.title }}: {{ $.notification.message }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"action_notify\" -%}\n{%- set notificationTitle -%}\nAction {{ $.notification.action.turbot.id }}: {{ $.notification.message }}\n{%- endset -%}\n\n\n{%- elif $.notification.notificationType === \"policy_value_created\" -%}\n{%- set notificationTitle -%}\nPolicy value {{ $.notification.policyValue.type.trunk.title }} in {{ $.notification.resource.type.turbot.title }} {{ $.notification.resource.turbot.title }} created by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"policy_value_updated\" -%}\n{%- set notificationTitle -%}\nPolicy value {{ $.notification.policyValue.type.trunk.title }} in {{ $.notification.resource.type.turbot.title }} {{ $.notification.resource.turbot.title }} updated by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"favorite_created\" -%}\n{%- set notificationTitle -%}\nFavorite for {{ $.notification.favorite.resource.turbot.title }} created by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"favorite_updated\" -%}\n{%- set notificationTitle -%}\nFavorite for {{ $.notification.favorite.resource.turbot.title }} updated by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"watch_created\" -%}\n{%- set notificationTitle -%}\nWatch for {{ $.notification.resource.turbot.title }} created by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"watch_updated\" -%}\n{%- set notificationTitle -%}\nWatch for {{ $.notification.resource.turbot.title }} updated by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- endif -%}\n\n[{{ tenant.name }}] {{ notificationTitle }}\n"}
Turbot > Firehose > AWS SNS > Notification Template > Notification Subject Deleted
Configures the subject for SNS notification for deleted notifications.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateSubjectDeleted
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n control {\n turbot {\n id\n }\n }\n policySetting {\n type {\n title\n uri\n turbot {\n id\n }\n trunk {\n title\n }\n }\n turbot {\n id\n }\n }\n oldPolicySetting {\n type {\n title\n uri\n turbot {\n id\n }\n trunk {\n title\n }\n }\n turbot {\n id\n }\n }\n\n policyValue {\n precedence\n value\n turbot {\n id\n }\n }\n\n oldPolicyValue {\n precedence\n value\n turbot {\n id\n }\n }\n\n resource {\n turbot {\n title\n }\n }\n oldResource {\n turbot {\n title\n }\n }\n grant{\n identity {\n turbot {\n title\n }\n }\n level {\n turbot {\n title\n }\n }\n }\n oldGrant {\n type {\n title\n trunk { title }\n }\n level {\n turbot {\n title\n }\n }\n identity {\n title\n }\n }\n activeGrant {\n grant {\n identity {\n turbot {\n title\n }\n }\n resource {\n turbot {\n title\n }\n }\n level {\n turbot {\n title\n }\n }\n type {\n turbot {\n title\n }\n }\n }\n }\n oldActiveGrant {\n grant {\n identity {\n turbot {\n title\n }\n }\n resource {\n turbot {\n title\n }\n }\n level {\n turbot {\n title\n }\n }\n type {\n turbot {\n title\n }\n }\n }\n }\n\n favorite {\n name\n turbot {\n id\n }\n }\n\n actor {\n identity {\n title\n turbot {\n title\n }\n }\n }\n turbot {\n createTimestamp\n }\n }\n}\n{% endinput %}\n\n{%- set notificationTitle = \"\" -%}\n{%- if $.notification.notificationType === \"policy_setting_deleted\" -%}\n{%- set notificationTitle -%}\nPolicy setting {{ $.notification.policySetting.type.trunk.title}} deleted by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"resource_deleted\" -%}\n{%- set notificationTitle -%}\nResource {{ $.notification.resource.turbot.id }} deleted by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"grant_deleted\" -%}\n{%- set notificationTitle -%}\n{{ $.notification.oldGrant.type.title}}/{{ $.notification.oldGrant.level.turbot.title}} grant deleted at {{ $.notification.grant.resource.turbot.title }} for {{ $.notification.grant.identity.turbot.title }} by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"active_grants_deleted\" -%}\n{%- set notificationTitle -%}\n{{ $.notification.oldActiveGrant.grant.type.turbot.title}}/{{ $.notification.oldActiveGrant.grant.level.turbot.title}} grant deactivated at {{ $.notification.oldActiveGrant.grant.resource.turbot.title }} for {{ $.notification.oldActiveGrant.grant.identity.turbot.title }} by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"control_deleted\" -%}\n{%- set notificationTitle -%}\nControl {{ $.notification.control.turbot.id }} deleted by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"policy_value_deleted\" -%}\n{%- set notificationTitle -%}\nPolicy value {{ $.notification.oldPolicyValue.turbot.id }} in {{ $.notification.resource.type.turbot.title }} {{ $.notification.resource.turbot.title }} deleted by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"favorite_deleted\" -%}\n{%- set notificationTitle -%}\nFavorite for {{ $.notification.resource.turbot.title }} deleted {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- elif $.notification.notificationType === \"watch_deleted\" -%}\n{%- set notificationTitle -%}\nWatch for {{ $.notification.resource.turbot.title }} deleted by {{ $.notification.actor.identity.turbot.title }}\n{%- endset -%}\n\n{%- endif -%}\n[{{ tenant.name }}] {{ notificationTitle }}\n"}
Turbot > Firehose > AWS SNS > Notification Template > Policy Setting Created
Template for policy setting created events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplatePolicySettingCreated
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n title\n turbot {\n title\n id\n }\n }\n }\n turbot {\n id\n type\n createTimestamp\n }\n policySetting {\n precedence\n value\n valueSource\n validToTimestamp\n note\n template\n templateInput\n type {\n title\n uri\n readOnly\n secret\n turbot {\n id\n }\n trunk { title }\n }\n resource {\n title\n turbot {\n id\n }\n }\n turbot {\n id\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Policy Setting Deleted
Template for policy setting deleted events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplatePolicySettingDeleted
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "\n{#\n For old policy setting's type, this will fail if the mod is removed, however we can take the optimistic view of most of the time we will\n just remove the policy setting rather than removing the mod.\n#}\n\n{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n title\n turbot {\n title\n id\n }\n }\n }\n turbot {\n id\n type\n createTimestamp\n }\n oldPolicySetting {\n type {\n title\n uri\n readOnly\n secret\n turbot {\n id\n }\n trunk {\n title\n }\n }\n resource {\n title\n turbot {\n id\n }\n }\n turbot {\n id\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Policy Setting Updated
Template for policy setting updated events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplatePolicySettingUpdated
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n title\n turbot {\n title\n id\n }\n }\n }\n turbot {\n id\n type\n createTimestamp\n }\n oldPolicySetting {\n precedence\n valueSource\n validToTimestamp\n note\n template\n templateInput\n }\n policySetting {\n precedence\n valueSource\n validToTimestamp\n note\n template\n templateInput\n type {\n title\n uri\n readOnly\n secret\n turbot {\n id\n }\n trunk { title }\n }\n resource {\n title\n turbot {\n id\n }\n }\n turbot {\n id\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Policy Value Updated
Template for policy value updated events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplatePolicyValueUpdated
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n identity {\n picture\n title\n turbot {\n title\n id\n }\n }\n }\n turbot {\n id\n type\n createTimestamp\n }\n oldPolicyValue {\n precedence\n value\n state\n turbot {\n id\n createTimestamp\n updateTimestamp\n }\n }\n policyValue {\n precedence\n value\n type {\n uri\n title\n turbot {\n id\n }\n trunk { title }\n }\n resource {\n title\n turbot {\n id\n }\n }\n turbot {\n id\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Resource Created
Template for resource created events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateResourceCreated
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n alternatePersona\n identity {\n picture\n turbot {\n title\n id\n }\n title\n }\n }\n turbot {\n id\n createTimestamp\n }\n resource {\n object\n type {\n title\n trunk {\n title\n }\n }\n turbot {\n title\n id\n createTimestamp\n updateTimestamp\n }\n trunk { title }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Resource Deleted
Template for resource deleted events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateResourceDeleted
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n alternatePersona\n identity {\n picture\n title\n turbot {\n title\n id\n }\n }\n }\n turbot {\n id\n createTimestamp\n }\n oldResource {\n object\n type {\n trunk {\n title\n }\n }\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Template > Resource Updated
Template for resource updated events sent via SNS.
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateResourceUpdated
{ "type": "string", "x-schema-form": { "type": "code", "language": "hcl" }, "default": "{% input %}\nquery notificationGet($id: ID!) {\n notification(id: $id) {\n notificationType\n actor {\n alternatePersona\n identity {\n picture\n title\n turbot {\n title\n id\n }\n }\n }\n turbot {\n id\n createTimestamp\n }\n resource {\n object\n trunk { title }\n type {\n trunk { title }\n }\n }\n oldResource {\n object\n }\n }\n}\n{% endinput %}\n\nnotification: {{ $.notification | dump | safe }}"}
Turbot > Firehose > AWS SNS > Notification Topic
The ARN of an AWS SNS Topic to which to send notifications.
To send notifications, you must also specify an AWS key pair that
has permissions to publish to this topic
in the Notification Access Key and Notification Secret Key policies,
and create a watch that specifies the SNS Firehose action
("action": "tmod:@turbot/firehose-aws-sns#/action/types/router")
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTopic
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:sns:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:[a-zA-Z0-9_-]{1,256}$", "tests": [ { "input": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic" }, { "input": "arn:aws-us-gov:sns:us-gov-east-1:123456789012:my_corporate_topic" }, { "input": "arn:aws:sns:uses-east-1:123456789012:test01" }, { "description": "invalid - malformed region name", "input": "arn:aws:sns:uses-east-1:123456789012:my_corporate_topic", "expected": false } ]}