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.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-transit-gateway
[--description <value>]
[--options <value>]
[--tag-specifications <value>]
[--dry-run | --no-dry-run]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--description
(string)
A description of the transit gateway.
--options
(structure)
The transit gateway options.
AmazonSideAsn -> (long)
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 -> (string)
Enable or disable automatic acceptance of attachment requests. Disabled by default.
DefaultRouteTableAssociation -> (string)
Enable or disable automatic association with the default association route table. Enabled by default.
DefaultRouteTablePropagation -> (string)
Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.
VpnEcmpSupport -> (string)
Enable or disable Equal Cost Multipath Protocol support. Enabled by default.
DnsSupport -> (string)
Enable or disable DNS support. Enabled by default.
MulticastSupport -> (string)
Indicates whether multicast is enabled on the transit gateway
TransitGatewayCidrBlocks -> (list)
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.
(string)
Shorthand Syntax:
AmazonSideAsn=long,AutoAcceptSharedAttachments=string,DefaultRouteTableAssociation=string,DefaultRouteTablePropagation=string,VpnEcmpSupport=string,DnsSupport=string,MulticastSupport=string,TransitGatewayCidrBlocks=string,string
JSON Syntax:
{
"AmazonSideAsn": long,
"AutoAcceptSharedAttachments": "enable"|"disable",
"DefaultRouteTableAssociation": "enable"|"disable",
"DefaultRouteTablePropagation": "enable"|"disable",
"VpnEcmpSupport": "enable"|"disable",
"DnsSupport": "enable"|"disable",
"MulticastSupport": "enable"|"disable",
"TransitGatewayCidrBlocks": ["string", ...]
}
--tag-specifications
(list)
The tags to apply to the transit gateway.
(structure)
The tags to apply to a resource when the resource is being created.
ResourceType -> (string)
The type of resource to tag on creation.
Tags -> (list)
The tags to apply to the resource.
(structure)
Describes a tag.
Key -> (string)
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 -> (string)
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.
Shorthand Syntax:
ResourceType=string,Tags=[{Key=string,Value=string},{Key=string,Value=string}] ...
JSON Syntax:
[
{
"ResourceType": "capacity-reservation"|"client-vpn-endpoint"|"customer-gateway"|"carrier-gateway"|"dedicated-host"|"dhcp-options"|"egress-only-internet-gateway"|"elastic-ip"|"elastic-gpu"|"export-image-task"|"export-instance-task"|"fleet"|"fpga-image"|"host-reservation"|"image"|"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"|"placement-group"|"prefix-list"|"replace-root-volume-task"|"reserved-instances"|"route-table"|"security-group"|"security-group-rule"|"snapshot"|"spot-fleet-request"|"spot-instances-request"|"subnet"|"traffic-mirror-filter"|"traffic-mirror-session"|"traffic-mirror-target"|"transit-gateway"|"transit-gateway-attachment"|"transit-gateway-connect-peer"|"transit-gateway-multicast-domain"|"transit-gateway-route-table"|"volume"|"vpc"|"vpc-endpoint"|"vpc-endpoint-service"|"vpc-peering-connection"|"vpn-connection"|"vpn-gateway"|"vpc-flow-log",
"Tags": [
{
"Key": "string",
"Value": "string"
}
...
]
}
...
]
--dry-run
| --no-dry-run
(boolean)
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 isUnauthorizedOperation
.
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To create a transit gateway
The following create-transit-gateway
example creates a transit gateway.
aws ec2 create-transit-gateway \
--description MyTGW \
--options=AmazonSideAsn=64516,AutoAcceptSharedAttachments=enable,DefaultRouteTableAssociation=enable,DefaultRouteTablePropagation=enable,VpnEcmpSupport=enable,DnsSupport=enable
Output:
{
"TransitGateway": {
"TransitGatewayId": "tgw-0262a0e521EXAMPLE",
"TransitGatewayArn": "arn:aws:ec2:us-east-2:111122223333:transit-gateway/tgw-0262a0e521EXAMPLE",
"State": "pending",
"OwnerId": "111122223333",
"Description": "MyTGW",
"CreationTime": "2019-07-10T14:02:12.000Z",
"Options": {
"AmazonSideAsn": 64516,
"AutoAcceptSharedAttachments": "enable",
"DefaultRouteTableAssociation": "enable",
"AssociationDefaultRouteTableId": "tgw-rtb-018774adf3EXAMPLE",
"DefaultRouteTablePropagation": "enable",
"PropagationDefaultRouteTableId": "tgw-rtb-018774adf3EXAMPLE",
"VpnEcmpSupport": "enable",
"DnsSupport": "enable"
}
}
}
For more information, see Create a transit gateway in the Transit Gateways Guide.
TransitGateway -> (structure)
Information about the transit gateway.
TransitGatewayId -> (string)
The ID of the transit gateway.
TransitGatewayArn -> (string)
The Amazon Resource Name (ARN) of the transit gateway.
State -> (string)
The state of the transit gateway.
OwnerId -> (string)
The ID of the Amazon Web Services account that owns the transit gateway.
Description -> (string)
The description of the transit gateway.
CreationTime -> (timestamp)
The creation time.
Options -> (structure)
The transit gateway options.
AmazonSideAsn -> (long)
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 -> (list)
The transit gateway CIDR blocks.
(string)
AutoAcceptSharedAttachments -> (string)
Indicates whether attachment requests are automatically accepted.
DefaultRouteTableAssociation -> (string)
Indicates whether resource attachments are automatically associated with the default association route table.
AssociationDefaultRouteTableId -> (string)
The ID of the default association route table.
DefaultRouteTablePropagation -> (string)
Indicates whether resource attachments automatically propagate routes to the default propagation route table.
PropagationDefaultRouteTableId -> (string)
The ID of the default propagation route table.
VpnEcmpSupport -> (string)
Indicates whether Equal Cost Multipath Protocol support is enabled.
DnsSupport -> (string)
Indicates whether DNS support is enabled.
MulticastSupport -> (string)
Indicates whether multicast is enabled on the transit gateway
Tags -> (list)
The tags for the transit gateway.
(structure)
Describes a tag.
Key -> (string)
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 -> (string)
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.