class Aws::CloudFront::Types::UpdateDistributionRequest

The request to update a distribution.

@note When making an API call, you may pass UpdateDistributionRequest

data as a hash:

    {
      distribution_config: { # required
        caller_reference: "string", # required
        aliases: {
          quantity: 1, # required
          items: ["string"],
        },
        default_root_object: "string",
        origins: { # required
          quantity: 1, # required
          items: [ # required
            {
              id: "string", # required
              domain_name: "string", # required
              origin_path: "string",
              custom_headers: {
                quantity: 1, # required
                items: [
                  {
                    header_name: "string", # required
                    header_value: "string", # required
                  },
                ],
              },
              s3_origin_config: {
                origin_access_identity: "string", # required
              },
              custom_origin_config: {
                http_port: 1, # required
                https_port: 1, # required
                origin_protocol_policy: "http-only", # required, accepts http-only, match-viewer, https-only
                origin_ssl_protocols: {
                  quantity: 1, # required
                  items: ["SSLv3"], # required, accepts SSLv3, TLSv1, TLSv1.1, TLSv1.2
                },
                origin_read_timeout: 1,
                origin_keepalive_timeout: 1,
              },
              connection_attempts: 1,
              connection_timeout: 1,
              origin_shield: {
                enabled: false, # required
                origin_shield_region: "OriginShieldRegion",
              },
            },
          ],
        },
        origin_groups: {
          quantity: 1, # required
          items: [
            {
              id: "string", # required
              failover_criteria: { # required
                status_codes: { # required
                  quantity: 1, # required
                  items: [1], # required
                },
              },
              members: { # required
                quantity: 1, # required
                items: [ # required
                  {
                    origin_id: "string", # required
                  },
                ],
              },
            },
          ],
        },
        default_cache_behavior: { # required
          target_origin_id: "string", # required
          trusted_signers: {
            enabled: false, # required
            quantity: 1, # required
            items: ["string"],
          },
          trusted_key_groups: {
            enabled: false, # required
            quantity: 1, # required
            items: ["string"],
          },
          viewer_protocol_policy: "allow-all", # required, accepts allow-all, https-only, redirect-to-https
          allowed_methods: {
            quantity: 1, # required
            items: ["GET"], # required, accepts GET, HEAD, POST, PUT, PATCH, OPTIONS, DELETE
            cached_methods: {
              quantity: 1, # required
              items: ["GET"], # required, accepts GET, HEAD, POST, PUT, PATCH, OPTIONS, DELETE
            },
          },
          smooth_streaming: false,
          compress: false,
          lambda_function_associations: {
            quantity: 1, # required
            items: [
              {
                lambda_function_arn: "LambdaFunctionARN", # required
                event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
                include_body: false,
              },
            ],
          },
          function_associations: {
            quantity: 1, # required
            items: [
              {
                function_arn: "FunctionARN", # required
                event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
              },
            ],
          },
          field_level_encryption_id: "string",
          realtime_log_config_arn: "string",
          cache_policy_id: "string",
          origin_request_policy_id: "string",
          forwarded_values: {
            query_string: false, # required
            cookies: { # required
              forward: "none", # required, accepts none, whitelist, all
              whitelisted_names: {
                quantity: 1, # required
                items: ["string"],
              },
            },
            headers: {
              quantity: 1, # required
              items: ["string"],
            },
            query_string_cache_keys: {
              quantity: 1, # required
              items: ["string"],
            },
          },
          min_ttl: 1,
          default_ttl: 1,
          max_ttl: 1,
        },
        cache_behaviors: {
          quantity: 1, # required
          items: [
            {
              path_pattern: "string", # required
              target_origin_id: "string", # required
              trusted_signers: {
                enabled: false, # required
                quantity: 1, # required
                items: ["string"],
              },
              trusted_key_groups: {
                enabled: false, # required
                quantity: 1, # required
                items: ["string"],
              },
              viewer_protocol_policy: "allow-all", # required, accepts allow-all, https-only, redirect-to-https
              allowed_methods: {
                quantity: 1, # required
                items: ["GET"], # required, accepts GET, HEAD, POST, PUT, PATCH, OPTIONS, DELETE
                cached_methods: {
                  quantity: 1, # required
                  items: ["GET"], # required, accepts GET, HEAD, POST, PUT, PATCH, OPTIONS, DELETE
                },
              },
              smooth_streaming: false,
              compress: false,
              lambda_function_associations: {
                quantity: 1, # required
                items: [
                  {
                    lambda_function_arn: "LambdaFunctionARN", # required
                    event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
                    include_body: false,
                  },
                ],
              },
              function_associations: {
                quantity: 1, # required
                items: [
                  {
                    function_arn: "FunctionARN", # required
                    event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
                  },
                ],
              },
              field_level_encryption_id: "string",
              realtime_log_config_arn: "string",
              cache_policy_id: "string",
              origin_request_policy_id: "string",
              forwarded_values: {
                query_string: false, # required
                cookies: { # required
                  forward: "none", # required, accepts none, whitelist, all
                  whitelisted_names: {
                    quantity: 1, # required
                    items: ["string"],
                  },
                },
                headers: {
                  quantity: 1, # required
                  items: ["string"],
                },
                query_string_cache_keys: {
                  quantity: 1, # required
                  items: ["string"],
                },
              },
              min_ttl: 1,
              default_ttl: 1,
              max_ttl: 1,
            },
          ],
        },
        custom_error_responses: {
          quantity: 1, # required
          items: [
            {
              error_code: 1, # required
              response_page_path: "string",
              response_code: "string",
              error_caching_min_ttl: 1,
            },
          ],
        },
        comment: "CommentType", # required
        logging: {
          enabled: false, # required
          include_cookies: false, # required
          bucket: "string", # required
          prefix: "string", # required
        },
        price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
        enabled: false, # required
        viewer_certificate: {
          cloud_front_default_certificate: false,
          iam_certificate_id: "string",
          acm_certificate_arn: "string",
          ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
          minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019, TLSv1.2_2021
          certificate: "string",
          certificate_source: "cloudfront", # accepts cloudfront, iam, acm
        },
        restrictions: {
          geo_restriction: { # required
            restriction_type: "blacklist", # required, accepts blacklist, whitelist, none
            quantity: 1, # required
            items: ["string"],
          },
        },
        web_acl_id: "string",
        http_version: "http1.1", # accepts http1.1, http2
        is_ipv6_enabled: false,
      },
      id: "string", # required
      if_match: "string",
    }

@!attribute [rw] distribution_config

The distribution's configuration information.
@return [Types::DistributionConfig]

@!attribute [rw] id

The distribution's id.
@return [String]

@!attribute [rw] if_match

The value of the `ETag` header that you received when retrieving the
distribution's configuration. For example: `E2QWRUHAPOMQZL`.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistributionRequest AWS API Documentation

Constants

SENSITIVE