aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,235 lines • 58.5 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { aws_directconnect as directConnectRefs, aws_ec2 as ec2Refs } from "../../interfaces";
import { ConnectionReference, DirectConnectGatewayAssociationReference, DirectConnectGatewayReference, IConnectionRef, IDirectConnectGatewayAssociationRef, IDirectConnectGatewayRef, ILagRef, IPrivateVirtualInterfaceRef, IPublicVirtualInterfaceRef, ITransitVirtualInterfaceRef, LagReference, PrivateVirtualInterfaceReference, PublicVirtualInterfaceReference, TransitVirtualInterfaceReference } from "../../interfaces/generated/aws-directconnect-interfaces.generated";
/**
* Resource Type definition for AWS::DirectConnect::Connection.
*
* @cloudformationResource AWS::DirectConnect::Connection
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html
*/
export declare class CfnConnection extends cdk.CfnResource implements cdk.IInspectable, IConnectionRef, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnConnection from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnConnection;
/**
* Checks whether the given object is a CfnConnection
*/
static isCfnConnection(x: any): x is CfnConnection;
static arnForConnection(resource: IConnectionRef): string;
/**
* The bandwidth of the connection.
*/
private _bandwidth;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
/**
* The name of the connection.
*/
private _connectionName;
private _lagId?;
/**
* The location of the connection.
*/
private _location;
/**
* The name of the service provider associated with the requested connection.
*/
private _providerName?;
/**
* Indicates whether you want the connection to support MAC Security (MACsec).
*/
private _requestMacSec?;
/**
* The tags associated with the connection.
*/
private _tags?;
/**
* Create a new `AWS::DirectConnect::Connection`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnConnectionProps);
get connectionRef(): ConnectionReference;
/**
* The bandwidth of the connection.
*/
get bandwidth(): string;
/**
* The bandwidth of the connection.
*/
set bandwidth(value: string);
/**
* The name of the connection.
*/
get connectionName(): string;
/**
* The name of the connection.
*/
set connectionName(value: string);
get lagId(): string | undefined;
set lagId(value: string | undefined);
/**
* The location of the connection.
*/
get location(): string;
/**
* The location of the connection.
*/
set location(value: string);
/**
* The name of the service provider associated with the requested connection.
*/
get providerName(): string | undefined;
/**
* The name of the service provider associated with the requested connection.
*/
set providerName(value: string | undefined);
/**
* Indicates whether you want the connection to support MAC Security (MACsec).
*/
get requestMacSec(): boolean | cdk.IResolvable | undefined;
/**
* Indicates whether you want the connection to support MAC Security (MACsec).
*/
set requestMacSec(value: boolean | cdk.IResolvable | undefined);
/**
* The tags associated with the connection.
*/
get tags(): Array<cdk.CfnTag> | undefined;
/**
* The tags associated with the connection.
*/
set tags(value: Array<cdk.CfnTag> | undefined);
/**
* The ARN of the connection.
*
* @cloudformationAttribute ConnectionArn
*/
get attrConnectionArn(): string;
/**
* The ID of the connection.
*
* @cloudformationAttribute ConnectionId
*/
get attrConnectionId(): string;
/**
* The state of the connection.
*
* @cloudformationAttribute ConnectionState
*/
get attrConnectionState(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnConnection`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html
*/
export interface CfnConnectionProps {
/**
* The bandwidth of the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-bandwidth
*/
readonly bandwidth: string;
/**
* The name of the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-connectionname
*/
readonly connectionName: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-lagid
*/
readonly lagId?: directConnectRefs.ILagRef | string;
/**
* The location of the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-location
*/
readonly location: string;
/**
* The name of the service provider associated with the requested connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-providername
*/
readonly providerName?: string;
/**
* Indicates whether you want the connection to support MAC Security (MACsec).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-requestmacsec
*/
readonly requestMacSec?: boolean | cdk.IResolvable;
/**
* The tags associated with the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-connection.html#cfn-directconnect-connection-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* Resource Type definition for AWS::DirectConnect::DirectConnectGateway.
*
* @cloudformationResource AWS::DirectConnect::DirectConnectGateway
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html
*/
export declare class CfnDirectConnectGateway extends cdk.CfnResource implements cdk.IInspectable, IDirectConnectGatewayRef, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnDirectConnectGateway from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDirectConnectGateway;
/**
* Checks whether the given object is a CfnDirectConnectGateway
*/
static isCfnDirectConnectGateway(x: any): x is CfnDirectConnectGateway;
static arnForDirectConnectGateway(resource: IDirectConnectGatewayRef): string;
/**
* The autonomous system number (ASN) for the Amazon side of the connection.
*/
private _amazonSideAsn?;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
/**
* The name of the Direct Connect gateway.
*/
private _directConnectGatewayName;
/**
* The tags associated with the Direct Connect gateway.
*/
private _tags?;
/**
* Create a new `AWS::DirectConnect::DirectConnectGateway`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnDirectConnectGatewayProps);
get directConnectGatewayRef(): DirectConnectGatewayReference;
/**
* The autonomous system number (ASN) for the Amazon side of the connection.
*/
get amazonSideAsn(): string | undefined;
/**
* The autonomous system number (ASN) for the Amazon side of the connection.
*/
set amazonSideAsn(value: string | undefined);
/**
* The name of the Direct Connect gateway.
*/
get directConnectGatewayName(): string;
/**
* The name of the Direct Connect gateway.
*/
set directConnectGatewayName(value: string);
/**
* The tags associated with the Direct Connect gateway.
*/
get tags(): Array<cdk.CfnTag> | undefined;
/**
* The tags associated with the Direct Connect gateway.
*/
set tags(value: Array<cdk.CfnTag> | undefined);
/**
* The ARN of the Direct Connect gateway.
*
* @cloudformationAttribute DirectConnectGatewayArn
*/
get attrDirectConnectGatewayArn(): string;
/**
* The ID of the Direct Connect gateway.
*
* @cloudformationAttribute DirectConnectGatewayId
*/
get attrDirectConnectGatewayId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnDirectConnectGateway`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html
*/
export interface CfnDirectConnectGatewayProps {
/**
* The autonomous system number (ASN) for the Amazon side of the connection.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html#cfn-directconnect-directconnectgateway-amazonsideasn
*/
readonly amazonSideAsn?: string;
/**
* The name of the Direct Connect gateway.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html#cfn-directconnect-directconnectgateway-directconnectgatewayname
*/
readonly directConnectGatewayName: string;
/**
* The tags associated with the Direct Connect gateway.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgateway.html#cfn-directconnect-directconnectgateway-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* Resource Type definition for AWS::DirectConnect::DirectConnectGatewayAssociation.
*
* @cloudformationResource AWS::DirectConnect::DirectConnectGatewayAssociation
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html
*/
export declare class CfnDirectConnectGatewayAssociation extends cdk.CfnResource implements cdk.IInspectable, IDirectConnectGatewayAssociationRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnDirectConnectGatewayAssociation from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDirectConnectGatewayAssociation;
/**
* Checks whether the given object is a CfnDirectConnectGatewayAssociation
*/
static isCfnDirectConnectGatewayAssociation(x: any): x is CfnDirectConnectGatewayAssociation;
/**
* The Amazon Resource Name (ARN) of the role to accept the Direct Connect Gateway association proposal.
*/
private _acceptDirectConnectGatewayAssociationProposalRoleArn?;
/**
* The Amazon VPC prefixes to advertise to the Direct Connect gateway.
*/
private _allowedPrefixesToDirectConnectGateway?;
private _associatedGatewayId;
private _directConnectGatewayId;
/**
* Create a new `AWS::DirectConnect::DirectConnectGatewayAssociation`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnDirectConnectGatewayAssociationProps);
get directConnectGatewayAssociationRef(): DirectConnectGatewayAssociationReference;
/**
* The Amazon Resource Name (ARN) of the role to accept the Direct Connect Gateway association proposal.
*/
get acceptDirectConnectGatewayAssociationProposalRoleArn(): string | undefined;
/**
* The Amazon Resource Name (ARN) of the role to accept the Direct Connect Gateway association proposal.
*/
set acceptDirectConnectGatewayAssociationProposalRoleArn(value: string | undefined);
/**
* The Amazon VPC prefixes to advertise to the Direct Connect gateway.
*/
get allowedPrefixesToDirectConnectGateway(): Array<string> | undefined;
/**
* The Amazon VPC prefixes to advertise to the Direct Connect gateway.
*/
set allowedPrefixesToDirectConnectGateway(value: Array<string> | undefined);
get associatedGatewayId(): string;
set associatedGatewayId(value: string);
get directConnectGatewayId(): string;
set directConnectGatewayId(value: string);
/**
* The ID of the Direct Connect gateway association.
*
* @cloudformationAttribute AssociationId
*/
get attrAssociationId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnDirectConnectGatewayAssociation`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html
*/
export interface CfnDirectConnectGatewayAssociationProps {
/**
* The Amazon Resource Name (ARN) of the role to accept the Direct Connect Gateway association proposal.
*
* Needs directconnect:AcceptDirectConnectGatewayAssociationProposal permissions.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html#cfn-directconnect-directconnectgatewayassociation-acceptdirectconnectgatewayassociationproposalrolearn
*/
readonly acceptDirectConnectGatewayAssociationProposalRoleArn?: string;
/**
* The Amazon VPC prefixes to advertise to the Direct Connect gateway.
*
* This parameter is required when you create an association to a transit gateway.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html#cfn-directconnect-directconnectgatewayassociation-allowedprefixestodirectconnectgateway
*/
readonly allowedPrefixesToDirectConnectGateway?: Array<string>;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html#cfn-directconnect-directconnectgatewayassociation-associatedgatewayid
*/
readonly associatedGatewayId: ec2Refs.ITransitGatewayRef | ec2Refs.IVPNGatewayRef | string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-directconnectgatewayassociation.html#cfn-directconnect-directconnectgatewayassociation-directconnectgatewayid
*/
readonly directConnectGatewayId: directConnectRefs.IDirectConnectGatewayRef | string;
}
/**
* Resource Type definition for AWS::DirectConnect::Lag.
*
* @cloudformationResource AWS::DirectConnect::Lag
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html
*/
export declare class CfnLag extends cdk.CfnResource implements cdk.IInspectable, ILagRef, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnLag from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnLag;
/**
* Checks whether the given object is a CfnLag
*/
static isCfnLag(x: any): x is CfnLag;
static arnForLag(resource: ILagRef): string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
/**
* The bandwidth of the individual physical dedicated connections bundled by the LAG.
*/
private _connectionsBandwidth;
/**
* The name of the LAG.
*/
private _lagName;
/**
* The location for the LAG.
*/
private _location;
/**
* The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.
*/
private _minimumLinks?;
/**
* The name of the service provider associated with the requested LAG.
*/
private _providerName?;
/**
* Indicates whether you want the LAG to support MAC Security (MACsec).
*/
private _requestMacSec?;
/**
* The tags associated with the LAG.
*/
private _tags?;
/**
* Create a new `AWS::DirectConnect::Lag`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnLagProps);
get lagRef(): LagReference;
/**
* The bandwidth of the individual physical dedicated connections bundled by the LAG.
*/
get connectionsBandwidth(): string;
/**
* The bandwidth of the individual physical dedicated connections bundled by the LAG.
*/
set connectionsBandwidth(value: string);
/**
* The name of the LAG.
*/
get lagName(): string;
/**
* The name of the LAG.
*/
set lagName(value: string);
/**
* The location for the LAG.
*/
get location(): string;
/**
* The location for the LAG.
*/
set location(value: string);
/**
* The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.
*/
get minimumLinks(): number | undefined;
/**
* The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.
*/
set minimumLinks(value: number | undefined);
/**
* The name of the service provider associated with the requested LAG.
*/
get providerName(): string | undefined;
/**
* The name of the service provider associated with the requested LAG.
*/
set providerName(value: string | undefined);
/**
* Indicates whether you want the LAG to support MAC Security (MACsec).
*/
get requestMacSec(): boolean | cdk.IResolvable | undefined;
/**
* Indicates whether you want the LAG to support MAC Security (MACsec).
*/
set requestMacSec(value: boolean | cdk.IResolvable | undefined);
/**
* The tags associated with the LAG.
*/
get tags(): Array<cdk.CfnTag> | undefined;
/**
* The tags associated with the LAG.
*/
set tags(value: Array<cdk.CfnTag> | undefined);
/**
* The ARN of the LAG.
*
* @cloudformationAttribute LagArn
*/
get attrLagArn(): string;
/**
* The ID of the LAG.
*
* @cloudformationAttribute LagId
*/
get attrLagId(): string;
/**
* The state of the LAG.
*
* @cloudformationAttribute LagState
*/
get attrLagState(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnLag`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html
*/
export interface CfnLagProps {
/**
* The bandwidth of the individual physical dedicated connections bundled by the LAG.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-connectionsbandwidth
*/
readonly connectionsBandwidth: string;
/**
* The name of the LAG.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-lagname
*/
readonly lagName: string;
/**
* The location for the LAG.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-location
*/
readonly location: string;
/**
* The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-minimumlinks
*/
readonly minimumLinks?: number;
/**
* The name of the service provider associated with the requested LAG.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-providername
*/
readonly providerName?: string;
/**
* Indicates whether you want the LAG to support MAC Security (MACsec).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-requestmacsec
*/
readonly requestMacSec?: boolean | cdk.IResolvable;
/**
* The tags associated with the LAG.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-lag.html#cfn-directconnect-lag-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* Resource Type definition for AWS::DirectConnect::PrivateVirtualInterface.
*
* @cloudformationResource AWS::DirectConnect::PrivateVirtualInterface
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html
*/
export declare class CfnPrivateVirtualInterface extends cdk.CfnResource implements cdk.IInspectable, IPrivateVirtualInterfaceRef, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnPrivateVirtualInterface from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPrivateVirtualInterface;
/**
* Checks whether the given object is a CfnPrivateVirtualInterface
*/
static isCfnPrivateVirtualInterface(x: any): x is CfnPrivateVirtualInterface;
/**
* The Amazon Resource Name (ARN) of the role to allocate the private virtual interface.
*/
private _allocatePrivateVirtualInterfaceRoleArn?;
/**
* The BGP peers configured on this virtual interface.
*/
private _bgpPeers;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
private _connectionId;
private _directConnectGatewayId?;
/**
* Indicates whether to enable or disable SiteLink.
*/
private _enableSiteLink?;
/**
* The maximum transmission unit (MTU), in bytes.
*/
private _mtu?;
/**
* The tags associated with the private virtual interface.
*/
private _tags?;
/**
* The ID or ARN of the virtual private gateway.
*/
private _virtualGatewayId?;
/**
* The name of the virtual interface assigned by the customer network.
*/
private _virtualInterfaceName;
/**
* The ID of the VLAN.
*/
private _vlan;
/**
* Create a new `AWS::DirectConnect::PrivateVirtualInterface`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnPrivateVirtualInterfaceProps);
get privateVirtualInterfaceRef(): PrivateVirtualInterfaceReference;
/**
* The Amazon Resource Name (ARN) of the role to allocate the private virtual interface.
*/
get allocatePrivateVirtualInterfaceRoleArn(): string | undefined;
/**
* The Amazon Resource Name (ARN) of the role to allocate the private virtual interface.
*/
set allocatePrivateVirtualInterfaceRoleArn(value: string | undefined);
/**
* The BGP peers configured on this virtual interface.
*/
get bgpPeers(): Array<CfnPrivateVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The BGP peers configured on this virtual interface.
*/
set bgpPeers(value: Array<CfnPrivateVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable);
get connectionId(): string;
set connectionId(value: string);
get directConnectGatewayId(): string | undefined;
set directConnectGatewayId(value: string | undefined);
/**
* Indicates whether to enable or disable SiteLink.
*/
get enableSiteLink(): boolean | cdk.IResolvable | undefined;
/**
* Indicates whether to enable or disable SiteLink.
*/
set enableSiteLink(value: boolean | cdk.IResolvable | undefined);
/**
* The maximum transmission unit (MTU), in bytes.
*/
get mtu(): number | undefined;
/**
* The maximum transmission unit (MTU), in bytes.
*/
set mtu(value: number | undefined);
/**
* The tags associated with the private virtual interface.
*/
get tags(): Array<cdk.CfnTag> | undefined;
/**
* The tags associated with the private virtual interface.
*/
set tags(value: Array<cdk.CfnTag> | undefined);
/**
* The ID or ARN of the virtual private gateway.
*/
get virtualGatewayId(): string | undefined;
/**
* The ID or ARN of the virtual private gateway.
*/
set virtualGatewayId(value: string | undefined);
/**
* The name of the virtual interface assigned by the customer network.
*/
get virtualInterfaceName(): string;
/**
* The name of the virtual interface assigned by the customer network.
*/
set virtualInterfaceName(value: string);
/**
* The ID of the VLAN.
*/
get vlan(): number;
/**
* The ID of the VLAN.
*/
set vlan(value: number);
/**
* The ID of the virtual interface.
*
* @cloudformationAttribute VirtualInterfaceArn
*/
get attrVirtualInterfaceArn(): string;
/**
* The ID of the virtual interface.
*
* @cloudformationAttribute VirtualInterfaceId
*/
get attrVirtualInterfaceId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnPrivateVirtualInterface {
/**
* Information about a BGP peer.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html
*/
interface BgpPeerProperty {
/**
* The address family for the BGP peer.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-addressfamily
*/
readonly addressFamily: string;
/**
* The IP address assigned to the Amazon interface.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-amazonaddress
*/
readonly amazonAddress?: string;
/**
* The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-asn
*/
readonly asn: string;
/**
* The authentication key for BGP configuration.
*
* This string has a minimum length of 6 characters and and a maximum length of 80 characters.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-authkey
*/
readonly authKey?: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-bgppeerid
*/
readonly bgpPeerId?: string;
/**
* The IP address assigned to the customer interface.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-privatevirtualinterface-bgppeer.html#cfn-directconnect-privatevirtualinterface-bgppeer-customeraddress
*/
readonly customerAddress?: string;
}
}
/**
* Properties for defining a `CfnPrivateVirtualInterface`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html
*/
export interface CfnPrivateVirtualInterfaceProps {
/**
* The Amazon Resource Name (ARN) of the role to allocate the private virtual interface.
*
* Needs directconnect:AllocatePrivateVirtualInterface permissions and tag permissions if applicable.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-allocateprivatevirtualinterfacerolearn
*/
readonly allocatePrivateVirtualInterfaceRoleArn?: string;
/**
* The BGP peers configured on this virtual interface.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-bgppeers
*/
readonly bgpPeers: Array<CfnPrivateVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-connectionid
*/
readonly connectionId: directConnectRefs.IConnectionRef | directConnectRefs.ILagRef | string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-directconnectgatewayid
*/
readonly directConnectGatewayId?: directConnectRefs.IDirectConnectGatewayRef | string;
/**
* Indicates whether to enable or disable SiteLink.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-enablesitelink
*/
readonly enableSiteLink?: boolean | cdk.IResolvable;
/**
* The maximum transmission unit (MTU), in bytes.
*
* The supported values are 1500 and 9001. The default value is 1500.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-mtu
*/
readonly mtu?: number;
/**
* The tags associated with the private virtual interface.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* The ID or ARN of the virtual private gateway.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-virtualgatewayid
*/
readonly virtualGatewayId?: string;
/**
* The name of the virtual interface assigned by the customer network.
*
* The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-virtualinterfacename
*/
readonly virtualInterfaceName: string;
/**
* The ID of the VLAN.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-privatevirtualinterface.html#cfn-directconnect-privatevirtualinterface-vlan
*/
readonly vlan: number;
}
/**
* Resource Type definition for AWS::DirectConnect::PublicVirtualInterface.
*
* @cloudformationResource AWS::DirectConnect::PublicVirtualInterface
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html
*/
export declare class CfnPublicVirtualInterface extends cdk.CfnResource implements cdk.IInspectable, IPublicVirtualInterfaceRef, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnPublicVirtualInterface from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPublicVirtualInterface;
/**
* Checks whether the given object is a CfnPublicVirtualInterface
*/
static isCfnPublicVirtualInterface(x: any): x is CfnPublicVirtualInterface;
/**
* The Amazon Resource Name (ARN) of the role to allocate the public virtual interface.
*/
private _allocatePublicVirtualInterfaceRoleArn?;
/**
* The BGP peers configured on this virtual interface.
*/
private _bgpPeers;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
private _connectionId;
/**
* The routes to be advertised to the AWS network in this region.
*/
private _routeFilterPrefixes?;
/**
* The tags associated with the public virtual interface.
*/
private _tags?;
/**
* The name of the virtual interface assigned by the customer network.
*/
private _virtualInterfaceName;
/**
* The ID of the VLAN.
*/
private _vlan;
/**
* Create a new `AWS::DirectConnect::PublicVirtualInterface`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnPublicVirtualInterfaceProps);
get publicVirtualInterfaceRef(): PublicVirtualInterfaceReference;
/**
* The Amazon Resource Name (ARN) of the role to allocate the public virtual interface.
*/
get allocatePublicVirtualInterfaceRoleArn(): string | undefined;
/**
* The Amazon Resource Name (ARN) of the role to allocate the public virtual interface.
*/
set allocatePublicVirtualInterfaceRoleArn(value: string | undefined);
/**
* The BGP peers configured on this virtual interface.
*/
get bgpPeers(): Array<CfnPublicVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The BGP peers configured on this virtual interface.
*/
set bgpPeers(value: Array<CfnPublicVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable);
get connectionId(): string;
set connectionId(value: string);
/**
* The routes to be advertised to the AWS network in this region.
*/
get routeFilterPrefixes(): Array<string> | undefined;
/**
* The routes to be advertised to the AWS network in this region.
*/
set routeFilterPrefixes(value: Array<string> | undefined);
/**
* The tags associated with the public virtual interface.
*/
get tags(): Array<cdk.CfnTag> | undefined;
/**
* The tags associated with the public virtual interface.
*/
set tags(value: Array<cdk.CfnTag> | undefined);
/**
* The name of the virtual interface assigned by the customer network.
*/
get virtualInterfaceName(): string;
/**
* The name of the virtual interface assigned by the customer network.
*/
set virtualInterfaceName(value: string);
/**
* The ID of the VLAN.
*/
get vlan(): number;
/**
* The ID of the VLAN.
*/
set vlan(value: number);
/**
* The ARN of the virtual interface.
*
* @cloudformationAttribute VirtualInterfaceArn
*/
get attrVirtualInterfaceArn(): string;
/**
* The ID of the virtual interface.
*
* @cloudformationAttribute VirtualInterfaceId
*/
get attrVirtualInterfaceId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnPublicVirtualInterface {
/**
* Information about a BGP peer.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html
*/
interface BgpPeerProperty {
/**
* The address family for the BGP peer.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-addressfamily
*/
readonly addressFamily: string;
/**
* The IP address assigned to the Amazon interface.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-amazonaddress
*/
readonly amazonAddress?: string;
/**
* The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-asn
*/
readonly asn: string;
/**
* The authentication key for BGP configuration.
*
* This string has a minimum length of 6 characters and and a maximum length of 80 characters.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-authkey
*/
readonly authKey?: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-bgppeerid
*/
readonly bgpPeerId?: string;
/**
* The IP address assigned to the customer interface.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directconnect-publicvirtualinterface-bgppeer.html#cfn-directconnect-publicvirtualinterface-bgppeer-customeraddress
*/
readonly customerAddress?: string;
}
}
/**
* Properties for defining a `CfnPublicVirtualInterface`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html
*/
export interface CfnPublicVirtualInterfaceProps {
/**
* The Amazon Resource Name (ARN) of the role to allocate the public virtual interface.
*
* Needs directconnect:AllocatePublicVirtualInterface permissions and tag permissions if applicable.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-allocatepublicvirtualinterfacerolearn
*/
readonly allocatePublicVirtualInterfaceRoleArn?: string;
/**
* The BGP peers configured on this virtual interface.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-bgppeers
*/
readonly bgpPeers: Array<CfnPublicVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-connectionid
*/
readonly connectionId: directConnectRefs.IConnectionRef | directConnectRefs.ILagRef | string;
/**
* The routes to be advertised to the AWS network in this region.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-routefilterprefixes
*/
readonly routeFilterPrefixes?: Array<string>;
/**
* The tags associated with the public virtual interface.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* The name of the virtual interface assigned by the customer network.
*
* The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-virtualinterfacename
*/
readonly virtualInterfaceName: string;
/**
* The ID of the VLAN.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-publicvirtualinterface.html#cfn-directconnect-publicvirtualinterface-vlan
*/
readonly vlan: number;
}
/**
* Resource Type definition for AWS::DirectConnect::TransitVirtualInterface.
*
* @cloudformationResource AWS::DirectConnect::TransitVirtualInterface
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directconnect-transitvirtualinterface.html
*/
export declare class CfnTransitVirtualInterface extends cdk.CfnResource implements cdk.IInspectable, ITransitVirtualInterfaceRef, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnTransitVirtualInterface from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnTransitVirtualInterface;
/**
* Checks whether the given object is a CfnTransitVirtualInterface
*/
static isCfnTransitVirtualInterface(x: any): x is CfnTransitVirtualInterface;
/**
* The Amazon Resource Name (ARN) of the role to allocate the TransitVifAllocation.
*/
private _allocateTransitVirtualInterfaceRoleArn?;
/**
* The BGP peers configured on this virtual interface..
*/
private _bgpPeers;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
private _connectionId;
private _directConnectGatewayId;
/**
* Indicates whether to enable or disable SiteLink.
*/
private _enableSiteLink?;
/**
* The maximum transmission unit (MTU), in bytes.
*/
private _mtu?;
/**
* The tags associated with the private virtual interface.
*/
private _tags?;
/**
* The name of the virtual interface assigned by the customer network.
*/
private _virtualInterfaceName;
/**
* The ID of the VLAN.
*/
private _vlan;
/**
* Create a new `AWS::DirectConnect::TransitVirtualInterface`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnTransitVirtualInterfaceProps);
get transitVirtualInterfaceRef(): TransitVirtualInterfaceReference;
/**
* The Amazon Resource Name (ARN) of the role to allocate the TransitVifAllocation.
*/
get allocateTransitVirtualInterfaceRoleArn(): string | undefined;
/**
* The Amazon Resource Name (ARN) of the role to allocate the TransitVifAllocation.
*/
set allocateTransitVirtualInterfaceRoleArn(value: string | undefined);
/**
* The BGP peers configured on this virtual interface..
*/
get bgpPeers(): Array<CfnTransitVirtualInterface.BgpPeerProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The BGP peers configured on this virtual interface..
*/
set bgpPeers(value: Arr