Definitions for @turbot/aws-ec2
- accountLevelAttributes
- additionalAttributes
- allocationId
- ami
- amiAka
- amiIdMatcher
- amiIdMatcherLockdownList
- amiStatus
- appCookieStickinessPolicies
- appCookieStickinessPolicy
- applicationListenerArn
- applicationLoadBalancer
- applicationLoadBalancingArn
- association
- attachmentStatus
- attributeBooleanValue
- attributes
- autoScalingGroup
- autoScalingGroupAka
- autoScalingGroupName
- availabilityZone
- availabilityZones
- backendServerDescription
- backendServerDescriptions
- canonicalHostedZoneId
- canonicalHostedZoneName
- capacityReservationSpecificationResponse
- certificateArn
- classicLoadBalancer
- classicLoadBalancerListener
- classicLoadBalancingArn
- code
- Code
- cpuOptions
- createdTime
- crossZoneLoadBalancing
- dnsName
- ebsInstanceBlockDevice
- ec2
- ec2AccountAttributes
- ec2AccountAttributesAka
- ec2Aka
- ec2NetworkLoadbalancerStatus
- ec2SupportedRegions
- elasticGpuAssociation
- elasticGpuAssociationList
- elasticInferenceAcceleratorAssociation
- elasticInferenceAcceleratorAssociationList
- eniAttachmentStatus
- eniStatus
- gatewayLoadBalancer
- gatewayLoadBalancerArn
- groupIdentifier
- groupIdentifierList
- healthCheck
- healthCheckIntervalSeconds
- healthCheckPath
- healthCheckPort
- healthCheckProtocol
- healthCheckTimeoutSeconds
- healthyThresholdCount
- hibernationOptions
- httpCode
- httpTokensState
- iamInstanceProfile
- imageEnaSupport
- imageHypervisor
- imageId
- imagePublic
- imageRootDeviceType
- imageType
- instance
- instanceAka
- instanceAttribute
- instanceAttributeValue
- instanceBlockDeviceMapping
- instanceHypervisorType
- instanceId
- instanceIpv6Address
- instanceLifecycleType
- instanceMetadataEndpointState
- instanceMetadataOptionsResponse
- instanceMetadataOptionsState
- instanceMetadataServiceDefault
- instanceMetadataTags
- instanceMonitoring
- instanceNetworkInterface
- instanceNetworkInterfaceAssociation
- InstanceNetworkInterfaceAssociation
- instanceNetworkInterfaceAttachment
- instanceNetworkInterfaceList
- instanceNetworkInterfaceStatus
- instancePlacement
- instancePrivateIpAddress
- instanceProductCodeList
- InstanceProtocol
- instanceServiceNow
- instanceState
- instanceType
- instanceTypeMatcher
- instanceTypeMatcherList
- instanceTypeMatcherLockdownList
- ipAddress
- ipAddressType
- IpAddressType
- isDefault
- keyAka
- keyName
- keyPair
- launchConfiguration
- launchConfigurationAka
- launchConfigurationName
- launchTemplate
- launchTemplateAka
- launchTemplateIamInstanceProfileSpecification
- launchTemplateId
- launchTemplateName
- launchTemplateVersion
- launchTemplateVersionAka
- lBCookieStickinessPolicies
- licenseConfiguration
- listener
- ListenerArn
- listenerArn
- listenerDescription
- listenerDescriptions
- listenerRule
- listenerRuleArn
- loadBalancerAddress
- loadBalancerArn
- loadBalancerArns
- loadBalancerAttributes
- loadBalancerCode
- loadbalancerId
- loadBalancerListener
- loadBalancerName
- loadBalanceState
- matcher
- networkInterface
- networkInterfaceAka
- networkInterfaceId
- networkInterfaceIpv6Address
- networkInterfaceIpv6AddressesList
- networkInterfaceStatus
- networkInterfaceType
- networkListenerArn
- networkLoadBalancer
- networkLoadbalancerStatus
- networkLoadBalancingArn
- policies
- policyName
- policyNames
- port
- protocol
- Protocol
- reason
- regionName
- responseLaunchTemplateData
- rootDeviceType
- scheme
- securityGroup
- securityGroups
- sgIdentifierList
- snapshot
- snapshotAka
- snapshotId
- snapshotServiceNow
- snapshotStatus
- sourceSecurityGroup
- sslPolicy
- state
- stateReason
- subnet
- subnets
- tag
- tagKey
- tagList
- tagsMap
- tagsTemplateTag
- tagsTemplateTagList
- tagString
- tagValue
- Target
- targetGroup
- targetGroupArn
- targetGroupName
- TargetHealth
- TargetHealthDescriptions
- targetType
- type
- Type
- unhealthyThresholdCount
- versionNumber
- volume
- volumeAka
- volumeAttachments
- volumeId
- volumeServiceNow
- volumeStatus
- volumeType
- volumeTypeMatcher
- volumeTypeMatcherList
- vpcId
- zoneName
accountLevelAttributes
{ "type": "array", "items": { "AttributeName": { "type": "string" }, "AttributeValues": { "type": "array" }, "AttributeValue": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/accountLevelAttributes", "modUri": "tmod:@turbot/aws-ec2" }}
additionalAttributes
{ "type": "object", "properties": { "Key": { "type": "string" }, "Value": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/additionalAttributes", "modUri": "tmod:@turbot/aws-ec2" }}
allocationId
{ "type": "string", "tests": [ { "input": "foo" }, { "input": "usasdss" }, { "description": "invalid - passed array instead of string", "input": [ "foo" ], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/allocationId", "modUri": "tmod:@turbot/aws-ec2" }}
ami
{ "type": "object", "properties": { "Architecture": { "type": "string" }, "ImageId": { "$ref": "#/definitions/imageId" }, "ImageLocation": { "type": "string" }, "ImageType": { "$ref": "#/definitions/imageType" }, "Public": { "$ref": "#/definitions/imagePublic" }, "EnaSupport": { "$ref": "#/definitions/imageEnaSupport" }, "Hypervisor": { "$ref": "#/definitions/imageHypervisor" }, "Name": { "type": "string" }, "RootDeviceName": { "type": "string" }, "RootDeviceType": { "$ref": "#/definitions/imageRootDeviceType" }, "SriovNetSupport": { "type": "string" }, "CreationDate": { "$ref": "turbot#/definitions/isoTimestamp" }, "State": { "$ref": "#/definitions/amiStatus" }, "Tags": { "$ref": "#/definitions/tagList" }, "OwnerId": { "$ref": "aws#/definitions/accountId" }, "Platform": { "type": "string" }, "ProductCodes": { "$ref": "#/definitions/instanceProductCodeList" }, "BlockDeviceMappings": { "type": "array" }, "StateReason": { "$ref": "#/definitions/stateReason" }, "VirtualizationType": { "type": "string" }, "KernelId": { "$ref": "#/definitions/instanceAttributeValue" }, "RamdiskId": { "$ref": "#/definitions/instanceAttributeValue" }, "Description": { "type": "string", "description": "The description of the AMI that was provided during image creation." }, "ImageOwnerAlias": { "type": "string" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/amiAka" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/imageId" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "all properties given", "input": { "ImageId": "ami-0022c769", "OwnerId": 123456789012, "Tags": [ { "Key": "foo", "Value": "bar" } ], "turbot": { "akas": [ "arn:aws:ec2:us-east-1:123456789012:image/ami-0022c769" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "ami-0022c769", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ami", "modUri": "tmod:@turbot/aws-ec2" }}
amiAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:image/ami-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:ec2:us-east-1:123456789012:image/ami-0022c769" }, { "description": "Invalid - Malformed resource collection", "input": "arn:aws:ec2:us-east-1:123456789012:images/ami-0022c769", "expected": false }, { "description": "Invalid - Malformed region name", "input": "arn:aws:ec2:use-east-1:123456789012:image/ami-0022c769", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/amiAka", "modUri": "tmod:@turbot/aws-ec2" }}
amiIdMatcher
{ "type": "string", "pattern": "^[a-z0-9.?*-]+$", "tests": [ { "input": "*" }, { "input": "ami-ff81a385" }, { "input": "ami-12345678" }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - contains special characters", "input": "ami=ff81a385", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/amiIdMatcher", "modUri": "tmod:@turbot/aws-ec2" }}
amiIdMatcherLockdownList
{ "type": "array", "items": { "type": "string", "pattern": "^[a-z0-9.?*-]+$", "tests": [ { "input": "*" }, { "input": "ami-ff81a385" }, { "input": "ami-12345678" }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - contains special characters", "input": "ami=ff81a385", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/amiIdMatcher", "modUri": "tmod:@turbot/aws-ec2" } }, "example": [ [ "ami-ff81a385", "ami-12345678" ] ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/amiIdMatcherLockdownList", "modUri": "tmod:@turbot/aws-ec2" }}
amiStatus
{ "type": "string", "enum": [ "pending", "available", "invalid", "deregistered", "transient", "failed", "error" ], "tests": [ { "input": "available" }, { "description": "invalid - not listed in options", "input": "RUNNABLE", "expected": false }, { "description": "invalid - null value", "input": null, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/amiStatus", "modUri": "tmod:@turbot/aws-ec2" }}
appCookieStickinessPolicies
{ "type": "array", "items": { "$ref": "#/definitions/appCookieStickinessPolicy" }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/appCookieStickinessPolicies", "modUri": "tmod:@turbot/aws-ec2" }}
appCookieStickinessPolicy
{ "type": "object", "properties": { "PolicyName": { "type": "string" }, "CookieName": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/appCookieStickinessPolicy", "modUri": "tmod:@turbot/aws-ec2" }}
applicationListenerArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:listener/app/[a-zA-Z0-9-]{1,32}/[0-9a-f]{16}/[0-9a-f]{16}$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" }, { "input": "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" }, { "description": "invalid - account id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", "expected": false }, { "description": "invalid - region", "input": "arn:aws:elasticloadbalancing:usa-west-2:12345789101:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", "expected": false }, { "description": "invalid - load balancer id", "input": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/applicationListenerArn", "modUri": "tmod:@turbot/aws-ec2" }}
applicationLoadBalancer
{ "type": "object", "properties": { "LoadBalancerArn": { "$ref": "#/definitions/applicationLoadBalancingArn", "description": "The Amazon Resource Name (ARN) of the load balancer." }, "DNSName": { "$ref": "#/definitions/dnsName", "description": "The public DNS name of the load balancer." }, "CanonicalHostedZoneId": { "$ref": "#/definitions/canonicalHostedZoneId", "description": "The ID of the Amazon Route 53 hosted zone associated with the load balancer." }, "CreatedTime": { "$ref": "#/definitions/createdTime", "description": "The date and time the load balancer was created." }, "LoadBalancerName": { "$ref": "#/definitions/loadBalancerName", "description": "The name of the load balancer." }, "Scheme": { "$ref": "#/definitions/scheme", "description": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer." }, "VpcId": { "$ref": "#/definitions/vpcId", "description": "The ID of the VPC for the load balancer." }, "State": { "$ref": "#/definitions/loadBalanceState", "description": "The state of the load balancer." }, "Type": { "$ref": "#/definitions/type", "description": "The type of load balancer." }, "AvailabilityZones": { "$ref": "#/definitions/availabilityZones", "description": "The Availability Zones for the load balancer." }, "SecurityGroups": { "$ref": "#/definitions/securityGroups", "description": "The IDs of the security groups for the load balancer." }, "IpAddressType": { "$ref": "#/definitions/ipAddressType", "description": "The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses)." }, "Tags": { "$ref": "#/definitions/tagList" }, "LoadBalancerId": { "$ref": "#/definitions/loadbalancerId" }, "Attributes": { "$ref": "#/definitions/loadBalancerAttributes" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/applicationLoadBalancingArn" } }, "title": { "$ref": "#/definitions/loadBalancerName" }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "custom": { "type": "object", "properties": { "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - all properties given", "input": { "LoadBalancerName": "foo", "LoadBalancerId": "50dc6c495c0c9188", "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "CanonicalHostedZoneId": "Z3DZXE0EXAMPLE", "DNSName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com", "SecurityGroups": [ "sg-a61988c3" ], "CreatedTime": "2015-03-19T03:24:02.650Z", "AvailabilityZones": [ { "ZoneName": "us-west-2a" } ], "Type": "application", "Scheme": "internet-facing", "IpAddressType": "ipv4", "VpcId": "vpc-3ac0fb5f", "State": { "Code": "active" }, "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "turbot": { "akas": [ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" ], "title": "foo", "tags": { "Env": "Test", "App": "Facebook" }, "custom": { "createTimestamp": "2015-03-19T03:24:02.650Z", "aws": { "accountId": 123456789012, "regionName": "us-east-1", "partition": "aws" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/applicationLoadBalancer", "modUri": "tmod:@turbot/aws-ec2" }}
applicationLoadBalancingArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:loadbalancer/app/[a-zA-Z0-9-]{1,32}/[0-9a-f]{16}$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" }, { "input": "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" }, { "description": "invalid - account id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "expected": false }, { "description": "invalid - region", "input": "arn:aws:elasticloadbalancing:usa-west-2:12345789101:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "expected": false }, { "description": "invalid - load balancer id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/applicationLoadBalancingArn", "modUri": "tmod:@turbot/aws-ec2" }}
association
{ "type": "object", "properties": { "AllocationId": { "type": "string" }, "AssociationId": { "type": "string" }, "IpOwnerId": { "type": "string" }, "PublicDnsName": { "type": "string" }, "PublicIp": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/association", "modUri": "tmod:@turbot/aws-ec2" }}
attachmentStatus
{ "type": "object", "properties": { "Status": { "$ref": "#/definitions/networkInterfaceStatus" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/attachmentStatus", "modUri": "tmod:@turbot/aws-ec2" }}
attributeBooleanValue
{ "type": "object", "properties": { "Value": { "type": "boolean" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/attributeBooleanValue", "modUri": "tmod:@turbot/aws-ec2" }}
attributes
{ "type": "object", "properties": { "Key": { "type": "string" }, "Value": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/attributes", "modUri": "tmod:@turbot/aws-ec2" }}
autoScalingGroup
{ "type": "object", "properties": { "AutoScalingGroupName": { "$ref": "#/definitions/autoScalingGroupName" }, "AutoScalingGroupARN": { "$ref": "#/definitions/autoScalingGroupAka" }, "LaunchConfigurationName": { "$ref": "#/definitions/launchConfigurationName" }, "LaunchTemplate": { "type": "object" }, "MixedInstancesPolicy": { "type": "object" }, "MinSize": { "type": "integer" }, "MaxSize": { "type": "integer" }, "DesiredCapacity": { "type": "integer" }, "DefaultCooldown": { "type": "integer" }, "AvailabilityZones": { "$ref": "#/definitions/availabilityZones" }, "LoadBalancerNames": { "type": "array", "items": { "$ref": "#/definitions/loadBalancerName" } }, "TargetGroupARNs": { "type": "array" }, "HealthCheckType": { "type": "string", "minLength": 1, "maxLength": 32 }, "HealthCheckGracePeriod": { "type": "integer" }, "Instances": { "type": "array" }, "CreatedTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "SuspendedProcesses": { "type": "array" }, "PlacementGroup": { "type": "string", "minLength": 1, "maxLength": 255 }, "VPCZoneIdentifier": { "type": "string", "minLength": 1, "maxLength": 2047 }, "EnabledMetrics": { "type": "array" }, "Status": { "type": "string", "minLength": 1, "maxLength": 255 }, "TerminationPolicies": { "type": "array" }, "NewInstancesProtectedFromScaleIn": { "type": "boolean" }, "ServiceLinkedRoleARN": { "type": "string", "minLength": 1, "maxLength": 1600 }, "MaxInstanceLifetime": { "type": "integer" }, "Tags": { "$ref": "aws#/definitions/tagList" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/autoScalingGroupAka" } }, "title": { "$ref": "#/definitions/autoScalingGroupName" }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "All properties given", "input": { "AutoScalingGroupName": "test01", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:492552618977:autoScalingGroup:402b2ef5-4968-4ccb-9208-c7980983b2bc:autoScalingGroupName/test03", "Tags": [ { "Key": "Test01", "Value": "Test01" }, { "Key": "Test02", "Value": "Test02" } ], "turbot": { "akas": [ "arn:aws:autoscaling:us-west-2:492552618977:autoScalingGroup:402b2ef5-4968-4ccb-9208-c7980983b2bc:autoScalingGroupName/test03" ], "title": "test01", "tags": { "Env": "Test", "App": "Facebook" }, "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1", "partition": "aws" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/autoScalingGroup", "modUri": "tmod:@turbot/aws-ec2" }}
autoScalingGroupAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:autoscaling:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:autoScalingGroup:[0-9a-z]{8}-[0-9]{4}-[0-9a-z]{4}-[0-9]{4}-[a-z0-9]{12}:autoScalingGroupName/(.{1,255})$", "tests": [ { "description": "base", "input": "arn:aws:autoscaling:us-west-2:492552618977:autoScalingGroup:402b2ef5-4968-4ccb-9208-c7980983b2bc:autoScalingGroupName/test03" }, { "description": "invalid service name", "input": "arn:aws:autoscaling:us-west-2:492552618977:iam:402b2ef5-4968-4ccb-9208-c7980983b2bc:autoScalingGroupName/test03", "expected": false }, { "description": "invalid account id", "input": "arn:aws:autoscaling:us-west-2:49255266573818977:autoScalingGroup:402b2ef5-4968-4ccb-9208-c7980983b2bc:autoScalingGroupName/test03", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/autoScalingGroupAka", "modUri": "tmod:@turbot/aws-ec2" }}
autoScalingGroupName
{ "type": "string", "pattern": "^(.{1,255})$", "tests": [ { "input": "Test.The-Kitchen_Sink" }, { "description": "invalid - too long", "input": "a1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567891234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567", "expected": false }, { "description": "invalid - line termination is not allowed in regex", "input": "\n", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/autoScalingGroupName", "modUri": "tmod:@turbot/aws-ec2" }}
availabilityZone
{ "type": "object", "properties": { "ZoneName": { "type": "string" }, "SubnetId": { "type": "string" }, "LoadBalancerAddresses": { "type": "array" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/availabilityZone", "modUri": "tmod:@turbot/aws-ec2" }}
availabilityZones
{ "type": "array", "items": { "$ref": "#/definitions/availabilityZone" }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/availabilityZones", "modUri": "tmod:@turbot/aws-ec2" }}
backendServerDescription
{ "type": "object", "properties": { "InstancePort": { "type": "integer", "minimum": 1, "maximum": 65535 }, "PolicyNames": { "type": "array", "items": { "$ref": "#/definitions/policyName" } } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/backendServerDescription", "modUri": "tmod:@turbot/aws-ec2" }}
backendServerDescriptions
{ "type": "array", "items": { "$ref": "#/definitions/backendServerDescription" }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/backendServerDescriptions", "modUri": "tmod:@turbot/aws-ec2" }}
canonicalHostedZoneId
{ "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": "Z2YQB5RD63NC85" }, { "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-ec2#/definitions/canonicalHostedZoneId", "modUri": "tmod:@turbot/aws-ec2" }}
canonicalHostedZoneName
{ "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-ec2#/definitions/canonicalHostedZoneName", "modUri": "tmod:@turbot/aws-ec2" }}
capacityReservationSpecificationResponse
{ "type": "object", "properties": { "CapacityReservationPreference": { "type": "string", "enum": [ "open", "none" ] }, "CapacityReservationTarget": { "type": "object", "properties": { "CapacityReservationId": { "type": "string" } } } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/capacityReservationSpecificationResponse", "modUri": "tmod:@turbot/aws-ec2" }}
certificateArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:iam::[0-9]{12}:server-certificate/[a-zA-Z0-9-]+$", "tests": [ { "input": "arn:aws:iam::123456789012:server-certificate/my-server-cert" }, { "input": "arn:aws:iam::123456789012:server-certificate/myservercert1" }, { "description": "invalid - region", "input": "arn:aws:iam:us-east-1:123456789012:server-certificate/myservercert1", "expected": false }, { "description": "invalid - missing account id", "input": "arn:aws:iam:::server-certificate/myservercert1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/certificateArn", "modUri": "tmod:@turbot/aws-ec2" }}
classicLoadBalancer
{ "type": "object", "properties": { "AvailabilityZones": { "$ref": "#/definitions/availabilityZones" }, "CanonicalHostedZoneId": { "$ref": "#/definitions/canonicalHostedZoneId" }, "CanonicalHostedZoneName": { "$ref": "#/definitions/canonicalHostedZoneName" }, "VpcId": { "$ref": "#/definitions/vpcId" }, "DNSName": { "$ref": "#/definitions/dnsName" }, "IpAddressType": { "$ref": "#/definitions/ipAddressType" }, "LoadBalancerArn": { "$ref": "#/definitions/classicLoadBalancingArn" }, "LoadBalancerName": { "$ref": "#/definitions/loadBalancerName" }, "CreatedTime": { "$ref": "#/definitions/createdTime" }, "Scheme": { "$ref": "#/definitions/scheme" }, "SecurityGroups": { "$ref": "#/definitions/securityGroups" }, "Subnets": { "$ref": "#/definitions/subnets" }, "Type": { "$ref": "#/definitions/type" }, "ListenerDescriptions": { "$ref": "#/definitions/listenerDescriptions" }, "Policies": { "$ref": "#/definitions/policies" }, "BackendServerDescriptions": { "$ref": "#/definitions/backendServerDescriptions" }, "Instances": { "type": "object" }, "HealthCheck": { "$ref": "#/definitions/healthCheck" }, "SourceSecurityGroup": { "$ref": "#/definitions/sourceSecurityGroup" }, "Tags": { "$ref": "aws#/definitions/tagList" }, "LoadBalancerAttributes": { "$ref": "#/definitions/loadBalancerAttributes" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/classicLoadBalancingArn" } }, "title": { "$ref": "#/definitions/loadBalancerName" }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "tests": [ { "description": "all properties given", "input": { "turbot": { "akas": [ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/my-load-balancer" ], "title": "my-load-balancer", "tags": { "Env": "Test", "App": "Facebook" }, "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1", "partition": "aws" } } }, "LoadBalancerName": "foo", "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/my-load-balancer", "CanonicalHostedZoneId": "Z3DZXE0EXAMPLE", "CanonicalHostedZoneName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com", "VpcId": "vpc-3ac0fb5f", "ListenerDescriptions": [ { "Listener": { "InstancePort": 80, "LoadBalancerPort": 80, "Protocol": "HTTP", "InstanceProtocol": "HTTP" }, "PolicyNames": [ "hi", "hello" ] } ], "DNSName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com", "SecurityGroups": [ "sg-a61988c3" ], "CreatedTime": "2015-03-19T03:24:02.650Z", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "AvailabilityZones": [ { "ZoneName": "us-west-2a" } ] } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/classicLoadBalancer", "modUri": "tmod:@turbot/aws-ec2" }}
classicLoadBalancerListener
{ "type": "object", "properties": { "LoadBalancerName": { "type": "string" }, "Protocol": { "$ref": "#/definitions/Protocol" }, "InstancePort": { "type": "integer" }, "InstanceProtocol": { "$ref": "#/definitions/InstanceProtocol" }, "LoadBalancerPort": { "type": "integer" }, "SSLCertificateId": { "type": "string" }, "PolicyNames": { "type": "array", "items": { "type": "string" } }, "turbot": { "type": "object", "properties": { "metadata": { "type": "object", "properties": { "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "additionalProperties": true, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/classicLoadBalancerListener", "modUri": "tmod:@turbot/aws-ec2" }}
classicLoadBalancingArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:loadbalancer/[a-zA-Z0-9](?:[-a-zA-Z0-9]{0,30}[a-zA-Z0-9])?$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/my-load-balancer" }, { "input": "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:loadbalancer/my-load-balancer" }, { "description": "invalid - account id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:loadbalancer/my-load-balancer", "expected": false }, { "description": "invalid - region", "input": "arn:aws:elasticloadbalancing:usa-west-2:12345789101:loadbalancer/my-load-balancer", "expected": false }, { "description": "invalid - load balancer id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:loadbalancer/my-load-balancer", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/classicLoadBalancingArn", "modUri": "tmod:@turbot/aws-ec2" }}
code
{ "type": "string", "enum": [ "active", "provisioning", "active_impaired", "failed" ], "tests": [ { "input": "active" }, { "input": "provisioning" }, { "description": "invalid - uppercase value", "input": "ACTIVE", "expected": false }, { "description": "invalid - not listed in the options", "input": "foo", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/code", "modUri": "tmod:@turbot/aws-ec2" }}
Code
{ "type": "string", "enum": [ "active", "provisioning", "active_impaired", "failed" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/Code", "modUri": "tmod:@turbot/aws-ec2" }}
cpuOptions
{ "type": "object", "properties": { "CoreCount": { "type": "integer" }, "ThreadsPerCore": { "type": "integer" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/cpuOptions", "modUri": "tmod:@turbot/aws-ec2" }}
createdTime
{ "$ref": "turbot#/definitions/isoTimestamp", ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/createdTime", "modUri": "tmod:@turbot/aws-ec2" }}
crossZoneLoadBalancing
{ "type": "object", "properties": { "Enabled": { "type": "boolean" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/crossZoneLoadBalancing", "modUri": "tmod:@turbot/aws-ec2" }}
dnsName
{ "$ref": "#/definitions/canonicalHostedZoneName", ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/dnsName", "modUri": "tmod:@turbot/aws-ec2" }}
ebsInstanceBlockDevice
{ "type": "object", "properties": { "AttachTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "DeleteOnTermination": { "type": "boolean" }, "Status": { "$ref": "#/definitions/eniAttachmentStatus" }, "VolumeId": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ebsInstanceBlockDevice", "modUri": "tmod:@turbot/aws-ec2" }}
ec2
{ "allOf": [ { "$ref": "turbot#/definitions/service" }, { "type": "object", "properties": { "name": { "const": "EC2" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/ec2Aka" } }, "title": { "const": "EC2" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "additionalProperties": true, "tests": [ { "description": "EC2", "input": { "name": "EC2", "turbot": { "akas": [ "arn:aws:ec2:us-east-1:123456789012" ], "title": "EC2", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } }, { "description": "Invalid - elasticcomputecloud", "input": { "name": "elasticcomputecloud", "turbot": null, "akas": [ "arn:aws:ec2:us-east-1:123456789012" ], "title": "EC2", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } }, "expected": false }, { "description": "Invalid - Service name missing", "input": { "turbot": null, "akas": [ "arn:aws:ec2:us-east-1:123456789012" ], "title": "EC2", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } }, "expected": false } ] } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ec2", "modUri": "tmod:@turbot/aws-ec2" }}
ec2AccountAttributes
{ "type": "object", "properties": { "AccountAttributes": { "$ref": "#/definitions/accountLevelAttributes" }, "KmsKeyId": { "type": "string" }, "RegionName": { "type": "string" }, "OptInStatus": { "type": "string" }, "Endpoint": { "type": "string" }, "EbsEncryptionByDefault": { "type": "boolean" }, "InstanceMetadataServiceDefault": { "$ref": "#/definitions/instanceMetadataServiceDefault" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/ec2AccountAttributesAka" } }, "title": { "const": "Account Attributes" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "AccountAttributes": [ { "AttributeName": "supported-platforms", "AttributeValues": [ { "AttributeValue": "5" } ] } ], "Endpoint": "ec2.sa-east-1.amazonaws.com", "RegionName": "sa-east-1", "OptInStatus": "opt-in-not-required", "KmsKeyId": "alias/aws/ebs", "EbsEncryptionByDefault": false, "turbot": { "akas": [ "arn:aws:ec2:us-west-2:492552618977:accountAttribute" ], "title": "Account Attributes", "custom": { "aws": { "accountId": 123456789012 }, "createTimestamp": "2018-12-05T14:53:33.000Z" } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ec2AccountAttributes", "modUri": "tmod:@turbot/aws-ec2" }}
ec2AccountAttributesAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:accountattributes$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:ec2:us-west-2:492552618977:accountattributes" }, { "description": "Invalid - account Id", "input": "arn:aws:s3::1116660:account", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ec2AccountAttributesAka", "modUri": "tmod:@turbot/aws-ec2" }}
ec2Aka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}$", "tests": [ { "description": "base", "input": "arn:aws:ec2:us-east-1:123123123123" }, { "description": "base", "input": "arn:aws-us-gov:ec2:us-gov-east-1:123123123123" }, { "description": "invalid service name", "input": "arn:aws:xyz:us-east-1:123123123123", "expected": false }, { "description": "invalid account id", "input": "arn:aws:ec2:us-east-1:123382743123123123", "expected": false }, { "description": "invalid region name", "input": "arn:aws:ec2:us-eastdk-74381:123123123123", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ec2Aka", "modUri": "tmod:@turbot/aws-ec2" }}
ec2NetworkLoadbalancerStatus
{ "type": "string", "enum": [ "active", "provisioning", "active_impaired", "failed" ], "tests": [ { "description": "valid - correct status type", "input": "active" }, { "description": "invalid - empty string", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ec2NetworkLoadbalancerStatus", "modUri": "tmod:@turbot/aws-ec2" }}
ec2SupportedRegions
{ "type": "array", "items": { "$ref": "#/definitions/regionName" }, "minItems": 1, "example": [ [ "us-east-2", "us-east-1" ] ], "default": [ "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-west-1", "eu-west-2", "eu-west-3", "sa-east-1", "us-east-1", "us-east-2", "us-gov-west-1", "us-west-1", "us-west-2" ], "tests": [ { "description": "one region", "input": [ "us-east-1" ] }, { "description": "all supported regions", "input": [ "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-west-1", "eu-west-2", "eu-west-3", "sa-east-1", "us-east-1", "us-east-2", "us-gov-west-1", "us-west-1", "us-west-2" ] }, { "description": "invalid - no regions", "input": [], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ec2SupportedRegions", "modUri": "tmod:@turbot/aws-ec2" }}
elasticGpuAssociation
{ "type": "object", "properties": { "ElasticGpuId": { "type": "string" }, "ElasticGpuAssociationId": { "type": "string" }, "ElasticGpuAssociationState": { "type": "string" }, "ElasticGpuAssociationTime": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/elasticGpuAssociation", "modUri": "tmod:@turbot/aws-ec2" }}
elasticGpuAssociationList
{ "type": "array", "items": { "$ref": "#/definitions/elasticGpuAssociation" }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/elasticGpuAssociationList", "modUri": "tmod:@turbot/aws-ec2" }}
elasticInferenceAcceleratorAssociation
{ "type": "object", "properties": { "ElasticInferenceAcceleratorArn": { "type": "string" }, "ElasticInferenceAcceleratorAssociationId": { "type": "string" }, "ElasticInferenceAcceleratorAssociationState": { "type": "string" }, "ElasticInferenceAcceleratorAssociationTime": { "$ref": "turbot#/definitions/isoTimestamp" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/elasticInferenceAcceleratorAssociation", "modUri": "tmod:@turbot/aws-ec2" }}
elasticInferenceAcceleratorAssociationList
{ "type": "array", "items": { "$ref": "#/definitions/elasticInferenceAcceleratorAssociation" }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/elasticInferenceAcceleratorAssociationList", "modUri": "tmod:@turbot/aws-ec2" }}
eniAttachmentStatus
{ "type": "string", "enum": [ "attaching", "attached", "detaching", "detached" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/eniAttachmentStatus", "modUri": "tmod:@turbot/aws-ec2" }}
eniStatus
{ "type": "string", "enum": [ "available", "associated", "attaching", "in-use", "detaching" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/eniStatus", "modUri": "tmod:@turbot/aws-ec2" }}
gatewayLoadBalancer
{ "type": "object", "properties": { "AvailabilityZones": { "type": "array", "items": { "type": "object" } }, "CanonicalHostedZoneId": { "type": "string" }, "CreatedTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "DNSName": { "type": "string" }, "IpAddressType": { "$ref": "#/definitions/IpAddressType" }, "LoadBalancerAddresses": { "type": "array", "items": { "type": "object", "properties": { "AllocationId": { "type": "string" }, "AvailabilityZones": { "type": "array", "items": { "type": "object", "properties": { "SubnetId": { "type": "string" }, "ZoneName": { "type": "string" } } } }, "IpAddress": { "type": "string" }, "PrivateIPv4Address": { "type": "string" } } } }, "LoadBalancerArn": { "$ref": "#/definitions/gatewayLoadBalancerArn" }, "LoadBalancerName": { "$ref": "#/definitions/loadBalancerName" }, "Scheme": { "type": "string" }, "SecurityGroups": { "type": "array", "items": { "type": "string" } }, "State": { "type": "object", "properties": { "Code": { "$ref": "#/definitions/Code" }, "Reason": { "type": "string" } } }, "Type": { "$ref": "#/definitions/Type" }, "VpcId": { "type": "string" }, "Tags": { "$ref": "aws#/definitions/tagList", "type": "object", "properties": { "Value": { "type": "string" } } }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/gatewayLoadBalancerArn" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/loadBalancerName" }, "metadata": { "type": "object", "properties": { "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "additionalProperties": true, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/gatewayLoadBalancer", "modUri": "tmod:@turbot/aws-ec2" }}
gatewayLoadBalancerArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:loadbalancer/gwy/[a-zA-Z0-9](?:[-a-zA-Z0-9]{0,30}[a-zA-Z0-9])?/[0-9a-f]{16}$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/gwy/my-load-balancer/50dc6c495c0c9188" }, { "input": "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:loadbalancer/gwy/my-load-balancer/50dc6c495c0c9188" }, { "description": "invalid - account id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:loadbalancer/gwy/my-load-balancer/50dc6c495c0c9188", "expected": false }, { "description": "invalid - region", "input": "arn:aws:elasticloadbalancing:usa-west-2:12345789101:loadbalancer/gwy/my-load-balancer/50dc6c495c0c9188", "expected": false }, { "description": "invalid - load balancer id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:loadbalancer/gwy/my-load-balancer/50dc6c495c0c9188", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/gatewayLoadBalancerArn", "modUri": "tmod:@turbot/aws-ec2" }}
groupIdentifier
{ "type": "object", "properties": { "GroupName": { "type": "string" }, "GroupId": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/groupIdentifier", "modUri": "tmod:@turbot/aws-ec2" }}
groupIdentifierList
{ "type": "array", "properties": { "GroupName": { "type": "string" }, "GroupId": { "type": "string" } }, "items": { "$ref": "#/definitions/groupIdentifier" }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/groupIdentifierList", "modUri": "tmod:@turbot/aws-ec2" }}
healthCheck
{ "type": "object", "properties": { "Target": { "type": "string" }, "Interval": { "type": "integer", "minimum": 5, "maximum": 300 }, "Timeout": { "type": "integer", "minimum": 2, "maximum": 60 }, "UnhealthyThreshold": { "type": "integer", "minimum": 2, "maximum": 10 }, "HealthyThreshold": { "type": "integer", "minimum": 2, "maximum": 10 } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/healthCheck", "modUri": "tmod:@turbot/aws-ec2" }}
healthCheckIntervalSeconds
{ "type": "integer", "minimum": 5, "maximum": 300, "tests": [ { "input": 10 }, { "input": 90 }, { "description": "minimum", "input": 5 }, { "description": "maximum", "input": 300 }, { "description": "invalid - decimal value provided", "input": 4.5, "expected": false }, { "description": "invalid - string tpye provided", "input": "three", "expected": false }, { "description": "invalid - less than minimum", "input": 4, "expected": false }, { "description": "invalid - greater than maximum", "input": 301, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/healthCheckIntervalSeconds", "modUri": "tmod:@turbot/aws-ec2" }}
healthCheckPath
{ "type": "string", "minLength": 1, "maxLength": 1024, "tests": [ { "input": "a" }, { "input": "gdghdhhd" }, { "description": "minimum", "input": "/" }, { "description": "invalid - null", "input": null, "expected": false }, { "description": "invalid - passed array instead of string", "input": [ "foo" ], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/healthCheckPath", "modUri": "tmod:@turbot/aws-ec2" }}
healthCheckPort
{ "type": "string", "pattern": "^[a-z0-9-]+$", "tests": [ { "input": "traffic-port" }, { "input": 80 }, { "description": "invalid - uppercase value", "input": "TRAFFIC-PORT", "expected": false }, { "description": "invalid - passed array instead of string", "input": [], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/healthCheckPort", "modUri": "tmod:@turbot/aws-ec2" }}
healthCheckProtocol
{ "type": "string", "enum": [ "HTTP", "HTTPS", "TCP" ], "tests": [ { "input": "HTTP" }, { "input": "TCP" }, { "description": "invalid - lowercase value", "input": "tcp", "expected": false }, { "description": "invalid - not listed in the options", "input": "foo", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/healthCheckProtocol", "modUri": "tmod:@turbot/aws-ec2" }}
healthCheckTimeoutSeconds
{ "type": "integer", "minimum": 2, "maximum": 60, "tests": [ { "input": 10 }, { "input": 30 }, { "description": "minimum", "input": 2 }, { "description": "maximum", "input": 60 }, { "description": "invalid - decimal value provided", "input": 4.5, "expected": false }, { "description": "invalid - string tpye provided", "input": "three", "expected": false }, { "description": "invalid - less than minimum", "input": 1, "expected": false }, { "description": "invalid - greater than maximum", "input": 301, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/healthCheckTimeoutSeconds", "modUri": "tmod:@turbot/aws-ec2" }}
healthyThresholdCount
{ "type": "integer", "minimum": 2, "maximum": 10, "tests": [ { "input": 5 }, { "input": 7 }, { "description": "minimum", "input": 2 }, { "description": "maximum", "input": 10 }, { "description": "invalid - decimal value provided", "input": 4.5, "expected": false }, { "description": "invalid - string tpye provided", "input": "three", "expected": false }, { "description": "invalid - less than minimum", "input": 1, "expected": false }, { "description": "invalid - greater than maximum", "input": 11, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/healthyThresholdCount", "modUri": "tmod:@turbot/aws-ec2" }}
hibernationOptions
{ "type": "object", "properties": { "Configured": { "type": "boolean" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/hibernationOptions", "modUri": "tmod:@turbot/aws-ec2" }}
httpCode
{ "type": "string", "pattern": "^[0-9]{3}$", "tests": [ { "input": 404 }, { "input": 200 }, { "description": "invalid - greater than max length", "input": 4044, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/httpCode", "modUri": "tmod:@turbot/aws-ec2" }}
httpTokensState
{ "type": "string", "enum": [ "optional", "required" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/httpTokensState", "modUri": "tmod:@turbot/aws-ec2" }}
iamInstanceProfile
{ "type": "object", "properties": { "Arn": { "type": "string" }, "Id": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/iamInstanceProfile", "modUri": "tmod:@turbot/aws-ec2" }}
imageEnaSupport
{ "type": "boolean", "tests": [ { "input": true }, { "input": false }, { "input": "true" }, { "input": 0 }, { "input": "false" }, { "description": "invalid - string", "input": "foo", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/imageEnaSupport", "modUri": "tmod:@turbot/aws-ec2" }}
imageHypervisor
{ "type": "string", "enum": [ "ovm", "xen" ], "tests": [ { "input": "xen" }, { "input": "ovm" }, { "description": "Invalid - not listed in options", "input": "grey", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/imageHypervisor", "modUri": "tmod:@turbot/aws-ec2" }}
imageId
{ "type": "string", "pattern": "^ami-[a-f0-9]{8}(?:[0-9a-f]{9})?$", "tests": [ { "input": "ami-df90ecb0" }, { "input": "ami-df8dd2b0df8dd2b01" }, { "description": "invalid - image id is invalid if more than 12 char and less than 21", "input": "ami-df8dd2b01", "expected": false }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - image id beyond the regex", "input": "Hello@123", "expected": false }, { "description": "invalid - $ in image id", "input": "Hello$123", "expected": false }, { "description": "invalid - image id is invalid if 2 or less chars", "input": 12, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/imageId", "modUri": "tmod:@turbot/aws-ec2" }}
imagePublic
{ "type": "boolean", "tests": [ { "input": true }, { "input": false }, { "input": "true" }, { "input": 0 }, { "input": "false" }, { "description": "invalid - string", "input": "foo", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/imagePublic", "modUri": "tmod:@turbot/aws-ec2" }}
imageRootDeviceType
{ "type": "string", "enum": [ "ebs", "instance-store" ], "tests": [ { "input": "instance-store" }, { "input": "ebs" }, { "description": "Invalid - not listed in options", "input": "grey", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/imageRootDeviceType", "modUri": "tmod:@turbot/aws-ec2" }}
imageType
{ "type": "string", "enum": [ "machine", "kernel", "ramdisk" ], "tests": [ { "description": "Valid - Base case", "input": "machine" }, { "description": "Invalid - not listed in options", "input": "grey", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/imageType", "modUri": "tmod:@turbot/aws-ec2" }}
instance
{ "type": "object", "properties": { "AmiLaunchIndex": { "type": "integer" }, "ImageId": { "type": "string" }, "InstanceId": { "$ref": "#/definitions/instanceId" }, "InstanceType": { "$ref": "#/definitions/instanceType" }, "EnclaveOptions": { "type": "object" }, "KeyName": { "type": "string" }, "LaunchTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "Monitoring": { "$ref": "#/definitions/instanceMonitoring" }, "Placement": { "$ref": "#/definitions/instancePlacement" }, "Platform": { "type": "string", "enum": [ "Windows" ] }, "PrivateDnsName": { "type": "string" }, "PrivateIpAddress": { "type": "string" }, "ProductCodes": { "type": "array", "items": { "$ref": "#/definitions/instanceProductCodeList" } }, "PublicDnsName": { "type": "string" }, "PublicIpAddress": { "type": "string" }, "State": { "$ref": "#/definitions/instanceState" }, "StateTransitionReason": { "type": "string" }, "SubnetId": { "type": "string" }, "VpcId": { "type": "string" }, "Architecture": { "type": "string", "enum": [ "i386", "x86_64", "arm64" ] }, "BlockDeviceMappings": { "type": "array", "items": { "$ref": "#/definitions/instanceBlockDeviceMapping" } }, "ClientToken": { "type": "string" }, "EbsOptimized": { "type": "boolean" }, "EnaSupport": { "type": "boolean" }, "Hypervisor": { "$ref": "#/definitions/instanceHypervisorType" }, "IamInstanceProfile": { "$ref": "#/definitions/iamInstanceProfile" }, "InstanceLifecycle": { "$ref": "#/definitions/instanceLifecycleType" }, "ElasticGpuAssociations": { "$ref": "#/definitions/elasticGpuAssociationList" }, "ElasticInferenceAcceleratorAssociations": { "$ref": "#/definitions/elasticInferenceAcceleratorAssociationList" }, "NetworkInterfaces": { "$ref": "#/definitions/instanceNetworkInterfaceList" }, "OutpostArn": { "type": "string" }, "RootDeviceName": { "type": "string" }, "RootDeviceType": { "$ref": "#/definitions/rootDeviceType" }, "SecurityGroups": { "type": "array", "items": { "$ref": "#/definitions/sgIdentifierList" } }, "SourceDestCheck": { "type": "boolean" }, "SpotInstanceRequestId": { "type": "string" }, "StateReason": { "$ref": "#/definitions/stateReason" }, "Tags": { "$ref": "#/definitions/tagList" }, "VirtualizationType": { "type": "string", "enum": [ "hvm", "paravirtual" ] }, "CpuOptions": { "$ref": "#/definitions/cpuOptions" }, "CapacityReservationId": { "type": "string" }, "CapacityReservationSpecification": { "$ref": "#/definitions/capacityReservationSpecificationResponse" }, "HibernationOptions": { "$ref": "#/definitions/hibernationOptions" }, "Licenses": { "type": "array", "items": { "$ref": "#/definitions/licenseConfiguration" } }, "MetadataOptions": { "$ref": "#/definitions/instanceMetadataOptionsResponse" }, "Groups": { "$ref": "#/definitions/groupIdentifierList" }, "DisableApiTermination": { "$ref": "#/definitions/attributeBooleanValue" }, "InstanceInitiatedShutdownBehavior": { "$ref": "#/definitions/instanceAttributeValue" }, "KernelId": { "$ref": "#/definitions/instanceAttributeValue" }, "RamdiskId": { "$ref": "#/definitions/instanceAttributeValue" }, "SriovNetSupport": { "$ref": "#/definitions/instanceAttributeValue" }, "UserData": { "$ref": "#/definitions/instanceAttributeValue" }, "RootDeviceEncrypted": { "type": "boolean" }, "Attribute": { "$ref": "#/definitions/instanceAttribute" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/instanceAka" } }, "tags": { "$ref": "#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/instanceId" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "InstanceId": "i-a2345678", "InstanceType": "t3.medium", "RootDeviceName": "/dev/xvda", "RootDeviceType": "ebs", "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "AttachTime": "2018-08-16T19:43:39.000Z", "DeleteOnTermination": true, "Status": "attached", "VolumeId": "vol-0b116439a12abc34d" } } ], "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "turbot": { "akas": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-a2345678" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "i-a2345678", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instance", "modUri": "tmod:@turbot/aws-ec2" }}
instanceAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:instance/i-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:ec2:us-east-1:123456789012:instance/i-a2345678" }, { "description": "Invalid - Malformed resource collection", "input": "arn:aws:ec2:us-east-1:123456789012:instances/i-a2345678", "expected": false }, { "description": "Invalid - Malformed region name", "input": "arn:aws:ec2:use-east-1:123456789012:instances/i-a2345678", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:ec2:us-east-1:1234567890123:instances/i-a2345678", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceAka", "modUri": "tmod:@turbot/aws-ec2" }}
instanceAttribute
{ "type": "string", "enum": [ "instanceType", "kernel", "ramdisk", "userData", "disableApiTermination", "instanceInitiatedShutdownBehavior", "rootDeviceName", "blockDeviceMapping", "productCodes", "sourceDestCheck", "groupSet", "ebsOptimized", "sriovNetSupport", "enaSupport" ], "tests": [ { "description": "valid - correct status type", "input": "userData" }, { "description": "invalid - empty string", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceAttribute", "modUri": "tmod:@turbot/aws-ec2" }}
instanceAttributeValue
{ "type": "object", "properties": { "Value": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceAttributeValue", "modUri": "tmod:@turbot/aws-ec2" }}
instanceBlockDeviceMapping
{ "type": "object", "properties": { "DeviceName": { "type": "string" }, "Ebs": { "$ref": "#/definitions/ebsInstanceBlockDevice" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceBlockDeviceMapping", "modUri": "tmod:@turbot/aws-ec2" }}
instanceHypervisorType
{ "type": "string", "enum": [ "ovm", "xen" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceHypervisorType", "modUri": "tmod:@turbot/aws-ec2" }}
instanceId
{ "type": "string", "pattern": "^i-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "input": "i-a2345678" }, { "input": "i-1234567890abcdef0" }, { "description": "invalid - characters allowed from a to f only", "input": "i-1234567890abcdefz", "expected": false }, { "description": "invalid - should always start with i", "input": "id-b61106d4", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceId", "modUri": "tmod:@turbot/aws-ec2" }}
instanceIpv6Address
{ "type": "object", "properties": { "Ipv6Address": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceIpv6Address", "modUri": "tmod:@turbot/aws-ec2" }}
instanceLifecycleType
{ "type": "string", "enum": [ "spot", "scheduled" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceLifecycleType", "modUri": "tmod:@turbot/aws-ec2" }}
instanceMetadataEndpointState
{ "type": "string", "enum": [ "disabled", "enabled" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceMetadataEndpointState", "modUri": "tmod:@turbot/aws-ec2" }}
instanceMetadataOptionsResponse
{ "type": "object", "properties": { "State": { "$ref": "#/definitions/instanceMetadataOptionsState" }, "HttpTokens": { "$ref": "#/definitions/httpTokensState" }, "HttpPutResponseHopLimit": { "type": "integer" }, "HttpEndpoint": { "$ref": "#/definitions/instanceMetadataEndpointState" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceMetadataOptionsResponse", "modUri": "tmod:@turbot/aws-ec2" }}
instanceMetadataOptionsState
{ "type": "string", "enum": [ "pending", "applied" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceMetadataOptionsState", "modUri": "tmod:@turbot/aws-ec2" }}
instanceMetadataServiceDefault
{ "type": "object", "properties": { "HttpTokens": { "$ref": "#/definitions/httpTokensState" }, "HttpPutResponseHopLimit": { "type": "integer" }, "HttpEndpoint": { "$ref": "#/definitions/instanceMetadataEndpointState" }, "InstanceMetadataTags": { "$ref": "#/definitions/instanceMetadataTags" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceMetadataServiceDefault", "modUri": "tmod:@turbot/aws-ec2" }}
instanceMetadataTags
{ "type": "string", "enum": [ "disabled", "enabled" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceMetadataTags", "modUri": "tmod:@turbot/aws-ec2" }}
instanceMonitoring
{ "type": "object", "properties": { "State": { "type": "string", "enum": [ "disabled", "disabling", "enabled", "pending" ] } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceMonitoring", "modUri": "tmod:@turbot/aws-ec2" }}
instanceNetworkInterface
{ "type": "object", "properties": { "Association": { "$ref": "#/definitions/instanceNetworkInterfaceAssociation" }, "Attachment": { "$ref": "#/definitions/instanceNetworkInterfaceAttachment" }, "Description": { "type": "string" }, "Groups": { "type": "array", "items": { "$ref": "#/definitions/groupIdentifier" } }, "Ipv6Addresses": { "type": "array", "items": { "$ref": "#/definitions/instanceIpv6Address" } }, "MacAddress": { "type": "string" }, "NetworkInterfaceId": { "type": "string" }, "OwnerId": { "type": "string" }, "PrivateDnsName": { "type": "string" }, "PrivateIpAddress": { "type": "string" }, "PrivateIpAddresses": { "type": "array", "items": { "$ref": "#/definitions/instancePrivateIpAddress" } }, "SourceDestCheck": { "type": "boolean" }, "Status": { "$ref": "#/definitions/instanceNetworkInterfaceStatus" }, "SubnetId": { "type": "string" }, "VpcId": { "type": "string" }, "InterfaceType": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceNetworkInterface", "modUri": "tmod:@turbot/aws-ec2" }}
instanceNetworkInterfaceAssociation
{ "type": "object", "properties": { "IpOwnerId": { "type": "string" }, "PublicDnsName": { "type": "string" }, "PublicIp": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceNetworkInterfaceAssociation", "modUri": "tmod:@turbot/aws-ec2" }}
InstanceNetworkInterfaceAssociation
{ "type": "object", "properties": { "IpOwnerId": { "type": "string" }, "PublicDnsName": { "type": "string" }, "PublicIp": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/InstanceNetworkInterfaceAssociation", "modUri": "tmod:@turbot/aws-ec2" }}
instanceNetworkInterfaceAttachment
{ "type": "object", "properties": { "AttachTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "AttachmentId": { "type": "string" }, "DeleteOnTermination": { "type": "boolean" }, "DeviceIndex": { "type": "integer" }, "Status": { "$ref": "#/definitions/eniAttachmentStatus" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceNetworkInterfaceAttachment", "modUri": "tmod:@turbot/aws-ec2" }}
instanceNetworkInterfaceList
{ "type": "array", "items": { "$ref": "#/definitions/instanceNetworkInterface" }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceNetworkInterfaceList", "modUri": "tmod:@turbot/aws-ec2" }}
instanceNetworkInterfaceStatus
{ "type": "string", "enum": [ "available", "associated", "attaching", "in-use", "detaching" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceNetworkInterfaceStatus", "modUri": "tmod:@turbot/aws-ec2" }}
instancePlacement
{ "type": "object", "properties": { "AvailabilityZone": { "type": "string" }, "Affinity": { "type": "string" }, "GroupName": { "type": "string" }, "PartitionNumber": { "type": "integer" }, "HostId": { "type": "string" }, "Tenancy": { "type": "string", "enum": [ "default", "dedicated", "host" ] } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instancePlacement", "modUri": "tmod:@turbot/aws-ec2" }}
instancePrivateIpAddress
{ "type": "object", "properties": { "Association": { "$ref": "#/definitions/instanceNetworkInterfaceAssociation" }, "Primary": { "type": "boolean" }, "PrivateDnsName": { "type": "string" }, "PrivateIpAddress": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instancePrivateIpAddress", "modUri": "tmod:@turbot/aws-ec2" }}
instanceProductCodeList
{ "type": "object", "properties": { "ProductCodeId": { "type": "string" }, "ProductCodeType": { "type": "string", "enum": [ "devpay", "marketplace" ] } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceProductCodeList", "modUri": "tmod:@turbot/aws-ec2" }}
InstanceProtocol
{ "type": "string", "enum": [ "HTTP", "HTTPS", "TCP", "SSL" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/InstanceProtocol", "modUri": "tmod:@turbot/aws-ec2" }}
instanceServiceNow
{ "defaultColumns": { "account_id": { "column": "enabled", "path": "metadata.aws.accountId", "label": "Account ID" }, "ami_launch_index": { "column": "enabled", "label": "AMI Launch Index", "type": "integer" }, "architecture": { "column": "enabled", "label": "Architecture" }, "arn": { "column": "enabled", "label": "ARN" }, "instance_id": { "column": "enabled", "label": "Instance ID" }, "instance_type": { "column": "enabled", "label": "Instance Type" }, "key_name": { "column": "enabled", "label": "Key Name" }, "launch_time": { "column": "enabled", "label": "Launch Time" }, "network_interfaces": { "column": "enabled", "label": "Network Interfaces", "type": "string", "size": 1000 }, "placement_availability_zone": { "column": "enabled", "label": "Placement Availability Zone" }, "private_ip_address": { "column": "enabled", "label": "Private Ip Address" }, "public_dns_name": { "column": "enabled", "label": "Public DNS Name" }, "public_ip_address": { "column": "enabled", "label": "Public IP Address" }, "region": { "column": "enabled", "label": "Region", "path": "metadata.aws.regionName" }, "security_groups": { "column": "enabled", "label": "Security Groups", "type": "string", "size": 1000 }, "subnet_id": { "column": "enabled", "label": "Subnet ID" }, "tags": { "column": "enabled", "label": "Tags", "type": "string", "size": 1000 }, "vpc_id": { "column": "enabled", "label": "VPC ID" }, "virtualization_type": { "column": "enabled", "label": "Virtualization Type" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceServiceNow", "modUri": "tmod:@turbot/aws-ec2" }}
instanceState
{ "type": "object", "properties": { "Code": { "type": "integer" }, "Name": { "type": "string", "enum": [ "pending", "running", "shutting-down", "terminated", "stopping", "stopped" ] } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceState", "modUri": "tmod:@turbot/aws-ec2" }}
instanceType
{ "type": "string", "pattern": "[0-9a-z]+\\.[0-9a-z]+", "tests": [ { "input": "t2.large" }, { "input": "m5d.large" }, { "description": "invalid - missing period", "input": "t2micro", "expected": false }, { "description": "invalid - missing class", "input": ".small", "expected": false }, { "description": "invalid - missing size", "input": "m5.", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceType", "modUri": "tmod:@turbot/aws-ec2" }}
instanceTypeMatcher
{ "type": "string", "pattern": "^[a-z0-9.?*]+$", "tests": [ { "input": "*" }, { "input": "t2.*" }, { "input": "*.medium" }, { "input": "m?.medium" }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - contains hyphen", "input": "t2-large", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceTypeMatcher", "modUri": "tmod:@turbot/aws-ec2" }}
instanceTypeMatcherList
{ "type": "array", "items": { "$ref": "#/definitions/instanceTypeMatcher" }, "example": [ [ "m1.small", "t?.large" ], [ "*.large", "t3.*" ] ], "default": [ "*" ], "tests": [ { "description": "one pattern", "input": [ "*.medium" ] }, { "description": "two patterns", "input": [ "*", "t2.*" ] } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceTypeMatcherList", "modUri": "tmod:@turbot/aws-ec2" }}
instanceTypeMatcherLockdownList
{ "type": "array", "items": { "$ref": "#/definitions/instanceTypeMatcher" }, "example": [ [ "m1.small", "t?.large" ], [ "*.large", "t3.*" ] ], "tests": [ { "description": "one pattern", "input": [ "*.medium" ] }, { "description": "two patterns", "input": [ "*", "t2.*" ] } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/instanceTypeMatcherLockdownList", "modUri": "tmod:@turbot/aws-ec2" }}
ipAddress
{ "type": "string", "pattern": "^[0-5]{1,3}\\.[0-5]{1,3}\\.[0-5]{1,3}\\.[0-5]{1,3}$", "tests": [ { "input": "0.0.0.0" }, { "input": "255.255.255.255" }, { "description": "invalid - ip address", "input": "298.1.1.1", "expected": false }, { "description": "invalid - region", "input": "1.1.1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ipAddress", "modUri": "tmod:@turbot/aws-ec2" }}
ipAddressType
{ "type": "string", "enum": [ "ipv4", "dualstack" ], "tests": [ { "input": "ipv4" }, { "input": "dualstack" }, { "description": "invalid - uppercase value", "input": "IPV4", "expected": false }, { "description": "invalid - not listed in the options", "input": "foo", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ipAddressType", "modUri": "tmod:@turbot/aws-ec2" }}
IpAddressType
{ "type": "string", "enum": [ "ipv4", "dualstack" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/IpAddressType", "modUri": "tmod:@turbot/aws-ec2" }}
isDefault
{ "type": "boolean", "tests": [ { "input": false }, { "input": true }, { "description": "invalid - array", "input": [], "expected": false }, { "description": "invalid - string", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/isDefault", "modUri": "tmod:@turbot/aws-ec2" }}
keyAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:key-pair/[a-zA-Z0-9_-]{1,128}$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:ec2:us-east-1:123456789012:key-pair/masterkey" }, { "description": "Valid - Base case using KeyPairId", "input": "arn:aws:ec2:us-east-1:123456789012:key-pair/key-022ad73cb3dface07" }, { "description": "Invalid - Malformed resource collection", "input": "arn:aws:ec2:us-east-1:123456789012:volumes/i-a2345678", "expected": false }, { "description": "Invalid - Malformed region name", "input": "arn:aws:ec2:use-east-1:123456789012:volume/vol-1234567890abcdef0", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:ec2:us-east-1:1234567890123:volume/vol-1234567890abcdef0", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/keyAka", "modUri": "tmod:@turbot/aws-ec2" }}
keyName
{ "type": "string", "tests": [ { "input": "key-ec2" }, { "input": "aaaaaabbbbbb" }, { "input": "Test-MeP12lease" }, { "input": "MyKEYEC2" } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/keyName", "modUri": "tmod:@turbot/aws-ec2" }}
keyPair
{ "type": "object", "properties": { "KeyName": { "$ref": "#/definitions/keyName" }, "KeyPairId": { "type": "string" }, "KeyFingerprint": { "type": "string" }, "Tags": { "type": "array" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/keyAka" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/keyName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "tests": [ { "description": "all details provided", "input": { "KeyName": "tesitng-keypair", "turbot": { "title": "test01", "aws": { "AccountId": 123456789012, "RegionName": "us-east-1" } }, "title": "testing" } }, { "description": "additional property provided", "input": { "KeyName": "tesitng-keypair", "Name": "test", "turbot": { "title": "test01", "aws": { "AccountId": 123456789012, "RegionName": "us-east-1" } } } }, { "description": "invalid - missing key name", "input": { "turbot": { "title": "test01", "aws": { "AccountId": 123456789012, "RegionName": "us-east-1" } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/keyPair", "modUri": "tmod:@turbot/aws-ec2" }}
launchConfiguration
{ "type": "object", "properties": { "LaunchConfigurationName": { "$ref": "#/definitions/launchConfigurationName" }, "LaunchConfigurationARN": { "$ref": "#/definitions/launchConfigurationAka" }, "ImageId": { "$ref": "#/definitions/imageId" }, "KeyName": { "$ref": "#/definitions/keyName" }, "SecurityGroups": { "type": "array" }, "ClassicLinkVPCId": { "type": "string" }, "ClassicLinkVPCSecurityGroups": { "type": "array" }, "UserData": { "type": "string" }, "InstanceType": { "$ref": "#/definitions/instanceType" }, "BlockDeviceMappings": { "type": "array", "items": { "$ref": "#/definitions/instanceBlockDeviceMapping" } }, "KernelId": { "type": "string" }, "RamdiskId": { "type": "string" }, "CreatedTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "EbsOptimized": { "type": "boolean" }, "AssociatePublicIpAddress": { "type": "boolean" }, "InstanceMonitoring": { "type": "object" }, "SpotPrice": { "type": "string" }, "IamInstanceProfile": { "type": "string" }, "PlacementTenancy": { "type": "string" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/launchConfigurationAka" } }, "title": { "$ref": "#/definitions/launchConfigurationName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "LaunchConfigurationName": "test01", "turbot": { "akas": [ "arn:aws:autoscaling:us-west-2:492552618977:launchConfiguration:55770a63-460c-4459-a94c-f3d7c770a40b:launchConfigurationName/test01" ], "title": "test01", "custom": { "aws": { "accountId": 492552618977, "regionName": "us-west-2", "partition": "aws" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchConfiguration", "modUri": "tmod:@turbot/aws-ec2" }}
launchConfigurationAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:autoscaling:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:launchConfiguration:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}:launchConfigurationName/.{1,1600}$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:autoscaling:us-west-2:492552618977:launchConfiguration:55770a63-460c-4459-a94c-f3d7c770a40b:launchConfigurationName/test01" }, { "description": "Invalid - Malformed region name", "input": "arn:aws:autoscaling:us76-wessasat-098782:492552618977:launchConfiguration:55770a63-460c-4459-a94c-f3d7c770a40b:launchConfigurationName/test01", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:autoscaling:us-west-2:492552611231343128977:launchConfiguration:55770a63-460c-4459-a94c-f3d7c770a40b:launchConfigurationName/test01", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchConfigurationAka", "modUri": "tmod:@turbot/aws-ec2" }}
launchConfigurationName
{ "type": "string", "minLength": 1, "maxLength": 1600, "tests": [ { "input": "test01" }, { "description": "Invalid - Should not be empty", "input": "", "expected": false }, { "description": "Invalid - Name cannot be an array", "input": [ "test01" ], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchConfigurationName", "modUri": "tmod:@turbot/aws-ec2" }}
launchTemplate
{ "type": "object", "properties": { "LaunchTemplateId": { "$ref": "#/definitions/launchTemplateId" }, "LaunchTemplateName": { "$ref": "#/definitions/launchTemplateName" }, "CreateTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "CreatedBy": { "type": "string" }, "DefaultVersionNumber": { "type": "integer" }, "LatestVersionNumber": { "type": "integer" }, "Tags": { "$ref": "#/definitions/tagList" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/launchTemplateAka" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/launchTemplateName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "turbot": { "akas": [ "arn:aws:ec2:us-east-1:123456789012:launch-template/lt-0c45b5e061ec98456" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "DBServersTemplate", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } }, "LaunchTemplateId": "lt-0c45b5e061ec98456", "LaunchTemplateName": "DBServersTemplate", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "turbot" } ] } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchTemplate", "modUri": "tmod:@turbot/aws-ec2" }}
launchTemplateAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:launch-template/lt-[0-9a-z]{17}$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:ec2:us-east-1:123456789012:launch-template/lt-0c45b5e061ec98456" }, { "description": "Invalid - Malformed region name", "input": "arn:aws:ec2:uasds-e1323sadcast-1:123456789012:launch-template/lt-0c45b5e061ec98456", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:ec2:us-east-1:123456asd123123789012:launch-template/lt-0c45b5e061ec98456", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchTemplateAka", "modUri": "tmod:@turbot/aws-ec2" }}
launchTemplateIamInstanceProfileSpecification
{ "type": "object", "properties": { "Arn": { "type": "string" }, "Name": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchTemplateIamInstanceProfileSpecification", "modUri": "tmod:@turbot/aws-ec2" }}
launchTemplateId
{ "type": "string", "pattern": "^lt-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "input": "lt-0e06d290751193123" }, { "input": "lt-11111111" }, { "description": "invalid - must be lowercase", "input": "lt-ABCDEFGH", "expected": false }, { "description": "invalid - should always start with lt", "input": "id-0e06d290751193123", "expected": false }, { "description": "invalid - too long", "input": "lt-0e06d2907511931234", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchTemplateId", "modUri": "tmod:@turbot/aws-ec2" }}
launchTemplateName
{ "type": "string", "pattern": "^[a-zA-Z0-9\\(\\)\\.-/_]+$", "minLength": 3, "maxLength": 128, "tests": [ { "input": "testingtemplate2" }, { "input": "(Launch_Temp/late.0)" }, { "description": "invalid - too short", "input": "aa", "expected": false }, { "description": "invalid - too long", "input": "a12345678901234567890123456789012345678901234567890123456781234567890123456789012345678901234567890123456789012345678901234567890", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchTemplateName", "modUri": "tmod:@turbot/aws-ec2" }}
launchTemplateVersion
{ "type": "object", "properties": { "LaunchTemplateId": { "$ref": "#/definitions/launchTemplateId" }, "LaunchTemplateName": { "$ref": "#/definitions/launchTemplateName" }, "VersionNumber": { "$ref": "#/definitions/versionNumber" }, "VersionDescription": { "type": "string", "maxLength": 255 }, "CreateTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "CreatedBy": { "type": "string" }, "DefaultVersion": { "type": "boolean" }, "LaunchTemplateData": { "$ref": "#/definitions/responseLaunchTemplateData" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/launchTemplateVersionAka" } }, "title": { "$ref": "#/definitions/versionNumber" }, "custom": { "type": "object", "properties": { "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "VersionNumber": 1, "turbot": { "akas": [ "arn:aws:ec2:us-east-1:123456789012:launch-template/lt-0c45b5e061ec98456:launch-template-version/1" ], "title": 1, "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchTemplateVersion", "modUri": "tmod:@turbot/aws-ec2" }}
launchTemplateVersionAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(gov)?-[a-z]+-[0-9]:[0-9]{12}:launch-template/lt-[0-9a-z]{17}:launch-template-version/[0-9]+$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:ec2:us-east-1:123456789012:launch-template/lt-0c45b5e061ec98456:launch-template-version/1" }, { "description": "Invalid - Malformed region name", "input": "arn:aws:ec2:us-efqopeouigewuqhowu123ast-1:123456789012:launch-template/lt-0c45b5e061ec98456:launch-template-version/1", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:ec2:us-east-1:1234567890123143da12:launch-template/lt-0c45b5e061ec98456:launch-template-version/1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/launchTemplateVersionAka", "modUri": "tmod:@turbot/aws-ec2" }}
lBCookieStickinessPolicies
{ "type": "object", "properties": { "PolicyName": { "type": "string" }, "CookieExpirationPeriod": { "type": "integer" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/lBCookieStickinessPolicies", "modUri": "tmod:@turbot/aws-ec2" }}
licenseConfiguration
{ "type": "object", "properties": { "LicenseConfigurationArn": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/licenseConfiguration", "modUri": "tmod:@turbot/aws-ec2" }}
listener
{ "type": "object", "properties": { "InstancePort": { "$ref": "#/definitions/port" }, "LoadBalancerPort": { "$ref": "#/definitions/port" }, "Protocol": { "$ref": "#/definitions/protocol" }, "InstanceProtocol": { "$ref": "#/definitions/protocol" }, "SSLCertificateId": { "$ref": "#/definitions/certificateArn" } }, "tests": [ { "description": "all properties given", "input": { "InstancePort": 80, "LoadBalancerPort": 80, "Protocol": "HTTP", "InstanceProtocol": "HTTP" } }, { "description": "all properties given", "input": { "InstancePort": 443, "LoadBalancerPort": 443, "Protocol": "HTTPS", "InstanceProtocol": "HTTPS", "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/my-server-cert" } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/listener", "modUri": "tmod:@turbot/aws-ec2" }}
ListenerArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:listener/[a-z]{3}/[a-zA-Z0-9-]{1,32}/[0-9a-f]{16}/[a-f0-9]{16}$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-east-2:986325076436:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c" }, { "input": "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c" }, { "description": "Invalid - account id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c", "expected": false }, { "description": "Invalid - region", "input": "arn:aws:elasticloadbalancing:usa-west-2:12345789101:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c", "expected": false }, { "description": "Invalid - target group id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/ListenerArn", "modUri": "tmod:@turbot/aws-ec2" }}
listenerArn
{ "type": "string", "pattern": "arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:listener/[a-z]{3}/[a-zA-Z0-9-]{1,32}/[0-9a-f]{16}/[a-f0-9]{16}$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-east-2:986325076436:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c" }, { "input": "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c" }, { "description": "Invalid - account id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c", "expected": false }, { "description": "Invalid - region", "input": "arn:aws:elasticloadbalancing:usa-west-2:12345789101:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c", "expected": false }, { "description": "Invalid - target group id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/listenerArn", "modUri": "tmod:@turbot/aws-ec2" }}
listenerDescription
{ "type": "object", "properties": { "Listener": { "$ref": "#/definitions/listener" }, "PolicyNames": { "type": "array", "items": { "$ref": "#/definitions/policyName" } } }, "tests": [ { "input": { "Listener": { "InstancePort": 80, "LoadBalancerPort": 80, "Protocol": "HTTP", "InstanceProtocol": "HTTP" }, "PolicyNames": [ "hi", "hello" ] } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/listenerDescription", "modUri": "tmod:@turbot/aws-ec2" }}
listenerDescriptions
{ "type": "array", "items": { "$ref": "#/definitions/listenerDescription" }, "tests": [ { "description": "base case", "input": [ { "Listener": { "InstancePort": 80, "LoadBalancerPort": 80, "Protocol": "HTTP", "InstanceProtocol": "HTTP" }, "PolicyNames": [ "hi", "hello" ] }, { "Listener": { "InstancePort": 443, "LoadBalancerPort": 443, "Protocol": "HTTPS", "InstanceProtocol": "HTTPS" }, "PolicyNames": [ "SSL", "SecurePolicy" ] } ] } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/listenerDescriptions", "modUri": "tmod:@turbot/aws-ec2" }}
listenerRule
{ "type": "object", "properties": { "RuleArn": { "$ref": "#/definitions/listenerRuleArn" }, "ListenerArn": { "$ref": "#/definitions/listenerArn" }, "Priority": { "type": "string" }, "Conditions": { "type": "array" }, "Actions": { "type": "array" }, "IsDefault": { "type": "boolean" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/listenerRuleArn" } }, "title": { "$ref": "#/definitions/listenerRuleArn" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties given", "input": { "turbot": { "akas": [ "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" ], "title": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/listenerRule", "modUri": "tmod:@turbot/aws-ec2" }}
listenerRuleArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:listener-rule/[a-z]{3}/[a-zA-Z0-9-]{1,32}/[0-9a-f]{16}/[a-f0-9]{16}/[a-f0-9]{16}$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" }, { "description": "Invalid - account id missing", "input": "arn:aws:elasticloadbalancing:us-west-2::listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/listenerRuleArn", "modUri": "tmod:@turbot/aws-ec2" }}
loadBalancerAddress
{ "type": "array", "items": [ { "$ref": "#/definitions/allocationId" }, { "$ref": "#/definitions/ipAddress" } ], "tests": [ { "input": [ "1.1.1.1" ] }, { "description": "invalid - not array", "input": "1.1.1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/loadBalancerAddress", "modUri": "tmod:@turbot/aws-ec2" }}
loadBalancerArn
{ "anyOf": [ { "$ref": "#/definitions/networkLoadBalancingArn" }, { "$ref": "#/definitions/applicationLoadBalancingArn" } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/loadBalancerArn", "modUri": "tmod:@turbot/aws-ec2" }}
loadBalancerArns
{ "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/networkLoadBalancingArn" }, { "$ref": "#/definitions/applicationLoadBalancingArn" } ] }, "tests": [ { "input": [ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-load-balancer/50dc6c495c0c9188" ] }, { "description": "invalid not array", "input": 5, "expected": false }, { "description": "invalid ARN", "input": [ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/50dc6c495c0c9188" ], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/loadBalancerArns", "modUri": "tmod:@turbot/aws-ec2" }}
loadBalancerAttributes
{ "type": "array", "items": { "$ref": "#/definitions/attributes" }, "properties": { "CrossZoneLoadBalancing": { "$ref": "#/definitions/crossZoneLoadBalancing" }, "AccessLog": { "type": "object" }, "ConnectionDraining": { "type": "object" }, "ConnectionSettings": { "type": "object" }, "AdditionalAttributes": { "type": "array", "items": { "$ref": "#/definitions/additionalAttributes" } } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/loadBalancerAttributes", "modUri": "tmod:@turbot/aws-ec2" }}
loadBalancerCode
{ "type": "string", "enum": [ "active", "provisioning", "active_impaired", "failed" ], "tests": [ { "input": "active" }, { "description": "invalid - not listed in options", "input": "RUNNABLE", "expected": false }, { "description": "invalid - null value", "input": null, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/loadBalancerCode", "modUri": "tmod:@turbot/aws-ec2" }}
loadbalancerId
{ "type": "string", "pattern": "^[0-9a-z]{16}$", "tests": [ { "input": "50dc6c495c0c9188" }, { "description": "Invalid - No special character allowed", "input": "50dc6c495c0c918_", "expected": false }, { "description": "Invalid - Id is too long", "input": "jhsdkhfe386842kdkey24823990fkdjnj439u7r3", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/loadbalancerId", "modUri": "tmod:@turbot/aws-ec2" }}
loadBalancerListener
{ "type": "object", "properties": { "DefaultActions": { "type": "array" }, "Protocol": { "type": "string" }, "Port": { "$ref": "#/definitions/port" }, "Certificates": { "type": "array" }, "ListenerArn": { "$ref": "#/definitions/ListenerArn" }, "LoadBalancerArn": { "$ref": "#/definitions/loadBalancerArn" }, "SslPolicy": { "type": "string" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/ListenerArn" } }, "title": { "$ref": "#/definitions/ListenerArn" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties given", "input": { "Protocol": "HTTP", "DefaultActions": [ { "ForwardConfig": { "TargetGroupStickinessConfig": { "Enabled": false }, "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:us-east-2:986325076436:targetgroup/abc-tg/d61098fb74677883", "Weight": 1 } ] }, "TargetGroupArn": "arn:aws:elasticloadbalancing:us-east-2:986325076436:targetgroup/abc-tg/d61098fb74677883", "Type": "forward" } ], "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-2:986325076436:loadbalancer/app/turbot-test-application-LB-IF/05a33d85c8a8db8e", "Port": 80, "ListenerArn": "arn:aws:elasticloadbalancing:us-east-2:986325076436:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c", "turbot": { "akas": [ "arn:aws:elasticloadbalancing:us-east-2:986325076436:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c" ], "title": "arn:aws:elasticloadbalancing:us-east-2:986325076436:listener/app/turbot-test-application-LB-IF/05a33d85c8a8db8e/be349e217c6f0a3c", "custom": { "aws": { "accountId": 986325076436, "regionName": "us-east-2" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/loadBalancerListener", "modUri": "tmod:@turbot/aws-ec2" }}
loadBalancerName
{ "type": "string", "pattern": "^[a-zA-Z0-9](?:[-a-zA-Z0-9]{0,30}[a-zA-Z0-9])?$", "tests": [ { "input": "aaabbb111" }, { "input": "aaaaaabbbbbb" }, { "input": "Test-MeP12lease" }, { "description": "max length", "input": "12345678123456781234567812345678" }, { "description": "route53 example", "input": "Z2YQB5RD63NC85" }, { "description": "cloudfront distribution example", "input": "Z2FDTNDATAQYW2" }, { "description": "invalid char", "input": "Test.please", "expected": false }, { "description": "cannot start with hyphens", "input": "-aaaaaa-111111", "expected": false }, { "description": "cannot contain underscore", "input": "aaaaaa_bbbbbb", "expected": false }, { "description": "invalid - too long", "input": "123456781234567812345678123456781", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/loadBalancerName", "modUri": "tmod:@turbot/aws-ec2" }}
loadBalanceState
{ "type": "object", "properties": { "Code": { "$ref": "#/definitions/loadBalancerCode" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/loadBalanceState", "modUri": "tmod:@turbot/aws-ec2" }}
matcher
{ "type": "object", "properties": { "HttpCode": { "$ref": "#/definitions/httpCode" } }, "required": [ "HttpCode" ], "tests": [ { "description": "all required properties given", "input": { "HttpCode": 205 } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/matcher", "modUri": "tmod:@turbot/aws-ec2" }}
networkInterface
{ "type": "object", "properties": { "NetworkInterfaceId": { "$ref": "#/definitions/networkInterfaceId" }, "TagSet": { "$ref": "#/definitions/tagList" }, "Attachment": { "$ref": "#/definitions/attachmentStatus" }, "Association": { "$ref": "#/definitions/association" }, "AvailabilityZone": { "type": "string" }, "Description": { "type": "string" }, "Groups": { "$ref": "#/definitions/groupIdentifierList" }, "InterfaceType": { "$ref": "#/definitions/networkInterfaceType" }, "Ipv6Addresses": { "$ref": "#/definitions/networkInterfaceIpv6AddressesList" }, "MacAddress": { "type": "string" }, "OutpostArn": { "type": "string" }, "OwnerId": { "type": "string" }, "PrivateDnsName": { "type": "string" }, "PrivateIpAddress": { "type": "string" }, "RequesterId": { "type": "string" }, "RequesterManaged": { "type": "boolean" }, "SourceDestCheck": { "type": "boolean" }, "Status": { "$ref": "#/definitions/eniStatus" }, "SubnetId": { "type": "string" }, "VpcId": { "type": "string" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/networkInterfaceAka" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/networkInterfaceId" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "NetworkInterfaceId": "eni-068f6677372d4865b", "TagSet": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "turbot": { "akas": [ "arn:aws:ec2:us-east-1:123456789012:network-interface/eni-068f6677372d4865b" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "eni-068f6677372d4865b", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkInterface", "modUri": "tmod:@turbot/aws-ec2" }}
networkInterfaceAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:network-interface/eni-([0-9a-f]{8}|[0-9a-f]{9}|[0-9a-f]{17})$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws-us-gov:ec2:us-gov-east-1:123456789012:network-interface/eni-068f6677372d4865b" }, { "description": "Valid - US Gov case", "input": "arn:aws:ec2:us-east-1:123456789012:network-interface/eni-068f6677372d4865b" }, { "description": "Invalid - Malformed region name", "input": "arn:aws:ec2:us-eaasd12312st-1:123456789012:network-interface/eni-068f6677372d4865b", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:ec2:us-east-1:1234567asd12389012:network-interface/eni-068f6677372d4865b", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkInterfaceAka", "modUri": "tmod:@turbot/aws-ec2" }}
networkInterfaceId
{ "type": "string", "pattern": "^eni-([0-9a-f]{8}|[0-9a-f]{9}|[0-9a-f]{17})$", "tests": [ { "input": "eni-068f66773" }, { "input": "eni-068f6677" }, { "input": "eni-068f6677372123312" }, { "description": "invalid - characters allowed from a to f only", "input": "eni-068f6677372d4865z", "expected": false }, { "description": "invalid - should always start with eni", "input": "ei-068f6677372d4865b", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkInterfaceId", "modUri": "tmod:@turbot/aws-ec2" }}
networkInterfaceIpv6Address
{ "type": "object", "properties": { "Ipv6Address": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkInterfaceIpv6Address", "modUri": "tmod:@turbot/aws-ec2" }}
networkInterfaceIpv6AddressesList
{ "type": "array", "items": { "$ref": "#/definitions/networkInterfaceIpv6Address" }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkInterfaceIpv6AddressesList", "modUri": "tmod:@turbot/aws-ec2" }}
networkInterfaceStatus
{ "type": "string", "enum": [ "attaching", "attached", "detaching", "detached" ], "tests": [ { "description": "valid - correct status type", "input": "attaching" }, { "description": "invalid - empty string", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkInterfaceStatus", "modUri": "tmod:@turbot/aws-ec2" }}
networkInterfaceType
{ "type": "string", "enum": [ "efa", "interface" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkInterfaceType", "modUri": "tmod:@turbot/aws-ec2" }}
networkListenerArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:listener/net/[a-zA-Z0-9](?:[-a-zA-Z0-9]{0,30}[a-zA-Z0-9])?/[0-9a-f]{16}/[0-9a-f]{16}$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/net/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" }, { "input": "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:listener/net/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" }, { "description": "invalid - account id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:listener/net/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", "expected": false }, { "description": "invalid - region", "input": "arn:aws:elasticloadbalancing:usa-west-2:12345789101:listener/net/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", "expected": false }, { "description": "invalid - load balancer id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:listener/net/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkListenerArn", "modUri": "tmod:@turbot/aws-ec2" }}
networkLoadBalancer
{ "type": "object", "properties": { "AvailabilityZones": { "$ref": "#/definitions/availabilityZones" }, "CanonicalHostedZoneId": { "$ref": "#/definitions/canonicalHostedZoneId" }, "DNSName": { "$ref": "#/definitions/dnsName" }, "IpAddressType": { "$ref": "#/definitions/ipAddressType" }, "LoadBalancerArn": { "$ref": "#/definitions/networkLoadBalancingArn" }, "LoadBalancerName": { "$ref": "#/definitions/loadBalancerName" }, "VpcId": { "$ref": "#/definitions/vpcId" }, "CreatedTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "Scheme": { "$ref": "#/definitions/scheme" }, "SecurityGroups": { "$ref": "#/definitions/securityGroups" }, "Type": { "$ref": "#/definitions/type" }, "Tags": { "$ref": "aws#/definitions/tagList" }, "State": { "$ref": "#/definitions/networkLoadbalancerStatus" }, "Attributes": { "$ref": "#/definitions/loadBalancerAttributes" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/networkLoadBalancingArn" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/loadBalancerName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "turbot": { "akas": [ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-load-balancer/50dc6c495c0c9188" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "foo", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } }, "LoadBalancerName": "foo", "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-load-balancer/50dc6c495c0c9188", "CanonicalHostedZoneId": "Z3DZXE0EXAMPLE", "DNSName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com", "SecurityGroups": [ "sg-a61988c3" ], "CreatedTime": "2015-03-19T03:24:02.650Z", "AvailabilityZones": [ { "ZoneName": "us-west-2a" } ], "Type": "application", "Scheme": "internet-facing", "IpAddressType": "ipv4", "VpcId": "vpc-3ac0fb5f", "State": { "Code": "active" }, "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ] } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkLoadBalancer", "modUri": "tmod:@turbot/aws-ec2" }}
networkLoadbalancerStatus
{ "type": "object", "properties": { "Code": { "$ref": "#/definitions/ec2NetworkLoadbalancerStatus" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkLoadbalancerStatus", "modUri": "tmod:@turbot/aws-ec2" }}
networkLoadBalancingArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:loadbalancer/net/[a-zA-Z0-9](?:[-a-zA-Z0-9]{0,30}[a-zA-Z0-9])?/[0-9a-f]{16}$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-load-balancer/50dc6c495c0c9188" }, { "input": "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:loadbalancer/net/my-load-balancer/50dc6c495c0c9188" }, { "description": "invalid - account id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:loadbalancer/net/my-load-balancer/50dc6c495c0c9188", "expected": false }, { "description": "invalid - region", "input": "arn:aws:elasticloadbalancing:usa-west-2:12345789101:loadbalancer/net/my-load-balancer/50dc6c495c0c9188", "expected": false }, { "description": "invalid - load balancer id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:loadbalancer/net/my-load-balancer/50dc6c495c0c9188", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/networkLoadBalancingArn", "modUri": "tmod:@turbot/aws-ec2" }}
policies
{ "type": "object", "properties": { "AppCookieStickinessPolicies": { "$ref": "#/definitions/appCookieStickinessPolicies" }, "LBCookieStickinessPolicies": { "$ref": "#/definitions/lBCookieStickinessPolicies" }, "OtherPolicies": { "$ref": "#/definitions/policyNames" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/policies", "modUri": "tmod:@turbot/aws-ec2" }}
policyName
{ "type": "string", "pattern": "^[0-9a-zA-Z-]+$", "tests": [ { "input": "ELBSecurityPolicy-2015-03" }, { "description": "invalid - character not in pattern", "input": "55!%", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/policyName", "modUri": "tmod:@turbot/aws-ec2" }}
policyNames
{ "type": "array", "items": { "$ref": "#/definitions/policyName" }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/policyNames", "modUri": "tmod:@turbot/aws-ec2" }}
port
{ "type": "integer", "minimum": 1, "maximum": 65535, "tests": [ { "input": 9999 }, { "input": 11111 }, { "description": "minimum", "input": 1 }, { "description": "maximum", "input": 65535 }, { "description": "invalid - decimal value provided", "input": 4.5, "expected": false }, { "description": "invalid - string type provided", "input": "three", "expected": false }, { "description": "invalid - less than minimum", "input": 0, "expected": false }, { "description": "invalid - greater than maximum", "input": 65536, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/port", "modUri": "tmod:@turbot/aws-ec2" }}
protocol
{ "type": "string", "enum": [ "HTTP", "HTTPS", "TCP" ], "tests": [ { "input": "HTTP" }, { "input": "TCP" }, { "description": "invalid - lowercase value", "input": "tcp", "expected": false }, { "description": "invalid - not listed in the options", "input": "foo", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/protocol", "modUri": "tmod:@turbot/aws-ec2" }}
Protocol
{ "type": "string", "enum": [ "HTTP", "HTTPS", "TCP", "SSL" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/Protocol", "modUri": "tmod:@turbot/aws-ec2" }}
reason
{ "type": "string", "tests": [ { "input": "hgvhjvjg" } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/reason", "modUri": "tmod:@turbot/aws-ec2" }}
regionName
{ "type": "string", "enum": [ "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-west-1", "eu-west-2", "eu-west-3", "sa-east-1", "us-east-1", "us-east-2", "us-gov-west-1", "us-west-1", "us-west-2" ], "tests": [ { "input": "us-east-1" }, { "description": "invalid - usea1", "input": "usea1", "expected": false }, { "description": "invalid - au-north-1", "input": "au-north-1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/regionName", "modUri": "tmod:@turbot/aws-ec2" }}
responseLaunchTemplateData
{ "type": "object", "properties": { "KernelId": { "type": "string" }, "EbsOptimized": { "type": "boolean" }, "IamInstanceProfile": { "$ref": "#/definitions/launchTemplateIamInstanceProfileSpecification" }, "BlockDeviceMappings": { "type": "array" }, "NetworkInterfaces": { "type": "array" }, "ImageId": { "type": "string" }, "InstanceType": { "type": "string" }, "KeyName": { "type": "string" }, "Monitoring": { "type": "object" }, "Placement": { "type": "object" }, "RamDiskId": { "type": "string" }, "DisableApiTermination": { "type": "boolean" }, "InstanceInitiatedShutdownBehavior": { "type": "object" }, "UserData": { "type": "string" }, "TagSpecifications": { "type": "array" }, "ElasticGpuSpecifications": { "type": "array" }, "ElasticInferenceAccelerators": { "type": "array" }, "SecurityGroupIds": { "type": "array" }, "SecurityGroups": { "type": "array" }, "InstanceMarketOptions": { "type": "object" }, "CreditSpecification": { "type": "object" }, "CpuOptions": { "type": "object" }, "CapacityReservationSpecification": { "type": "object" }, "LicenseSpecifications": { "type": "array" }, "HibernationOptions": { "type": "object" }, "MetadataOptions": { "type": "object" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/responseLaunchTemplateData", "modUri": "tmod:@turbot/aws-ec2" }}
rootDeviceType
{ "type": "string", "enum": [ "ebs", "instance-store" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/rootDeviceType", "modUri": "tmod:@turbot/aws-ec2" }}
scheme
{ "type": "string", "enum": [ "internet-facing", "internal" ], "tests": [ { "input": "internal" }, { "input": "internet-facing" }, { "description": "invalid - uppercase value", "input": "INTERNAL", "expected": false }, { "description": "invalid - not listed in the options", "input": "foo", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/scheme", "modUri": "tmod:@turbot/aws-ec2" }}
securityGroup
{ "type": "string", "pattern": "^sg-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "input": "sg-a61988c3" }, { "input": "sg-a1199fd4" }, { "description": "invalid - uppercase value", "input": "sg-A1199FD4", "expected": false }, { "description": "invalid - missing sg", "input": "a1199fd4", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/securityGroup", "modUri": "tmod:@turbot/aws-ec2" }}
securityGroups
{ "type": "array", "items": { "$ref": "#/definitions/securityGroup" }, "tests": [ { "input": [ "sg-a61988c3" ] }, { "description": "invalid - string passed", "input": "test", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/securityGroups", "modUri": "tmod:@turbot/aws-ec2" }}
sgIdentifierList
{ "type": "object", "properties": { "GroupName": { "type": "string" }, "GroupId": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/sgIdentifierList", "modUri": "tmod:@turbot/aws-ec2" }}
snapshot
{ "type": "object", "properties": { "DataEncryptionKeyId": { "type": "string" }, "Description": { "type": "string" }, "Encrypted": { "type": "boolean" }, "KmsKeyId": { "type": "string" }, "Progress": { "type": "string" }, "SnapshotId": { "$ref": "#/definitions/snapshotId" }, "StartTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "OwnerId": { "$ref": "aws#/definitions/accountId" }, "Tags": { "$ref": "#/definitions/tagList" }, "State": { "$ref": "#/definitions/snapshotStatus" }, "StateMessage": { "type": "string" }, "VolumeId": { "type": "string" }, "VolumeSize": { "type": "integer" }, "OwnerAlias": { "type": "string" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/snapshotAka" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/snapshotId" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "SnapshotId": "snap-1234567890abcdef0", "OwnerId": 123456789012, "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "turbot": { "akas": [ "arn:aws:ec2:us-east-1:123456789012:snapshot/snap-a2345678" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "snap-1234567890abcdef0", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1", "partition": "aws" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/snapshot", "modUri": "tmod:@turbot/aws-ec2" }}
snapshotAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:snapshot/snap-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:ec2:us-east-1:123456789012:snapshot/snap-1234567890abcdef0" }, { "description": "Invalid - Malformed resource collection", "input": "arn:aws:ec2:us-east-1:123456789012:snaps/snap-1234567890abcdef0", "expected": false }, { "description": "Invalid - Malformed region name", "input": "arn:aws:ec2:use-east-1:123456789012:snapshot/snap-1234567890abcdef0", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:ec2:us-east-1:1234567890123:snapshot/snap-1234567890abcdef0", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/snapshotAka", "modUri": "tmod:@turbot/aws-ec2" }}
snapshotId
{ "type": "string", "pattern": "^snap-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "input": "snap-1234567890abcdef0" }, { "input": "snap-87e12c93" }, { "description": "invalid - pattern mismatch", "input": "a1234567812345678123456781234567", "expected": false }, { "description": "invalid - cannot start with hyphens", "input": "-aaaaaa111111", "expected": false }, { "description": "invalid - cannot contain hyphens", "input": "aaaaaa-111111", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/snapshotId", "modUri": "tmod:@turbot/aws-ec2" }}
snapshotServiceNow
{ "defaultColumns": { "account_id": { "column": "enabled", "path": "metadata.aws.accountId", "label": "Account ID" }, "arn": { "column": "enabled", "path": "turbot.akas[0]", "label": "ARN" }, "description": { "column": "enabled", "label": "Description" }, "encrypted": { "column": "enabled", "label": "Encrypted", "type": "boolean" }, "kms_key_id": { "column": "enabled", "label": "Kms Key ID" }, "owner_alias": { "column": "enabled", "label": "Owner Alias" }, "owner_id": { "column": "enabled", "label": "Owner ID" }, "progress": { "column": "enabled", "label": "Progress" }, "region": { "column": "enabled", "label": "Region", "path": "metadata.aws.regionName" }, "snapshot_id": { "column": "enabled", "label": "Snapshot ID" }, "start_time": { "column": "enabled", "label": "Start Time" }, "state": { "column": "enabled", "label": "State" }, "tags": { "column": "enabled", "label": "Tags", "type": "string", "size": 1000 }, "volume_id": { "column": "enabled", "label": "Volume ID" }, "volume_size": { "column": "enabled", "label": "Volume Size" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/snapshotServiceNow", "modUri": "tmod:@turbot/aws-ec2" }}
snapshotStatus
{ "type": "string", "enum": [ "pending", "completed", "error" ], "tests": [ { "input": "pending" }, { "input": "error" }, { "description": "invalid - not listed in options", "input": "Reactive", "expected": false }, { "description": "invalid - null value", "input": null, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/snapshotStatus", "modUri": "tmod:@turbot/aws-ec2" }}
sourceSecurityGroup
{ "type": "object", "properties": { "OwnerAlias": { "type": "string" }, "GroupName": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/sourceSecurityGroup", "modUri": "tmod:@turbot/aws-ec2" }}
sslPolicy
{ "type": "string", "pattern": "^[a-zA-Z0-9-]+$", "tests": [ { "input": "ELBSecurityPolicy-2015-05" }, { "description": "invalid - at symbol is not in pattern", "input": "301@", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/sslPolicy", "modUri": "tmod:@turbot/aws-ec2" }}
state
{ "type": "object", "properties": { "Code": { "$ref": "#/definitions/code" }, "Reason": { "$ref": "#/definitions/reason" } }, "tests": [ { "description": "all properties given", "input": { "Code": "active", "Reason": "adfgggh" } }, { "description": "one property given", "input": { "Code": "active" } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/state", "modUri": "tmod:@turbot/aws-ec2" }}
stateReason
{ "type": "object", "properties": { "Code": { "type": "string" }, "Message": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/stateReason", "modUri": "tmod:@turbot/aws-ec2" }}
subnet
{ "type": "string", "pattern": "^subnet-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "input": "subnet-15aaab61" }, { "input": "subnet-aaaaaaaa" }, { "description": "invalid - non hex", "input": "subnet-aaaaaaaaaaaaaaaaz", "expected": false }, { "description": "invalid - too short", "input": "subnet-a234567890123456", "expected": false }, { "description": "invalid - too long", "input": "subnet-a23456789012345678", "expected": false }, { "description": "invalid - must be lowercase", "input": "subnet-ABCD1234", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/subnet", "modUri": "tmod:@turbot/aws-ec2" }}
subnets
{ "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/subnet" }, "tests": [ { "input": [ "subnet-15aaab61", "subnet-15aaab61" ] } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/subnets", "modUri": "tmod:@turbot/aws-ec2" }}
tag
{ "type": "object", "properties": { "Key": { "$ref": "#/definitions/tagKey" }, "Value": { "$ref": "#/definitions/tagValue" } }, "required": [ "Key", "Value" ], "tests": [ { "description": "valid - base case", "input": { "Key": "foo", "Value": "bar" } }, { "description": "invalid - empty key", "input": { "Key": "", "Value": "bar" }, "expected": false }, { "description": "invalid - no key", "input": { "Value": "bar" }, "expected": false }, { "description": "invalid - no value", "input": { "Key": "foo" }, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/tag", "modUri": "tmod:@turbot/aws-ec2" }}
tagKey
{ "allOf": [ { "$ref": "#/definitions/tagString" }, { "type": "string", "minLength": 1, "maxLength": 127 } ], "tests": [ { "description": "valid - min length", "input": "a" }, { "description": "valid - max length", "input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567" }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - too long", "input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345678", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/tagKey", "modUri": "tmod:@turbot/aws-ec2" }}
tagList
{ "type": "array", "items": { "$ref": "#/definitions/tag" }, "minLength": 0, "tests": [ { "description": "valid - empty list", "input": [] }, { "description": "valid - single item", "input": [ { "Key": "foo", "Value": "bar" } ] }, { "description": "valid - multiple items", "input": [ { "Key": "one", "Value": 1 }, { "Key": "two", "Value": 2 }, { "Key": "three", "Value": 3 }, { "Key": "four", "Value": 4 } ] }, { "description": "invalid - missing value", "input": [ { "Key": "one" }, { "Key": "two", "Value": 2 } ], "expected": false }, { "description": "invalid - empty item", "input": [ { "Key": "one", "Value": 1 }, null, { "Key": "two", "Value": 2 } ], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/tagList", "modUri": "tmod:@turbot/aws-ec2" }}
tagsMap
{ "type": "object", "patternProperties": { "^.{1,127}$": { "$ref": "#/definitions/tagValue" } }, "additionalProperties": false, "tests": [ { "description": "valid - base case", "input": { "foo": "bar" } }, { "description": "valid - kitchen sink", "input": { "küßîAbc123!@#$": "küßîAbc123!@#$", "test": "" } }, { "description": "valid - key min length", "input": { "a": "bar" } }, { "description": "invalid - empty key", "input": { "": "bar" }, "expected": false }, { "description": "valid - key max length", "input": { "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567": "bar" } }, { "description": "invalid - key too long", "input": { "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345678": "bar" }, "expected": false }, { "description": "valid - empty", "input": {} } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/tagsMap", "modUri": "tmod:@turbot/aws-ec2" }}
tagsTemplateTag
{ "type": "object", "patternProperties": { "^(?!aws:).{1,127}$": { "$ref": "#/definitions/tagValue" } }, "minProperties": 1, "maxProperties": 1, "additionalProperties": false, "tests": [ { "description": "valid - base case", "input": { "foo": "bar" } }, { "description": "invalid - starts with \"aws:\"", "input": { "aws:test": "bar" }, "expected": false }, { "description": "invalid - below min properties", "input": {}, "expected": false }, { "description": "invalid - above max properties", "input": { "foo": "bar", "foo1": "bar1" }, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/tagsTemplateTag", "modUri": "tmod:@turbot/aws-ec2" }}
tagsTemplateTagList
{ "type": "array", "items": { "$ref": "#/definitions/tagsTemplateTag" }, "minLength": 0, "tests": [ { "description": "valid - empty list", "input": [] }, { "description": "valid - single item", "input": [ { "foo": "bar" } ] }, { "description": "valid - multiple items", "input": [ { "foo": "bar" }, { "foo1": "bar1" }, { "foo2": "bar2" } ] }, { "description": "invalid - empty item", "input": [ { "foo": "bar" }, null, { "foo2": "bar2" } ], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/tagsTemplateTagList", "modUri": "tmod:@turbot/aws-ec2" }}
tagString
{ "type": "string", "pattern": "^.*$", "tests": [ { "input": "küßî" }, { "input": "Peter Dinklage as Tyrion Lannister" }, { "input": "Filip Lozić as Young Nobleman" }, { "input": "Abc123 !@#$%^&*()_+" }, { "input": "{ start: \"something\", stop: \"something else\" }" } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/tagString", "modUri": "tmod:@turbot/aws-ec2" }}
tagValue
{ "allOf": [ { "$ref": "#/definitions/tagString" }, { "type": "string", "minLength": 0, "maxLength": 255 } ], "tests": [ { "description": "valid - empty string", "input": "" }, { "description": "valid - max length", "input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345" }, { "description": "invalid - too long", "input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/tagValue", "modUri": "tmod:@turbot/aws-ec2" }}
Target
{ "type": "array", ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/Target", "modUri": "tmod:@turbot/aws-ec2" }}
targetGroup
{ "type": "object", "properties": { "TargetGroupName": { "$ref": "#/definitions/targetGroupName" }, "TargetGroupArn": { "$ref": "#/definitions/targetGroupArn" }, "LoadBalancerArns": { "$ref": "#/definitions/loadBalancerArns" }, "Protocol": { "$ref": "#/definitions/protocol" }, "Port": { "$ref": "#/definitions/port" }, "VpcId": { "$ref": "#/definitions/vpcId" }, "TargetType": { "$ref": "#/definitions/targetType" }, "HealthyThresholdCount": { "$ref": "#/definitions/healthyThresholdCount" }, "Matcher": { "$ref": "#/definitions/matcher" }, "UnhealthyThresholdCount": { "$ref": "#/definitions/unhealthyThresholdCount" }, "HealthCheckPath": { "$ref": "#/definitions/healthCheckPath" }, "HealthCheckProtocol": { "$ref": "#/definitions/healthCheckProtocol" }, "HealthCheckPort": { "$ref": "#/definitions/healthCheckPort" }, "HealthCheckIntervalSeconds": { "$ref": "#/definitions/healthCheckIntervalSeconds" }, "HealthCheckTimeoutSeconds": { "$ref": "#/definitions/healthCheckTimeoutSeconds" }, "TargetHealthDescriptions": { "$ref": "#/definitions/TargetHealthDescriptions" }, "Tags": { "$ref": "#/definitions/tagList" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/targetGroupArn" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/targetGroupName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties given", "input": { "turbot": { "akas": [ "arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "foo", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } }, "TargetGroupName": "foo", "TargetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "LoadBalancerArns": [ "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:loadbalancer/net/my-load-balancer/50dc6c495c0c9188", "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" ], "Protocol": "HTTP", "Port": 80, "VpcId": "vpc-3ac0fb5f", "TargetType": "instance", "HealthyThresholdCount": 5, "Matcher": { "HttpCode": 200 }, "UnhealthyThresholdCount": 2, "HealthCheckPath": "/", "HealthCheckProtocol": "HTTP", "HealthCheckPort": "traffic-port", "HealthCheckIntervalSeconds": 30, "HealthCheckTimeoutSeconds": 5, "TargetHealthDescriptions": [ { "HealthCheckPort": "80", "Target": { "Id": "i-0a94d7d5d9dbd5bcf", "Port": 80 }, "TargetHealth": { "Description": "Target is in an Availability Zone that is not enabled for the load balancer", "Reason": "Target.NotInUse", "State": "unused" } } ], "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ] } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/targetGroup", "modUri": "tmod:@turbot/aws-ec2" }}
targetGroupArn
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:elasticloadbalancing:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:targetgroup/(((?!.*--)[a-zA-Z0-9][a-zA-Z0-9-]{1,28})[a-z0-9])/[0-9a-f]{16}$", "tests": [ { "input": "arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" }, { "input": "arn:aws-us-gov:elasticloadbalancing:us-gov-west-1:123456789101:targetgroup/my-targets/73e2d6bc24d8a067" }, { "description": "Invalid - account id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:targetgroup/my-targets/73e2d6bc24d8a067", "expected": false }, { "description": "Invalid - region", "input": "arn:aws:elasticloadbalancing:usa-west-2:12345789101:targetgroup/my-targets/73e2d6bc24d8a067", "expected": false }, { "description": "Invalid - target group id", "input": "arn:aws:elasticloadbalancing:us-west-2:12345789101:targetgroup/my-targets/73e2dzd8a067", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/targetGroupArn", "modUri": "tmod:@turbot/aws-ec2" }}
targetGroupName
{ "type": "string", "pattern": "^(((?!.*--)[a-zA-Z0-9][a-zA-Z0-9-]{1,28})[a-z0-9])$", "tests": [ { "input": "aaAbbb111" }, { "input": "11aaaabbbbb" }, { "input": "Test-MeP12-lease" }, { "description": "Invalid - TargetGroup name cannot begin or end with a dash", "input": "-hgfdfg", "expected": false }, { "description": "Invalid - TargetGroup name cannot contain double dashes", "input": "hgf--dfg", "expected": false }, { "description": "Invalid - TargetGroup name cannot be longer than 32 characters", "input": "a12345678123456781234567812345643", "expected": false }, { "description": "Invalid - TargetGroup name cannot contain characters that are not letters, or digits or the dash", "input": "98765432rl;';lkjh", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/targetGroupName", "modUri": "tmod:@turbot/aws-ec2" }}
TargetHealth
{ "type": "object", ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/TargetHealth", "modUri": "tmod:@turbot/aws-ec2" }}
TargetHealthDescriptions
{ "type": "array", "properties": { "Target": { "$ref": "#/definitions/Target" }, "HealthCheckPort": { "$ref": "#/definitions/healthCheckPort" }, "TargetHealth": { "$ref": "#/definitions/TargetHealth" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/TargetHealthDescriptions", "modUri": "tmod:@turbot/aws-ec2" }}
targetType
{ "type": "string", "enum": [ "instance", "ip" ], "tests": [ { "input": "instance" }, { "input": "ip" }, { "description": "invalid - uppercase value", "input": "IP", "expected": false }, { "description": "invalid - not listed in the options", "input": "foo", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/targetType", "modUri": "tmod:@turbot/aws-ec2" }}
type
{ "type": "string", "enum": [ "application", "network" ], "tests": [ { "input": "network" }, { "input": "application" }, { "description": "invalid - uppercase value", "input": "NETWORK", "expected": false }, { "description": "invalid - not listed in the options", "input": "foo", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/type", "modUri": "tmod:@turbot/aws-ec2" }}
Type
{ "type": "string", "enum": [ "application", "network", "gateway" ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/Type", "modUri": "tmod:@turbot/aws-ec2" }}
unhealthyThresholdCount
{ "type": "integer", "minimum": 2, "maximum": 10, "tests": [ { "input": 5 }, { "input": 7 }, { "description": "minimum", "input": 2 }, { "description": "maximum", "input": 10 }, { "description": "invalid - decimal value provided", "input": 4.5, "expected": false }, { "description": "invalid - string tpye provided", "input": "three", "expected": false }, { "description": "invalid - less than minimum", "input": 1, "expected": false }, { "description": "invalid - greater than maximum", "input": 11, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/unhealthyThresholdCount", "modUri": "tmod:@turbot/aws-ec2" }}
versionNumber
{ "type": "integer", ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/versionNumber", "modUri": "tmod:@turbot/aws-ec2" }}
volume
{ "type": "object", "properties": { "AvailabilityZone": { "type": "string" }, "CreateTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "Encrypted": { "type": "boolean" }, "OutpostArn": { "type": "string" }, "Size": { "type": "integer" }, "SnapshotId": { "type": "string" }, "Iops": { "type": "integer" }, "FastRestored": { "type": "boolean" }, "VolumeId": { "$ref": "#/definitions/volumeId" }, "Tags": { "$ref": "#/definitions/tagList" }, "State": { "$ref": "#/definitions/volumeStatus" }, "VolumeType": { "$ref": "#/definitions/volumeType" }, "Attachments": { "$ref": "#/definitions/volumeAttachments" }, "KmsKeyId": { "$ref": "aws-kms#/definitions/keyAka" }, "KeyArn": { "$ref": "aws-kms#/definitions/keyAka" }, "AliasName": { "type": "string", "pattern": "^.{1,256}$" }, "KeyId": { "$ref": "aws-kms#/definitions/KeyId" }, "AliasArn": { "type": "string", "pattern": "^.{20,2048}$" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/volumeAka" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/volumeId" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "all properties given", "input": { "VolumeId": "vol-1234567890abcdef0", "State": "creating", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "turbot": { "akas": [ "arn:aws:ec2:us-east-1:123456789012:volume/vol-1234567890abcdef0" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "vol-1234567890abcdef0", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/volume", "modUri": "tmod:@turbot/aws-ec2" }}
volumeAka
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ec2:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:volume/vol-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:ec2:us-east-1:123456789012:volume/vol-1234567890abcdef0" }, { "description": "Invalid - Malformed resource collection", "input": "arn:aws:ec2:us-east-1:123456789012:volumes/i-a2345678", "expected": false }, { "description": "Invalid - Malformed region name", "input": "arn:aws:ec2:use-east-1:123456789012:volume/vol-1234567890abcdef0", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:ec2:us-east-1:1234567890123:volume/vol-1234567890abcdef0", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/volumeAka", "modUri": "tmod:@turbot/aws-ec2" }}
volumeAttachments
{ "type": "array", "items": { "AttachTime": { "$ref": "turbot#/definitions/isoTimestamp" }, "Device": { "type": "string", "tests": [] }, "DeleteOnTermination": { "type": "string", "tests": [] }, "InstanceId": { "$ref": "#/definitions/instanceId" }, "State": { "type": "string", "tests": [] }, "VolumeId": { "$ref": "#/definitions/volumeId" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/volumeAttachments", "modUri": "tmod:@turbot/aws-ec2" }}
volumeId
{ "type": "string", "tests": [ { "description": "base case", "input": "vol-1234567890abcdef0" }, { "description": "invalid - incorrect type", "input": [], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/volumeId", "modUri": "tmod:@turbot/aws-ec2" }}
volumeServiceNow
{ "defaultColumns": { "account_id": { "column": "enabled", "path": "metadata.aws.accountId", "label": "Account ID" }, "arn": { "column": "enabled", "path": "turbot.akas[0]", "label": "ARN" }, "attachments": { "column": "enabled", "label": "Attachments", "type": "string", "size": 1000 }, "availability_zone": { "column": "enabled", "label": "Availability Zone" }, "create_time": { "column": "enabled", "label": "Create Time" }, "encrypted": { "column": "enabled", "label": "Encrypted", "type": "boolean" }, "iops": { "column": "enabled", "label": "IOPS" }, "kms_key_id": { "column": "enabled", "label": "Kms Key ID" }, "multi_attach_enabled": { "column": "enabled", "label": "Multi Attach Enabled", "type": "boolean" }, "region": { "column": "enabled", "path": "metadata.aws.regionName", "label": "Region" }, "size": { "column": "enabled", "label": "Size" }, "snapshot_id": { "column": "enabled", "label": "Snapshot ID" }, "state": { "column": "enabled", "label": "State" }, "tags": { "column": "enabled", "label": "Tags", "type": "string", "size": 1000 }, "volume_id": { "column": "enabled", "label": "Volume ID" }, "volume_type": { "column": "enabled", "label": "Volume Type" } }, ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/volumeServiceNow", "modUri": "tmod:@turbot/aws-ec2" }}
volumeStatus
{ "type": "string", "enum": [ "creating", "available", "in-use", "deleting", "deleted", "error" ], "tests": [ { "input": "creating" }, { "input": "error" }, { "description": "invalid - not listed in options", "input": "Reactive", "expected": false }, { "description": "invalid - null value", "input": null, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/volumeStatus", "modUri": "tmod:@turbot/aws-ec2" }}
volumeType
{ "type": "string", "enum": [ "gp2", "io1", "sc1", "st1", "standard" ], "tests": [ { "input": "gp2" }, { "input": "io1" }, { "input": "standard" }, { "input": "st1" } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/volumeType", "modUri": "tmod:@turbot/aws-ec2" }}
volumeTypeMatcher
{ "type": "string", "enum": [ "gp2", "io1", "sc1", "st1", "standard", "*" ], "tests": [ { "input": "gp2" }, { "input": "io1" }, { "input": "standard" }, { "input": "st1" }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - contains hyphen", "input": "st-1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/volumeTypeMatcher", "modUri": "tmod:@turbot/aws-ec2" }}
volumeTypeMatcherList
{ "type": "array", "items": { "$ref": "#/definitions/volumeTypeMatcher" }, "example": [ [ "gp2", "standard" ], [ "io1", "st1" ] ], "default": [ "*" ], "tests": [ { "input": [ "gp2" ] }, { "input": [ "io1" ] }, { "input": [ "standard" ] }, { "input": [ "st1" ] } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/volumeTypeMatcherList", "modUri": "tmod:@turbot/aws-ec2" }}
vpcId
{ "type": "string", "pattern": "^vpc-[0-9a-f]{8}(?:[0-9a-f]{9})?$", "tests": [ { "input": "vpc-11111111" }, { "input": "vpc-aaaaaaaa" }, { "input": "vpc-a2345678" }, { "input": "vpc-a2345678901234567" }, { "description": "fixed length", "input": "vpc-a2345678901234567" }, { "input": "invalid - foo$bar", "expected": false }, { "description": "invalid - must be lowercase", "input": "vpc-ABCD1234", "expected": false }, { "description": "invalid - too long", "input": "vpc-a23456789012345678", "expected": false }, { "description": "invalid - too short", "input": "vpc-a234567890123456", "expected": false }, { "description": "invalid - non hex", "input": "vpc-aaaaaaaaaaaaaaaaz", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/vpcId", "modUri": "tmod:@turbot/aws-ec2" }}
zoneName
{ "type": "string", "pattern": "^[a-z]{2}(-gov)?-[a-z]+-[0-9a-z]{2}$", "tests": [ { "input": "us-east-1a" }, { "input": "us-gov-west-1a" }, { "description": "invalid - uppercase value", "input": "US-EAST-1A", "expected": false }, { "description": "invalid - region", "input": "usa-east-1a", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ec2#/definitions/zoneName", "modUri": "tmod:@turbot/aws-ec2" }}