package awscloudfrontorigins import ( _init_ "github.com/aws/aws-cdk-go/awscdk/v2/jsii" _jsii_ "github.com/aws/jsii-runtime-go/runtime" "github.com/aws/aws-cdk-go/awscdk/v2/awscloudfront" "github.com/aws/aws-cdk-go/awscdk/v2/awselasticloadbalancingv2" "github.com/aws/constructs-go/constructs/v10" ) // An Origin for a v2 load balancer. // // Example: // import ec2 "github.com/aws/aws-cdk-go/awscdk" // import elbv2 "github.com/aws/aws-cdk-go/awscdk" // // var vpc vpc // // // Create an application load balancer in a VPC. 'internetFacing' must be 'true' // // for CloudFront to access the load balancer and use it as an origin. // lb := elbv2.NewApplicationLoadBalancer(this, jsii.String("LB"), &ApplicationLoadBalancerProps{ // Vpc: Vpc, // InternetFacing: jsii.Boolean(true), // }) // cloudfront.NewDistribution(this, jsii.String("myDist"), &DistributionProps{ // DefaultBehavior: &BehaviorOptions{ // Origin: origins.NewLoadBalancerV2Origin(lb), // }, // }) // type LoadBalancerV2Origin interface { HttpOrigin // Binds the origin to the associated Distribution. // // Can be used to grant permissions, create dependent resources, etc. Bind(_scope constructs.Construct, options *awscloudfront.OriginBindOptions) *awscloudfront.OriginBindConfig RenderCustomOriginConfig() *awscloudfront.CfnDistribution_CustomOriginConfigProperty RenderS3OriginConfig() *awscloudfront.CfnDistribution_S3OriginConfigProperty } // The jsii proxy struct for LoadBalancerV2Origin type jsiiProxy_LoadBalancerV2Origin struct { jsiiProxy_HttpOrigin } func NewLoadBalancerV2Origin(loadBalancer awselasticloadbalancingv2.ILoadBalancerV2, props *LoadBalancerV2OriginProps) LoadBalancerV2Origin { _init_.Initialize() if err := validateNewLoadBalancerV2OriginParameters(loadBalancer, props); err != nil { panic(err) } j := jsiiProxy_LoadBalancerV2Origin{} _jsii_.Create( "aws-cdk-lib.aws_cloudfront_origins.LoadBalancerV2Origin", []interface{}{loadBalancer, props}, &j, ) return &j } func NewLoadBalancerV2Origin_Override(l LoadBalancerV2Origin, loadBalancer awselasticloadbalancingv2.ILoadBalancerV2, props *LoadBalancerV2OriginProps) { _init_.Initialize() _jsii_.Create( "aws-cdk-lib.aws_cloudfront_origins.LoadBalancerV2Origin", []interface{}{loadBalancer, props}, l, ) } func (l *jsiiProxy_LoadBalancerV2Origin) Bind(_scope constructs.Construct, options *awscloudfront.OriginBindOptions) *awscloudfront.OriginBindConfig { if err := l.validateBindParameters(_scope, options); err != nil { panic(err) } var returns *awscloudfront.OriginBindConfig _jsii_.Invoke( l, "bind", []interface{}{_scope, options}, &returns, ) return returns } func (l *jsiiProxy_LoadBalancerV2Origin) RenderCustomOriginConfig() *awscloudfront.CfnDistribution_CustomOriginConfigProperty { var returns *awscloudfront.CfnDistribution_CustomOriginConfigProperty _jsii_.Invoke( l, "renderCustomOriginConfig", nil, // no parameters &returns, ) return returns } func (l *jsiiProxy_LoadBalancerV2Origin) RenderS3OriginConfig() *awscloudfront.CfnDistribution_S3OriginConfigProperty { var returns *awscloudfront.CfnDistribution_S3OriginConfigProperty _jsii_.Invoke( l, "renderS3OriginConfig", nil, // no parameters &returns, ) return returns }