

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::CloudFront::VpcOrigin
<a name="aws-resource-cloudfront-vpcorigin"></a>

An Amazon CloudFront VPC origin.

## Syntax
<a name="aws-resource-cloudfront-vpcorigin-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-cloudfront-vpcorigin-syntax.json"></a>

```
{
  "Type" : "AWS::CloudFront::VpcOrigin",
  "Properties" : {
      "[Tags](#cfn-cloudfront-vpcorigin-tags)" : [ Tag, ... ],
      "[VpcOriginEndpointConfig](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig)" : VpcOriginEndpointConfig
    }
}
```

### YAML
<a name="aws-resource-cloudfront-vpcorigin-syntax.yaml"></a>

```
Type: AWS::CloudFront::VpcOrigin
Properties:
  [Tags](#cfn-cloudfront-vpcorigin-tags): 
    - Tag
  [VpcOriginEndpointConfig](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig): 
    VpcOriginEndpointConfig
```

## Properties
<a name="aws-resource-cloudfront-vpcorigin-properties"></a>

`Tags`  <a name="cfn-cloudfront-vpcorigin-tags"></a>
A complex type that contains zero or more `Tag` elements.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-cloudfront-vpcorigin-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcOriginEndpointConfig`  <a name="cfn-cloudfront-vpcorigin-vpcoriginendpointconfig"></a>
The VPC origin endpoint configuration.  
*Required*: Yes  
*Type*: [VpcOriginEndpointConfig](aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-cloudfront-vpcorigin-return-values"></a>

### Ref
<a name="aws-resource-cloudfront-vpcorigin-return-values-ref"></a>

### Fn::GetAtt
<a name="aws-resource-cloudfront-vpcorigin-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-cloudfront-vpcorigin-return-values-fn--getatt-fn--getatt"></a>

`AccountId`  <a name="AccountId-fn::getatt"></a>
The account ID of the AWS account that owns the VPC origin.

`Arn`  <a name="Arn-fn::getatt"></a>
The VPC origin ARN.

`CreatedTime`  <a name="CreatedTime-fn::getatt"></a>
The VPC origin created time.

`Id`  <a name="Id-fn::getatt"></a>
The VPC origin ID.

`LastModifiedTime`  <a name="LastModifiedTime-fn::getatt"></a>
The VPC origin last modified time.

`Status`  <a name="Status-fn::getatt"></a>
The VPC origin status.

# AWS::CloudFront::VpcOrigin Tag
<a name="aws-properties-cloudfront-vpcorigin-tag"></a>

A complex type that contains `Tag` key and `Tag` value.

## Syntax
<a name="aws-properties-cloudfront-vpcorigin-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cloudfront-vpcorigin-tag-syntax.json"></a>

```
{
  "[Key](#cfn-cloudfront-vpcorigin-tag-key)" : String,
  "[Value](#cfn-cloudfront-vpcorigin-tag-value)" : String
}
```

### YAML
<a name="aws-properties-cloudfront-vpcorigin-tag-syntax.yaml"></a>

```
  [Key](#cfn-cloudfront-vpcorigin-tag-key): String
  [Value](#cfn-cloudfront-vpcorigin-tag-value): String
```

## Properties
<a name="aws-properties-cloudfront-vpcorigin-tag-properties"></a>

`Key`  <a name="cfn-cloudfront-vpcorigin-tag-key"></a>
A string that contains `Tag` key.  
The string length should be between 1 and 128 characters. Valid characters include `a-z`, `A-Z`, `0-9`, space, and the special characters `_ - . : / = + @`.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-cloudfront-vpcorigin-tag-value"></a>
A string that contains an optional `Tag` value.  
The string length should be between 0 and 256 characters. Valid characters include `a-z`, `A-Z`, `0-9`, space, and the special characters `_ - . : / = + @`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::CloudFront::VpcOrigin VpcOriginEndpointConfig
<a name="aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig"></a>

An Amazon CloudFront VPC origin endpoint configuration.

## Syntax
<a name="aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig-syntax.json"></a>

```
{
  "[Arn](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-arn)" : String,
  "[HTTPPort](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpport)" : Integer,
  "[HTTPSPort](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpsport)" : Integer,
  "[Name](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-name)" : String,
  "[OriginProtocolPolicy](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originprotocolpolicy)" : String,
  "[OriginSSLProtocols](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originsslprotocols)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig-syntax.yaml"></a>

```
  [Arn](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-arn): String
  [HTTPPort](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpport): Integer
  [HTTPSPort](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpsport): Integer
  [Name](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-name): String
  [OriginProtocolPolicy](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originprotocolpolicy): String
  [OriginSSLProtocols](#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originsslprotocols): 
    - String
```

## Properties
<a name="aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig-properties"></a>

`Arn`  <a name="cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-arn"></a>
The ARN of the CloudFront VPC origin endpoint configuration.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HTTPPort`  <a name="cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpport"></a>
The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is `80`.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HTTPSPort`  <a name="cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpsport"></a>
The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is `443`.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-name"></a>
The name of the CloudFront VPC origin endpoint configuration.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OriginProtocolPolicy`  <a name="cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originprotocolpolicy"></a>
The origin protocol policy for the CloudFront VPC origin endpoint configuration.  
*Required*: No  
*Type*: String  
*Allowed values*: `http-only | match-viewer | https-only`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OriginSSLProtocols`  <a name="cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originsslprotocols"></a>
Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include `SSLv3`, `TLSv1`, `TLSv1.1`, and `TLSv1.2`.  
For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide*.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)