Skip to content

Commit

Permalink
feat(client-ec2): This release adds API support for the recipient of …
Browse files Browse the repository at this point in the history
…an AMI account share to remove shared AMI launch permissions.
  • Loading branch information
awstools committed Nov 4, 2022
1 parent 8a87924 commit 59dc76d
Show file tree
Hide file tree
Showing 23 changed files with 992 additions and 644 deletions.
2 changes: 2 additions & 0 deletions clients/client-ec2/package.json
Expand Up @@ -43,6 +43,8 @@
"@aws-sdk/types": "*",
"@aws-sdk/url-parser": "*",
"@aws-sdk/util-base64": "*",
"@aws-sdk/util-base64-browser": "*",
"@aws-sdk/util-base64-node": "*",
"@aws-sdk/util-body-length-browser": "*",
"@aws-sdk/util-body-length-node": "*",
"@aws-sdk/util-defaults-mode-browser": "*",
Expand Down
39 changes: 39 additions & 0 deletions clients/client-ec2/src/EC2.ts
Expand Up @@ -206,6 +206,11 @@ import {
CancelExportTaskCommandInput,
CancelExportTaskCommandOutput,
} from "./commands/CancelExportTaskCommand";
import {
CancelImageLaunchPermissionCommand,
CancelImageLaunchPermissionCommandInput,
CancelImageLaunchPermissionCommandOutput,
} from "./commands/CancelImageLaunchPermissionCommand";
import {
CancelImportTaskCommand,
CancelImportTaskCommandInput,
Expand Down Expand Up @@ -4246,6 +4251,40 @@ export class EC2 extends EC2Client {
}
}

/**
* <p>Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more
* information, see <a href="https://docs.aws.amazon.com/">Cancel sharing an AMI with your Amazon Web Services account</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
*/
public cancelImageLaunchPermission(
args: CancelImageLaunchPermissionCommandInput,
options?: __HttpHandlerOptions
): Promise<CancelImageLaunchPermissionCommandOutput>;
public cancelImageLaunchPermission(
args: CancelImageLaunchPermissionCommandInput,
cb: (err: any, data?: CancelImageLaunchPermissionCommandOutput) => void
): void;
public cancelImageLaunchPermission(
args: CancelImageLaunchPermissionCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: CancelImageLaunchPermissionCommandOutput) => void
): void;
public cancelImageLaunchPermission(
args: CancelImageLaunchPermissionCommandInput,
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CancelImageLaunchPermissionCommandOutput) => void),
cb?: (err: any, data?: CancelImageLaunchPermissionCommandOutput) => void
): Promise<CancelImageLaunchPermissionCommandOutput> | void {
const command = new CancelImageLaunchPermissionCommand(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>Cancels an in-process import virtual machine or import snapshot task.</p>
*/
Expand Down
6 changes: 6 additions & 0 deletions clients/client-ec2/src/EC2Client.ts
Expand Up @@ -184,6 +184,10 @@ import {
CancelConversionTaskCommandOutput,
} from "./commands/CancelConversionTaskCommand";
import { CancelExportTaskCommandInput, CancelExportTaskCommandOutput } from "./commands/CancelExportTaskCommand";
import {
CancelImageLaunchPermissionCommandInput,
CancelImageLaunchPermissionCommandOutput,
} from "./commands/CancelImageLaunchPermissionCommand";
import { CancelImportTaskCommandInput, CancelImportTaskCommandOutput } from "./commands/CancelImportTaskCommand";
import {
CancelReservedInstancesListingCommandInput,
Expand Down Expand Up @@ -1918,6 +1922,7 @@ export type ServiceInputTypes =
| CancelCapacityReservationFleetsCommandInput
| CancelConversionTaskCommandInput
| CancelExportTaskCommandInput
| CancelImageLaunchPermissionCommandInput
| CancelImportTaskCommandInput
| CancelReservedInstancesListingCommandInput
| CancelSpotFleetRequestsCommandInput
Expand Down Expand Up @@ -2466,6 +2471,7 @@ export type ServiceOutputTypes =
| CancelCapacityReservationFleetsCommandOutput
| CancelConversionTaskCommandOutput
| CancelExportTaskCommandOutput
| CancelImageLaunchPermissionCommandOutput
| CancelImportTaskCommandOutput
| CancelReservedInstancesListingCommandOutput
| CancelSpotFleetRequestsCommandOutput
Expand Down
119 changes: 119 additions & 0 deletions clients/client-ec2/src/commands/CancelImageLaunchPermissionCommand.ts
@@ -0,0 +1,119 @@
// smithy-typescript generated code
import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint";
import { getSerdePlugin } from "@aws-sdk/middleware-serde";
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
import { Command as $Command } from "@aws-sdk/smithy-client";
import {
FinalizeHandlerArguments,
Handler,
HandlerExecutionContext,
HttpHandlerOptions as __HttpHandlerOptions,
MetadataBearer as __MetadataBearer,
MiddlewareStack,
SerdeContext as __SerdeContext,
} from "@aws-sdk/types";

import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
import {
CancelImageLaunchPermissionRequest,
CancelImageLaunchPermissionRequestFilterSensitiveLog,
CancelImageLaunchPermissionResult,
CancelImageLaunchPermissionResultFilterSensitiveLog,
} from "../models/models_0";
import {
deserializeAws_ec2CancelImageLaunchPermissionCommand,
serializeAws_ec2CancelImageLaunchPermissionCommand,
} from "../protocols/Aws_ec2";

export interface CancelImageLaunchPermissionCommandInput extends CancelImageLaunchPermissionRequest {}
export interface CancelImageLaunchPermissionCommandOutput extends CancelImageLaunchPermissionResult, __MetadataBearer {}

/**
* <p>Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more
* information, see <a href="https://docs.aws.amazon.com/">Cancel sharing an AMI with your Amazon Web Services account</a>
* in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
* import { EC2Client, CancelImageLaunchPermissionCommand } from "@aws-sdk/client-ec2"; // ES Modules import
* // const { EC2Client, CancelImageLaunchPermissionCommand } = require("@aws-sdk/client-ec2"); // CommonJS import
* const client = new EC2Client(config);
* const command = new CancelImageLaunchPermissionCommand(input);
* const response = await client.send(command);
* ```
*
* @see {@link CancelImageLaunchPermissionCommandInput} for command's `input` shape.
* @see {@link CancelImageLaunchPermissionCommandOutput} for command's `response` shape.
* @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape.
*
*/
export class CancelImageLaunchPermissionCommand extends $Command<
CancelImageLaunchPermissionCommandInput,
CancelImageLaunchPermissionCommandOutput,
EC2ClientResolvedConfig
> {
// Start section: command_properties
// End section: command_properties

public static getEndpointParameterInstructions(): EndpointParameterInstructions {
return {
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
Endpoint: { type: "builtInParams", name: "endpoint" },
Region: { type: "builtInParams", name: "region" },
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
};
}

constructor(readonly input: CancelImageLaunchPermissionCommandInput) {
// Start section: command_constructor
super();
// End section: command_constructor
}

/**
* @internal
*/
resolveMiddleware(
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
configuration: EC2ClientResolvedConfig,
options?: __HttpHandlerOptions
): Handler<CancelImageLaunchPermissionCommandInput, CancelImageLaunchPermissionCommandOutput> {
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
this.middlewareStack.use(
getEndpointPlugin(configuration, CancelImageLaunchPermissionCommand.getEndpointParameterInstructions())
);

const stack = clientStack.concat(this.middlewareStack);

const { logger } = configuration;
const clientName = "EC2Client";
const commandName = "CancelImageLaunchPermissionCommand";
const handlerExecutionContext: HandlerExecutionContext = {
logger,
clientName,
commandName,
inputFilterSensitiveLog: CancelImageLaunchPermissionRequestFilterSensitiveLog,
outputFilterSensitiveLog: CancelImageLaunchPermissionResultFilterSensitiveLog,
};
const { requestHandler } = configuration;
return stack.resolve(
(request: FinalizeHandlerArguments<any>) =>
requestHandler.handle(request.request as __HttpRequest, options || {}),
handlerExecutionContext
);
}

private serialize(input: CancelImageLaunchPermissionCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
return serializeAws_ec2CancelImageLaunchPermissionCommand(input, context);
}

private deserialize(
output: __HttpResponse,
context: __SerdeContext
): Promise<CancelImageLaunchPermissionCommandOutput> {
return deserializeAws_ec2CancelImageLaunchPermissionCommand(output, context);
}

// Start section: command_body_extra
// End section: command_body_extra
}
8 changes: 2 additions & 6 deletions clients/client-ec2/src/commands/CreateDefaultSubnetCommand.ts
Expand Up @@ -14,12 +14,8 @@ import {
} from "@aws-sdk/types";

import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
import {
CreateDefaultSubnetRequest,
CreateDefaultSubnetRequestFilterSensitiveLog,
CreateDefaultSubnetResult,
CreateDefaultSubnetResultFilterSensitiveLog,
} from "../models/models_0";
import { CreateDefaultSubnetRequest, CreateDefaultSubnetRequestFilterSensitiveLog } from "../models/models_0";
import { CreateDefaultSubnetResult, CreateDefaultSubnetResultFilterSensitiveLog } from "../models/models_1";
import {
deserializeAws_ec2CreateDefaultSubnetCommand,
serializeAws_ec2CreateDefaultSubnetCommand,
Expand Down
2 changes: 1 addition & 1 deletion clients/client-ec2/src/commands/CreateTagsCommand.ts
Expand Up @@ -14,7 +14,7 @@ import {
} from "@aws-sdk/types";

import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
import { CreateTagsRequest, CreateTagsRequestFilterSensitiveLog } from "../models/models_1";
import { CreateTagsRequest, CreateTagsRequestFilterSensitiveLog } from "../models/models_2";
import { deserializeAws_ec2CreateTagsCommand, serializeAws_ec2CreateTagsCommand } from "../protocols/Aws_ec2";

export interface CreateTagsCommandInput extends CreateTagsRequest {}
Expand Down
Expand Up @@ -17,8 +17,9 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
import {
CreateTrafficMirrorFilterRequest,
CreateTrafficMirrorFilterRequestFilterSensitiveLog,
} from "../models/models_1";
import { CreateTrafficMirrorFilterResult, CreateTrafficMirrorFilterResultFilterSensitiveLog } from "../models/models_2";
CreateTrafficMirrorFilterResult,
CreateTrafficMirrorFilterResultFilterSensitiveLog,
} from "../models/models_2";
import {
deserializeAws_ec2CreateTrafficMirrorFilterCommand,
serializeAws_ec2CreateTrafficMirrorFilterCommand,
Expand Down
Expand Up @@ -17,9 +17,11 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
import {
DeregisterTransitGatewayMulticastGroupMembersRequest,
DeregisterTransitGatewayMulticastGroupMembersRequestFilterSensitiveLog,
} from "../models/models_2";
import {
DeregisterTransitGatewayMulticastGroupMembersResult,
DeregisterTransitGatewayMulticastGroupMembersResultFilterSensitiveLog,
} from "../models/models_2";
} from "../models/models_3";
import {
deserializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommand,
serializeAws_ec2DeregisterTransitGatewayMulticastGroupMembersCommand,
Expand Down
Expand Up @@ -17,8 +17,6 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
import {
DeregisterTransitGatewayMulticastGroupSourcesRequest,
DeregisterTransitGatewayMulticastGroupSourcesRequestFilterSensitiveLog,
} from "../models/models_2";
import {
DeregisterTransitGatewayMulticastGroupSourcesResult,
DeregisterTransitGatewayMulticastGroupSourcesResultFilterSensitiveLog,
} from "../models/models_3";
Expand Down
Expand Up @@ -19,7 +19,7 @@ import {
DescribeLaunchTemplateVersionsRequestFilterSensitiveLog,
DescribeLaunchTemplateVersionsResult,
DescribeLaunchTemplateVersionsResultFilterSensitiveLog,
} from "../models/models_3";
} from "../models/models_4";
import {
deserializeAws_ec2DescribeLaunchTemplateVersionsCommand,
serializeAws_ec2DescribeLaunchTemplateVersionsCommand,
Expand Down
Expand Up @@ -17,9 +17,11 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
import {
DisassociateTrunkInterfaceRequest,
DisassociateTrunkInterfaceRequestFilterSensitiveLog,
} from "../models/models_4";
import {
DisassociateTrunkInterfaceResult,
DisassociateTrunkInterfaceResultFilterSensitiveLog,
} from "../models/models_4";
} from "../models/models_5";
import {
deserializeAws_ec2DisassociateTrunkInterfaceCommand,
serializeAws_ec2DisassociateTrunkInterfaceCommand,
Expand Down
Expand Up @@ -14,8 +14,12 @@ import {
} from "@aws-sdk/types";

import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
import { DisassociateVpcCidrBlockRequest, DisassociateVpcCidrBlockRequestFilterSensitiveLog } from "../models/models_4";
import { DisassociateVpcCidrBlockResult, DisassociateVpcCidrBlockResultFilterSensitiveLog } from "../models/models_5";
import {
DisassociateVpcCidrBlockRequest,
DisassociateVpcCidrBlockRequestFilterSensitiveLog,
DisassociateVpcCidrBlockResult,
DisassociateVpcCidrBlockResultFilterSensitiveLog,
} from "../models/models_5";
import {
deserializeAws_ec2DisassociateVpcCidrBlockCommand,
serializeAws_ec2DisassociateVpcCidrBlockCommand,
Expand Down
Expand Up @@ -17,9 +17,11 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "
import {
ModifyVpcPeeringConnectionOptionsRequest,
ModifyVpcPeeringConnectionOptionsRequestFilterSensitiveLog,
} from "../models/models_5";
import {
ModifyVpcPeeringConnectionOptionsResult,
ModifyVpcPeeringConnectionOptionsResultFilterSensitiveLog,
} from "../models/models_5";
} from "../models/models_6";
import {
deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand,
serializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand,
Expand Down
1 change: 1 addition & 0 deletions clients/client-ec2/src/commands/index.ts
Expand Up @@ -40,6 +40,7 @@ export * from "./CancelCapacityReservationCommand";
export * from "./CancelCapacityReservationFleetsCommand";
export * from "./CancelConversionTaskCommand";
export * from "./CancelExportTaskCommand";
export * from "./CancelImageLaunchPermissionCommand";
export * from "./CancelImportTaskCommand";
export * from "./CancelReservedInstancesListingCommand";
export * from "./CancelSpotFleetRequestsCommand";
Expand Down

0 comments on commit 59dc76d

Please sign in to comment.