Skip to content

Commit

Permalink
feat(client-ec2): Introduces ENA Express, which uses AWS SRD and dyna…
Browse files Browse the repository at this point in the history
…mic routing to increase throughput and minimize latency, adds support for trust relationships between Reachability Analyzer and AWS Organizations to enable cross-account analysis, and adds support for Infrastructure Performance metric subscriptions.
  • Loading branch information
awstools committed Nov 29, 2022
1 parent 797d649 commit 394dcfc
Show file tree
Hide file tree
Showing 48 changed files with 5,283 additions and 2,139 deletions.
197 changes: 194 additions & 3 deletions clients/client-ec2/src/EC2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -992,6 +992,11 @@ import {
DescribeAvailabilityZonesCommandInput,
DescribeAvailabilityZonesCommandOutput,
} from "./commands/DescribeAvailabilityZonesCommand";
import {
DescribeAwsNetworkPerformanceMetricSubscriptionsCommand,
DescribeAwsNetworkPerformanceMetricSubscriptionsCommandInput,
DescribeAwsNetworkPerformanceMetricSubscriptionsCommandOutput,
} from "./commands/DescribeAwsNetworkPerformanceMetricSubscriptionsCommand";
import {
DescribeBundleTasksCommand,
DescribeBundleTasksCommandInput,
Expand Down Expand Up @@ -1672,6 +1677,11 @@ import {
DisableAddressTransferCommandInput,
DisableAddressTransferCommandOutput,
} from "./commands/DisableAddressTransferCommand";
import {
DisableAwsNetworkPerformanceMetricSubscriptionCommand,
DisableAwsNetworkPerformanceMetricSubscriptionCommandInput,
DisableAwsNetworkPerformanceMetricSubscriptionCommandOutput,
} from "./commands/DisableAwsNetworkPerformanceMetricSubscriptionCommand";
import {
DisableEbsEncryptionByDefaultCommand,
DisableEbsEncryptionByDefaultCommandInput,
Expand Down Expand Up @@ -1787,6 +1797,11 @@ import {
EnableAddressTransferCommandInput,
EnableAddressTransferCommandOutput,
} from "./commands/EnableAddressTransferCommand";
import {
EnableAwsNetworkPerformanceMetricSubscriptionCommand,
EnableAwsNetworkPerformanceMetricSubscriptionCommandInput,
EnableAwsNetworkPerformanceMetricSubscriptionCommandOutput,
} from "./commands/EnableAwsNetworkPerformanceMetricSubscriptionCommand";
import {
EnableEbsEncryptionByDefaultCommand,
EnableEbsEncryptionByDefaultCommandInput,
Expand All @@ -1812,6 +1827,11 @@ import {
EnableIpamOrganizationAdminAccountCommandInput,
EnableIpamOrganizationAdminAccountCommandOutput,
} from "./commands/EnableIpamOrganizationAdminAccountCommand";
import {
EnableReachabilityAnalyzerOrganizationSharingCommand,
EnableReachabilityAnalyzerOrganizationSharingCommandInput,
EnableReachabilityAnalyzerOrganizationSharingCommandOutput,
} from "./commands/EnableReachabilityAnalyzerOrganizationSharingCommand";
import {
EnableSerialConsoleAccessCommand,
EnableSerialConsoleAccessCommandInput,
Expand Down Expand Up @@ -1868,6 +1888,11 @@ import {
GetAssociatedIpv6PoolCidrsCommandInput,
GetAssociatedIpv6PoolCidrsCommandOutput,
} from "./commands/GetAssociatedIpv6PoolCidrsCommand";
import {
GetAwsNetworkPerformanceDataCommand,
GetAwsNetworkPerformanceDataCommandInput,
GetAwsNetworkPerformanceDataCommandOutput,
} from "./commands/GetAwsNetworkPerformanceDataCommand";
import {
GetCapacityReservationUsageCommand,
GetCapacityReservationUsageCommandInput,
Expand Down Expand Up @@ -6100,7 +6125,7 @@ export class EC2 extends EC2Client {
* specific snapshot taken from the original root volume, or that is restored from an AMI
* that has the same key characteristics as that of the instance.</p>
*
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-restoring-volume.html#replace-root">Replace a root volume</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/replace-root.html">Replace a root volume</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
*/
public createReplaceRootVolumeTask(
args: CreateReplaceRootVolumeTaskCommandInput,
Expand Down Expand Up @@ -10327,6 +10352,40 @@ export class EC2 extends EC2Client {
}
}

/**
* <p>Describes the curent Infrastructure Performance metric subscriptions.</p>
*/
public describeAwsNetworkPerformanceMetricSubscriptions(
args: DescribeAwsNetworkPerformanceMetricSubscriptionsCommandInput,
options?: __HttpHandlerOptions
): Promise<DescribeAwsNetworkPerformanceMetricSubscriptionsCommandOutput>;
public describeAwsNetworkPerformanceMetricSubscriptions(
args: DescribeAwsNetworkPerformanceMetricSubscriptionsCommandInput,
cb: (err: any, data?: DescribeAwsNetworkPerformanceMetricSubscriptionsCommandOutput) => void
): void;
public describeAwsNetworkPerformanceMetricSubscriptions(
args: DescribeAwsNetworkPerformanceMetricSubscriptionsCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: DescribeAwsNetworkPerformanceMetricSubscriptionsCommandOutput) => void
): void;
public describeAwsNetworkPerformanceMetricSubscriptions(
args: DescribeAwsNetworkPerformanceMetricSubscriptionsCommandInput,
optionsOrCb?:
| __HttpHandlerOptions
| ((err: any, data?: DescribeAwsNetworkPerformanceMetricSubscriptionsCommandOutput) => void),
cb?: (err: any, data?: DescribeAwsNetworkPerformanceMetricSubscriptionsCommandOutput) => void
): Promise<DescribeAwsNetworkPerformanceMetricSubscriptionsCommandOutput> | void {
const command = new DescribeAwsNetworkPerformanceMetricSubscriptionsCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
this.send(command, optionsOrCb || {}, cb);
} else {
return this.send(command, optionsOrCb);
}
}

/**
* <p>Describes the specified bundle tasks or all of your bundle tasks.</p>
* <note>
Expand Down Expand Up @@ -12942,7 +13001,7 @@ export class EC2 extends EC2Client {

/**
* <p>Describes a root volume replacement task. For more information, see
* <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-restoring-volume.html#replace-root">Replace a root volume</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/replace-root.html">Replace a root volume</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
*/
public describeReplaceRootVolumeTasks(
args: DescribeReplaceRootVolumeTasksCommandInput,
Expand Down Expand Up @@ -15120,6 +15179,40 @@ export class EC2 extends EC2Client {
}
}

/**
* <p>Disables Infrastructure Performance metric subscriptions.</p>
*/
public disableAwsNetworkPerformanceMetricSubscription(
args: DisableAwsNetworkPerformanceMetricSubscriptionCommandInput,
options?: __HttpHandlerOptions
): Promise<DisableAwsNetworkPerformanceMetricSubscriptionCommandOutput>;
public disableAwsNetworkPerformanceMetricSubscription(
args: DisableAwsNetworkPerformanceMetricSubscriptionCommandInput,
cb: (err: any, data?: DisableAwsNetworkPerformanceMetricSubscriptionCommandOutput) => void
): void;
public disableAwsNetworkPerformanceMetricSubscription(
args: DisableAwsNetworkPerformanceMetricSubscriptionCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: DisableAwsNetworkPerformanceMetricSubscriptionCommandOutput) => void
): void;
public disableAwsNetworkPerformanceMetricSubscription(
args: DisableAwsNetworkPerformanceMetricSubscriptionCommandInput,
optionsOrCb?:
| __HttpHandlerOptions
| ((err: any, data?: DisableAwsNetworkPerformanceMetricSubscriptionCommandOutput) => void),
cb?: (err: any, data?: DisableAwsNetworkPerformanceMetricSubscriptionCommandOutput) => void
): Promise<DisableAwsNetworkPerformanceMetricSubscriptionCommandOutput> | void {
const command = new DisableAwsNetworkPerformanceMetricSubscriptionCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
this.send(command, optionsOrCb || {}, cb);
} else {
return this.send(command, optionsOrCb);
}
}

/**
* <p>Disables EBS encryption by default for your account in the current Region.</p>
* <p>After you disable encryption by default, you can still create encrypted volumes by
Expand Down Expand Up @@ -15939,6 +16032,40 @@ export class EC2 extends EC2Client {
}
}

/**
* <p>Enables Infrastructure Performance subscriptions.</p>
*/
public enableAwsNetworkPerformanceMetricSubscription(
args: EnableAwsNetworkPerformanceMetricSubscriptionCommandInput,
options?: __HttpHandlerOptions
): Promise<EnableAwsNetworkPerformanceMetricSubscriptionCommandOutput>;
public enableAwsNetworkPerformanceMetricSubscription(
args: EnableAwsNetworkPerformanceMetricSubscriptionCommandInput,
cb: (err: any, data?: EnableAwsNetworkPerformanceMetricSubscriptionCommandOutput) => void
): void;
public enableAwsNetworkPerformanceMetricSubscription(
args: EnableAwsNetworkPerformanceMetricSubscriptionCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: EnableAwsNetworkPerformanceMetricSubscriptionCommandOutput) => void
): void;
public enableAwsNetworkPerformanceMetricSubscription(
args: EnableAwsNetworkPerformanceMetricSubscriptionCommandInput,
optionsOrCb?:
| __HttpHandlerOptions
| ((err: any, data?: EnableAwsNetworkPerformanceMetricSubscriptionCommandOutput) => void),
cb?: (err: any, data?: EnableAwsNetworkPerformanceMetricSubscriptionCommandOutput) => void
): Promise<EnableAwsNetworkPerformanceMetricSubscriptionCommandOutput> | void {
const command = new EnableAwsNetworkPerformanceMetricSubscriptionCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
this.send(command, optionsOrCb || {}, cb);
} else {
return this.send(command, optionsOrCb);
}
}

/**
* <p>Enables EBS encryption by default for your account in the current Region.</p>
* <p>After you enable encryption by default, the EBS volumes that you create are
Expand Down Expand Up @@ -16125,6 +16252,37 @@ export class EC2 extends EC2Client {
}
}

public enableReachabilityAnalyzerOrganizationSharing(
args: EnableReachabilityAnalyzerOrganizationSharingCommandInput,
options?: __HttpHandlerOptions
): Promise<EnableReachabilityAnalyzerOrganizationSharingCommandOutput>;
public enableReachabilityAnalyzerOrganizationSharing(
args: EnableReachabilityAnalyzerOrganizationSharingCommandInput,
cb: (err: any, data?: EnableReachabilityAnalyzerOrganizationSharingCommandOutput) => void
): void;
public enableReachabilityAnalyzerOrganizationSharing(
args: EnableReachabilityAnalyzerOrganizationSharingCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: EnableReachabilityAnalyzerOrganizationSharingCommandOutput) => void
): void;
public enableReachabilityAnalyzerOrganizationSharing(
args: EnableReachabilityAnalyzerOrganizationSharingCommandInput,
optionsOrCb?:
| __HttpHandlerOptions
| ((err: any, data?: EnableReachabilityAnalyzerOrganizationSharingCommandOutput) => void),
cb?: (err: any, data?: EnableReachabilityAnalyzerOrganizationSharingCommandOutput) => void
): Promise<EnableReachabilityAnalyzerOrganizationSharingCommandOutput> | void {
const command = new EnableReachabilityAnalyzerOrganizationSharingCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
this.send(command, optionsOrCb || {}, cb);
} else {
return this.send(command, optionsOrCb);
}
}

/**
* <p>Enables access to the EC2 serial console of all instances for your account. By default,
* access to the EC2 serial console is disabled for your account. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-access-to-serial-console.html#serial-console-account-access">Manage account access to the EC2 serial console</a>
Expand Down Expand Up @@ -16543,6 +16701,38 @@ export class EC2 extends EC2Client {
}
}

/**
* <p>Gets network performance data.</p>
*/
public getAwsNetworkPerformanceData(
args: GetAwsNetworkPerformanceDataCommandInput,
options?: __HttpHandlerOptions
): Promise<GetAwsNetworkPerformanceDataCommandOutput>;
public getAwsNetworkPerformanceData(
args: GetAwsNetworkPerformanceDataCommandInput,
cb: (err: any, data?: GetAwsNetworkPerformanceDataCommandOutput) => void
): void;
public getAwsNetworkPerformanceData(
args: GetAwsNetworkPerformanceDataCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: GetAwsNetworkPerformanceDataCommandOutput) => void
): void;
public getAwsNetworkPerformanceData(
args: GetAwsNetworkPerformanceDataCommandInput,
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetAwsNetworkPerformanceDataCommandOutput) => void),
cb?: (err: any, data?: GetAwsNetworkPerformanceDataCommandOutput) => void
): Promise<GetAwsNetworkPerformanceDataCommandOutput> | void {
const command = new GetAwsNetworkPerformanceDataCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
this.send(command, optionsOrCb || {}, cb);
} else {
return this.send(command, optionsOrCb);
}
}

/**
* <p>Gets usage information about a Capacity Reservation. If the Capacity Reservation is shared, it shows usage information for the Capacity Reservation owner
* and each Amazon Web Services account that is currently using the shared capacity. If the Capacity Reservation is not shared, it shows only
Expand Down Expand Up @@ -22609,7 +22799,8 @@ export class EC2 extends EC2Client {
}

/**
* <p>Unassigns one or more secondary private IP addresses, or IPv4 Prefix Delegation prefixes from a network interface.</p>
* <p>Unassigns one or more secondary private IP addresses, or IPv4 Prefix Delegation prefixes from a
* network interface.</p>
*/
public unassignPrivateIpAddresses(
args: UnassignPrivateIpAddressesCommandInput,
Expand Down
Loading

0 comments on commit 394dcfc

Please sign in to comment.