Skip to content

Commit

Permalink
feat(client-ec2): This is release adds support for Amazon VPC Reachab…
Browse files Browse the repository at this point in the history
…ility Analyzer to analyze path through a Transit Gateway.
  • Loading branch information
awstools committed Mar 25, 2022
1 parent a10d5a7 commit 62b49fc
Show file tree
Hide file tree
Showing 12 changed files with 514 additions and 302 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ import {
} from "@aws-sdk/types";

import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
import { CreateTransitGatewayConnectPeerRequest } from "../models/models_1";
import { CreateTransitGatewayConnectPeerResult } from "../models/models_2";
import { CreateTransitGatewayConnectPeerRequest, CreateTransitGatewayConnectPeerResult } from "../models/models_2";
import {
deserializeAws_ec2CreateTransitGatewayConnectPeerCommand,
serializeAws_ec2CreateTransitGatewayConnectPeerCommand,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ import {
} from "@aws-sdk/types";

import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
import { GetHostReservationPurchasePreviewRequest, GetHostReservationPurchasePreviewResult } from "../models/models_4";
import { GetHostReservationPurchasePreviewRequest } from "../models/models_4";
import { GetHostReservationPurchasePreviewResult } from "../models/models_5";
import {
deserializeAws_ec2GetHostReservationPurchasePreviewCommand,
serializeAws_ec2GetHostReservationPurchasePreviewCommand,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ import {
} from "@aws-sdk/types";

import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
import { GetInstanceTypesFromInstanceRequirementsRequest } from "../models/models_4";
import { GetInstanceTypesFromInstanceRequirementsResult } from "../models/models_5";
import {
GetInstanceTypesFromInstanceRequirementsRequest,
GetInstanceTypesFromInstanceRequirementsResult,
} from "../models/models_5";
import {
deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand,
serializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
} from "@aws-sdk/types";

import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
import { ResetImageAttributeRequest } from "../models/models_5";
import { ResetImageAttributeRequest } from "../models/models_6";
import {
deserializeAws_ec2ResetImageAttributeCommand,
serializeAws_ec2ResetImageAttributeCommand,
Expand Down
120 changes: 101 additions & 19 deletions clients/client-ec2/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1081,6 +1081,30 @@ export namespace AnalysisComponent {
});
}

/**
* <p>Describes an additional detail for a path analysis.</p>
*/
export interface AdditionalDetail {
/**
* <p>The information type.</p>
*/
AdditionalDetailType?: string;

/**
* <p>The path component.</p>
*/
Component?: AnalysisComponent;
}

export namespace AdditionalDetail {
/**
* @internal
*/
export const filterSensitiveLog = (obj: AdditionalDetail): any => ({
...obj,
});
}

/**
* <p>Describes a header. Reflects any changes made by a component as traffic passes through.
* The fields of an inbound header are null except for the first component of a path.</p>
Expand Down Expand Up @@ -1161,19 +1185,16 @@ export interface AnalysisRouteTableRoute {
NetworkInterfaceId?: string;

/**
* <p>Describes how the route was created. The following are possible values:</p>
* <p>Describes how the route was created. The following are the possible values:</p>
* <ul>
* <li>
* <p>
* <code>CreateRouteTable</code> - The route was automatically created when the route table was created.</p>
* <p>CreateRouteTable - The route was automatically created when the route table was created.</p>
* </li>
* <li>
* <p>
* <code>CreateRoute</code> - The route was manually added to the route table.</p>
* <p>CreateRoute - The route was manually added to the route table.</p>
* </li>
* <li>
* <p>
* <code>EnableVgwRoutePropagation</code> - The route was propagated by route propagation.</p>
* <p>EnableVgwRoutePropagation - The route was propagated by route propagation.</p>
* </li>
* </ul>
*/
Expand Down Expand Up @@ -1209,7 +1230,7 @@ export interface AnalysisSecurityGroupRule {
Cidr?: string;

/**
* <p>The direction. The following are possible values:</p>
* <p>The direction. The following are the possible values:</p>
* <ul>
* <li>
* <p>egress</p>
Expand Down Expand Up @@ -1251,6 +1272,63 @@ export namespace AnalysisSecurityGroupRule {
});
}

/**
* <p>Describes a route in a transit gateway route table.</p>
*/
export interface TransitGatewayRouteTableRoute {
/**
* <p>The CIDR block used for destination matches.</p>
*/
DestinationCidr?: string;

/**
* <p>The state of the route.</p>
*/
State?: string;

/**
* <p>The route origin. The following are the possible values:</p>
* <ul>
* <li>
* <p>static</p>
* </li>
* <li>
* <p>propagated</p>
* </li>
* </ul>
*/
RouteOrigin?: string;

/**
* <p>The ID of the prefix list.</p>
*/
PrefixListId?: string;

/**
* <p>The ID of the route attachment.</p>
*/
AttachmentId?: string;

/**
* <p>The ID of the resource for the route attachment.</p>
*/
ResourceId?: string;

/**
* <p>The resource type for the route attachment.</p>
*/
ResourceType?: string;
}

export namespace TransitGatewayRouteTableRoute {
/**
* @internal
*/
export const filterSensitiveLog = (obj: TransitGatewayRouteTableRoute): any => ({
...obj,
});
}

/**
* <p>Describes a path component.</p>
*/
Expand Down Expand Up @@ -1314,6 +1392,21 @@ export interface PathComponent {
* <p>The component VPC.</p>
*/
Vpc?: AnalysisComponent;

/**
* <p>The additional details.</p>
*/
AdditionalDetails?: AdditionalDetail[];

/**
* <p>Describes a path component.</p>
*/
TransitGateway?: AnalysisComponent;

/**
* <p>The route in a transit gateway route table.</p>
*/
TransitGatewayRouteTableRoute?: TransitGatewayRouteTableRoute;
}

export namespace PathComponent {
Expand Down Expand Up @@ -8750,14 +8843,3 @@ export enum CpuManufacturer {
AMD = "amd",
INTEL = "intel",
}

export enum InstanceGeneration {
CURRENT = "current",
PREVIOUS = "previous",
}

export enum LocalStorage {
EXCLUDED = "excluded",
INCLUDED = "included",
REQUIRED = "required",
}
86 changes: 11 additions & 75 deletions clients/client-ec2/src/models/models_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@ import {
FleetLaunchTemplateSpecificationRequest,
HostnameType,
InstanceEventWindow,
InstanceGeneration,
InternetGatewayAttachment,
Ipv4PrefixSpecification,
LocalStorage,
PortRange,
Protocol,
ReservedInstancesListing,
Expand All @@ -43,6 +41,17 @@ import {
WeekDay,
} from "./models_0";

export enum InstanceGeneration {
CURRENT = "current",
PREVIOUS = "previous",
}

export enum LocalStorage {
EXCLUDED = "excluded",
INCLUDED = "included",
REQUIRED = "required",
}

export enum LocalStorageType {
HDD = "hdd",
SSD = "ssd",
Expand Down Expand Up @@ -10301,76 +10310,3 @@ export namespace CreateTransitGatewayConnectResult {
...obj,
});
}

/**
* <p>The BGP options for the Connect attachment.</p>
*/
export interface TransitGatewayConnectRequestBgpOptions {
/**
* <p>The peer Autonomous System Number (ASN).</p>
*/
PeerAsn?: number;
}

export namespace TransitGatewayConnectRequestBgpOptions {
/**
* @internal
*/
export const filterSensitiveLog = (obj: TransitGatewayConnectRequestBgpOptions): any => ({
...obj,
});
}

export interface CreateTransitGatewayConnectPeerRequest {
/**
* <p>The ID of the Connect attachment.</p>
*/
TransitGatewayAttachmentId: string | undefined;

/**
* <p>The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be
* specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns
* the first available IP address from the transit gateway CIDR block.</p>
*/
TransitGatewayAddress?: string;

/**
* <p>The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.</p>
*/
PeerAddress: string | undefined;

/**
* <p>The BGP options for the Connect peer.</p>
*/
BgpOptions?: TransitGatewayConnectRequestBgpOptions;

/**
* <p>The range of inside IP addresses that are used for BGP peering. You must specify a
* size /29 IPv4 CIDR block from the <code>169.254.0.0/16</code> range. The first address
* from the range must be configured on the appliance as the BGP IP address. You can also
* optionally specify a size /125 IPv6 CIDR block from the <code>fd00::/8</code>
* range.</p>
*/
InsideCidrBlocks: string[] | undefined;

/**
* <p>The tags to apply to the Connect peer.</p>
*/
TagSpecifications?: TagSpecification[];

/**
* <p>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 <code>DryRunOperation</code>.
* Otherwise, it is <code>UnauthorizedOperation</code>.</p>
*/
DryRun?: boolean;
}

export namespace CreateTransitGatewayConnectPeerRequest {
/**
* @internal
*/
export const filterSensitiveLog = (obj: CreateTransitGatewayConnectPeerRequest): any => ({
...obj,
});
}
Loading

0 comments on commit 62b49fc

Please sign in to comment.