Definitions for @turbot/aws-sns

sns

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"properties": {
"name": {
"const": "SNS"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/snsAka"
}
},
"title": {
"const": "SNS"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "sns",
"input": {
"name": "SNS",
"turbot": {
"akas": [
"arn:aws:sns:us-east-1:123456789012"
],
"title": "SNS",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - spaces not allowed",
"input": {
"name": "S N S",
"turbot": {
"akas": [
"arn:aws:sns:us-east-1:123456789012"
],
"title": "SNS",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Name missing",
"input": {
"turbot": {
"akas": [
"arn:aws:sns:us-east-1:123456789012"
],
"title": "SNS",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/sns",
"modUri": "tmod:@turbot/aws-sns"
}
}

snsAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:sns:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}",
"tests": [
{
"description": "base",
"input": "arn:aws:sns:us-east-1:123123123123"
},
{
"description": "invalid service name",
"input": "arn:aws:datasync111:us-east-1:123123123123",
"expected": false
},
{
"description": "invalid region name",
"input": "arn:aws:sns:us-eastdk-74:123123123123",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/snsAka",
"modUri": "tmod:@turbot/aws-sns"
}
}

subscription

{
"type": "object",
"properties": {
"SubscriptionArn": {
"$ref": "#/definitions/subscriptionAka"
},
"TopicArn": {
"$ref": "#/definitions/topicArn"
},
"PendingConfirmation": {
"type": "boolean"
},
"RawMessageDelivery": {
"type": "boolean"
},
"ConfirmationWasAuthenticated": {
"type": "boolean"
},
"EffectiveDeliveryPolicy": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/subscriptionAka"
}
},
"title": {
"$ref": "#/definitions/subscriptionId"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"SubscriptionArn": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic:0cdc057f-dade-446e-b838-54b33cf98175",
"TopicArn": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic",
"turbot": {
"akas": [
"arn:aws:sns:us-east-1:123456789012:my_corporate_topic:0cdc057f-dade-446e-b838-54b33cf98175"
],
"title": "0cdc057f-dade-446e-b838-54b33cf98175",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/subscription",
"modUri": "tmod:@turbot/aws-sns"
}
}

subscriptionAka

{
"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}:[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic:0cdc057f-dade-446e-b838-54b33cf98175"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic:subscription/0cdc057f-dade-446e-b838-54b33cf98175",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:sns:uses-east-1:123456789012:my_corporate_topic:0cdc057f-dade-446e-b838-54b33cf98175",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:sns:us-east-1:12345678901234:my_corporate_topic:0cdc057f-dade-446e-b838-54b33cf98175",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/subscriptionAka",
"modUri": "tmod:@turbot/aws-sns"
}
}

subscriptionId

{
"type": "string",
"pattern": "^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$",
"tests": [
{
"input": "0cdc057f-dade-446e-b838-54b33cf98175"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/subscriptionId",
"modUri": "tmod:@turbot/aws-sns"
}
}

topic

{
"type": "object",
"properties": {
"TopicArn": {
"$ref": "#/definitions/topicArn"
},
"DisplayName": {
"type": "string"
},
"Owner": {
"type": "string"
},
"SubscriptionsConfirmed": {
"type": "integer"
},
"SubscriptionsDeleted": {
"type": "integer"
},
"SubscriptionsPending": {
"type": "integer"
},
"EffectiveDeliveryPolicy": {
"type": "object"
},
"FifoTopic": {
"type": "boolean"
},
"Policy": {
"type": "object"
},
"DeliveryPolicy": {
"type": "object"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/topicAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/topicName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"topicName": {
"$ref": "#/definitions/topicName"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Tags": [
{
"Key": "tag1",
"Value": "val1"
}
],
"Owner": "986325076436",
"TopicArn": "arn:aws:sns:us-east-2:986325076436:mytpoictest",
"DisplayName": "sameas",
"SubscriptionsDeleted": "1",
"SubscriptionsPending": "1",
"SubscriptionsConfirmed": "0",
"EffectiveDeliveryPolicy": {
"http": {
"defaultHealthyRetryPolicy": {
"numRetries": 3,
"maxDelayTarget": 20,
"minDelayTarget": 20,
"backoffFunction": "linear",
"numNoDelayRetries": 0,
"numMaxDelayRetries": 0,
"numMinDelayRetries": 0
},
"disableSubscriptionOverrides": false
}
},
"turbot": {
"akas": [
"arn:aws:sns:us-east-1:123456789012:my_corporate_topic"
],
"title": "topic",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"topicName": "topic"
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/topic",
"modUri": "tmod:@turbot/aws-sns"
}
}

topicAka

{
"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": [
{
"description": "Valid - Base case",
"input": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:sns:us-east-1:123456789012:topic$/my_corporate_topic",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:sns:uses-east-1:123456789012:my_corporate_topic",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:sns:us-east-1:12345678901234:my_corporate_topic",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/topicAka",
"modUri": "tmod:@turbot/aws-sns"
}
}

topicArn

{
"type": "string",
"minLength": 37,
"maxLength": 1024,
"tests": [
{
"description": "arn with underscores",
"input": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic"
},
{
"description": "invalid - too short",
"input": "foo",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/topicArn",
"modUri": "tmod:@turbot/aws-sns"
}
}

topicName

{
"type": "string",
"pattern": "^[a-zA-Z0-9_-]{1,256}$",
"tests": [
{
"input": "foo"
},
{
"input": "abcde"
},
{
"input": "TestThe-Kitchen_Sink"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/topicName",
"modUri": "tmod:@turbot/aws-sns"
}
}

topicPolicy

{
"type": "object",
"properties": {
"TopicName": {
"$ref": "#/definitions/topicName"
},
"TopicArn": {
"$ref": "#/definitions/topicArn"
},
"DisplayName": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/topicPolicyAka"
}
},
"title": {
"$ref": "#/definitions/topicName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"required": [
"TopicArn",
"turbot"
],
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"TopicName": "my_corporate_topic",
"TopicArn": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic",
"turbot": {
"akas": [
"arn:aws:sns:us-east-1:123456789012:my_corporate_topic:policy"
],
"title": "topic",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing TopicArn",
"input": {
"TopicName": "topic",
"turbot": {
"akas": [
"arn:aws:sns:us-east-1:123456789012:my_corporate_topic:policy"
],
"title": "topic",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Missing TopicName",
"input": {
"TopicArn": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic",
"turbot": {
"akas": [
"arn:aws:sns:us-east-1:123456789012:my_corporate_topic"
],
"title": "topic",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Missing turbot data",
"input": {
"TopicArn": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/topicPolicy",
"modUri": "tmod:@turbot/aws-sns"
}
}

topicPolicyAka

{
"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}:policy$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic:policy"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:sns:us-east-1:123456789012:topic$/my_corporate_topic:policy",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:sns:uses-east-1:123456789012:my_corporate_topic:policy",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:sns:us-east-1:12345678901234:my_corporate_topic:policy",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-sns#/definitions/topicPolicyAka",
"modUri": "tmod:@turbot/aws-sns"
}
}