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/awscloudfrontorigins/internal" "github.com/aws/constructs-go/constructs/v10" ) // An Origin for an HTTP server or S3 bucket configured for website hosting. // // Example: // // Validating signed URLs or signed cookies with Trusted Key Groups // // // public key in PEM format // var publicKey string // // pubKey := cloudfront.NewPublicKey(this, jsii.String("MyPubKey"), &PublicKeyProps{ // EncodedKey: publicKey, // }) // // keyGroup := cloudfront.NewKeyGroup(this, jsii.String("MyKeyGroup"), &KeyGroupProps{ // Items: []iPublicKey{ // pubKey, // }, // }) // // cloudfront.NewDistribution(this, jsii.String("Dist"), &DistributionProps{ // DefaultBehavior: &BehaviorOptions{ // Origin: origins.NewHttpOrigin(jsii.String("www.example.com")), // TrustedKeyGroups: []iKeyGroup{ // keyGroup, // }, // }, // }) // type HttpOrigin interface { awscloudfront.OriginBase // 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 HttpOrigin type jsiiProxy_HttpOrigin struct { internal.Type__awscloudfrontOriginBase } func NewHttpOrigin(domainName *string, props *HttpOriginProps) HttpOrigin { _init_.Initialize() if err := validateNewHttpOriginParameters(domainName, props); err != nil { panic(err) } j := jsiiProxy_HttpOrigin{} _jsii_.Create( "aws-cdk-lib.aws_cloudfront_origins.HttpOrigin", []interface{}{domainName, props}, &j, ) return &j } func NewHttpOrigin_Override(h HttpOrigin, domainName *string, props *HttpOriginProps) { _init_.Initialize() _jsii_.Create( "aws-cdk-lib.aws_cloudfront_origins.HttpOrigin", []interface{}{domainName, props}, h, ) } func (h *jsiiProxy_HttpOrigin) Bind(_scope constructs.Construct, options *awscloudfront.OriginBindOptions) *awscloudfront.OriginBindConfig { if err := h.validateBindParameters(_scope, options); err != nil { panic(err) } var returns *awscloudfront.OriginBindConfig _jsii_.Invoke( h, "bind", []interface{}{_scope, options}, &returns, ) return returns } func (h *jsiiProxy_HttpOrigin) RenderCustomOriginConfig() *awscloudfront.CfnDistribution_CustomOriginConfigProperty { var returns *awscloudfront.CfnDistribution_CustomOriginConfigProperty _jsii_.Invoke( h, "renderCustomOriginConfig", nil, // no parameters &returns, ) return returns } func (h *jsiiProxy_HttpOrigin) RenderS3OriginConfig() *awscloudfront.CfnDistribution_S3OriginConfigProperty { var returns *awscloudfront.CfnDistribution_S3OriginConfigProperty _jsii_.Invoke( h, "renderS3OriginConfig", nil, // no parameters &returns, ) return returns }