Skip to content

Commit 59dc76d

Browse files
author
awstools
committed
feat(client-ec2): This release adds API support for the recipient of an AMI account share to remove shared AMI launch permissions.
1 parent 8a87924 commit 59dc76d

23 files changed

+992
-644
lines changed

clients/client-ec2/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
"@aws-sdk/types": "*",
4444
"@aws-sdk/url-parser": "*",
4545
"@aws-sdk/util-base64": "*",
46+
"@aws-sdk/util-base64-browser": "*",
47+
"@aws-sdk/util-base64-node": "*",
4648
"@aws-sdk/util-body-length-browser": "*",
4749
"@aws-sdk/util-body-length-node": "*",
4850
"@aws-sdk/util-defaults-mode-browser": "*",

clients/client-ec2/src/EC2.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,11 @@ import {
206206
CancelExportTaskCommandInput,
207207
CancelExportTaskCommandOutput,
208208
} from "./commands/CancelExportTaskCommand";
209+
import {
210+
CancelImageLaunchPermissionCommand,
211+
CancelImageLaunchPermissionCommandInput,
212+
CancelImageLaunchPermissionCommandOutput,
213+
} from "./commands/CancelImageLaunchPermissionCommand";
209214
import {
210215
CancelImportTaskCommand,
211216
CancelImportTaskCommandInput,
@@ -4246,6 +4251,40 @@ export class EC2 extends EC2Client {
42464251
}
42474252
}
42484253

4254+
/**
4255+
* <p>Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more
4256+
* information, see <a href="https://docs.aws.amazon.com/">Cancel sharing an AMI with your Amazon Web Services account</a>
4257+
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
4258+
*/
4259+
public cancelImageLaunchPermission(
4260+
args: CancelImageLaunchPermissionCommandInput,
4261+
options?: __HttpHandlerOptions
4262+
): Promise<CancelImageLaunchPermissionCommandOutput>;
4263+
public cancelImageLaunchPermission(
4264+
args: CancelImageLaunchPermissionCommandInput,
4265+
cb: (err: any, data?: CancelImageLaunchPermissionCommandOutput) => void
4266+
): void;
4267+
public cancelImageLaunchPermission(
4268+
args: CancelImageLaunchPermissionCommandInput,
4269+
options: __HttpHandlerOptions,
4270+
cb: (err: any, data?: CancelImageLaunchPermissionCommandOutput) => void
4271+
): void;
4272+
public cancelImageLaunchPermission(
4273+
args: CancelImageLaunchPermissionCommandInput,
4274+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CancelImageLaunchPermissionCommandOutput) => void),
4275+
cb?: (err: any, data?: CancelImageLaunchPermissionCommandOutput) => void
4276+
): Promise<CancelImageLaunchPermissionCommandOutput> | void {
4277+
const command = new CancelImageLaunchPermissionCommand(args);
4278+
if (typeof optionsOrCb === "function") {
4279+
this.send(command, optionsOrCb);
4280+
} else if (typeof cb === "function") {
4281+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
4282+
this.send(command, optionsOrCb || {}, cb);
4283+
} else {
4284+
return this.send(command, optionsOrCb);
4285+
}
4286+
}
4287+
42494288
/**
42504289
* <p>Cancels an in-process import virtual machine or import snapshot task.</p>
42514290
*/

clients/client-ec2/src/EC2Client.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,10 @@ import {
184184
CancelConversionTaskCommandOutput,
185185
} from "./commands/CancelConversionTaskCommand";
186186
import { CancelExportTaskCommandInput, CancelExportTaskCommandOutput } from "./commands/CancelExportTaskCommand";
187+
import {
188+
CancelImageLaunchPermissionCommandInput,
189+
CancelImageLaunchPermissionCommandOutput,
190+
} from "./commands/CancelImageLaunchPermissionCommand";
187191
import { CancelImportTaskCommandInput, CancelImportTaskCommandOutput } from "./commands/CancelImportTaskCommand";
188192
import {
189193
CancelReservedInstancesListingCommandInput,
@@ -1918,6 +1922,7 @@ export type ServiceInputTypes =
19181922
| CancelCapacityReservationFleetsCommandInput
19191923
| CancelConversionTaskCommandInput
19201924
| CancelExportTaskCommandInput
1925+
| CancelImageLaunchPermissionCommandInput
19211926
| CancelImportTaskCommandInput
19221927
| CancelReservedInstancesListingCommandInput
19231928
| CancelSpotFleetRequestsCommandInput
@@ -2466,6 +2471,7 @@ export type ServiceOutputTypes =
24662471
| CancelCapacityReservationFleetsCommandOutput
24672472
| CancelConversionTaskCommandOutput
24682473
| CancelExportTaskCommandOutput
2474+
| CancelImageLaunchPermissionCommandOutput
24692475
| CancelImportTaskCommandOutput
24702476
| CancelReservedInstancesListingCommandOutput
24712477
| CancelSpotFleetRequestsCommandOutput
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
// smithy-typescript generated code
2+
import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint";
3+
import { getSerdePlugin } from "@aws-sdk/middleware-serde";
4+
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
5+
import { Command as $Command } from "@aws-sdk/smithy-client";
6+
import {
7+
FinalizeHandlerArguments,
8+
Handler,
9+
HandlerExecutionContext,
10+
HttpHandlerOptions as __HttpHandlerOptions,
11+
MetadataBearer as __MetadataBearer,
12+
MiddlewareStack,
13+
SerdeContext as __SerdeContext,
14+
} from "@aws-sdk/types";
15+
16+
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
17+
import {
18+
CancelImageLaunchPermissionRequest,
19+
CancelImageLaunchPermissionRequestFilterSensitiveLog,
20+
CancelImageLaunchPermissionResult,
21+
CancelImageLaunchPermissionResultFilterSensitiveLog,
22+
} from "../models/models_0";
23+
import {
24+
deserializeAws_ec2CancelImageLaunchPermissionCommand,
25+
serializeAws_ec2CancelImageLaunchPermissionCommand,
26+
} from "../protocols/Aws_ec2";
27+
28+
export interface CancelImageLaunchPermissionCommandInput extends CancelImageLaunchPermissionRequest {}
29+
export interface CancelImageLaunchPermissionCommandOutput extends CancelImageLaunchPermissionResult, __MetadataBearer {}
30+
31+
/**
32+
* <p>Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more
33+
* information, see <a href="https://docs.aws.amazon.com/">Cancel sharing an AMI with your Amazon Web Services account</a>
34+
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
35+
* @example
36+
* Use a bare-bones client and the command you need to make an API call.
37+
* ```javascript
38+
* import { EC2Client, CancelImageLaunchPermissionCommand } from "@aws-sdk/client-ec2"; // ES Modules import
39+
* // const { EC2Client, CancelImageLaunchPermissionCommand } = require("@aws-sdk/client-ec2"); // CommonJS import
40+
* const client = new EC2Client(config);
41+
* const command = new CancelImageLaunchPermissionCommand(input);
42+
* const response = await client.send(command);
43+
* ```
44+
*
45+
* @see {@link CancelImageLaunchPermissionCommandInput} for command's `input` shape.
46+
* @see {@link CancelImageLaunchPermissionCommandOutput} for command's `response` shape.
47+
* @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape.
48+
*
49+
*/
50+
export class CancelImageLaunchPermissionCommand extends $Command<
51+
CancelImageLaunchPermissionCommandInput,
52+
CancelImageLaunchPermissionCommandOutput,
53+
EC2ClientResolvedConfig
54+
> {
55+
// Start section: command_properties
56+
// End section: command_properties
57+
58+
public static getEndpointParameterInstructions(): EndpointParameterInstructions {
59+
return {
60+
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
61+
Endpoint: { type: "builtInParams", name: "endpoint" },
62+
Region: { type: "builtInParams", name: "region" },
63+
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
64+
};
65+
}
66+
67+
constructor(readonly input: CancelImageLaunchPermissionCommandInput) {
68+
// Start section: command_constructor
69+
super();
70+
// End section: command_constructor
71+
}
72+
73+
/**
74+
* @internal
75+
*/
76+
resolveMiddleware(
77+
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
78+
configuration: EC2ClientResolvedConfig,
79+
options?: __HttpHandlerOptions
80+
): Handler<CancelImageLaunchPermissionCommandInput, CancelImageLaunchPermissionCommandOutput> {
81+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
82+
this.middlewareStack.use(
83+
getEndpointPlugin(configuration, CancelImageLaunchPermissionCommand.getEndpointParameterInstructions())
84+
);
85+
86+
const stack = clientStack.concat(this.middlewareStack);
87+
88+
const { logger } = configuration;
89+
const clientName = "EC2Client";
90+
const commandName = "CancelImageLaunchPermissionCommand";
91+
const handlerExecutionContext: HandlerExecutionContext = {
92+
logger,
93+
clientName,
94+
commandName,
95+
inputFilterSensitiveLog: CancelImageLaunchPermissionRequestFilterSensitiveLog,
96+
outputFilterSensitiveLog: CancelImageLaunchPermissionResultFilterSensitiveLog,
97+
};
98+
const { requestHandler } = configuration;
99+
return stack.resolve(
100+
(request: FinalizeHandlerArguments<any>) =>
101+
requestHandler.handle(request.request as __HttpRequest, options || {}),
102+
handlerExecutionContext
103+
);
104+
}
105+
106+
private serialize(input: CancelImageLaunchPermissionCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
107+
return serializeAws_ec2CancelImageLaunchPermissionCommand(input, context);
108+
}
109+
110+
private deserialize(
111+
output: __HttpResponse,
112+
context: __SerdeContext
113+
): Promise<CancelImageLaunchPermissionCommandOutput> {
114+
return deserializeAws_ec2CancelImageLaunchPermissionCommand(output, context);
115+
}
116+
117+
// Start section: command_body_extra
118+
// End section: command_body_extra
119+
}

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,8 @@ import {
1414
} from "@aws-sdk/types";
1515

1616
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
17-
import {
18-
CreateDefaultSubnetRequest,
19-
CreateDefaultSubnetRequestFilterSensitiveLog,
20-
CreateDefaultSubnetResult,
21-
CreateDefaultSubnetResultFilterSensitiveLog,
22-
} from "../models/models_0";
17+
import { CreateDefaultSubnetRequest, CreateDefaultSubnetRequestFilterSensitiveLog } from "../models/models_0";
18+
import { CreateDefaultSubnetResult, CreateDefaultSubnetResultFilterSensitiveLog } from "../models/models_1";
2319
import {
2420
deserializeAws_ec2CreateDefaultSubnetCommand,
2521
serializeAws_ec2CreateDefaultSubnetCommand,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
} from "@aws-sdk/types";
1515

1616
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
17-
import { CreateTagsRequest, CreateTagsRequestFilterSensitiveLog } from "../models/models_1";
17+
import { CreateTagsRequest, CreateTagsRequestFilterSensitiveLog } from "../models/models_2";
1818
import { deserializeAws_ec2CreateTagsCommand, serializeAws_ec2CreateTagsCommand } from "../protocols/Aws_ec2";
1919

2020
export interface CreateTagsCommandInput extends CreateTagsRequest {}

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
1717
import {
1818
CreateTrafficMirrorFilterRequest,
1919
CreateTrafficMirrorFilterRequestFilterSensitiveLog,
20-
} from "../models/models_1";
21-
import { CreateTrafficMirrorFilterResult, CreateTrafficMirrorFilterResultFilterSensitiveLog } from "../models/models_2";
20+
CreateTrafficMirrorFilterResult,
21+
CreateTrafficMirrorFilterResultFilterSensitiveLog,
22+
} from "../models/models_2";
2223
import {
2324
deserializeAws_ec2CreateTrafficMirrorFilterCommand,
2425
serializeAws_ec2CreateTrafficMirrorFilterCommand,

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
1717
import {
1818
DeregisterTransitGatewayMulticastGroupMembersRequest,
1919
DeregisterTransitGatewayMulticastGroupMembersRequestFilterSensitiveLog,
20+
} from "../models/models_2";
21+
import {
2022
DeregisterTransitGatewayMulticastGroupMembersResult,
2123
DeregisterTransitGatewayMulticastGroupMembersResultFilterSensitiveLog,
22-
} from "../models/models_2";
24+
} from "../models/models_3";
2325
import {
2426
deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommand,
2527
serializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommand,

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
1717
import {
1818
DeregisterTransitGatewayMulticastGroupSourcesRequest,
1919
DeregisterTransitGatewayMulticastGroupSourcesRequestFilterSensitiveLog,
20-
} from "../models/models_2";
21-
import {
2220
DeregisterTransitGatewayMulticastGroupSourcesResult,
2321
DeregisterTransitGatewayMulticastGroupSourcesResultFilterSensitiveLog,
2422
} from "../models/models_3";

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
DescribeLaunchTemplateVersionsRequestFilterSensitiveLog,
2020
DescribeLaunchTemplateVersionsResult,
2121
DescribeLaunchTemplateVersionsResultFilterSensitiveLog,
22-
} from "../models/models_3";
22+
} from "../models/models_4";
2323
import {
2424
deserializeAws_ec2DescribeLaunchTemplateVersionsCommand,
2525
serializeAws_ec2DescribeLaunchTemplateVersionsCommand,

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
1717
import {
1818
DisassociateTrunkInterfaceRequest,
1919
DisassociateTrunkInterfaceRequestFilterSensitiveLog,
20+
} from "../models/models_4";
21+
import {
2022
DisassociateTrunkInterfaceResult,
2123
DisassociateTrunkInterfaceResultFilterSensitiveLog,
22-
} from "../models/models_4";
24+
} from "../models/models_5";
2325
import {
2426
deserializeAws_ec2DisassociateTrunkInterfaceCommand,
2527
serializeAws_ec2DisassociateTrunkInterfaceCommand,

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ import {
1414
} from "@aws-sdk/types";
1515

1616
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
17-
import { DisassociateVpcCidrBlockRequest, DisassociateVpcCidrBlockRequestFilterSensitiveLog } from "../models/models_4";
18-
import { DisassociateVpcCidrBlockResult, DisassociateVpcCidrBlockResultFilterSensitiveLog } from "../models/models_5";
17+
import {
18+
DisassociateVpcCidrBlockRequest,
19+
DisassociateVpcCidrBlockRequestFilterSensitiveLog,
20+
DisassociateVpcCidrBlockResult,
21+
DisassociateVpcCidrBlockResultFilterSensitiveLog,
22+
} from "../models/models_5";
1923
import {
2024
deserializeAws_ec2DisassociateVpcCidrBlockCommand,
2125
serializeAws_ec2DisassociateVpcCidrBlockCommand,

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
1717
import {
1818
ModifyVpcPeeringConnectionOptionsRequest,
1919
ModifyVpcPeeringConnectionOptionsRequestFilterSensitiveLog,
20+
} from "../models/models_5";
21+
import {
2022
ModifyVpcPeeringConnectionOptionsResult,
2123
ModifyVpcPeeringConnectionOptionsResultFilterSensitiveLog,
22-
} from "../models/models_5";
24+
} from "../models/models_6";
2325
import {
2426
deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand,
2527
serializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand,

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ export * from "./CancelCapacityReservationCommand";
4040
export * from "./CancelCapacityReservationFleetsCommand";
4141
export * from "./CancelConversionTaskCommand";
4242
export * from "./CancelExportTaskCommand";
43+
export * from "./CancelImageLaunchPermissionCommand";
4344
export * from "./CancelImportTaskCommand";
4445
export * from "./CancelReservedInstancesListingCommand";
4546
export * from "./CancelSpotFleetRequestsCommand";

0 commit comments

Comments
 (0)