Skip to content

Commit 0903d38

Browse files
author
awstools
committed
feat(client-ec2): This release includes a new API for retrieving the public endorsement key of the EC2 instance's Nitro Trusted Platform Module (NitroTPM).
1 parent 1d48d02 commit 0903d38

13 files changed

+710
-261
lines changed

clients/client-ec2/README.md

+8
Original file line numberDiff line numberDiff line change
@@ -3749,6 +3749,14 @@ GetInstanceMetadataDefaults
37493749

37503750
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/GetInstanceMetadataDefaultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/GetInstanceMetadataDefaultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/GetInstanceMetadataDefaultsCommandOutput/)
37513751

3752+
</details>
3753+
<details>
3754+
<summary>
3755+
GetInstanceTpmEkPub
3756+
</summary>
3757+
3758+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/GetInstanceTpmEkPubCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/GetInstanceTpmEkPubCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/GetInstanceTpmEkPubCommandOutput/)
3759+
37523760
</details>
37533761
<details>
37543762
<summary>

clients/client-ec2/src/EC2.ts

+23
Original file line numberDiff line numberDiff line change
@@ -2165,6 +2165,11 @@ import {
21652165
GetInstanceMetadataDefaultsCommandInput,
21662166
GetInstanceMetadataDefaultsCommandOutput,
21672167
} from "./commands/GetInstanceMetadataDefaultsCommand";
2168+
import {
2169+
GetInstanceTpmEkPubCommand,
2170+
GetInstanceTpmEkPubCommandInput,
2171+
GetInstanceTpmEkPubCommandOutput,
2172+
} from "./commands/GetInstanceTpmEkPubCommand";
21682173
import {
21692174
GetInstanceTypesFromInstanceRequirementsCommand,
21702175
GetInstanceTypesFromInstanceRequirementsCommandInput,
@@ -3480,6 +3485,7 @@ const commands = {
34803485
GetHostReservationPurchasePreviewCommand,
34813486
GetImageBlockPublicAccessStateCommand,
34823487
GetInstanceMetadataDefaultsCommand,
3488+
GetInstanceTpmEkPubCommand,
34833489
GetInstanceTypesFromInstanceRequirementsCommand,
34843490
GetInstanceUefiDataCommand,
34853491
GetIpamAddressHistoryCommand,
@@ -11108,6 +11114,23 @@ export interface EC2 {
1110811114
cb: (err: any, data?: GetInstanceMetadataDefaultsCommandOutput) => void
1110911115
): void;
1111011116

11117+
/**
11118+
* @see {@link GetInstanceTpmEkPubCommand}
11119+
*/
11120+
getInstanceTpmEkPub(
11121+
args: GetInstanceTpmEkPubCommandInput,
11122+
options?: __HttpHandlerOptions
11123+
): Promise<GetInstanceTpmEkPubCommandOutput>;
11124+
getInstanceTpmEkPub(
11125+
args: GetInstanceTpmEkPubCommandInput,
11126+
cb: (err: any, data?: GetInstanceTpmEkPubCommandOutput) => void
11127+
): void;
11128+
getInstanceTpmEkPub(
11129+
args: GetInstanceTpmEkPubCommandInput,
11130+
options: __HttpHandlerOptions,
11131+
cb: (err: any, data?: GetInstanceTpmEkPubCommandOutput) => void
11132+
): void;
11133+
1111111134
/**
1111211135
* @see {@link GetInstanceTypesFromInstanceRequirementsCommand}
1111311136
*/

clients/client-ec2/src/EC2Client.ts

+6
Original file line numberDiff line numberDiff line change
@@ -1549,6 +1549,10 @@ import {
15491549
GetInstanceMetadataDefaultsCommandInput,
15501550
GetInstanceMetadataDefaultsCommandOutput,
15511551
} from "./commands/GetInstanceMetadataDefaultsCommand";
1552+
import {
1553+
GetInstanceTpmEkPubCommandInput,
1554+
GetInstanceTpmEkPubCommandOutput,
1555+
} from "./commands/GetInstanceTpmEkPubCommand";
15521556
import {
15531557
GetInstanceTypesFromInstanceRequirementsCommandInput,
15541558
GetInstanceTypesFromInstanceRequirementsCommandOutput,
@@ -2607,6 +2611,7 @@ export type ServiceInputTypes =
26072611
| GetHostReservationPurchasePreviewCommandInput
26082612
| GetImageBlockPublicAccessStateCommandInput
26092613
| GetInstanceMetadataDefaultsCommandInput
2614+
| GetInstanceTpmEkPubCommandInput
26102615
| GetInstanceTypesFromInstanceRequirementsCommandInput
26112616
| GetInstanceUefiDataCommandInput
26122617
| GetIpamAddressHistoryCommandInput
@@ -3232,6 +3237,7 @@ export type ServiceOutputTypes =
32323237
| GetHostReservationPurchasePreviewCommandOutput
32333238
| GetImageBlockPublicAccessStateCommandOutput
32343239
| GetInstanceMetadataDefaultsCommandOutput
3240+
| GetInstanceTpmEkPubCommandOutput
32353241
| GetInstanceTypesFromInstanceRequirementsCommandOutput
32363242
| GetInstanceUefiDataCommandOutput
32373243
| GetIpamAddressHistoryCommandOutput
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { Command as $Command } from "@smithy/smithy-client";
5+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
6+
7+
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
8+
import { commonParams } from "../endpoint/EndpointParameters";
9+
import {
10+
GetInstanceTpmEkPubRequest,
11+
GetInstanceTpmEkPubResult,
12+
GetInstanceTpmEkPubResultFilterSensitiveLog,
13+
} from "../models/models_5";
14+
import { de_GetInstanceTpmEkPubCommand, se_GetInstanceTpmEkPubCommand } from "../protocols/Aws_ec2";
15+
16+
/**
17+
* @public
18+
*/
19+
export { __MetadataBearer, $Command };
20+
/**
21+
* @public
22+
*
23+
* The input for {@link GetInstanceTpmEkPubCommand}.
24+
*/
25+
export interface GetInstanceTpmEkPubCommandInput extends GetInstanceTpmEkPubRequest {}
26+
/**
27+
* @public
28+
*
29+
* The output of {@link GetInstanceTpmEkPubCommand}.
30+
*/
31+
export interface GetInstanceTpmEkPubCommandOutput extends GetInstanceTpmEkPubResult, __MetadataBearer {}
32+
33+
/**
34+
* <p>Gets the public endorsement key associated with the Nitro Trusted
35+
* Platform Module (NitroTPM) for the specified instance.</p>
36+
* @example
37+
* Use a bare-bones client and the command you need to make an API call.
38+
* ```javascript
39+
* import { EC2Client, GetInstanceTpmEkPubCommand } from "@aws-sdk/client-ec2"; // ES Modules import
40+
* // const { EC2Client, GetInstanceTpmEkPubCommand } = require("@aws-sdk/client-ec2"); // CommonJS import
41+
* const client = new EC2Client(config);
42+
* const input = { // GetInstanceTpmEkPubRequest
43+
* InstanceId: "STRING_VALUE", // required
44+
* KeyType: "rsa-2048" || "ecc-sec-p384", // required
45+
* KeyFormat: "der" || "tpmt", // required
46+
* DryRun: true || false,
47+
* };
48+
* const command = new GetInstanceTpmEkPubCommand(input);
49+
* const response = await client.send(command);
50+
* // { // GetInstanceTpmEkPubResult
51+
* // InstanceId: "STRING_VALUE",
52+
* // KeyType: "rsa-2048" || "ecc-sec-p384",
53+
* // KeyFormat: "der" || "tpmt",
54+
* // KeyValue: "STRING_VALUE",
55+
* // };
56+
*
57+
* ```
58+
*
59+
* @param GetInstanceTpmEkPubCommandInput - {@link GetInstanceTpmEkPubCommandInput}
60+
* @returns {@link GetInstanceTpmEkPubCommandOutput}
61+
* @see {@link GetInstanceTpmEkPubCommandInput} for command's `input` shape.
62+
* @see {@link GetInstanceTpmEkPubCommandOutput} for command's `response` shape.
63+
* @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape.
64+
*
65+
* @throws {@link EC2ServiceException}
66+
* <p>Base exception class for all service exceptions from EC2 service.</p>
67+
*
68+
* @public
69+
*/
70+
export class GetInstanceTpmEkPubCommand extends $Command
71+
.classBuilder<
72+
GetInstanceTpmEkPubCommandInput,
73+
GetInstanceTpmEkPubCommandOutput,
74+
EC2ClientResolvedConfig,
75+
ServiceInputTypes,
76+
ServiceOutputTypes
77+
>()
78+
.ep({
79+
...commonParams,
80+
})
81+
.m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) {
82+
return [
83+
getSerdePlugin(config, this.serialize, this.deserialize),
84+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
85+
];
86+
})
87+
.s("AmazonEC2", "GetInstanceTpmEkPub", {})
88+
.n("EC2Client", "GetInstanceTpmEkPubCommand")
89+
.f(void 0, GetInstanceTpmEkPubResultFilterSensitiveLog)
90+
.ser(se_GetInstanceTpmEkPubCommand)
91+
.de(de_GetInstanceTpmEkPubCommand)
92+
.build() {}

clients/client-ec2/src/commands/GetIpamDiscoveredAccountsCommand.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
88
import { commonParams } from "../endpoint/EndpointParameters";
9-
import { GetIpamDiscoveredAccountsRequest } from "../models/models_5";
10-
import { GetIpamDiscoveredAccountsResult } from "../models/models_6";
9+
import { GetIpamDiscoveredAccountsRequest, GetIpamDiscoveredAccountsResult } from "../models/models_6";
1110
import { de_GetIpamDiscoveredAccountsCommand, se_GetIpamDiscoveredAccountsCommand } from "../protocols/Aws_ec2";
1211

1312
/**

clients/client-ec2/src/commands/ProvisionIpamPoolCidrCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
88
import { commonParams } from "../endpoint/EndpointParameters";
9-
import { ProvisionIpamPoolCidrRequest, ProvisionIpamPoolCidrResult } from "../models/models_6";
9+
import { ProvisionIpamPoolCidrRequest, ProvisionIpamPoolCidrResult } from "../models/models_7";
1010
import { de_ProvisionIpamPoolCidrCommand, se_ProvisionIpamPoolCidrCommand } from "../protocols/Aws_ec2";
1111

1212
/**

clients/client-ec2/src/commands/ProvisionPublicIpv4PoolCidrCommand.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
88
import { commonParams } from "../endpoint/EndpointParameters";
9-
import { ProvisionPublicIpv4PoolCidrRequest } from "../models/models_6";
10-
import { ProvisionPublicIpv4PoolCidrResult } from "../models/models_7";
9+
import { ProvisionPublicIpv4PoolCidrRequest, ProvisionPublicIpv4PoolCidrResult } from "../models/models_7";
1110
import { de_ProvisionPublicIpv4PoolCidrCommand, se_ProvisionPublicIpv4PoolCidrCommand } from "../protocols/Aws_ec2";
1211

1312
/**

clients/client-ec2/src/commands/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,7 @@ export * from "./GetGroupsForCapacityReservationCommand";
442442
export * from "./GetHostReservationPurchasePreviewCommand";
443443
export * from "./GetImageBlockPublicAccessStateCommand";
444444
export * from "./GetInstanceMetadataDefaultsCommand";
445+
export * from "./GetInstanceTpmEkPubCommand";
445446
export * from "./GetInstanceTypesFromInstanceRequirementsCommand";
446447
export * from "./GetInstanceUefiDataCommand";
447448
export * from "./GetIpamAddressHistoryCommand";

0 commit comments

Comments
 (0)