CloudFront / Client / create_continuous_deployment_policy
create_continuous_deployment_policy#
- CloudFront.Client.create_continuous_deployment_policy(**kwargs)#
- Creates a continuous deployment policy that distributes traffic for a custom domain name to two different CloudFront distributions. - To use a continuous deployment policy, first use - CopyDistributionto create a staging distribution, then use- UpdateDistributionto modify the staging distribution’s configuration.- After you create and update a staging distribution, you can use a continuous deployment policy to incrementally move traffic to the staging distribution. This workflow enables you to test changes to a distribution’s configuration before moving all of your domain’s production traffic to the new configuration. - See also: AWS API Documentation - Request Syntax- response = client.create_continuous_deployment_policy( ContinuousDeploymentPolicyConfig={ 'StagingDistributionDnsNames': { 'Quantity': 123, 'Items': [ 'string', ] }, 'Enabled': True|False, 'TrafficConfig': { 'SingleWeightConfig': { 'Weight': ..., 'SessionStickinessConfig': { 'IdleTTL': 123, 'MaximumTTL': 123 } }, 'SingleHeaderConfig': { 'Header': 'string', 'Value': 'string' }, 'Type': 'SingleWeight'|'SingleHeader' } } ) - Parameters:
- ContinuousDeploymentPolicyConfig (dict) – - [REQUIRED] - Contains the configuration for a continuous deployment policy. - StagingDistributionDnsNames (dict) – [REQUIRED] - The CloudFront domain name of the staging distribution. For example: - d111111abcdef8.cloudfront.net.- Quantity (integer) – [REQUIRED] - The number of CloudFront domain names in your staging distribution. 
- Items (list) – - The CloudFront domain name of the staging distribution. - (string) – 
 
 
- Enabled (boolean) – [REQUIRED] - A Boolean that indicates whether this continuous deployment policy is enabled (in effect). When this value is - true, this policy is enabled and in effect. When this value is- false, this policy is not enabled and has no effect.
- TrafficConfig (dict) – - Contains the parameters for routing production traffic from your primary to staging distributions. - SingleWeightConfig (dict) – - Contains the percentage of traffic to send to the staging distribution. - Weight (float) – [REQUIRED] - The percentage of traffic to send to a staging distribution, expressed as a decimal number between 0 and 0.15. For example, a value of 0.10 means 10% of traffic is sent to the staging distribution. 
- SessionStickinessConfig (dict) – - Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user’s requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values. - IdleTTL (integer) – [REQUIRED] - The amount of time after which you want sessions to cease if no requests are received. Allowed values are 300–3600 seconds (5–60 minutes). - The value must be less than or equal to - MaximumTTL.
- MaximumTTL (integer) – [REQUIRED] - The maximum amount of time to consider requests from the viewer as being part of the same session. Allowed values are 300–3600 seconds (5–60 minutes). - The value must be greater than or equal to - IdleTTL.
 
 
- SingleHeaderConfig (dict) – - Determines which HTTP requests are sent to the staging distribution. - Header (string) – [REQUIRED] - The request header name that you want CloudFront to send to your staging distribution. The header must contain the prefix - aws-cf-cd-.
- Value (string) – [REQUIRED] - The request header value. 
 
- Type (string) – [REQUIRED] - The type of traffic configuration. 
 
 
- Return type:
- dict 
- Returns:
- Response Syntax- { 'ContinuousDeploymentPolicy': { 'Id': 'string', 'LastModifiedTime': datetime(2015, 1, 1), 'ContinuousDeploymentPolicyConfig': { 'StagingDistributionDnsNames': { 'Quantity': 123, 'Items': [ 'string', ] }, 'Enabled': True|False, 'TrafficConfig': { 'SingleWeightConfig': { 'Weight': ..., 'SessionStickinessConfig': { 'IdleTTL': 123, 'MaximumTTL': 123 } }, 'SingleHeaderConfig': { 'Header': 'string', 'Value': 'string' }, 'Type': 'SingleWeight'|'SingleHeader' } } }, 'Location': 'string', 'ETag': 'string' } - Response Structure- (dict) – - ContinuousDeploymentPolicy (dict) – - A continuous deployment policy. - Id (string) – - The identifier of the continuous deployment policy. 
- LastModifiedTime (datetime) – - The date and time the continuous deployment policy was last modified. 
- ContinuousDeploymentPolicyConfig (dict) – - Contains the configuration for a continuous deployment policy. - StagingDistributionDnsNames (dict) – - The CloudFront domain name of the staging distribution. For example: - d111111abcdef8.cloudfront.net.- Quantity (integer) – - The number of CloudFront domain names in your staging distribution. 
- Items (list) – - The CloudFront domain name of the staging distribution. - (string) – 
 
 
- Enabled (boolean) – - A Boolean that indicates whether this continuous deployment policy is enabled (in effect). When this value is - true, this policy is enabled and in effect. When this value is- false, this policy is not enabled and has no effect.
- TrafficConfig (dict) – - Contains the parameters for routing production traffic from your primary to staging distributions. - SingleWeightConfig (dict) – - Contains the percentage of traffic to send to the staging distribution. - Weight (float) – - The percentage of traffic to send to a staging distribution, expressed as a decimal number between 0 and 0.15. For example, a value of 0.10 means 10% of traffic is sent to the staging distribution. 
- SessionStickinessConfig (dict) – - Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user’s requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values. - IdleTTL (integer) – - The amount of time after which you want sessions to cease if no requests are received. Allowed values are 300–3600 seconds (5–60 minutes). - The value must be less than or equal to - MaximumTTL.
- MaximumTTL (integer) – - The maximum amount of time to consider requests from the viewer as being part of the same session. Allowed values are 300–3600 seconds (5–60 minutes). - The value must be greater than or equal to - IdleTTL.
 
 
- SingleHeaderConfig (dict) – - Determines which HTTP requests are sent to the staging distribution. - Header (string) – - The request header name that you want CloudFront to send to your staging distribution. The header must contain the prefix - aws-cf-cd-.
- Value (string) – - The request header value. 
 
- Type (string) – - The type of traffic configuration. 
 
 
 
- Location (string) – - The location of the continuous deployment policy. 
- ETag (string) – - The version identifier for the current version of the continuous deployment policy. 
 
 
 - Exceptions- CloudFront.Client.exceptions.AccessDenied
- CloudFront.Client.exceptions.TooManyContinuousDeploymentPolicies
- CloudFront.Client.exceptions.StagingDistributionInUse
- CloudFront.Client.exceptions.InconsistentQuantities
- CloudFront.Client.exceptions.ContinuousDeploymentPolicyAlreadyExists
- CloudFront.Client.exceptions.InvalidArgument