Amazon EC2 Ec2 Transit Gateway API
The Ec2 Transit Gateway API from Amazon EC2 — 4 operation(s) for ec2 transit gateway.
The Ec2 Transit Gateway API from Amazon EC2 — 4 operation(s) for ec2 transit gateway.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/amazon-ec2:amazon-ec2-transit-gateway-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Amazon Elastic Compute Cloud Transit Gateway API
version: '2016-11-15'
description: Generated from AWS's published Smithy model for Amazon Elastic Compute Cloud. 4 operation(s).
contact:
name: Amazon Web Services
url: https://aws.amazon.com/contact-us/
license:
name: Apache 2.0
identifier: Apache-2.0
url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://ec2.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
tags:
- name: Transit Gateway
paths:
/?Action=CreateTransitGateway:
post:
operationId: CreateTransitGateway
summary: Create Transit Gateway
description: Creates a transit gateway. You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks. After the transit gateway enters the available state, you can attach your VPCs and VPN connections to the transit gateway. To attach your VPCs, use CreateTransitGatewayVpcAttachment. To attach a VPN connection, use CreateCustomerGateway to create a customer gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to CreateVpnConnection. When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table and the default propagation route table. You can use CreateTransitGatewayRouteTable to create additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation to propagate routes from a resource attachment to a transit gateway route table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable to associate a resource attachment with a transit gateway route table.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/CreateTransitGatewayResult'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
allOf:
- type: object
required:
- Action
- Version
properties:
Action:
type: string
const: CreateTransitGateway
Version:
type: string
const: '2016-11-15'
- $ref: '#/components/schemas/CreateTransitGatewayRequest'
tags:
- Transit Gateway
/?Action=DeleteTransitGateway:
post:
operationId: DeleteTransitGateway
summary: Delete Transit Gateway
description: Deletes the specified transit gateway.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/DeleteTransitGatewayResult'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
allOf:
- type: object
required:
- Action
- Version
properties:
Action:
type: string
const: DeleteTransitGateway
Version:
type: string
const: '2016-11-15'
- $ref: '#/components/schemas/DeleteTransitGatewayRequest'
tags:
- Transit Gateway
/?Action=DescribeTransitGateways:
post:
operationId: DescribeTransitGateways
summary: Describe Transit Gateways
description: Describes one or more transit gateways. By default, all transit gateways are described. Alternatively, you can filter the results.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/DescribeTransitGatewaysResult'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
allOf:
- type: object
required:
- Action
- Version
properties:
Action:
type: string
const: DescribeTransitGateways
Version:
type: string
const: '2016-11-15'
- $ref: '#/components/schemas/DescribeTransitGatewaysRequest'
tags:
- Transit Gateway
/?Action=ModifyTransitGateway:
post:
operationId: ModifyTransitGateway
summary: Modify Transit Gateway
description: Modifies the specified transit gateway. When you modify a transit gateway, the modified options are applied to new transit gateway attachments only. Your existing transit gateway attachments are not modified.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/ModifyTransitGatewayResult'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
allOf:
- type: object
required:
- Action
- Version
properties:
Action:
type: string
const: ModifyTransitGateway
Version:
type: string
const: '2016-11-15'
- $ref: '#/components/schemas/ModifyTransitGatewayRequest'
tags:
- Transit Gateway
components:
schemas:
DeleteTransitGatewayRequest:
type: object
properties:
TransitGatewayId:
type: string
description: The ID of the transit gateway.
DryRun:
type: boolean
description: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
required:
- TransitGatewayId
TransitGatewayRequestOptions:
type: object
properties:
AmazonSideAsn:
type: integer
description: A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The default is 64512.
AutoAcceptSharedAttachments:
type: string
enum:
- enable
- disable
description: Enable or disable automatic acceptance of attachment requests. Disabled by default.
DefaultRouteTableAssociation:
type: string
enum:
- enable
- disable
description: Enable or disable automatic association with the default association route table. Enabled by default.
DefaultRouteTablePropagation:
type: string
enum:
- enable
- disable
description: Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.
VpnEcmpSupport:
type: string
enum:
- enable
- disable
description: Enable or disable Equal Cost Multipath Protocol support. Enabled by default.
DnsSupport:
type: string
enum:
- enable
- disable
description: Enable or disable DNS support. Enabled by default.
SecurityGroupReferencingSupport:
type: string
enum:
- enable
- disable
description: Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. This option is disabled by default. For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.
MulticastSupport:
type: string
enum:
- enable
- disable
description: Indicates whether multicast is enabled on the transit gateway
TransitGatewayCidrBlocks:
type: array
items:
type: string
description: One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.
Tag:
type: object
properties:
Key:
type: string
description: 'The key of the tag. Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.'
Value:
type: string
description: 'The value of the tag. Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.'
TransitGateway:
type: object
properties:
TransitGatewayId:
type: string
description: The ID of the transit gateway.
TransitGatewayArn:
type: string
description: The Amazon Resource Name (ARN) of the transit gateway.
State:
type: string
enum:
- pending
- available
- modifying
- deleting
- deleted
description: The state of the transit gateway.
OwnerId:
type: string
description: The ID of the Amazon Web Services account that owns the transit gateway.
Description:
type: string
description: The description of the transit gateway.
CreationTime:
type: string
format: date-time
description: The creation time.
Options:
$ref: '#/components/schemas/TransitGatewayOptions'
Tags:
type: array
items:
$ref: '#/components/schemas/Tag'
description: The tags for the transit gateway.
EncryptionSupport:
type: object
properties:
EncryptionState:
type: string
enum:
- enabling
- enabled
- disabling
- disabled
description: The current encryption state of the resource.
StateMessage:
type: string
description: A message describing the encryption state.
ModifyTransitGatewayRequest:
type: object
properties:
TransitGatewayId:
type: string
description: The ID of the transit gateway.
Description:
type: string
description: The description for the transit gateway.
Options:
$ref: '#/components/schemas/ModifyTransitGatewayOptions'
DryRun:
type: boolean
description: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
required:
- TransitGatewayId
CreateTransitGatewayResult:
type: object
properties:
TransitGateway:
$ref: '#/components/schemas/TransitGateway'
TransitGatewayOptions:
type: object
properties:
AmazonSideAsn:
type: integer
description: A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.
TransitGatewayCidrBlocks:
type: array
items:
type: string
description: The transit gateway CIDR blocks.
AutoAcceptSharedAttachments:
type: string
enum:
- enable
- disable
description: Indicates whether attachment requests are automatically accepted.
DefaultRouteTableAssociation:
type: string
enum:
- enable
- disable
description: Indicates whether resource attachments are automatically associated with the default association route table. Enabled by default. Either defaultRouteTableAssociation or defaultRouteTablePropagation must be set to enable for Amazon Web Services Transit Gateway to create the default transit gateway route table.
AssociationDefaultRouteTableId:
type: string
description: The ID of the default association route table.
DefaultRouteTablePropagation:
type: string
enum:
- enable
- disable
description: Indicates whether resource attachments automatically propagate routes to the default propagation route table. Enabled by default. If defaultRouteTablePropagation is set to enable, Amazon Web Services Transit Gateway creates the default transit gateway route table.
PropagationDefaultRouteTableId:
type: string
description: The ID of the default propagation route table.
VpnEcmpSupport:
type: string
enum:
- enable
- disable
description: Indicates whether Equal Cost Multipath Protocol support is enabled.
DnsSupport:
type: string
enum:
- enable
- disable
description: Indicates whether DNS support is enabled.
SecurityGroupReferencingSupport:
type: string
enum:
- enable
- disable
description: Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. This option is disabled by default.
MulticastSupport:
type: string
enum:
- enable
- disable
description: Indicates whether multicast is enabled on the transit gateway
EncryptionSupport:
$ref: '#/components/schemas/EncryptionSupport'
ModifyTransitGatewayOptions:
type: object
properties:
AddTransitGatewayCidrBlocks:
type: array
items:
type: string
description: Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.
RemoveTransitGatewayCidrBlocks:
type: array
items:
type: string
description: Removes CIDR blocks for the transit gateway.
VpnEcmpSupport:
type: string
enum:
- enable
- disable
description: Enable or disable Equal Cost Multipath Protocol support.
DnsSupport:
type: string
enum:
- enable
- disable
description: Enable or disable DNS support.
SecurityGroupReferencingSupport:
type: string
enum:
- enable
- disable
description: Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. This option is disabled by default. For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.
AutoAcceptSharedAttachments:
type: string
enum:
- enable
- disable
description: Enable or disable automatic acceptance of attachment requests.
DefaultRouteTableAssociation:
type: string
enum:
- enable
- disable
description: Enable or disable automatic association with the default association route table.
AssociationDefaultRouteTableId:
type: string
description: The ID of the default association route table.
DefaultRouteTablePropagation:
type: string
enum:
- enable
- disable
description: Indicates whether resource attachments automatically propagate routes to the default propagation route table. Enabled by default. If defaultRouteTablePropagation is set to enable, Amazon Web Services Transit Gateway will create the default transit gateway route table.
PropagationDefaultRouteTableId:
type: string
description: The ID of the default propagation route table.
AmazonSideAsn:
type: integer
description: 'A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The modify ASN operation is not allowed on a transit gateway if it has the following attachments: Dynamic VPN Static VPN Direct Connect Gateway Connect VPN Concentrator Client VPN You must first delete all transit gateway attachments configured prior to modifying the ASN on the transit gateway.'
EncryptionSupport:
type: string
enum:
- enable
- disable
description: Enable or disable encryption support for VPC Encryption Control.
DescribeTransitGatewaysResult:
type: object
properties:
TransitGateways:
type: array
items:
$ref: '#/components/schemas/TransitGateway'
description: Information about the transit gateways.
NextToken:
type: string
description: The token to use to retrieve the next page of results. This value is null when there are no more results to return.
DescribeTransitGatewaysRequest:
type: object
properties:
TransitGatewayIds:
type: array
items:
type: string
description: The IDs of the transit gateways.
Filters:
type: array
items:
$ref: '#/components/schemas/Filter'
description: 'One or more filters. The possible values are: options.propagation-default-route-table-id - The ID of the default propagation route table. options.amazon-side-asn - The private ASN for the Amazon side of a BGP session. options.association-default-route-table-id - The ID of the default association route table. options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable). options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable'
MaxResults:
type: integer
description: The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
NextToken:
type: string
description: The token for the next page of results.
DryRun:
type: boolean
description: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
TagSpecification:
type: object
properties:
ResourceType:
type: string
enum:
- capacity-reservation
- client-vpn-endpoint
- customer-gateway
- carrier-gateway
- coip-pool
- declarative-policies-report
- dedicated-host
- dhcp-options
- egress-only-internet-gateway
- elastic-ip
- elastic-gpu
- export-image-task
- export-instance-task
- fleet
- fpga-image
- host-reservation
- image
- image-usage-report
- import-image-task
- import-snapshot-task
- instance
- instance-event-window
- internet-gateway
- ipam
- ipam-pool
- ipam-scope
- ipv4pool-ec2
- ipv6pool-ec2
- key-pair
- launch-template
- local-gateway
- local-gateway-route-table
- local-gateway-virtual-interface
- local-gateway-virtual-interface-group
- local-gateway-route-table-vpc-association
- local-gateway-route-table-virtual-interface-group-association
- natgateway
- network-acl
- network-interface
- network-insights-analysis
- network-insights-path
- network-insights-access-scope
- network-insights-access-scope-analysis
- outpost-lag
- placement-group
- prefix-list
- replace-root-volume-task
- reserved-instances
- route-table
- security-group
- security-group-rule
- service-link-virtual-interface
- snapshot
- spot-fleet-request
- spot-instances-request
- subnet
- subnet-cidr-reservation
- traffic-mirror-filter
- traffic-mirror-session
- traffic-mirror-target
- transit-gateway
- transit-gateway-attachment
- transit-gateway-connect-peer
- transit-gateway-multicast-domain
- transit-gateway-policy-table
- transit-gateway-metering-policy
- transit-gateway-route-table
- transit-gateway-route-table-announcement
- volume
- vpc
- vpc-endpoint
- vpc-endpoint-connection
- vpc-endpoint-service
- vpc-endpoint-service-permission
- vpc-peering-connection
- vpn-connection
- vpn-gateway
- vpc-flow-log
- capacity-reservation-fleet
- traffic-mirror-filter-rule
- vpc-endpoint-connection-device-type
- verified-access-instance
- verified-access-group
- verified-access-endpoint
- verified-access-policy
- verified-access-trust-provider
- vpn-connection-device-type
- vpc-block-public-access-exclusion
- vpc-encryption-control
- route-server
- route-server-endpoint
- route-server-peer
- ipam-resource-discovery
- ipam-resource-discovery-association
- instance-connect-endpoint
- verified-access-endpoint-target
- ipam-external-resource-verification-token
- capacity-block
- mac-modification-task
- ipam-prefix-list-resolver
- ipam-policy
- ipam-prefix-list-resolver-target
- ipam-internet-registry-association
- secondary-interface
- secondary-network
- secondary-subnet
- capacity-manager-data-export
- vpn-concentrator
- ipam-pool-allocation
- capacity-reservation-cancellation-quote
- application-status-check
- capacity-reservation-modification-quote
description: The type of resource to tag on creation.
Tags:
type: array
items:
$ref: '#/components/schemas/Tag'
description: The tags to apply to the resource.
ModifyTransitGatewayResult:
type: object
properties:
TransitGateway:
$ref: '#/components/schemas/TransitGateway'
CreateTransitGatewayRequest:
type: object
properties:
Description:
type: string
description: A description of the transit gateway.
Options:
$ref: '#/components/schemas/TransitGatewayRequestOptions'
TagSpecifications:
type: array
items:
$ref: '#/components/schemas/TagSpecification'
description: The tags to apply to the transit gateway.
DryRun:
type: boolean
description: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
Filter:
type: object
properties:
Name:
type: string
description: The name of the filter. Filter names are case-sensitive.
Values:
type: array
items:
type: string
description: The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR, and the request returns all results that match any of the specified values.
DeleteTransitGatewayResult:
type: object
properties:
TransitGateway:
$ref: '#/components/schemas/TransitGateway'
securitySchemes:
sigv4:
type: apiKey
in: header
name: Authorization
description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
x-aws-sigv4:
signingName: ec2
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/ec2/service/2016-11-15/ec2-2016-11-15.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)