import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import type { DescribeRouteTablesRequest, DescribeRouteTablesResult } from "../models/models_4"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link DescribeRouteTablesCommand}. */ export interface DescribeRouteTablesCommandInput extends DescribeRouteTablesRequest { } /** * @public * * The output of {@link DescribeRouteTablesCommand}. */ export interface DescribeRouteTablesCommandOutput extends DescribeRouteTablesResult, __MetadataBearer { } declare const DescribeRouteTablesCommand_base: { new (input: DescribeRouteTablesCommandInput): import("@smithy/smithy-client").CommandImpl; new (...[input]: [] | [DescribeRouteTablesCommandInput]): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Describes your route tables. The default is to describe all your route tables. * Alternatively, you can specify specific route table IDs or filter the results to * include only the route tables that match specific criteria.

*

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

*

For more information, see Route tables in the * Amazon VPC User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { EC2Client, DescribeRouteTablesCommand } from "@aws-sdk/client-ec2"; // ES Modules import * // const { EC2Client, DescribeRouteTablesCommand } = require("@aws-sdk/client-ec2"); // CommonJS import * // import type { EC2ClientConfig } from "@aws-sdk/client-ec2"; * const config = {}; // type is EC2ClientConfig * const client = new EC2Client(config); * const input = { // DescribeRouteTablesRequest * NextToken: "STRING_VALUE", * MaxResults: Number("int"), * DryRun: true || false, * RouteTableIds: [ // RouteTableIdStringList * "STRING_VALUE", * ], * Filters: [ // FilterList * { // Filter * Name: "STRING_VALUE", * Values: [ // ValueStringList * "STRING_VALUE", * ], * }, * ], * }; * const command = new DescribeRouteTablesCommand(input); * const response = await client.send(command); * // { // DescribeRouteTablesResult * // RouteTables: [ // RouteTableList * // { // RouteTable * // Associations: [ // RouteTableAssociationList * // { // RouteTableAssociation * // Main: true || false, * // RouteTableAssociationId: "STRING_VALUE", * // RouteTableId: "STRING_VALUE", * // SubnetId: "STRING_VALUE", * // GatewayId: "STRING_VALUE", * // PublicIpv4Pool: "STRING_VALUE", * // AssociationState: { // RouteTableAssociationState * // State: "associating" || "associated" || "disassociating" || "disassociated" || "failed", * // StatusMessage: "STRING_VALUE", * // }, * // }, * // ], * // PropagatingVgws: [ // PropagatingVgwList * // { // PropagatingVgw * // GatewayId: "STRING_VALUE", * // }, * // ], * // RouteTableId: "STRING_VALUE", * // Routes: [ // RouteList * // { // Route * // DestinationCidrBlock: "STRING_VALUE", * // DestinationIpv6CidrBlock: "STRING_VALUE", * // DestinationPrefixListId: "STRING_VALUE", * // EgressOnlyInternetGatewayId: "STRING_VALUE", * // GatewayId: "STRING_VALUE", * // InstanceId: "STRING_VALUE", * // InstanceOwnerId: "STRING_VALUE", * // NatGatewayId: "STRING_VALUE", * // TransitGatewayId: "STRING_VALUE", * // LocalGatewayId: "STRING_VALUE", * // CarrierGatewayId: "STRING_VALUE", * // NetworkInterfaceId: "STRING_VALUE", * // Origin: "CreateRouteTable" || "CreateRoute" || "EnableVgwRoutePropagation" || "Advertisement", * // State: "active" || "blackhole" || "filtered", * // VpcPeeringConnectionId: "STRING_VALUE", * // CoreNetworkArn: "STRING_VALUE", * // OdbNetworkArn: "STRING_VALUE", * // IpAddress: "STRING_VALUE", * // }, * // ], * // Tags: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // VpcId: "STRING_VALUE", * // OwnerId: "STRING_VALUE", * // }, * // ], * // NextToken: "STRING_VALUE", * // }; * * ``` * * @param DescribeRouteTablesCommandInput - {@link DescribeRouteTablesCommandInput} * @returns {@link DescribeRouteTablesCommandOutput} * @see {@link DescribeRouteTablesCommandInput} for command's `input` shape. * @see {@link DescribeRouteTablesCommandOutput} for command's `response` shape. * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. * * @throws {@link EC2ServiceException} *

Base exception class for all service exceptions from EC2 service.

* * * @example To describe a route table * ```javascript * // This example describes the specified route table. * const input = { * RouteTableIds: [ * "rtb-1f382e7d" * ] * }; * const command = new DescribeRouteTablesCommand(input); * const response = await client.send(command); * /* response is * { * RouteTables: [ * { * Associations: [ * { * Main: true, * RouteTableAssociationId: "rtbassoc-d8ccddba", * RouteTableId: "rtb-1f382e7d" * } * ], * PropagatingVgws: [], * RouteTableId: "rtb-1f382e7d", * Routes: [ * { * DestinationCidrBlock: "10.0.0.0/16", * GatewayId: "local", * State: "active" * } * ], * Tags: [], * VpcId: "vpc-a01106c2" * } * ] * } * *\/ * ``` * * @public */ export declare class DescribeRouteTablesCommand extends DescribeRouteTablesCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: DescribeRouteTablesRequest; output: DescribeRouteTablesResult; }; sdk: { input: DescribeRouteTablesCommandInput; output: DescribeRouteTablesCommandOutput; }; }; }