import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { UpdateVpcAttachmentRequest, UpdateVpcAttachmentResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link UpdateVpcAttachmentCommand}. */ export interface UpdateVpcAttachmentCommandInput extends UpdateVpcAttachmentRequest { } /** * @public * * The output of {@link UpdateVpcAttachmentCommand}. */ export interface UpdateVpcAttachmentCommandOutput extends UpdateVpcAttachmentResponse, __MetadataBearer { } declare const UpdateVpcAttachmentCommand_base: { new (input: UpdateVpcAttachmentCommandInput): import("@smithy/core/client").CommandImpl; new (input: UpdateVpcAttachmentCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Updates a VPC attachment.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { NetworkManagerClient, UpdateVpcAttachmentCommand } from "@aws-sdk/client-networkmanager"; // ES Modules import * // const { NetworkManagerClient, UpdateVpcAttachmentCommand } = require("@aws-sdk/client-networkmanager"); // CommonJS import * // import type { NetworkManagerClientConfig } from "@aws-sdk/client-networkmanager"; * const config = {}; // type is NetworkManagerClientConfig * const client = new NetworkManagerClient(config); * const input = { // UpdateVpcAttachmentRequest * AttachmentId: "STRING_VALUE", // required * AddSubnetArns: [ // SubnetArnList * "STRING_VALUE", * ], * RemoveSubnetArns: [ * "STRING_VALUE", * ], * Options: { // VpcOptions * Ipv6Support: true || false, * ApplianceModeSupport: true || false, * DnsSupport: true || false, * SecurityGroupReferencingSupport: true || false, * }, * }; * const command = new UpdateVpcAttachmentCommand(input); * const response = await client.send(command); * // { // UpdateVpcAttachmentResponse * // VpcAttachment: { // VpcAttachment * // Attachment: { // Attachment * // CoreNetworkId: "STRING_VALUE", * // CoreNetworkArn: "STRING_VALUE", * // AttachmentId: "STRING_VALUE", * // OwnerAccountId: "STRING_VALUE", * // AttachmentType: "CONNECT" || "SITE_TO_SITE_VPN" || "VPC" || "DIRECT_CONNECT_GATEWAY" || "TRANSIT_GATEWAY_ROUTE_TABLE", * // State: "REJECTED" || "PENDING_ATTACHMENT_ACCEPTANCE" || "CREATING" || "FAILED" || "AVAILABLE" || "UPDATING" || "PENDING_NETWORK_UPDATE" || "PENDING_TAG_ACCEPTANCE" || "DELETING", * // EdgeLocation: "STRING_VALUE", * // EdgeLocations: [ // ExternalRegionCodeList * // "STRING_VALUE", * // ], * // ResourceArn: "STRING_VALUE", * // AttachmentPolicyRuleNumber: Number("int"), * // SegmentName: "STRING_VALUE", * // NetworkFunctionGroupName: "STRING_VALUE", * // Tags: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // ProposedSegmentChange: { // ProposedSegmentChange * // Tags: [ * // { * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // AttachmentPolicyRuleNumber: Number("int"), * // SegmentName: "STRING_VALUE", * // }, * // ProposedNetworkFunctionGroupChange: { // ProposedNetworkFunctionGroupChange * // Tags: [ * // { * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // AttachmentPolicyRuleNumber: Number("int"), * // NetworkFunctionGroupName: "STRING_VALUE", * // }, * // CreatedAt: new Date("TIMESTAMP"), * // UpdatedAt: new Date("TIMESTAMP"), * // LastModificationErrors: [ // AttachmentErrorList * // { // AttachmentError * // Code: "VPC_NOT_FOUND" || "SUBNET_NOT_FOUND" || "SUBNET_DUPLICATED_IN_AVAILABILITY_ZONE" || "SUBNET_NO_FREE_ADDRESSES" || "SUBNET_UNSUPPORTED_AVAILABILITY_ZONE" || "SUBNET_NO_IPV6_CIDRS" || "VPN_CONNECTION_NOT_FOUND" || "MAXIMUM_NO_ENCAP_LIMIT_EXCEEDED" || "DIRECT_CONNECT_GATEWAY_NOT_FOUND" || "DIRECT_CONNECT_GATEWAY_EXISTING_ATTACHMENTS" || "DIRECT_CONNECT_GATEWAY_NO_PRIVATE_VIF" || "VPN_EXISTING_ASSOCIATIONS" || "VPC_UNSUPPORTED_FEATURES", * // Message: "STRING_VALUE", * // ResourceArn: "STRING_VALUE", * // RequestId: "STRING_VALUE", * // }, * // ], * // }, * // SubnetArns: [ // SubnetArnList * // "STRING_VALUE", * // ], * // Options: { // VpcOptions * // Ipv6Support: true || false, * // ApplianceModeSupport: true || false, * // DnsSupport: true || false, * // SecurityGroupReferencingSupport: true || false, * // }, * // }, * // }; * * ``` * * @param UpdateVpcAttachmentCommandInput - {@link UpdateVpcAttachmentCommandInput} * @returns {@link UpdateVpcAttachmentCommandOutput} * @see {@link UpdateVpcAttachmentCommandInput} for command's `input` shape. * @see {@link UpdateVpcAttachmentCommandOutput} for command's `response` shape. * @see {@link NetworkManagerClientResolvedConfig | config} for NetworkManagerClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

* * @throws {@link ConflictException} (client fault) *

There was a conflict processing the request. Updating or deleting the resource can * cause an inconsistent state.

* * @throws {@link InternalServerException} (server fault) *

The request has failed due to an internal error.

* * @throws {@link ResourceNotFoundException} (client fault) *

The specified resource could not be found.

* * @throws {@link ThrottlingException} (client fault) *

The request was denied due to request throttling.

* * @throws {@link ValidationException} (client fault) *

The input fails to satisfy the constraints.

* * @throws {@link NetworkManagerServiceException} *

Base exception class for all service exceptions from NetworkManager service.

* * * @public */ export declare class UpdateVpcAttachmentCommand extends UpdateVpcAttachmentCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateVpcAttachmentRequest; output: UpdateVpcAttachmentResponse; }; sdk: { input: UpdateVpcAttachmentCommandInput; output: UpdateVpcAttachmentCommandOutput; }; }; }