update_continuous_deployment_policy

update_continuous_deployment_policy(**kwargs)

Updates a continuous deployment policy. You can update a continuous deployment policy to enable or disable it, to change the percentage of traffic that it sends to the staging distribution, or to change the staging distribution that it sends traffic to.

When you update a continuous deployment policy configuration, all the fields are updated with the values that are provided in the request. You cannot update some fields independent of others. To update a continuous deployment policy configuration:

  • Use GetContinuousDeploymentPolicyConfig to get the current configuration.
  • Locally modify the fields in the continuous deployment policy configuration that you want to update.
  • Use UpdateContinuousDeploymentPolicy , providing the entire continuous deployment policy configuration, including the fields that you modified and those that you didn't.

See also: AWS API Documentation

Request Syntax

response = client.update_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'
        }
    },
    Id='string',
    IfMatch='string'
)
Parameters
  • ContinuousDeploymentPolicyConfig (dict) --

    [REQUIRED]

    The continuous deployment policy configuration.

    • 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 .15.

        • 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 less 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.

  • Id (string) --

    [REQUIRED]

    The identifier of the continuous deployment policy that you are updating.

  • IfMatch (string) -- The current version ( ETag value) of the continuous deployment policy that you are updating.
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'
            }
        }
    },
    '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 .15.

            • 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 less 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.

    • ETag (string) --

      The version identifier for the current version of the continuous deployment policy.

Exceptions

  • CloudFront.Client.exceptions.InvalidIfMatchVersion
  • CloudFront.Client.exceptions.InvalidArgument
  • CloudFront.Client.exceptions.AccessDenied
  • CloudFront.Client.exceptions.InconsistentQuantities
  • CloudFront.Client.exceptions.PreconditionFailed
  • CloudFront.Client.exceptions.StagingDistributionInUse
  • CloudFront.Client.exceptions.NoSuchContinuousDeploymentPolicy