Documentation
¶
Overview ¶
@smallcase/cdk-vpc-module
Index ¶
- func Network_IsConstruct(x interface{}) *bool
- func NewNetwork_Override(n Network, scope constructs.Construct, id *string, props *VPCProps)
- type AddRouteOptions
- type IExternalVPEndpointSubnets
- type ISubnetsProps
- type Network
- type NetworkACL
- type PeeringConfig
- type PeeringConnectionInternalType
- type SecurityGroupRule
- type VPCProps
- type VpcEndpointConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Network_IsConstruct ¶
func Network_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func NewNetwork_Override ¶
func NewNetwork_Override(n Network, scope constructs.Construct, id *string, props *VPCProps)
Types ¶
type AddRouteOptions ¶
type AddRouteOptions struct {
// What type of router to route this traffic to.
RouterType awsec2.RouterType `field:"required" json:"routerType" yaml:"routerType"`
// IPv4 range this route applies to.
// Default: '0.0.0.0/0'
//
DestinationCidrBlock *string `field:"optional" json:"destinationCidrBlock" yaml:"destinationCidrBlock"`
// IPv6 range this route applies to.
// Default: - Uses IPv6.
//
DestinationIpv6CidrBlock *string `field:"optional" json:"destinationIpv6CidrBlock" yaml:"destinationIpv6CidrBlock"`
// Whether this route will enable internet connectivity.
//
// If true, this route will be added before any AWS resources that depend
// on internet connectivity in the VPC will be created.
// Default: false.
//
EnablesInternetConnectivity *bool `field:"optional" json:"enablesInternetConnectivity" yaml:"enablesInternetConnectivity"`
ExistingVpcPeeringRouteKey *string `field:"optional" json:"existingVpcPeeringRouteKey" yaml:"existingVpcPeeringRouteKey"`
RouterId *string `field:"optional" json:"routerId" yaml:"routerId"`
}
type IExternalVPEndpointSubnets ¶ added in v0.0.10
type ISubnetsProps ¶
type ISubnetsProps interface {
AvailabilityZones() *[]*string
CidrBlock() *[]*string
EgressNetworkACL() *[]*NetworkACL
IngressNetworkACL() *[]*NetworkACL
Routes() *[]*AddRouteOptions
SubnetGroupName() *string
SubnetType() awsec2.SubnetType
Tags() *map[string]*string
UseSubnetForNAT() *bool
}
type Network ¶
type Network interface {
constructs.Construct
EndpointOutputs() *map[string]interface{}
NatProvider() awsec2.NatProvider
NatSubnets() *[]awsec2.PublicSubnet
SetNatSubnets(val *[]awsec2.PublicSubnet)
// The tree node.
Node() constructs.Node
PbSubnets() *[]awsec2.PublicSubnet
SetPbSubnets(val *[]awsec2.PublicSubnet)
PvSubnets() *[]awsec2.PrivateSubnet
SetPvSubnets(val *[]awsec2.PrivateSubnet)
SecurityGroupOutputs() *map[string]awsec2.SecurityGroup
Subnets() *map[string]*[]awsec2.Subnet
SetSubnets(val *map[string]*[]awsec2.Subnet)
Vpc() awsec2.Vpc
CreateSubnet(option ISubnetsProps, vpc awsec2.Vpc, peeringConnectionId *PeeringConnectionInternalType) *[]awsec2.Subnet
// Returns a string representation of this construct.
ToString() *string
}
func NewNetwork ¶
func NewNetwork(scope constructs.Construct, id *string, props *VPCProps) Network
type NetworkACL ¶
type NetworkACL struct {
Cidr awsec2.AclCidr `field:"required" json:"cidr" yaml:"cidr"`
Traffic awsec2.AclTraffic `field:"required" json:"traffic" yaml:"traffic"`
}
type PeeringConfig ¶
type PeeringConfig struct {
PeeringVpcId *string `field:"required" json:"peeringVpcId" yaml:"peeringVpcId"`
Tags *map[string]*string `field:"required" json:"tags" yaml:"tags"`
PeerAssumeRoleArn *string `field:"optional" json:"peerAssumeRoleArn" yaml:"peerAssumeRoleArn"`
PeerOwnerId *string `field:"optional" json:"peerOwnerId" yaml:"peerOwnerId"`
PeerRegion *string `field:"optional" json:"peerRegion" yaml:"peerRegion"`
}
type PeeringConnectionInternalType ¶
type PeeringConnectionInternalType struct {
}
type SecurityGroupRule ¶ added in v0.0.10
type VPCProps ¶
type VPCProps struct {
Subnets *[]ISubnetsProps `field:"required" json:"subnets" yaml:"subnets"`
Vpc *awsec2.VpcProps `field:"required" json:"vpc" yaml:"vpc"`
NatEipAllocationIds *[]*string `field:"optional" json:"natEipAllocationIds" yaml:"natEipAllocationIds"`
PeeringConfigs *map[string]*PeeringConfig `field:"optional" json:"peeringConfigs" yaml:"peeringConfigs"`
VpcEndpoints *[]*VpcEndpointConfig `field:"optional" json:"vpcEndpoints" yaml:"vpcEndpoints"`
}
type VpcEndpointConfig ¶ added in v0.0.10
type VpcEndpointConfig struct {
Name *string `field:"required" json:"name" yaml:"name"`
Service interface{} `field:"required" json:"service" yaml:"service"`
SubnetGroupNames *[]*string `field:"required" json:"subnetGroupNames" yaml:"subnetGroupNames"`
AdditionalTags *map[string]*string `field:"optional" json:"additionalTags" yaml:"additionalTags"`
ExternalSubnets *[]IExternalVPEndpointSubnets `field:"optional" json:"externalSubnets" yaml:"externalSubnets"`
IamPolicyStatements *[]awsiam.PolicyStatement `field:"optional" json:"iamPolicyStatements" yaml:"iamPolicyStatements"`
SecurityGroupRules *[]*SecurityGroupRule `field:"optional" json:"securityGroupRules" yaml:"securityGroupRules"`
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.