import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateVpcAttachmentRequest, CreateVpcAttachmentResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateVpcAttachmentCommand}. */ export interface CreateVpcAttachmentCommandInput extends CreateVpcAttachmentRequest { } /** * @public * * The output of {@link CreateVpcAttachmentCommand}. */ export interface CreateVpcAttachmentCommandOutput extends CreateVpcAttachmentResponse, __MetadataBearer { } declare const CreateVpcAttachmentCommand_base: { new (input: CreateVpcAttachmentCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateVpcAttachmentCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates a VPC attachment on an edge location of a core network.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { NetworkManagerClient, CreateVpcAttachmentCommand } from "@aws-sdk/client-networkmanager"; // ES Modules import * // const { NetworkManagerClient, CreateVpcAttachmentCommand } = 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 = { // CreateVpcAttachmentRequest * CoreNetworkId: "STRING_VALUE", // required * VpcArn: "STRING_VALUE", // required * SubnetArns: [ // SubnetArnList // required * "STRING_VALUE", * ], * Options: { // VpcOptions * Ipv6Support: true || false, * ApplianceModeSupport: true || false, * DnsSupport: true || false, * SecurityGroupReferencingSupport: true || false, * }, * RoutingPolicyLabel: "STRING_VALUE", * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", * Value: "STRING_VALUE", * }, * ], * ClientToken: "STRING_VALUE", * }; * const command = new CreateVpcAttachmentCommand(input); * const response = await client.send(command); * // { // CreateVpcAttachmentResponse * // 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 CreateVpcAttachmentCommandInput - {@link CreateVpcAttachmentCommandInput} * @returns {@link CreateVpcAttachmentCommandOutput} * @see {@link CreateVpcAttachmentCommandInput} for command's `input` shape. * @see {@link CreateVpcAttachmentCommandOutput} 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 CreateVpcAttachmentCommand extends CreateVpcAttachmentCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateVpcAttachmentRequest; output: CreateVpcAttachmentResponse; }; sdk: { input: CreateVpcAttachmentCommandInput; output: CreateVpcAttachmentCommandOutput; }; }; }