package awselasticloadbalancingv2 import ( "github.com/aws/aws-cdk-go/awscdk/v2/awsec2" ) // Properties for a network load balancer. // // Example: // import elbv2 "github.com/aws/aws-cdk-go/awscdk" // // // vpc := ec2.NewVpc(this, jsii.String("VPC")) // nlb := elbv2.NewNetworkLoadBalancer(this, jsii.String("NLB"), &NetworkLoadBalancerProps{ // Vpc: Vpc, // }) // link := apigateway.NewVpcLink(this, jsii.String("link"), &VpcLinkProps{ // Targets: []iNetworkLoadBalancer{ // nlb, // }, // }) // // integration := apigateway.NewIntegration(&IntegrationProps{ // Type: apigateway.IntegrationType_HTTP_PROXY, // Options: &IntegrationOptions{ // ConnectionType: apigateway.ConnectionType_VPC_LINK, // VpcLink: link, // }, // }) // type NetworkLoadBalancerProps struct { // The VPC network to place the load balancer in. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // Indicates whether deletion protection is enabled. DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // Whether the load balancer has an internet-routable address. InternetFacing *bool `field:"optional" json:"internetFacing" yaml:"internetFacing"` // Name of the load balancer. LoadBalancerName *string `field:"optional" json:"loadBalancerName" yaml:"loadBalancerName"` // Which subnets place the load balancer in. VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // Indicates whether cross-zone load balancing is enabled. CrossZoneEnabled *bool `field:"optional" json:"crossZoneEnabled" yaml:"crossZoneEnabled"` }