import { Value } from '../../../cloudformation/Value';
import { OriginGroupFailoverCriteriaProps } from './OriginGroupFailoverCriteriaProps';
import { OriginGroupMembersProps } from './OriginGroupMembersProps';
/**
  An origin group includes two origins (a primary origin and a second origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specifiy the origin group instead of a single origin, and CloudFront will failover from the primary origin to the second origin under the failover conditions that you’ve chosen.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html">the AWS Docs</a>
*/
export interface OriginGroupProps {
    /** <code>Id</code>  <a name="cfn-cloudfront-distribution-origingroup-id"></a>
  The origin group’s ID.<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> */
    id: Value<string>;
    /** <code>FailoverCriteria</code>  <a name="cfn-cloudfront-distribution-origingroup-failovercriteria"></a>
  A complex type that contains information about the failover criteria for an origin group.<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> */
    failoverCriteria: OriginGroupFailoverCriteriaProps;
    /** <code>Members</code>  <a name="cfn-cloudfront-distribution-origingroup-members"></a>
  A complex type that contains information about the origins in an origin group.<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> */
    members: OriginGroupMembersProps;
}
