Amazon SNS channel binding
Contains information about the channel representation in Amazon SNS.
We represent an AsyncAPI Channel with a Topic in SNS. The bindings here allow definition of a topic within SNS. We provide properties on the binding that allow creation of a topic in infrastructure-as-code scenarios.
WARNING
Be aware that although the binding offers that flexibility, it may be more maintainable to specify properties such as SNS Access Control Policy outside AsyncAPI.
SNS supports many optional properties.
To mark a channel as SNS, but use default values for the channel properties, just use an empty object {}
.
Structure
Examples
{
"name": "my-sns-topic",
"policy": {
"statements": [
{
"effect": "Allow",
"principal": "*",
"action": "SNS:Publish"
}
]
}
}
Changelog
Added
policy.statements
.resource
The resource(s) that this policy applies to.
{
"resource": {
"description": "The resource(s) that this policy applies to.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
}
policy.statements
.condition
Specific circumstances under which the policy grants permission
{
"condition": {
"description": "Specific circumstances under which the policy grants permission",
"type": "object",
"patternProperties": {
".*": {
"type": "object",
"patternProperties": {
".*": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
}
}
}
}
}
Changed
policy.statements
.principal
The AWS account(s) or resource ARN(s) that this statement applies to.
{
"principal": {
"description": "The AWS account(s) or resource ARN(s) that this statement applies to.",
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"AWS": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
},
"required": [
"AWS"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"Service": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
},
"required": [
"Service"
],
"additionalProperties": false
}
]
}
}