VpcOrigin class
Creates an Amazon CloudFront VPC origin.
For information about CloudFront VPC origins, see Amazon CloudFront Developer Guide - Restrict access with VPC origins.
Example Usage
Application Load Balancer
The following example below creates a CloudFront VPC origin for a Application Load Balancer.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const alb = new aws.cloudfront.VpcOrigin("alb", {vpcOriginEndpointConfig: {
originSslProtocols: {
items: ["TLSv1.2"],
quantity: 1,
},
name: "example-vpc-origin",
arn: _this.arn,
httpPort: 8080,
httpsPort: 8443,
originProtocolPolicy: "https-only",
}});
import pulumi
import pulumi_aws as aws
alb = aws.cloudfront.VpcOrigin("alb", vpc_origin_endpoint_config={
"origin_ssl_protocols": {
"items": ["TLSv1.2"],
"quantity": 1,
},
"name": "example-vpc-origin",
"arn": this["arn"],
"http_port": 8080,
"https_port": 8443,
"origin_protocol_policy": "https-only",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var alb = new Aws.CloudFront.VpcOrigin("alb", new()
{
VpcOriginEndpointConfig = new Aws.CloudFront.Inputs.VpcOriginVpcOriginEndpointConfigArgs
{
OriginSslProtocols = new Aws.CloudFront.Inputs.VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs
{
Items = new[]
{
"TLSv1.2",
},
Quantity = 1,
},
Name = "example-vpc-origin",
Arn = @this.Arn,
HttpPort = 8080,
HttpsPort = 8443,
OriginProtocolPolicy = "https-only",
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudfront"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudfront.NewVpcOrigin(ctx, "alb", &cloudfront.VpcOriginArgs{
VpcOriginEndpointConfig: &cloudfront.VpcOriginVpcOriginEndpointConfigArgs{
OriginSslProtocols: &cloudfront.VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs{
Items: pulumi.StringArray{
pulumi.String("TLSv1.2"),
},
Quantity: pulumi.Int(1),
},
Name: pulumi.String("example-vpc-origin"),
Arn: pulumi.Any(this.Arn),
HttpPort: pulumi.Int(8080),
HttpsPort: pulumi.Int(8443),
OriginProtocolPolicy: pulumi.String("https-only"),
},
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
resource "aws_cloudfront_vpcorigin" "alb" {
vpc_origin_endpoint_config = {
origin_ssl_protocols = {
items = ["TLSv1.2"]
quantity = 1
}
name = "example-vpc-origin"
arn = this.arn
http_port = 8080
https_port = 8443
origin_protocol_policy = "https-only"
}
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudfront.VpcOrigin;
import com.pulumi.aws.cloudfront.VpcOriginArgs;
import com.pulumi.aws.cloudfront.inputs.VpcOriginVpcOriginEndpointConfigArgs;
import com.pulumi.aws.cloudfront.inputs.VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var alb = new VpcOrigin("alb", VpcOriginArgs.builder()
.vpcOriginEndpointConfig(VpcOriginVpcOriginEndpointConfigArgs.builder()
.originSslProtocols(VpcOriginVpcOriginEndpointConfigOriginSslProtocolsArgs.builder()
.items("TLSv1.2")
.quantity(1)
.build())
.name("example-vpc-origin")
.arn(this_.arn())
.httpPort(8080)
.httpsPort(8443)
.originProtocolPolicy("https-only")
.build())
.build());
}
}
resources:
alb:
type: aws:cloudfront:VpcOrigin
properties:
vpcOriginEndpointConfig:
originSslProtocols:
items:
- TLSv1.2
quantity: 1
name: example-vpc-origin
arn: ${this.arn}
httpPort: 8080
httpsPort: 8443
originProtocolPolicy: https-only
Import
Using pulumi import, import Cloudfront VPC origins using the id. For example:
% pulumi import aws_cloudfront_vpc_origin vo_JQEa410sssUFoY6wMkx69j
Constructors
- VpcOrigin(String name, {VpcOriginArgs? args, CustomResourceOptions? options})
-
Creates a new VpcOrigin.
nameThe Pulumi resource name.argsArguments used to configure this VpcOrigin. The set of arguments for VpcOrigin.optionsResource options controlling this resource's behavior. - VpcOrigin.reference(String urn)
- Creates a typed reference to an existing VpcOrigin resource.
Properties
-
arn
↔ Output<
String> -
The VPC origin ARN.
latefinal
-
childResources
→ Set<
Resource> -
finalinherited
-
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
-
etag
↔ Output<
String> -
The current version of the origin.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
-
id
↔ Output<
String> -
getter/setter pairinherited
- isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
Key-value tags for the place index. If configured with a provider
defaultTagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.latefinal -
A map of tags assigned to the resource, including those inherited from the provider
defaultTagsconfiguration block.latefinal -
timeouts
↔ Output<
VpcOriginTimeouts?> -
latefinal
-
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
urn
↔ Output<
String> -
latefinalinherited
-
vpcOriginEndpointConfig
↔ Output<
VpcOriginVpcOriginEndpointConfig> -
The VPC origin endpoint configuration.
latefinal
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited