import { Value } from '../../../cloudformation/Value';
/**
  Creates a new origin access control in CloudFront. After you create an origin access control, you can add it to an origin in a CloudFront distribution so that CloudFront sends authenticated (signed) requests to the origin.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originaccesscontrol-originaccesscontrolconfig.html">the AWS Docs</a>
*/
export interface OriginAccessControlConfigProps {
    /** <code>SigningBehavior</code>  <a name="cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-signingbehavior"></a>
  Specifies which requests CloudFront signs (adds authentication information to). Specify <code>always</code> for the most common use case. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#oac-advanced-settings">origin access control advanced settings</a> in the
  Amazon CloudFront Developer Guide: br />
  This field can have one of the following values: */
    signingBehavior: Value<string>;
    /** <code>Description</code>  <a name="cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-description"></a>
  A description of the origin access control.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description?: Value<string>;
    /** <code>OriginAccessControlOriginType</code>  <a name="cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-originaccesscontrolorigintype"></a>
  The type of origin that this origin access control is for.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>mediastore | s3</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    originAccessControlOriginType: Value<'mediastore' | 's3'>;
    /** <code>SigningProtocol</code>  <a name="cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-signingprotocol"></a>
  The signing protocol of the origin access control, which determines how CloudFront signs (authenticates) requests. The only valid value is <code>sigv4</code>.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>sigv4</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    signingProtocol: Value<'sigv4'>;
    /** <code>Name</code>  <a name="cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-name"></a>
  A name to identify the origin access control.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    name: Value<string>;
}
