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 LoadBalancerConfig
- type Network
- type NetworkACL
- type NetworkLoadBalancerConfig
- type PeeringConfig
- type PeeringConnectionInternalType
- type SecurityGroupRule
- type TargetGroupConfig
- type VPCProps
- type VpcEndpointConfig
- type VpcEndpontServiceConfig
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 LoadBalancerConfig ¶ added in v0.0.13
type LoadBalancerConfig struct {
Certificates *[]*string `field:"optional" json:"certificates" yaml:"certificates"`
ExistingArn *string `field:"optional" json:"existingArn" yaml:"existingArn"`
ExistingSecurityGroupId *string `field:"optional" json:"existingSecurityGroupId" yaml:"existingSecurityGroupId"`
InternetFacing *bool `field:"optional" json:"internetFacing" yaml:"internetFacing"`
SecurityGroupRules *[]*SecurityGroupRule `field:"optional" json:"securityGroupRules" yaml:"securityGroupRules"`
SubnetGroupName *string `field:"optional" json:"subnetGroupName" yaml:"subnetGroupName"`
TargetGroups *[]*TargetGroupConfig `field:"optional" json:"targetGroups" yaml:"targetGroups"`
}
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 NetworkLoadBalancerConfig ¶ added in v0.0.13
type NetworkLoadBalancerConfig struct {
SecurityGroupRules *[]*SecurityGroupRule `field:"required" json:"securityGroupRules" yaml:"securityGroupRules"`
SubnetGroupName *string `field:"required" json:"subnetGroupName" yaml:"subnetGroupName"`
Certificates *[]*string `field:"optional" json:"certificates" yaml:"certificates"`
ExistingSecurityGroupId *string `field:"optional" json:"existingSecurityGroupId" yaml:"existingSecurityGroupId"`
InternetFacing *bool `field:"optional" json:"internetFacing" yaml:"internetFacing"`
}
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 TargetGroupConfig ¶ added in v0.0.13
type TargetGroupConfig struct {
ApplicationPort *float64 `field:"required" json:"applicationPort" yaml:"applicationPort"`
Host *string `field:"required" json:"host" yaml:"host"`
HealthCheckPath *string `field:"optional" json:"healthCheckPath" yaml:"healthCheckPath"`
HealthCheckPort *float64 `field:"optional" json:"healthCheckPort" yaml:"healthCheckPort"`
HealthCheckProtocol awselasticloadbalancingv2.Protocol `field:"optional" json:"healthCheckProtocol" yaml:"healthCheckProtocol"`
Priority *float64 `field:"optional" json:"priority" yaml:"priority"`
Protocol awselasticloadbalancingv2.ApplicationProtocol `field:"optional" json:"protocol" yaml:"protocol"`
ProtocolVersion awselasticloadbalancingv2.ApplicationProtocolVersion `field:"optional" json:"protocolVersion" yaml:"protocolVersion"`
}
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"`
VpcEndpointServices *[]*VpcEndpontServiceConfig `field:"optional" json:"vpcEndpointServices" yaml:"vpcEndpointServices"`
}
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"`
}
type VpcEndpontServiceConfig ¶ added in v0.0.13
type VpcEndpontServiceConfig struct {
Alb *LoadBalancerConfig `field:"required" json:"alb" yaml:"alb"`
Name *string `field:"required" json:"name" yaml:"name"`
Nlb *NetworkLoadBalancerConfig `field:"required" json:"nlb" yaml:"nlb"`
AcceptanceRequired *bool `field:"optional" json:"acceptanceRequired" yaml:"acceptanceRequired"`
AdditionalTags *map[string]*string `field:"optional" json:"additionalTags" yaml:"additionalTags"`
AllowedPrincipals *[]*string `field:"optional" json:"allowedPrincipals" yaml:"allowedPrincipals"`
}
Source Files
¶
- AddRouteOptions.go
- IExternalVPEndpointSubnets.go
- ISubnetsProps.go
- LoadBalancerConfig.go
- Network.go
- NetworkACL.go
- NetworkLoadBalancerConfig.go
- Network__checks.go
- PeeringConfig.go
- PeeringConnectionInternalType.go
- SecurityGroupRule.go
- TargetGroupConfig.go
- VPCProps.go
- VpcEndpointConfig.go
- VpcEndpontServiceConfig.go
- main.go
Click to show internal directories.
Click to hide internal directories.