Policy types for @turbot/firehose-aws-sns

Turbot > Firehose > AWS SNS

AWS SNS

URI
tmod:@turbot/firehose-aws-sns#/policy/types/awsSns
Category
Targets

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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationAccessKey
Category
Targets
Schema
{
"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

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationSecretKey
Category
Targets
Schema
{
"type": "string"
}

Turbot > Firehose > AWS SNS > Notification Template

Base type for notification templates.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplate
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateActionNotify
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateActiveGrantsCreated
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateActiveGrantsDeleted
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateControlNotify
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateControlUpdated
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateFavoriteCreated
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateFavoriteDeleted
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateGrantCreated
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateGrantDeleted
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateSubject
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateSubjectDeleted
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplatePolicySettingCreated
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplatePolicySettingDeleted
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplatePolicySettingUpdated
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplatePolicyValueUpdated
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateResourceCreated
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateResourceDeleted
Category
Targets
Schema
{
"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.

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTemplateResourceUpdated
Category
Targets
Schema
{
"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")

URI
tmod:@turbot/firehose-aws-sns#/policy/types/notificationTopic
Category
Targets
Schema
{
"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
}
]
}