CreateRouteServerPeerCommand

Creates a new BGP peer for a specified route server endpoint.

A route server peer is a session between a route server endpoint and the device deployed in Amazon Web Services (such as a firewall appliance or other network security function running on an EC2 instance). The device must meet these requirements:

  • Have an elastic network interface in the VPC

  • Support BGP (Border Gateway Protocol)

  • Can initiate BGP sessions

For more information see Dynamic routing in your VPC with VPC Route Server  in the Amazon VPC User Guide.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { EC2Client, CreateRouteServerPeerCommand } from "@aws-sdk/client-ec2"; // ES Modules import
// const { EC2Client, CreateRouteServerPeerCommand } = require("@aws-sdk/client-ec2"); // CommonJS import
const client = new EC2Client(config);
const input = { // CreateRouteServerPeerRequest
  RouteServerEndpointId: "STRING_VALUE", // required
  PeerAddress: "STRING_VALUE", // required
  BgpOptions: { // RouteServerBgpOptionsRequest
    PeerAsn: Number("long"), // required
    PeerLivenessDetection: "bfd" || "bgp-keepalive",
  },
  DryRun: true || false,
  TagSpecifications: [ // TagSpecificationList
    { // TagSpecification
      ResourceType: "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" || "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-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" || "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" || "mac-modification-task",
      Tags: [ // TagList
        { // Tag
          Key: "STRING_VALUE",
          Value: "STRING_VALUE",
        },
      ],
    },
  ],
};
const command = new CreateRouteServerPeerCommand(input);
const response = await client.send(command);
// { // CreateRouteServerPeerResult
//   RouteServerPeer: { // RouteServerPeer
//     RouteServerPeerId: "STRING_VALUE",
//     RouteServerEndpointId: "STRING_VALUE",
//     RouteServerId: "STRING_VALUE",
//     VpcId: "STRING_VALUE",
//     SubnetId: "STRING_VALUE",
//     State: "pending" || "available" || "deleting" || "deleted" || "failing" || "failed",
//     FailureReason: "STRING_VALUE",
//     EndpointEniId: "STRING_VALUE",
//     EndpointEniAddress: "STRING_VALUE",
//     PeerAddress: "STRING_VALUE",
//     BgpOptions: { // RouteServerBgpOptions
//       PeerAsn: Number("long"),
//       PeerLivenessDetection: "bfd" || "bgp-keepalive",
//     },
//     BgpStatus: { // RouteServerBgpStatus
//       Status: "up" || "down",
//     },
//     BfdStatus: { // RouteServerBfdStatus
//       Status: "up" || "down",
//     },
//     Tags: [ // TagList
//       { // Tag
//         Key: "STRING_VALUE",
//         Value: "STRING_VALUE",
//       },
//     ],
//   },
// };

CreateRouteServerPeerCommand Input

Parameter
Type
Description
BgpOptions
Required
RouteServerBgpOptionsRequest | undefined

The BGP options for the peer, including ASN (Autonomous System Number) and BFD (Bidrectional Forwarding Detection) settings.

PeerAddress
Required
string | undefined

The IPv4 address of the peer device.

RouteServerEndpointId
Required
string | undefined

The ID of the route server endpoint for which to create a peer.

DryRun
boolean | undefined

A check for 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.

TagSpecifications
TagSpecification[] | undefined

The tags to apply to the route server peer during creation.

CreateRouteServerPeerCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
RouteServerPeer
RouteServerPeer | undefined

Information about the created route server peer.

Throws

Name
Fault
Details
EC2ServiceException
Base exception class for all service exceptions from EC2 service.