Definitions for @turbot/aws-apigateway

api

{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/apiId"
},
"name": {
"$ref": "#/definitions/apiName"
},
"createdDate": {
"$ref": "#/definitions/apiCreatedDate"
},
"tags": {
"type": "object"
},
"description": {
"type": "string"
},
"version": {
"type": "string"
},
"warnings": {
"type": "array"
},
"binaryMediaTypes": {
"type": "array"
},
"minimumCompressionSize": {
"type": "integer"
},
"apiKeySource": {
"type": "string"
},
"endpointConfiguration": {
"type": "object"
},
"policy": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/apiAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/apiName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "All properties given",
"input": {
"id": "m735yglan9",
"name": "myfirstapi",
"turbot": {
"akas": [
"arn:aws:apigateway:us-east-1::/restapis/m735yglan9"
],
"title": "myfirstapi",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/api",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}(-gov)?-[a-z]+-[0-9]::/restapis/[a-z0-9]+$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:apigateway:us-east-1::/restapis/m735yglan9"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:apigateway:us-east-1::/apisgatewayv2s/m735yglan9",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:apigateway:us-eas::/apis/m735yglan9",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiAka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiCreatedDate

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiCreatedDate",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiGateway

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"name": {
"const": "API Gateway"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/apiGatewayAka"
}
},
"title": {
"const": "API Gateway"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"required": [
"name",
"turbot"
],
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"name": "API Gateway",
"turbot": {
"akas": [
"arn:aws:apigateway:us-east-1:123456789012"
],
"title": "API Gateway",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - service provider name is prefixed",
"input": {
"name": "AWS API Gateway",
"turbot": {
"akas": [
"arn:aws:apigateway:us-east-1:123456789012"
],
"title": "API Gateway",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiGateway",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiGatewayAka

{
"type": "string",
"pattern": "^arn:aws:apigateway:[a-z]{2}-[a-z]+-[0-9]{1}:[0-9]{12}$",
"tests": [
{
"description": "Base",
"input": "arn:aws:apigateway:us-east-1:123456789012"
},
{
"description": "Invalid Service Name in the AKA",
"input": "arn:aws:ds11:us-east-1:123456789012",
"expected": false
},
{
"description": "Invalid Region Name in the AKA",
"input": "arn:aws:apigateway:us-easted-441:123456789012",
"expected": false
},
{
"description": "Invalid Account Id in the AKA",
"input": "arn:aws:apigateway:us-east-1:12345678905512",
"expected": false
},
{
"description": "Invalid AKA pattern",
"input": "apiGateway|us-east-1:123456789012",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiGatewayAka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiGatewayResource

{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/id"
},
"parentId": {
"type": "string"
},
"pathPart": {
"type": "string"
},
"path": {
"type": "string"
},
"resourceMethods": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/resourceAka"
}
},
"title": {
"$ref": "#/definitions/id"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "All properties given",
"input": {
"id": "m735yglan9",
"turbot": {
"akas": [
"arn:aws:apigateway:us-east-1::/restapis/m735yglan9/resources/m735yglaf7"
],
"title": "m735yglan9",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiGatewayResource",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiId

{
"type": "string",
"pattern": "^[a-z0-9A-Z]+$",
"tests": [
{
"description": "Valid case",
"input": "0jpwgjxvdc"
},
{
"description": "Invalid",
"input": "0jpwgjx&vdc",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiId",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiKey

{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/apiId"
},
"value": {
"type": "string"
},
"name": {
"type": "string"
},
"customerId": {
"type": "string"
},
"description": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"createdDate": {
"type": "string"
},
"lastUpdatedDate": {
"type": "string"
},
"stageKeys": {
"type": "array"
},
"tags": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/apiKeyAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/apiId"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid properties",
"input": {
"name": "test-key01",
"id": "0jpwgjxvdc",
"turbot": {
"akas": [
"arn:aws:apigateway:us-west-2::/apikeys/0jpwgjxvdc"
],
"title": "0jpwgjxvdc",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-2"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiKey",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiKeyAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}(-gov)?-[a-z]+-[0-9]::/apikeys/[a-z0-9A-Z]+$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:apigateway:us-west-2::/apikeys/0jpwgjxvdc"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:apigateway:us-east-1::/apisgatewayv2s/m735yglan9",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiKeyAka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiName

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiName",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiV2

{
"type": "object",
"properties": {
"ApiId": {
"$ref": "#/definitions/apiV2Id"
},
"ApiEndpoint": {
"type": "string"
},
"ApiKeySelectionExpression": {
"type": "string"
},
"Name": {
"$ref": "#/definitions/apiV2Name"
},
"CreatedDate": {
"$ref": "#/definitions/apiV2CreatedDate"
},
"Tags": {
"$ref": "aws#/definitions/tagsMap"
},
"Description": {
"type": "string"
},
"DisableSchemaValidation": {
"type": "boolean"
},
"ImportInfo": {
"type": "array"
},
"ProtocolType": {
"type": "string"
},
"Version": {
"type": "string"
},
"Warnings": {
"type": "array"
},
"CorsConfiguration": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/apiV2Aka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/apiV2Name"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "All properties given",
"input": {
"ApiId": "m735yglan9",
"Name": "myfirstapi",
"ApiEndpoint": "wss://iz4pdpl1ig.execute-api.us-west-2.amazonaws.com",
"ApiKeySelectionExpression": "$request.header.x-api-key",
"ProtocolType": "WEBSOCKET",
"RouteSelectionExpression": "Expression1",
"CreatedDate": "2019-11-14T12:16:00Z",
"Tags": {
"test": "tested"
},
"turbot": {
"akas": [
"arn:aws:apigateway:us-east-1::/apis/m735yglan9"
],
"tags": {
"test": "tested"
},
"title": "myfirstapi",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiV2",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiV2Aka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}-[a-z]+-[0-9]::/apis/[a-z0-9]+$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:apigateway:us-east-1::/apis/m735yglan9"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:apigatewayv2:us-east-1::/apisgatewayv2s/m735yglan9",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:apigatewayv2:us-eas::/apis/m735yglan9",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiV2Aka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiV2CreatedDate

{
"type": "string",
"format": "date-time",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
"tests": [
{
"input": "2019-11-14T12:16:00Z"
},
{
"description": "Invalid - CreatedDate",
"input": "Micro",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiV2CreatedDate",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiV2Id

{
"type": "string",
"pattern": "^[a-z0-9]+$",
"tests": [
{
"description": "Valid - API Id",
"input": "m735yglan9"
},
{
"description": "Invalid - Only lowercase and numbers are allowed in the API Id",
"input": "M735yglan9_k",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiV2Id",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

apiV2Name

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/apiV2Name",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

authorizer

{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"$ref": "#/definitions/name"
},
"providerARNs": {
"type": "array"
},
"authType": {
"type": "string"
},
"authorizerUri": {
"type": "string"
},
"authorizerCredentials": {
"type": "string"
},
"identitySource": {
"type": "string"
},
"identityValidationExpression": {
"type": "string"
},
"authorizerResultTtlInSeconds": {
"type": "integer"
},
"restApiId": {
"$ref": "#/definitions/apiId"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/authorizerAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/name"
},
"custom": {
"type": "object",
"properties": {
"restApiId": {
"type": "string"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "All properties given",
"input": {
"restApiId": "m735yglan9",
"name": "myfirstapi",
"id": "aiuduj",
"turbot": {
"akas": [
"arn:aws:apigateway:us-west-2::/restapis/m735yglan9/authorizers/aiuduj"
],
"title": "anisa",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-west-2"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/authorizer",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

authorizerAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}(-gov)?-[a-z]+-[0-9]:(?:[0-9]{12})?:/restapis/[a-z0-9]{1,64}/authorizer(s)?/[a-z0-9]{6}$",
"tests": [
{
"description": "Valid case without account id",
"input": "arn:aws:apigateway:us-west-2::/restapis/m735yglan9/authorizers/aiuduj"
},
{
"description": "Valid case with account id",
"input": "arn:aws:apigateway:us-west-2:986325076436:/restapis/m735yglan9/authorizer/aiuduj"
},
{
"description": "Invalid case",
"input": "arn:aws:apigateway_12dfsr:us-west-2:123456789012:apis/m735yglan9/authorizer/aiuduj",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/authorizerAka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

authorizerV2

{
"type": "object",
"properties": {
"AuthorizerCredentialsArn": {
"type": "string"
},
"AuthorizerId": {
"$ref": "#/definitions/authorizerV2Id"
},
"AuthorizerResultTtlInSeconds": {
"type": "integer"
},
"AuthorizerType": {
"type": "string"
},
"AuthorizerUri": {
"type": "string"
},
"IdentitySource": {
"type": "array"
},
"IdentityValidationExpression": {
"type": "string"
},
"JwtConfiguration": {
"type": "object"
},
"Name": {
"$ref": "#/definitions/authorizerV2Name"
},
"ApiId": {
"$ref": "#/definitions/apiId"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/authorizerV2Aka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/authorizerV2Name"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid case",
"input": {
"ApiId": "m735yglan9",
"AuthorizerId": "aiuduj",
"turbot": {
"akas": [
"arn:aws:apigateway:us-west-2::/apis/m735yglan9/authorizers/aiuduj"
],
"title": "ved",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/authorizerV2",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

authorizerV2Aka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}(-gov)?-[a-z]+-[0-9]::/apis/[a-z0-9]{1,64}/authorizers/[a-z0-9]{6}$",
"tests": [
{
"description": "Valid Base Case",
"input": "arn:aws:apigateway:us-west-2::/apis/m735yglan9/authorizers/aiuduj"
},
{
"description": "Invalid pattern",
"input": "arn:aws:apigateway_12dfsr:us-west-2:123456789012:apis/m735yglan9/authorizers/aiuduj",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/authorizerV2Aka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

authorizerV2Id

{
"type": "string",
"pattern": "^[a-z0-9]{6}$",
"tests": [
{
"description": "Valid Base Case",
"input": "cf17ov"
},
{
"description": "Invalid for Upper Case",
"input": "aiuHp12",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/authorizerV2Id",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

authorizerV2Name

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/authorizerV2Name",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

domainNameV2

{
"type": "object",
"properties": {
"ApiMappingSelectionExpression": {
"type": "string"
},
"DomainName": {
"$ref": "#/definitions/name"
},
"DomainNameConfigurations": {
"type": "array"
},
"Tags": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/domainNameV2Aka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/name"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid case",
"input": {
"DomainName": "my-api.example.com",
"turbot": {
"akas": [
"arn:aws:apigateway:us-west-2::/domainnames/my-api.example.com"
],
"title": "my-api.example.com",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/domainNameV2",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

domainNameV2Aka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}(-gov)?-[a-z]+-[0-9]::/domainnames/[a-z0-9-.]+$",
"tests": [
{
"description": "Valid Base Case",
"input": "arn:aws:apigateway:us-west-2::/domainnames/my-api.example.com"
},
{
"description": "Invalid case",
"input": "arn:aws:apiGateway_12435:us-west-2:123456789012:domainName/my-api.example.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/domainNameV2Aka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

id

{
"type": "string",
"pattern": "^[a-z0-9]+$",
"tests": [
{
"description": "Valid - Resource Id",
"input": "m735yglan9"
},
{
"description": "Invalid - Only lowercase and numbers are allowed in the API Id",
"input": "M735yglan9_k",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/id",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

integrationV2

{
"type": "object",
"properties": {
"ConnectionId": {
"type": "string"
},
"ConnectionType": {
"type": "string"
},
"ApiGatewayManaged": {
"type": "boolean"
},
"IntegrationId": {
"type": "string"
},
"ContentHandlingStrategy": {
"type": "string"
},
"CredentialsArn": {
"type": "string"
},
"Description": {
"type": "string"
},
"IntegrationMethod": {
"type": "string"
},
"IntegrationResponseSelectionExpression": {
"type": "string"
},
"IntegrationType": {
"type": "string"
},
"IntegrationUri": {
"type": "string"
},
"PassthroughBehavior": {
"type": "string"
},
"RequestParameters": {
"type": "object"
},
"RequestTemplates": {
"type": "object"
},
"TemplateSelectionExpression": {
"type": "string"
},
"TimeoutInMillis": {
"type": "integer"
},
"TlsConfig": {
"type": "object",
"properties": {
"ServerNameToVerify": {
"type": "string"
}
}
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/integrationV2Aka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/name"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid case",
"input": {
"IntegrationId": "5dqkg7q",
"turbot": {
"akas": [
"arn:aws:apigateway:us-west-2::/apis/m735yglan9/integrations/5dqkg7q"
],
"title": "5dqkg7q",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/integrationV2",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

integrationV2Aka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}(-gov)?-[a-z]+-[0-9]::/apis/[a-z0-9]+/integrations/[a-z0-9]+$",
"tests": [
{
"description": "Valid Base Case",
"input": "arn:aws:apigateway:us-west-2::/apis/m735yglan9/integrations/5dqkg7q"
},
{
"description": "Invalid case",
"input": "arn:aws:apiGateway_12435:us-west-2:123456789012:integration/5dqkg7q",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/integrationV2Aka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

name

{
"type": "string",
"pattern": "^[a-z0-9-.]+$",
"tests": [
{
"description": "Valid Base Case",
"input": "my-api.example.com"
},
{
"description": "Invalid format",
"input": "my-api.example@com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/name",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

resourceAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}(-gov)?-[a-z]+-[0-9]::/restapis/[a-z0-9]+/resources/[a-z0-9]+$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:apigateway:us-east-1::/restapis/m735yglan9/resources/m735yglaf7"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:apigateway:us-east-1::/apisgatewayv2s/m735yglan9",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:apigateway:us-eas::/apis/m735yglan9",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/resourceAka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

stage

{
"type": "object",
"properties": {
"stageName": {
"$ref": "#/definitions/stageName"
},
"id": {
"$ref": "#/definitions/apiId"
},
"tags": {
"type": "object"
},
"deploymentId": {
"type": "string"
},
"clientCertificateId": {
"type": "string"
},
"description": {
"type": "string"
},
"cacheClusterEnabled": {
"type": "boolean"
},
"cacheClusterSize": {
"type": "string"
},
"cacheClusterStatus": {
"type": "string"
},
"methodSettings": {
"type": "object"
},
"variables": {
"type": "object"
},
"documentationVersion": {
"type": "string"
},
"accessLogSettings": {
"type": "object"
},
"canarySettings": {
"type": "object"
},
"webAclArn": {
"type": "string"
},
"createdDate": {
"type": "string"
},
"lastUpdatedDate": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/stageAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/stageName"
},
"custom": {
"type": "object",
"properties": {
"restApiId": {
"$ref": "#/definitions/apiId"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "All properties given",
"input": {
"id": "m735yglan9",
"stageName": "ved",
"turbot": {
"akas": [
"arn:aws:apigateway:us-east-1::/restapis/m735yglan9/stages/ved"
],
"tags": {
"testKey": "testValue"
},
"title": "ved",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/stage",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

stageAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}(-gov)?-[a-z]+-[0-9]::/restapis/[a-z0-9]{1,64}/stages/[A-Za-z0-9-_]{1,128}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:apigateway:us-east-1::/restapis/m735yglan9/stages/ved"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:apigateway:us-east-1::/apisgatewayv2s/m735yglan9",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/stageAka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

stageName

{
"type": "string",
"pattern": "^[A-Za-z0-9-_]{1,128}",
"tests": [
{
"description": "Valid - Base case",
"input": "ved"
},
{
"description": "Invalid - using slash and other special characters",
"input": "ved@123/"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/stageName",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

stageV2

{
"type": "object",
"properties": {
"StageName": {
"$ref": "#/definitions/stageV2Name"
},
"ApiId": {
"$ref": "#/definitions/apiId"
},
"AccessLogSettings": {
"type": "object"
},
"ApiGatewayManaged": {
"type": "boolean"
},
"AutoDeploy": {
"type": "boolean"
},
"ClientCertificateId": {
"type": "string"
},
"CreatedDate": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"DefaultRouteSettings": {
"type": "object"
},
"DeploymentId": {
"type": "string"
},
"Description": {
"type": "string"
},
"LastDeploymentStatusMessage": {
"type": "string"
},
"LastUpdatedDate": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"RouteSettings": {
"type": "object"
},
"StageVariables": {
"type": "object"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/stageV2Aka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/stageV2Name"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "All properties given",
"input": {
"ApiId": "m735yglan9",
"CreatedDate": "2019-11-25T06:30:17.000Z",
"DefaultRouteSettings": {
"DataTraceEnabled": false,
"DetailedMetricsEnabled": false,
"LoggingLevel": "OFF",
"ThrottlingBurstLimit": 500,
"ThrottlingRateLimit": 1000
},
"DeploymentId": "p4kwtx",
"LastUpdatedDate": "2019-11-25T10:17:16.000Z",
"StageName": "ved",
"StageVariables": {},
"Tags": [
{
"Key": "testKey",
"Value": "testValue"
}
],
"turbot": {
"akas": [
"arn:aws:apigatewayv2:us-east-1::/apis/m735yglan9/stages/ved"
],
"tags": {
"testKey": "testValue"
},
"title": "ved",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/stageV2",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

stageV2Aka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigatewayv2:[a-z]{2}-[a-z]+-[0-9]::/apis/[a-z0-9]{1,64}/stages/[A-Za-z0-9-_]{1,128}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:apigatewayv2:us-east-1::/apis/m735yglan9/stages/ved"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:apigatewayv2:us-east-1::/apisgatewayv2s/m735yglan9",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/stageV2Aka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

stageV2Name

{
"type": "string",
"pattern": "^[A-Za-z0-9-_]{1,128}",
"tests": [
{
"description": "Valid - Base case",
"input": "ved"
},
{
"description": "Invalid - using slash and other special characters",
"input": "ved@123/"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/stageV2Name",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

usagePlan

{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/usagePlanId"
},
"name": {
"$ref": "#/definitions/usagePlanName"
},
"apiStages": {
"type": "array"
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"throttle": {
"type": "object"
},
"quota": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/usagePlanAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/usagePlanName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "All properties given",
"input": {
"id": "m735yglan9",
"Name": "testplan",
"apiStages": [],
"tags": {
"jack": "coffeebeans"
},
"turbot": {
"akas": [
"arn:aws:apigateway:us-east-1::/usageplans/m735yglan9"
],
"tags": {
"jack": "coffeebeans"
},
"title": "testplan",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/usagePlan",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

usagePlanAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:apigateway:[a-z]{2}(-gov)?-[a-z]+-[0-9]::/usageplans/[a-zA-Z0-9]+$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:apigateway:us-east-1::/usageplans/m735yglan9"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:apigateway:us-east-1::/apisgatewayv2s/m735yglan9",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/usagePlanAka",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

usagePlanId

{
"type": "string",
"pattern": "^[a-z0-9]+$",
"tests": [
{
"description": "Valid - API Id",
"input": "m735yglan9"
},
{
"description": "Invalid - Only lowercase and numbers are allowed in the API Id",
"input": "M735yglan9_k",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/usagePlanId",
"modUri": "tmod:@turbot/aws-apigateway"
}
}

usagePlanName

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-apigateway#/definitions/usagePlanName",
"modUri": "tmod:@turbot/aws-apigateway"
}
}