Definitions for @turbot/aws-vpc-internet

dnsEntrySet

{
"type": "object",
"properties": {
"DnsName": {
"$ref": "#/definitions/dnsName"
},
"HostedZoneId": {
"$ref": "#/definitions/hostedZoneId"
}
},
"tests": [
{
"description": null,
"input": {
"DnsName": "vpce-0f89a33420c1931d7-bluzidnv.elasticloadbalancing.us-east-1.vpce.amazonaws.com",
"HostedZoneId": "Z7HUB22UULQXV"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/dnsEntrySet",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

dnsName

{
"type": "string",
"maxLength": 1024,
"tests": [
{
"input": "hello@hi.com"
},
{
"input": "foo123"
},
{
"input": "images.example.com"
},
{
"input": "example-com-234567890.sa-east-1.elb.amazonaws.com"
},
{
"description": "cloudfront example",
"input": "d123rk29d0stfj.cloudfront.net"
},
{
"description": "Elastic Beanstalk example",
"input": "my-env.elasticbeanstalk.com"
},
{
"description": "ELB load balancer example",
"input": "example-com-987654321.us-west-2.elb.amazonaws.com"
},
{
"description": "Amazon S3 bucket example",
"input": "s3-website-us-east-2.amazonaws.com"
},
{
"description": "empty string",
"input": ""
},
{
"description": "null value",
"input": null
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/dnsName",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

DnsNameState

{
"type": "string",
"enum": [
"pendingVerification",
"verified",
"failed"
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/DnsNameState",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

egressOnlyInternetGateway

{
"type": "object",
"properties": {
"Attachments": {
"type": "array",
"items": {
"$ref": "#/definitions/internetGatewayAttachment"
}
},
"EgressOnlyInternetGatewayId": {
"$ref": "#/definitions/egressOnlyInternetGatewayId"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/egressOnlyInternetGatewayAka"
}
},
"title": {
"$ref": "#/definitions/egressOnlyInternetGatewayId"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"tests": [
{
"description": "Valid - all properties given",
"input": {
"EgressOnlyInternetGatewayId": "eigw-015e0e244e24dfe8a",
"Attachments": [
{
"State": "attached",
"VpcId": "vpc-0c62a468"
}
],
"turbot": {
"akas": [
"arn:aws:ec2:us-east-1:111122223333:egress-only-internet-gateway/eigw-08d667ede6bc7e503"
],
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - missing egressonlyinternetgatewayid property",
"input": {
"Attachments": [
{
"State": "attached",
"VpcId": "vpc-0c62a468"
}
],
"turbot": {
"akas": [
"arn:aws:ec2:us-east-1:111122223333:egress-only-internet-gateway/eigw-08d667ede6bc7e503"
],
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - missing turbot data property",
"input": {
"EgressOnlyInternetGatewayId": "eigw-015e0e244e24dfe8a",
"Attachments": [
{
"State": "attached",
"VpcId": "vpc-0c62a468"
}
]
}
},
{
"description": "Invalid - missing attachments property",
"input": {
"EgressOnlyInternetGatewayId": "eigw-015e0e244e24dfe8a",
"turbot": {
"akas": [
"arn:aws:ec2:us-east-1:111122223333:egress-only-internet-gateway/eigw-08d667ede6bc7e503"
],
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/egressOnlyInternetGateway",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

egressOnlyInternetGatewayAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:egress-only-internet-gateway/eigw-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ec2:us-east-1:111122223333:egress-only-internet-gateway/eigw-08d667ede6bc7e503"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ec2:us-east-1:111122223333:egress-only-internet-gateway/eigw-08d667ede6bc7e50323232",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ec2:usa-east-1:111122223333:egress-only-internet-gateway/eigw-08d667ede6bc7e503",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ec2:us-east-1:111122223333hhfh:egress-only-internet-gateway/eigw-08d667ede6bc7e503",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/egressOnlyInternetGatewayAka",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

egressOnlyInternetGatewayId

{
"type": "string",
"pattern": "^eigw-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"input": "eigw-0f89a33420c1931d7"
},
{
"input": "eigw-032a826a"
},
{
"description": "invalid - should always start with eigw",
"input": "id-b61106d4",
"expected": false
},
{
"description": "invalid - too short",
"input": "eigw-63a540",
"expected": false
},
{
"description": "invalid - too long",
"input": "eigw-63a5400a63a5400a63a5400a",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/egressOnlyInternetGatewayId",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

egressOnlyInternetGatewayState

{
"anyOf": [
{
"type": "string",
"enum": [
"attaching",
"attached",
"detaching",
"detached"
]
},
{
"type": "null"
}
],
"tests": [
{
"input": "attaching"
},
{
"description": "invalid - incorrect value provided",
"input": "Enabled",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/egressOnlyInternetGatewayState",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

elasticIp

{
"type": "object",
"properties": {
"AllocationId": {
"$ref": "#/definitions/elasticIpAllocationId"
},
"Domain": {
"$ref": "#/definitions/elasticIpDomain"
},
"PublicIp": {
"$ref": "aws#/definitions/ip4Address"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"InstanceId": {
"type": "string"
},
"AssociationId": {
"type": "string"
},
"NetworkInterfaceId": {
"type": "string"
},
"NetworkInterfaceOwnerId": {
"type": "string"
},
"PrivateIpAddress": {
"type": "string"
},
"PublicIpv4Pool": {
"type": "string"
},
"NetworkBorderGroup": {
"type": "string"
},
"CustomerOwnedIp": {
"type": "string"
},
"CustomerOwnedIpv4Pool": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/elasticIpAka"
}
},
"title": {
"$ref": "#/definitions/elasticIpAllocationId"
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"tests": [
{
"description": "Valid - All properties given",
"input": {
"AllocationId": "eipalloc-64d5890a",
"Domain": "vpc",
"PublicIp": "203.0.113.0",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
],
"turbot": {
"akas": [
"arn:aws:ec2:us-east-1:111122223333:eip/eipalloc-64d5890a"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - missing allocationId property",
"input": {
"Domain": "vpc",
"PublicIp": "203.0.113.0",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
],
"turbot": {
"akas": [
"arn:aws:ec2:us-east-1:111122223333:eip/eipalloc-64d5890a"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - missing turbot property",
"input": {
"AllocationId": "eipalloc-64d5890a",
"Domain": "vpc",
"PublicIp": "203.0.113.0",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/elasticIp",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

elasticIpAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:eip/eipalloc-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws-us-gov:ec2:us-gov-east-1:111122223333:eip/eipalloc-64d5890a"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ec2:us-east-1:111122223333:eip/eip-64d5890a",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ec2:usa-east-1:111122223333:eip/eipalloc-64d5890a",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ec2:us-east-1:111122223333hhfh:eip/eipalloc-0f89a33420c1931d7",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/elasticIpAka",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

elasticIpAllocationId

{
"type": "string",
"pattern": "^eipalloc-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"input": "eipalloc-0f89a33420c1931d7"
},
{
"input": "eipalloc-032a826a"
},
{
"description": "invalid - should always start with eipalloc",
"input": "id-b61106d4",
"expected": false
},
{
"description": "invalid - too short",
"input": "eipalloc-63a540",
"expected": false
},
{
"description": "invalid - too long",
"input": "eipalloc-63a5400a63a5400a63a5400a",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/elasticIpAllocationId",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

elasticIpDomain

{
"type": "string",
"enum": [
"vpc",
"standard"
],
"tests": [
{
"input": "vpc"
},
{
"input": "standard"
},
{
"description": "invalid - not in the list",
"input": "default",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/elasticIpDomain",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

elasticIpServiceNow

{
"defaultColumns": {
"account_id": {
"column": "enabled",
"path": "metadata.aws.accountId",
"label": "Account ID"
},
"allocation_id": {
"column": "enabled",
"label": "Allocation ID"
},
"arn": {
"column": "enabled",
"path": "turbot.akas[0]",
"label": "ARN"
},
"domain": {
"column": "enabled",
"label": "Domain"
},
"public_ip": {
"column": "enabled",
"label": "Public IP"
},
"region": {
"column": "enabled",
"label": "Region",
"path": "metadata.aws.regionName"
},
"tags": {
"column": "enabled",
"label": "Tags",
"type": "string",
"size": 1000
}
},
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/elasticIpServiceNow",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

failureCode

{
"type": "string",
"enum": [
"InsufficientFreeAddressesInSubnet",
"Gateway.NotAttached",
"InvalidAllocationID.NotFound",
"Resource.AlreadyAssociated",
"InternalError",
"InvalidSubnetID.NotFound"
],
"tests": [
{
"input": "InsufficientFreeAddressesInSubnet"
},
{
"input": "Gateway.NotAttached"
},
{
"description": "invalid - not in the list",
"input": "hello123",
"expected": false
},
{
"description": "invalid - upper case",
"input": "GATEWAY.NOTATTACHED",
"expected": false
},
{
"description": "invalid - array type provided",
"input": [
"InternalError",
"InvalidSubnetID.NotFound"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/failureCode",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

hostedZoneId

{
"type": "string",
"maxLength": 32,
"tests": [
{
"input": "hello@hi.com"
},
{
"input": "foo@123"
},
{
"input": "00123"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "empty string",
"input": ""
},
{
"description": "max length",
"input": "12345678901234567890123456789012"
},
{
"description": "route53 example",
"input": "Z7HUB22UULQXV"
},
{
"description": "cloudfront distribution example",
"input": "Z2FDTNDATAQYW2"
},
{
"description": "Elastic Beanstalk example",
"input": "ZL327KTPIQFUL"
},
{
"description": "ELB load balancer example",
"input": "ZZZZZZZZZZZ123X"
},
{
"description": "Amazon S3 example",
"input": "Z2O1EMRO9K5GLX"
},
{
"description": "invalid - too long",
"input": "1234567890123456789012345678901234567890123456789012345678",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/hostedZoneId",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

igwAttachmentState

{
"anyOf": [
{
"type": "string",
"enum": [
"available",
"attaching",
"attached",
"detaching",
"detached"
]
},
{
"type": "null"
}
],
"tests": [
{
"input": "available"
},
{
"description": "invalid - not in the list",
"input": "deleting",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/igwAttachmentState",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

internetGateway

{
"type": "object",
"properties": {
"Attachments": {
"type": "array",
"items": {
"$ref": "#/definitions/internetGatewayAttachmentSet"
}
},
"InternetGatewayId": {
"$ref": "#/definitions/internetGatewayId"
},
"OwnerId": {
"type": "string"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/internetGatewayIdAka"
}
},
"title": {
"$ref": "#/definitions/internetGatewayId"
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"vpcId": {
"$ref": "aws-vpc-core#/definitions/vpcId"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"InternetGatewayId": "igw-046d7966",
"Attachments": [
{
"State": "available",
"VpcId": "vpc-a01106c2"
}
],
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
],
"turbot": {
"title": "igw-046d7966",
"akas": [
"arn:aws:ec2:us-east-1:111122223333:internet-gateway/igw-046d7966"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - Missing InternetGatewayId",
"input": {
"Attachments": [
{
"State": "available",
"VpcId": "vpc-a01106c2"
}
],
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
],
"turbot": {
"title": "igw-046d7966",
"akas": [
"arn:aws:ec2:us-east-1:111122223333:internet-gateway/igw-046d7966"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - Missing turbot data",
"input": {
"InternetGatewayId": "igw-046d7966",
"Attachments": [
{
"State": "available",
"VpcId": "vpc-a01106c2"
}
],
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/internetGateway",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

internetGatewayAttachment

{
"type": "object",
"properties": {
"State": {
"$ref": "#/definitions/egressOnlyInternetGatewayState"
},
"VpcId": {
"$ref": "aws-vpc-core#/definitions/vpcId"
}
},
"tests": [
{
"description": "base case",
"input": {
"State": "attaching",
"VpcId": "vpc-0c62a468"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/internetGatewayAttachment",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

internetGatewayAttachmentSet

{
"type": "object",
"properties": {
"State": {
"$ref": "#/definitions/igwAttachmentState"
},
"VpcId": {
"$ref": "aws-vpc-core#/definitions/vpcId"
}
},
"tests": [
{
"description": "base case",
"input": {
"State": "available",
"VpcId": "vpc-a01106c2"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/internetGatewayAttachmentSet",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

internetGatewayId

{
"type": "string",
"pattern": "^igw-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"input": "igw-c0a643a9"
},
{
"input": "igw-046d7966"
},
{
"description": "invalid - should always start with igw",
"input": "id-b61106d4",
"expected": false
},
{
"description": "invalid - too short",
"input": "igw-63a540",
"expected": false
},
{
"description": "invalid - too long",
"input": "igw-63a5400a63a5400a63a5400a",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/internetGatewayId",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

internetGatewayIdAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:internet-gateway/igw-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ec2:us-east-1:111122223333:internet-gateway/igw-046d7966"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ec2:us-east-1:111122223333:internetgateway/igw-046d7966",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ec2:use-east-1:111122223333:internetgateway/igw-046d7966",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ec2:us-east-1:111122223333hhfh:internetgateway/igw-046d7966",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/internetGatewayIdAka",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

natGateway

{
"type": "object",
"properties": {
"CreateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"DeleteTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"FailureCode": {
"$ref": "#/definitions/failureCode"
},
"FailureMessage": {
"type": "string"
},
"NatGatewayAddresses": {
"type": "array",
"items": {
"$ref": "#/definitions/natGatewayAddressSet"
}
},
"ProvisionedBandwidth": {
"$ref": "#/definitions/provisionedBandwidth"
},
"NatGatewayId": {
"$ref": "aws-vpc-core#/definitions/natGatewayId"
},
"State": {
"$ref": "#/definitions/natGatewayState"
},
"SubnetId": {
"$ref": "aws-vpc-core#/definitions/subnetId"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"VpcId": {
"$ref": "aws-vpc-core#/definitions/vpcId"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/natGatewayAka"
}
},
"title": {
"$ref": "aws-vpc-core#/definitions/natGatewayId"
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"NatGatewayId": "nat-05dba92075d71c408",
"CreateTime": "2015-12-01T12:26:55.983Z",
"DeleteTime": "2015-12-01T13:26:55.983Z",
"NatGatewayAddresses": [
{
"PublicIp": "1.2.3.12",
"NetworkInterfaceId": "eni-71ec7621",
"AllocationId": "eipalloc-5d42583f",
"PrivateIp": "10.0.0.77"
}
],
"State": "available",
"SubnetId": "subnet-7f7e4d39",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
],
"VpcId": "vpc-11aa22bb",
"turbot": {
"title": "nat-05dba920",
"akas": [
"arn:aws:ec2:us-east-1:111122223333:natgateway/nat-05dba92075d71c408"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - Missing NatGatewayId",
"input": {
"CreateTime": "2015-12-01T12:26:55.983Z",
"DeleteTime": "2015-12-01T13:26:55.983Z",
"NatGatewayAddresses": [
{
"PublicIp": "1.2.3.12",
"NetworkInterfaceId": "eni-71ec7621",
"AllocationId": "eipalloc-5d42583f",
"PrivateIp": "10.0.0.77"
}
],
"State": "available",
"SubnetId": "subnet-7f7e4d39",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
],
"VpcId": "vpc-11aa22bb",
"turbot": {
"title": "nat-05dba920",
"akas": [
"arn:aws:ec2:us-east-1:111122223333:natgateway/nat-05dba92075d71c408"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - Missing turbot data",
"input": {
"NatGatewayId": "nat-05dba92075d71c408",
"CreateTime": "2015-12-01T12:26:55.983Z",
"DeleteTime": "2015-12-01T13:26:55.983Z",
"NatGatewayAddresses": [
{
"PublicIp": "1.2.3.12",
"NetworkInterfaceId": "eni-71ec7621",
"AllocationId": "eipalloc-5d42583f",
"PrivateIp": "10.0.0.77"
}
],
"State": "available",
"SubnetId": "subnet-7f7e4d39",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
],
"VpcId": "vpc-11aa22bb"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/natGateway",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

natGatewayAddressSet

{
"type": "object",
"properties": {
"AllocationId": {
"$ref": "#/definitions/natGatewayAllocationId"
},
"NetworkInterfaceId": {
"$ref": "aws-vpc-core#/definitions/networkInterfaceId"
},
"PrivateIp": {
"$ref": "aws#/definitions/ip4Address"
},
"PublicIp": {
"$ref": "aws#/definitions/ip4Address"
}
},
"tests": [
{
"description": "base case",
"input": {
"AllocationId": "eipalloc-89c620ec",
"NetworkInterfaceId": "eni-9dec76cd",
"PrivateIp": "10.0.0.149",
"PublicIp": "198.11.222.333"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/natGatewayAddressSet",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

natGatewayAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:natgateway/nat-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ec2:us-east-1:111122223333:natgateway/nat-05dba92075d71c408"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ec2:us-east-1:111122223333:natgateways/nat-05dba92075d71c408",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ec2:use-east-1:111122223333:natgateway/nat-05dba92075d71c408",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ec2:us-east-1:111122223333hhfh:natgateway/nat-05dba92075d71c408",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/natGatewayAka",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

natGatewayAllocationId

{
"type": "string",
"pattern": "^eipalloc-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"input": "eipalloc-89c620ec"
},
{
"input": "eipalloc-5d42583f"
},
{
"description": "invalid - should always start with eipalloc",
"input": "id-b61106d4",
"expected": false
},
{
"description": "invalid - too short",
"input": "eipalloc-63a540",
"expected": false
},
{
"description": "invalid - too long",
"input": "eipalloc-63a5400a63a5400a63a5400a",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/natGatewayAllocationId",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

natGatewayState

{
"type": "string",
"enum": [
"pending",
"failed",
"available",
"deleting",
"deleted"
],
"tests": [
{
"input": "failed"
},
{
"description": "invalid - not in the list",
"input": "hello123",
"expected": false
},
{
"description": "invalid - upper case",
"input": "AVAILABLE",
"expected": false
},
{
"description": "invalid - array type provided",
"input": [
"deleting",
"deleted"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/natGatewayState",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

provisionedBandwidth

{
"type": "object",
"properties": {
"ProvisionTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"Provisioned": {
"type": "string"
},
"RequestTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"Requested": {
"type": "string"
},
"Status": {
"type": "string"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/provisionedBandwidth",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

securityGroupIdentifier

{
"type": "object",
"properties": {
"GroupId": {
"$ref": "aws-vpc-core#/definitions/securityGroupId"
},
"GroupName": {
"$ref": "aws-vpc-core#/definitions/baseString"
}
},
"tests": [
{
"description": "base case",
"input": {
"GroupId": "sg-54e8bf31",
"GroupName": "default"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/securityGroupIdentifier",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

serviceName

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/serviceName",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

ServiceType

{
"type": "string",
"enum": [
"Interface",
"Gateway"
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/ServiceType",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

ServiceTypeDetail

{
"type": "object",
"properties": {
"ServiceType": {
"$ref": "#/definitions/ServiceType"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/ServiceTypeDetail",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

ServiceTypeDetailSet

{
"type": "array",
"items": {
"$ref": "#/definitions/ServiceTypeDetail"
},
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/ServiceTypeDetailSet",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

ValueStringList

{
"type": "array",
"items": {
"type": "string"
},
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/ValueStringList",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

vpcEndpoinServiceId

{
"type": "string",
"pattern": "^vpce-svc-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"input": "vpce-svc-0f89a33420c1931d7"
},
{
"input": "vpce-svc-0cc2500c28678b67c"
},
{
"description": "invalid - should always start with vpce",
"input": "id-b61106d4",
"expected": false
},
{
"description": "invalid - too short",
"input": "vpce-svc-63a540",
"expected": false
},
{
"description": "invalid - too long",
"input": "vpce-svc-63a5400a63a5400a63a5400a",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/vpcEndpoinServiceId",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

vpcEndpoint

{
"type": "object",
"properties": {
"DnsEntries": {
"type": "array",
"items": {
"$ref": "#/definitions/dnsEntrySet"
}
},
"CreationTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"Groups": {
"type": "array",
"items": {
"$ref": "#/definitions/securityGroupIdentifier"
}
},
"NetworkInterfaceIds": {
"type": "array",
"items": {
"$ref": "aws-vpc-core#/definitions/networkInterfaceId"
}
},
"PrivateDnsEnabled": {
"$ref": "aws-vpc-core#/definitions/genericBoolean"
},
"RouteTableIds": {
"type": "array",
"items": {
"$ref": "aws-vpc-core#/definitions/routeTableId"
}
},
"State": {
"$ref": "#/definitions/vpcEndpointState"
},
"SubnetIds": {
"type": "array",
"items": {
"$ref": "aws-vpc-core#/definitions/subnetId"
}
},
"VpcEndpointId": {
"$ref": "#/definitions/vpcEndpointId"
},
"VpcEndpointType": {
"$ref": "#/definitions/vpcEndpointType"
},
"VpcId": {
"$ref": "aws-vpc-core#/definitions/vpcId"
},
"ServiceName": {
"type": "string"
},
"PolicyDocument": {
"type": "object"
},
"RequesterManaged": {
"type": "boolean"
},
"OwnerId": {
"type": "string"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/vpcEndpointpAka"
}
},
"title": {
"$ref": "#/definitions/vpcEndpointId"
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"VpcEndpointId": "vpce-0f89a33420c1931d7",
"DnsEntries": [
{
"HostedZoneId": "Z7HUB22UULQXV",
"DnsName": "vpce-0f89a33420c1931d7-bluzidnv.elasticloadbalancing.us-east-1.vpce.amazonaws.com"
},
{
"HostedZoneId": "Z7HUB22UULQXV",
"DnsName": "vpce-0f89a33420c1931d7-bluzidnv-us-east-1b.elasticloadbalancing.us-east-1.vpce.amazonaws.com"
}
],
"Groups": [
{
"GroupName": "default",
"GroupId": "sg-54e8bf31"
}
],
"NetworkInterfaceIds": [
"eni-2ec2b084",
"eni-1b4a65cf"
],
"PrivateDnsEnabled": false,
"RouteTableIds": [
"rtb-3d560345"
],
"State": "available",
"SubnetIds": [
"subnet-d6fcaa8d",
"subnet-7b16de0c"
],
"VpcEndpointType": "Gateway",
"VpcId": "vpc-1a2b3c4d",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
],
"turbot": {
"tags": {
"Env": "Test",
"App": "Facebook"
},
"akas": [
"arn:aws:ec2:us-east-1:111122223333:vpc-endpoint/vpce-0e68e1e9fa64a34b3"
],
"title": "vpce-032a826a",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - Missing VpcEndpointId",
"input": {
"DnsEntries": [
{
"HostedZoneId": "Z7HUB22UULQXV",
"DnsName": "vpce-0f89a33420c1931d7-bluzidnv.elasticloadbalancing.us-east-1.vpce.amazonaws.com"
},
{
"HostedZoneId": "Z7HUB22UULQXV",
"DnsName": "vpce-0f89a33420c1931d7-bluzidnv-us-east-1b.elasticloadbalancing.us-east-1.vpce.amazonaws.com"
}
],
"Groups": [
{
"GroupName": "default",
"GroupId": "sg-54e8bf31"
}
],
"NetworkInterfaceIds": [
"eni-2ec2b084",
"eni-1b4a65cf"
],
"PrivateDnsEnabled": false,
"RouteTableIds": [
"rtb-3d560345"
],
"State": "available",
"SubnetIds": [
"subnet-d6fcaa8d",
"subnet-7b16de0c"
],
"VpcEndpointType": "Gateway",
"VpcId": "vpc-1a2b3c4d",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
],
"turbot": {
"tags": {
"Env": "Test",
"App": "Facebook"
},
"akas": [
"arn:aws:ec2:us-east-1:111122223333:vpc-endpoint/vpce-0e68e1e9fa64a34b3"
],
"title": "vpce-032a826a",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - Turbot data",
"input": {
"VpcEndpointId": "vpce-0f89a33420c1931d7",
"DnsEntries": [
{
"HostedZoneId": "Z7HUB22UULQXV",
"DnsName": "vpce-0f89a33420c1931d7-bluzidnv.elasticloadbalancing.us-east-1.vpce.amazonaws.com"
},
{
"HostedZoneId": "Z7HUB22UULQXV",
"DnsName": "vpce-0f89a33420c1931d7-bluzidnv-us-east-1b.elasticloadbalancing.us-east-1.vpce.amazonaws.com"
}
],
"Groups": [
{
"GroupName": "default",
"GroupId": "sg-54e8bf31"
}
],
"NetworkInterfaceIds": [
"eni-2ec2b084",
"eni-1b4a65cf"
],
"PrivateDnsEnabled": false,
"RouteTableIds": [
"rtb-3d560345"
],
"State": "available",
"SubnetIds": [
"subnet-d6fcaa8d",
"subnet-7b16de0c"
],
"VpcEndpointType": "Gateway",
"VpcId": "vpc-1a2b3c4d",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/vpcEndpoint",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

vpcEndpointId

{
"type": "string",
"pattern": "^vpce-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"input": "vpce-0f89a33420c1931d7"
},
{
"input": "vpce-032a826a"
},
{
"description": "invalid - should always start with vpce",
"input": "id-b61106d4",
"expected": false
},
{
"description": "invalid - too short",
"input": "vpce-63a540",
"expected": false
},
{
"description": "invalid - too long",
"input": "vpce-63a5400a63a5400a63a5400a",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/vpcEndpointId",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

vpcEndpointpAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:vpc-endpoint/vpce-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ec2:us-east-1:111122223333:vpc-endpoint/vpce-0e68e1e9fa64a34b3"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ec2:us-east-1:111122223333:vpcendpoint/vpce-0e68e1e9fa64a34b3",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ec2:use-east-1:111122223333:vpc-endpoint/vpce-0e68e1e9fa64a34b3",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ec2:us-east-1:111122223333hhfh:vpc-endpoint/vpce-0e68e1e9fa64a34b3",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/vpcEndpointpAka",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

vpcEndpointpServiceAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:vpc-endpoint-service/vpce-svc-[0-9a-f]{8}(?:[0-9a-f]{9})?$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:ec2:us-east-1:111122223333:vpc-endpoint-service/vpce-svc-0f89a33420c1931d7"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ec2:us-east-1:111122223333:vpcesvcndpoint/vpce-svc-0f89a33420c1931d7",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:ec2:use-east-1:111122223333:vpc-endpoint-service/vpce-svc-0f89a33420c1931d7",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:ec2:us-east-1:111122223333hhfh:vpc-endpoint-service/vpce-0e68e1e9fa64a34b3",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/vpcEndpointpServiceAka",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

vpcEndpointService

{
"type": "object",
"properties": {
"ServiceId": {
"$ref": "#/definitions/vpcEndpoinServiceId"
},
"ServiceName": {
"$ref": "#/definitions/serviceName"
},
"ServiceType": {
"$ref": "#/definitions/ServiceTypeDetailSet"
},
"AvailabilityZones": {
"$ref": "#/definitions/ValueStringList"
},
"Owner": {
"type": "string"
},
"BaseEndpointDnsNames": {
"$ref": "#/definitions/ValueStringList"
},
"PrivateDnsName": {
"type": "string"
},
"VpcEndpointPolicySupported": {
"type": "boolean"
},
"AcceptanceRequired": {
"type": "boolean"
},
"ManagesVpcEndpoints": {
"type": "boolean"
},
"PrivateDnsNameVerificationState": {
"$ref": "#/definitions/DnsNameState"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/vpcEndpointpServiceAka"
}
},
"title": {
"$ref": "#/definitions/vpcEndpoinServiceId"
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"ServiceId": "vpce-svc-0531a389dba7a7b6b",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
],
"turbot": {
"tags": {
"Env": "Test",
"App": "Facebook"
},
"akas": [
"arn:aws:ec2:us-east-1:111122223333:vpc-endpoint-service/vpce-svc-0531a389dba7a7b6b"
],
"title": "vpce-svc-0531a389dba7a7b6b",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - Missing ServiceId",
"input": {
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
],
"turbot": {
"tags": {
"Env": "Test",
"App": "Facebook"
},
"akas": [
"arn:aws:ec2:us-east-1:111122223333:vpc-endpoint-service/vpce-svc-0531a389dba7a7b6b"
],
"title": "vpce-svc-0531a389dba7a7b6b",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - Turbot data",
"input": {
"ServiceId": "vpce-svc-0531a389dba7a7b6b",
"Tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "turbot"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/vpcEndpointService",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

vpcEndpointState

{
"type": "string",
"enum": [
"pendingAcceptance",
"pending",
"available",
"deleting",
"deleted",
"rejected",
"failed",
"expired"
],
"tests": [
{
"input": "pendingAcceptance"
},
{
"input": "available"
},
{
"description": "invalid - not in the list",
"input": "hello123",
"expected": false
},
{
"description": "invalid - upper case",
"input": "AVAILABLE",
"expected": false
},
{
"description": "invalid - array type provided",
"input": [
"expired",
"deleted"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/vpcEndpointState",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}

vpcEndpointType

{
"type": "string",
"enum": [
"Interface",
"Gateway"
],
"tests": [
{
"input": "Interface"
},
{
"input": "Gateway"
},
{
"description": "invalid - not in the list",
"input": "hello123",
"expected": false
},
{
"description": "invalid - upper case",
"input": "GATEWAY",
"expected": false
},
{
"description": "invalid - array type provided",
"input": [
"Interface",
"Gateway"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-vpc-internet#/definitions/vpcEndpointType",
"modUri": "tmod:@turbot/aws-vpc-internet"
}
}