You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::CloudFront::Client

Inherits:
Seahorse::Client::Base show all
Includes:
Aws::ClientStubs
Defined in:
gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from Aws::ClientStubs

#stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(*args) ⇒ Client

Returns a new instance of Client

Parameters:

  • options (Hash)

    a customizable set of options



142
143
144
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 142

def initialize(*args)
  super
end

Instance Method Details

#create_cloud_front_origin_access_identity(params = {}) ⇒ Types::CreateCloudFrontOriginAccessIdentityResult

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

Examples:

Request syntax with placeholder values


resp = client.create_cloud_front_origin_access_identity({
  cloud_front_origin_access_identity_config: { # required
    caller_reference: "string", # required
    comment: "string", # required
  },
})

Response structure


resp.cloud_front_origin_access_identity.id #=> String
resp.cloud_front_origin_access_identity.s3_canonical_user_id #=> String
resp.cloud_front_origin_access_identity.cloud_front_origin_access_identity_config.caller_reference #=> String
resp.cloud_front_origin_access_identity.cloud_front_origin_access_identity_config.comment #=> String
resp.location #=> String
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



190
191
192
193
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 190

def create_cloud_front_origin_access_identity(params = {}, options = {})
  req = build_request(:create_cloud_front_origin_access_identity, params)
  req.send_request(options)
end

#create_distribution(params = {}) ⇒ Types::CreateDistributionResult

Creates a new web distribution. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.

Examples:

Request syntax with placeholder values


resp = client.create_distribution({
  distribution_config: { # required
    caller_reference: "string", # required
    aliases: {
      quantity: 1, # required
      items: ["string"],
    },
    default_root_object: "string",
    origins: { # required
      quantity: 1, # required
      items: [
        {
          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,
          },
        },
      ],
    },
    default_cache_behavior: { # required
      target_origin_id: "string", # required
      forwarded_values: { # required
        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"],
        },
      },
      trusted_signers: { # required
        enabled: false, # required
        quantity: 1, # required
        items: ["string"],
      },
      viewer_protocol_policy: "allow-all", # required, accepts allow-all, https-only, redirect-to-https
      min_ttl: 1, # required
      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,
      default_ttl: 1,
      max_ttl: 1,
      compress: false,
      lambda_function_associations: {
        quantity: 1, # required
        items: [
          {
            lambda_function_arn: "string",
            event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
          },
        ],
      },
    },
    cache_behaviors: {
      quantity: 1, # required
      items: [
        {
          path_pattern: "string", # required
          target_origin_id: "string", # required
          forwarded_values: { # required
            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"],
            },
          },
          trusted_signers: { # required
            enabled: false, # required
            quantity: 1, # required
            items: ["string"],
          },
          viewer_protocol_policy: "allow-all", # required, accepts allow-all, https-only, redirect-to-https
          min_ttl: 1, # required
          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,
          default_ttl: 1,
          max_ttl: 1,
          compress: false,
          lambda_function_associations: {
            quantity: 1, # required
            items: [
              {
                lambda_function_arn: "string",
                event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
              },
            ],
          },
        },
      ],
    },
    custom_error_responses: {
      quantity: 1, # required
      items: [
        {
          error_code: 1, # required
          response_page_path: "string",
          response_code: "string",
          error_caching_min_ttl: 1,
        },
      ],
    },
    comment: "string", # 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
      minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1
      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,
  },
})

Response structure


resp.distribution.id #=> String
resp.distribution.arn #=> String
resp.distribution.status #=> String
resp.distribution.last_modified_time #=> Time
resp.distribution.in_progress_invalidation_batches #=> Integer
resp.distribution.domain_name #=> String
resp.distribution.active_trusted_signers.enabled #=> Boolean
resp.distribution.active_trusted_signers.quantity #=> Integer
resp.distribution.active_trusted_signers.items #=> Array
resp.distribution.active_trusted_signers.items[0]. #=> String
resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
resp.distribution.distribution_config.caller_reference #=> String
resp.distribution.distribution_config.aliases.quantity #=> Integer
resp.distribution.distribution_config.aliases.items #=> Array
resp.distribution.distribution_config.aliases.items[0] #=> String
resp.distribution.distribution_config.default_root_object #=> String
resp.distribution.distribution_config.origins.quantity #=> Integer
resp.distribution.distribution_config.origins.items #=> Array
resp.distribution.distribution_config.origins.items[0].id #=> String
resp.distribution.distribution_config.origins.items[0].domain_name #=> String
resp.distribution.distribution_config.origins.items[0].origin_path #=> String
resp.distribution.distribution_config.origins.items[0].custom_headers.quantity #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_headers.items #=> Array
resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_name #=> String
resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_value #=> String
resp.distribution.distribution_config.origins.items[0].s3_origin_config.origin_access_identity #=> String
resp.distribution.distribution_config.origins.items[0].custom_origin_config.http_port #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.https_port #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution.distribution_config.default_cache_behavior.min_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.default_cache_behavior.smooth_streaming #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.compress #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.cache_behaviors.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].path_pattern #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].target_origin_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution.distribution_config.cache_behaviors.items[0].min_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.cache_behaviors.items[0].smooth_streaming #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].compress #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.custom_error_responses.quantity #=> Integer
resp.distribution.distribution_config.custom_error_responses.items #=> Array
resp.distribution.distribution_config.custom_error_responses.items[0].error_code #=> Integer
resp.distribution.distribution_config.custom_error_responses.items[0].response_page_path #=> String
resp.distribution.distribution_config.custom_error_responses.items[0].response_code #=> String
resp.distribution.distribution_config.custom_error_responses.items[0].error_caching_min_ttl #=> Integer
resp.distribution.distribution_config.comment #=> String
resp.distribution.distribution_config.logging.enabled #=> Boolean
resp.distribution.distribution_config.logging.include_cookies #=> Boolean
resp.distribution.distribution_config.logging.bucket #=> String
resp.distribution.distribution_config.logging.prefix #=> String
resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.distribution.distribution_config.enabled #=> Boolean
resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
resp.distribution.distribution_config.viewer_certificate.acm_certificate_arn #=> String
resp.distribution.distribution_config.viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip"
resp.distribution.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1"
resp.distribution.distribution_config.viewer_certificate.certificate #=> String
resp.distribution.distribution_config.viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
resp.distribution.distribution_config.restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
resp.distribution.distribution_config.restrictions.geo_restriction.quantity #=> Integer
resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
resp.distribution.distribution_config.web_acl_id #=> String
resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2"
resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
resp.location #=> String
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



535
536
537
538
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 535

def create_distribution(params = {}, options = {})
  req = build_request(:create_distribution, params)
  req.send_request(options)
end

#create_distribution_with_tags(params = {}) ⇒ Types::CreateDistributionWithTagsResult

Create a new distribution with tags.

Examples:

Request syntax with placeholder values


resp = client.create_distribution_with_tags({
  distribution_config_with_tags: { # required
    distribution_config: { # required
      caller_reference: "string", # required
      aliases: {
        quantity: 1, # required
        items: ["string"],
      },
      default_root_object: "string",
      origins: { # required
        quantity: 1, # required
        items: [
          {
            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,
            },
          },
        ],
      },
      default_cache_behavior: { # required
        target_origin_id: "string", # required
        forwarded_values: { # required
          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"],
          },
        },
        trusted_signers: { # required
          enabled: false, # required
          quantity: 1, # required
          items: ["string"],
        },
        viewer_protocol_policy: "allow-all", # required, accepts allow-all, https-only, redirect-to-https
        min_ttl: 1, # required
        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,
        default_ttl: 1,
        max_ttl: 1,
        compress: false,
        lambda_function_associations: {
          quantity: 1, # required
          items: [
            {
              lambda_function_arn: "string",
              event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
            },
          ],
        },
      },
      cache_behaviors: {
        quantity: 1, # required
        items: [
          {
            path_pattern: "string", # required
            target_origin_id: "string", # required
            forwarded_values: { # required
              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"],
              },
            },
            trusted_signers: { # required
              enabled: false, # required
              quantity: 1, # required
              items: ["string"],
            },
            viewer_protocol_policy: "allow-all", # required, accepts allow-all, https-only, redirect-to-https
            min_ttl: 1, # required
            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,
            default_ttl: 1,
            max_ttl: 1,
            compress: false,
            lambda_function_associations: {
              quantity: 1, # required
              items: [
                {
                  lambda_function_arn: "string",
                  event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
                },
              ],
            },
          },
        ],
      },
      custom_error_responses: {
        quantity: 1, # required
        items: [
          {
            error_code: 1, # required
            response_page_path: "string",
            response_code: "string",
            error_caching_min_ttl: 1,
          },
        ],
      },
      comment: "string", # 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
        minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1
        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,
    },
    tags: { # required
      items: [
        {
          key: "TagKey", # required
          value: "TagValue",
        },
      ],
    },
  },
})

Response structure


resp.distribution.id #=> String
resp.distribution.arn #=> String
resp.distribution.status #=> String
resp.distribution.last_modified_time #=> Time
resp.distribution.in_progress_invalidation_batches #=> Integer
resp.distribution.domain_name #=> String
resp.distribution.active_trusted_signers.enabled #=> Boolean
resp.distribution.active_trusted_signers.quantity #=> Integer
resp.distribution.active_trusted_signers.items #=> Array
resp.distribution.active_trusted_signers.items[0]. #=> String
resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
resp.distribution.distribution_config.caller_reference #=> String
resp.distribution.distribution_config.aliases.quantity #=> Integer
resp.distribution.distribution_config.aliases.items #=> Array
resp.distribution.distribution_config.aliases.items[0] #=> String
resp.distribution.distribution_config.default_root_object #=> String
resp.distribution.distribution_config.origins.quantity #=> Integer
resp.distribution.distribution_config.origins.items #=> Array
resp.distribution.distribution_config.origins.items[0].id #=> String
resp.distribution.distribution_config.origins.items[0].domain_name #=> String
resp.distribution.distribution_config.origins.items[0].origin_path #=> String
resp.distribution.distribution_config.origins.items[0].custom_headers.quantity #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_headers.items #=> Array
resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_name #=> String
resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_value #=> String
resp.distribution.distribution_config.origins.items[0].s3_origin_config.origin_access_identity #=> String
resp.distribution.distribution_config.origins.items[0].custom_origin_config.http_port #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.https_port #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution.distribution_config.default_cache_behavior.min_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.default_cache_behavior.smooth_streaming #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.compress #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.cache_behaviors.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].path_pattern #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].target_origin_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution.distribution_config.cache_behaviors.items[0].min_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.cache_behaviors.items[0].smooth_streaming #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].compress #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.custom_error_responses.quantity #=> Integer
resp.distribution.distribution_config.custom_error_responses.items #=> Array
resp.distribution.distribution_config.custom_error_responses.items[0].error_code #=> Integer
resp.distribution.distribution_config.custom_error_responses.items[0].response_page_path #=> String
resp.distribution.distribution_config.custom_error_responses.items[0].response_code #=> String
resp.distribution.distribution_config.custom_error_responses.items[0].error_caching_min_ttl #=> Integer
resp.distribution.distribution_config.comment #=> String
resp.distribution.distribution_config.logging.enabled #=> Boolean
resp.distribution.distribution_config.logging.include_cookies #=> Boolean
resp.distribution.distribution_config.logging.bucket #=> String
resp.distribution.distribution_config.logging.prefix #=> String
resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.distribution.distribution_config.enabled #=> Boolean
resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
resp.distribution.distribution_config.viewer_certificate.acm_certificate_arn #=> String
resp.distribution.distribution_config.viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip"
resp.distribution.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1"
resp.distribution.distribution_config.viewer_certificate.certificate #=> String
resp.distribution.distribution_config.viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
resp.distribution.distribution_config.restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
resp.distribution.distribution_config.restrictions.geo_restriction.quantity #=> Integer
resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
resp.distribution.distribution_config.web_acl_id #=> String
resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2"
resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
resp.location #=> String
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



889
890
891
892
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 889

def create_distribution_with_tags(params = {}, options = {})
  req = build_request(:create_distribution_with_tags, params)
  req.send_request(options)
end

#create_invalidation(params = {}) ⇒ Types::CreateInvalidationResult

Create a new invalidation.

Examples:

Request syntax with placeholder values


resp = client.create_invalidation({
  distribution_id: "string", # required
  invalidation_batch: { # required
    paths: { # required
      quantity: 1, # required
      items: ["string"],
    },
    caller_reference: "string", # required
  },
})

Response structure


resp.location #=> String
resp.invalidation.id #=> String
resp.invalidation.status #=> String
resp.invalidation.create_time #=> Time
resp.invalidation.invalidation_batch.paths.quantity #=> Integer
resp.invalidation.invalidation_batch.paths.items #=> Array
resp.invalidation.invalidation_batch.paths.items[0] #=> String
resp.invalidation.invalidation_batch.caller_reference #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :distribution_id (required, String)

    The distribution's id.

  • :invalidation_batch (required, Types::InvalidationBatch)

    The batch information for the invalidation.

Returns:

See Also:



935
936
937
938
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 935

def create_invalidation(params = {}, options = {})
  req = build_request(:create_invalidation, params)
  req.send_request(options)
end

#create_streaming_distribution(params = {}) ⇒ Types::CreateStreamingDistributionResult

Creates a new RMTP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.

To create a new web distribution, submit a POST request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of Enabled is true and the value of Status is Deployed, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values specified.

Examples:

Request syntax with placeholder values


resp = client.create_streaming_distribution({
  streaming_distribution_config: { # required
    caller_reference: "string", # required
    s3_origin: { # required
      domain_name: "string", # required
      origin_access_identity: "string", # required
    },
    aliases: {
      quantity: 1, # required
      items: ["string"],
    },
    comment: "string", # required
    logging: {
      enabled: false, # required
      bucket: "string", # required
      prefix: "string", # required
    },
    trusted_signers: { # required
      enabled: false, # required
      quantity: 1, # required
      items: ["string"],
    },
    price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
    enabled: false, # required
  },
})

Response structure


resp.streaming_distribution.id #=> String
resp.streaming_distribution.arn #=> String
resp.streaming_distribution.status #=> String
resp.streaming_distribution.last_modified_time #=> Time
resp.streaming_distribution.domain_name #=> String
resp.streaming_distribution.active_trusted_signers.enabled #=> Boolean
resp.streaming_distribution.active_trusted_signers.quantity #=> Integer
resp.streaming_distribution.active_trusted_signers.items #=> Array
resp.streaming_distribution.active_trusted_signers.items[0]. #=> String
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.caller_reference #=> String
resp.streaming_distribution.streaming_distribution_config.s3_origin.domain_name #=> String
resp.streaming_distribution.streaming_distribution_config.s3_origin.origin_access_identity #=> String
resp.streaming_distribution.streaming_distribution_config.aliases.quantity #=> Integer
resp.streaming_distribution.streaming_distribution_config.aliases.items #=> Array
resp.streaming_distribution.streaming_distribution_config.aliases.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.comment #=> String
resp.streaming_distribution.streaming_distribution_config.logging.enabled #=> Boolean
resp.streaming_distribution.streaming_distribution_config.logging.bucket #=> String
resp.streaming_distribution.streaming_distribution_config.logging.prefix #=> String
resp.streaming_distribution.streaming_distribution_config.trusted_signers.enabled #=> Boolean
resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
resp.location #=> String
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



1050
1051
1052
1053
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1050

def create_streaming_distribution(params = {}, options = {})
  req = build_request(:create_streaming_distribution, params)
  req.send_request(options)
end

#create_streaming_distribution_with_tags(params = {}) ⇒ Types::CreateStreamingDistributionWithTagsResult

Create a new streaming distribution with tags.

Examples:

Request syntax with placeholder values


resp = client.create_streaming_distribution_with_tags({
  streaming_distribution_config_with_tags: { # required
    streaming_distribution_config: { # required
      caller_reference: "string", # required
      s3_origin: { # required
        domain_name: "string", # required
        origin_access_identity: "string", # required
      },
      aliases: {
        quantity: 1, # required
        items: ["string"],
      },
      comment: "string", # required
      logging: {
        enabled: false, # required
        bucket: "string", # required
        prefix: "string", # required
      },
      trusted_signers: { # required
        enabled: false, # required
        quantity: 1, # required
        items: ["string"],
      },
      price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
      enabled: false, # required
    },
    tags: { # required
      items: [
        {
          key: "TagKey", # required
          value: "TagValue",
        },
      ],
    },
  },
})

Response structure


resp.streaming_distribution.id #=> String
resp.streaming_distribution.arn #=> String
resp.streaming_distribution.status #=> String
resp.streaming_distribution.last_modified_time #=> Time
resp.streaming_distribution.domain_name #=> String
resp.streaming_distribution.active_trusted_signers.enabled #=> Boolean
resp.streaming_distribution.active_trusted_signers.quantity #=> Integer
resp.streaming_distribution.active_trusted_signers.items #=> Array
resp.streaming_distribution.active_trusted_signers.items[0]. #=> String
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.caller_reference #=> String
resp.streaming_distribution.streaming_distribution_config.s3_origin.domain_name #=> String
resp.streaming_distribution.streaming_distribution_config.s3_origin.origin_access_identity #=> String
resp.streaming_distribution.streaming_distribution_config.aliases.quantity #=> Integer
resp.streaming_distribution.streaming_distribution_config.aliases.items #=> Array
resp.streaming_distribution.streaming_distribution_config.aliases.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.comment #=> String
resp.streaming_distribution.streaming_distribution_config.logging.enabled #=> Boolean
resp.streaming_distribution.streaming_distribution_config.logging.bucket #=> String
resp.streaming_distribution.streaming_distribution_config.logging.prefix #=> String
resp.streaming_distribution.streaming_distribution_config.trusted_signers.enabled #=> Boolean
resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
resp.location #=> String
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



1142
1143
1144
1145
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1142

def create_streaming_distribution_with_tags(params = {}, options = {})
  req = build_request(:create_streaming_distribution_with_tags, params)
  req.send_request(options)
end

#delete_cloud_front_origin_access_identity(params = {}) ⇒ Struct

Delete an origin access identity.

Examples:

Request syntax with placeholder values


resp = client.delete_cloud_front_origin_access_identity({
  id: "string", # required
  if_match: "string",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The origin access identity's ID.

  • :if_match (String)

    The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1169
1170
1171
1172
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1169

def delete_cloud_front_origin_access_identity(params = {}, options = {})
  req = build_request(:delete_cloud_front_origin_access_identity, params)
  req.send_request(options)
end

#delete_distribution(params = {}) ⇒ Struct

Delete a distribution.

Examples:

Request syntax with placeholder values


resp = client.delete_distribution({
  id: "string", # required
  if_match: "string",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The distribution ID.

  • :if_match (String)

    The value of the ETag header that you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1196
1197
1198
1199
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1196

def delete_distribution(params = {}, options = {})
  req = build_request(:delete_distribution, params)
  req.send_request(options)
end

#delete_streaming_distribution(params = {}) ⇒ Struct

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_streaming_distribution({
  id: "string", # required
  if_match: "string",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The distribution ID.

  • :if_match (String)

    The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1266
1267
1268
1269
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1266

def delete_streaming_distribution(params = {}, options = {})
  req = build_request(:delete_streaming_distribution, params)
  req.send_request(options)
end

#get_cloud_front_origin_access_identity(params = {}) ⇒ Types::GetCloudFrontOriginAccessIdentityResult

Get the information about an origin access identity.

Examples:

Request syntax with placeholder values


resp = client.get_cloud_front_origin_access_identity({
  id: "string", # required
})

Response structure


resp.cloud_front_origin_access_identity.id #=> String
resp.cloud_front_origin_access_identity.s3_canonical_user_id #=> String
resp.cloud_front_origin_access_identity.cloud_front_origin_access_identity_config.caller_reference #=> String
resp.cloud_front_origin_access_identity.cloud_front_origin_access_identity_config.comment #=> String
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identity's ID.

Returns:

See Also:



1299
1300
1301
1302
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1299

def get_cloud_front_origin_access_identity(params = {}, options = {})
  req = build_request(:get_cloud_front_origin_access_identity, params)
  req.send_request(options)
end

#get_cloud_front_origin_access_identity_config(params = {}) ⇒ Types::GetCloudFrontOriginAccessIdentityConfigResult

Get the configuration information about an origin access identity.

Examples:

Request syntax with placeholder values


resp = client.get_cloud_front_origin_access_identity_config({
  id: "string", # required
})

Response structure


resp.cloud_front_origin_access_identity_config.caller_reference #=> String
resp.cloud_front_origin_access_identity_config.comment #=> String
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The identity's ID.

Returns:

See Also:



1330
1331
1332
1333
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1330

def get_cloud_front_origin_access_identity_config(params = {}, options = {})
  req = build_request(:get_cloud_front_origin_access_identity_config, params)
  req.send_request(options)
end

#get_distribution(params = {}) ⇒ Types::GetDistributionResult

Get the information about a distribution.

Examples:

Request syntax with placeholder values


resp = client.get_distribution({
  id: "string", # required
})

Response structure


resp.distribution.id #=> String
resp.distribution.arn #=> String
resp.distribution.status #=> String
resp.distribution.last_modified_time #=> Time
resp.distribution.in_progress_invalidation_batches #=> Integer
resp.distribution.domain_name #=> String
resp.distribution.active_trusted_signers.enabled #=> Boolean
resp.distribution.active_trusted_signers.quantity #=> Integer
resp.distribution.active_trusted_signers.items #=> Array
resp.distribution.active_trusted_signers.items[0]. #=> String
resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
resp.distribution.distribution_config.caller_reference #=> String
resp.distribution.distribution_config.aliases.quantity #=> Integer
resp.distribution.distribution_config.aliases.items #=> Array
resp.distribution.distribution_config.aliases.items[0] #=> String
resp.distribution.distribution_config.default_root_object #=> String
resp.distribution.distribution_config.origins.quantity #=> Integer
resp.distribution.distribution_config.origins.items #=> Array
resp.distribution.distribution_config.origins.items[0].id #=> String
resp.distribution.distribution_config.origins.items[0].domain_name #=> String
resp.distribution.distribution_config.origins.items[0].origin_path #=> String
resp.distribution.distribution_config.origins.items[0].custom_headers.quantity #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_headers.items #=> Array
resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_name #=> String
resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_value #=> String
resp.distribution.distribution_config.origins.items[0].s3_origin_config.origin_access_identity #=> String
resp.distribution.distribution_config.origins.items[0].custom_origin_config.http_port #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.https_port #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution.distribution_config.default_cache_behavior.min_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.default_cache_behavior.smooth_streaming #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.compress #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.cache_behaviors.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].path_pattern #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].target_origin_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution.distribution_config.cache_behaviors.items[0].min_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.cache_behaviors.items[0].smooth_streaming #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].compress #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.custom_error_responses.quantity #=> Integer
resp.distribution.distribution_config.custom_error_responses.items #=> Array
resp.distribution.distribution_config.custom_error_responses.items[0].error_code #=> Integer
resp.distribution.distribution_config.custom_error_responses.items[0].response_page_path #=> String
resp.distribution.distribution_config.custom_error_responses.items[0].response_code #=> String
resp.distribution.distribution_config.custom_error_responses.items[0].error_caching_min_ttl #=> Integer
resp.distribution.distribution_config.comment #=> String
resp.distribution.distribution_config.logging.enabled #=> Boolean
resp.distribution.distribution_config.logging.include_cookies #=> Boolean
resp.distribution.distribution_config.logging.bucket #=> String
resp.distribution.distribution_config.logging.prefix #=> String
resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.distribution.distribution_config.enabled #=> Boolean
resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
resp.distribution.distribution_config.viewer_certificate.acm_certificate_arn #=> String
resp.distribution.distribution_config.viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip"
resp.distribution.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1"
resp.distribution.distribution_config.viewer_certificate.certificate #=> String
resp.distribution.distribution_config.viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
resp.distribution.distribution_config.restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
resp.distribution.distribution_config.restrictions.geo_restriction.quantity #=> Integer
resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
resp.distribution.distribution_config.web_acl_id #=> String
resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2"
resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The distribution's ID.

Returns:

See Also:



1489
1490
1491
1492
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1489

def get_distribution(params = {}, options = {})
  req = build_request(:get_distribution, params)
  req.send_request(options)
end

#get_distribution_config(params = {}) ⇒ Types::GetDistributionConfigResult

Get the configuration information about a distribution.

Examples:

Request syntax with placeholder values


resp = client.get_distribution_config({
  id: "string", # required
})

Response structure


resp.distribution_config.caller_reference #=> String
resp.distribution_config.aliases.quantity #=> Integer
resp.distribution_config.aliases.items #=> Array
resp.distribution_config.aliases.items[0] #=> String
resp.distribution_config.default_root_object #=> String
resp.distribution_config.origins.quantity #=> Integer
resp.distribution_config.origins.items #=> Array
resp.distribution_config.origins.items[0].id #=> String
resp.distribution_config.origins.items[0].domain_name #=> String
resp.distribution_config.origins.items[0].origin_path #=> String
resp.distribution_config.origins.items[0].custom_headers.quantity #=> Integer
resp.distribution_config.origins.items[0].custom_headers.items #=> Array
resp.distribution_config.origins.items[0].custom_headers.items[0].header_name #=> String
resp.distribution_config.origins.items[0].custom_headers.items[0].header_value #=> String
resp.distribution_config.origins.items[0].s3_origin_config.origin_access_identity #=> String
resp.distribution_config.origins.items[0].custom_origin_config.http_port #=> Integer
resp.distribution_config.origins.items[0].custom_origin_config.https_port #=> Integer
resp.distribution_config.origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
resp.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
resp.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
resp.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
resp.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
resp.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
resp.distribution_config.default_cache_behavior.target_origin_id #=> String
resp.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
resp.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution_config.default_cache_behavior.forwarded_values.headers.quantity #=> Integer
resp.distribution_config.default_cache_behavior.forwarded_values.headers.items #=> Array
resp.distribution_config.default_cache_behavior.forwarded_values.headers.items[0] #=> String
resp.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
resp.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
resp.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
resp.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
resp.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution_config.default_cache_behavior.min_ttl #=> Integer
resp.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
resp.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
resp.distribution_config.default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_config.default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
resp.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items #=> Array
resp.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_config.default_cache_behavior.smooth_streaming #=> Boolean
resp.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution_config.default_cache_behavior.max_ttl #=> Integer
resp.distribution_config.default_cache_behavior.compress #=> Boolean
resp.distribution_config.default_cache_behavior.lambda_function_associations.quantity #=> Integer
resp.distribution_config.default_cache_behavior.lambda_function_associations.items #=> Array
resp.distribution_config.default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution_config.default_cache_behavior.lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_config.cache_behaviors.quantity #=> Integer
resp.distribution_config.cache_behaviors.items #=> Array
resp.distribution_config.cache_behaviors.items[0].path_pattern #=> String
resp.distribution_config.cache_behaviors.items[0].target_origin_id #=> String
resp.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
resp.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution_config.cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
resp.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items #=> Array
resp.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
resp.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution_config.cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
resp.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
resp.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
resp.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
resp.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution_config.cache_behaviors.items[0].min_ttl #=> Integer
resp.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
resp.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
resp.distribution_config.cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
resp.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
resp.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_config.cache_behaviors.items[0].smooth_streaming #=> Boolean
resp.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
resp.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
resp.distribution_config.cache_behaviors.items[0].compress #=> Boolean
resp.distribution_config.cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
resp.distribution_config.cache_behaviors.items[0].lambda_function_associations.items #=> Array
resp.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_config.custom_error_responses.quantity #=> Integer
resp.distribution_config.custom_error_responses.items #=> Array
resp.distribution_config.custom_error_responses.items[0].error_code #=> Integer
resp.distribution_config.custom_error_responses.items[0].response_page_path #=> String
resp.distribution_config.custom_error_responses.items[0].response_code #=> String
resp.distribution_config.custom_error_responses.items[0].error_caching_min_ttl #=> Integer
resp.distribution_config.comment #=> String
resp.distribution_config.logging.enabled #=> Boolean
resp.distribution_config.logging.include_cookies #=> Boolean
resp.distribution_config.logging.bucket #=> String
resp.distribution_config.logging.prefix #=> String
resp.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.distribution_config.enabled #=> Boolean
resp.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
resp.distribution_config.viewer_certificate.iam_certificate_id #=> String
resp.distribution_config.viewer_certificate.acm_certificate_arn #=> String
resp.distribution_config.viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip"
resp.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1"
resp.distribution_config.viewer_certificate.certificate #=> String
resp.distribution_config.viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
resp.distribution_config.restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
resp.distribution_config.restrictions.geo_restriction.quantity #=> Integer
resp.distribution_config.restrictions.geo_restriction.items #=> Array
resp.distribution_config.restrictions.geo_restriction.items[0] #=> String
resp.distribution_config.web_acl_id #=> String
resp.distribution_config.http_version #=> String, one of "http1.1", "http2"
resp.distribution_config.is_ipv6_enabled #=> Boolean
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The distribution's ID.

Returns:

See Also:



1635
1636
1637
1638
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1635

def get_distribution_config(params = {}, options = {})
  req = build_request(:get_distribution_config, params)
  req.send_request(options)
end

#get_invalidation(params = {}) ⇒ Types::GetInvalidationResult

Get the information about an invalidation.

Examples:

Request syntax with placeholder values


resp = client.get_invalidation({
  distribution_id: "string", # required
  id: "string", # required
})

Response structure


resp.invalidation.id #=> String
resp.invalidation.status #=> String
resp.invalidation.create_time #=> Time
resp.invalidation.invalidation_batch.paths.quantity #=> Integer
resp.invalidation.invalidation_batch.paths.items #=> Array
resp.invalidation.invalidation_batch.paths.items[0] #=> String
resp.invalidation.invalidation_batch.caller_reference #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :distribution_id (required, String)

    The distribution's ID.

  • :id (required, String)

    The identifier for the invalidation request, for example, IDFDVBD632BHDS5.

Returns:

See Also:



1674
1675
1676
1677
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1674

def get_invalidation(params = {}, options = {})
  req = build_request(:get_invalidation, params)
  req.send_request(options)
end

#get_streaming_distribution(params = {}) ⇒ Types::GetStreamingDistributionResult

Gets information about a specified RTMP distribution, including the distribution configuration.

Examples:

Request syntax with placeholder values


resp = client.get_streaming_distribution({
  id: "string", # required
})

Response structure


resp.streaming_distribution.id #=> String
resp.streaming_distribution.arn #=> String
resp.streaming_distribution.status #=> String
resp.streaming_distribution.last_modified_time #=> Time
resp.streaming_distribution.domain_name #=> String
resp.streaming_distribution.active_trusted_signers.enabled #=> Boolean
resp.streaming_distribution.active_trusted_signers.quantity #=> Integer
resp.streaming_distribution.active_trusted_signers.items #=> Array
resp.streaming_distribution.active_trusted_signers.items[0]. #=> String
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.caller_reference #=> String
resp.streaming_distribution.streaming_distribution_config.s3_origin.domain_name #=> String
resp.streaming_distribution.streaming_distribution_config.s3_origin.origin_access_identity #=> String
resp.streaming_distribution.streaming_distribution_config.aliases.quantity #=> Integer
resp.streaming_distribution.streaming_distribution_config.aliases.items #=> Array
resp.streaming_distribution.streaming_distribution_config.aliases.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.comment #=> String
resp.streaming_distribution.streaming_distribution_config.logging.enabled #=> Boolean
resp.streaming_distribution.streaming_distribution_config.logging.bucket #=> String
resp.streaming_distribution.streaming_distribution_config.logging.prefix #=> String
resp.streaming_distribution.streaming_distribution_config.trusted_signers.enabled #=> Boolean
resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The streaming distribution's ID.

Returns:

See Also:



1732
1733
1734
1735
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1732

def get_streaming_distribution(params = {}, options = {})
  req = build_request(:get_streaming_distribution, params)
  req.send_request(options)
end

#get_streaming_distribution_config(params = {}) ⇒ Types::GetStreamingDistributionConfigResult

Get the configuration information about a streaming distribution.

Examples:

Request syntax with placeholder values


resp = client.get_streaming_distribution_config({
  id: "string", # required
})

Response structure


resp.streaming_distribution_config.caller_reference #=> String
resp.streaming_distribution_config.s3_origin.domain_name #=> String
resp.streaming_distribution_config.s3_origin.origin_access_identity #=> String
resp.streaming_distribution_config.aliases.quantity #=> Integer
resp.streaming_distribution_config.aliases.items #=> Array
resp.streaming_distribution_config.aliases.items[0] #=> String
resp.streaming_distribution_config.comment #=> String
resp.streaming_distribution_config.logging.enabled #=> Boolean
resp.streaming_distribution_config.logging.bucket #=> String
resp.streaming_distribution_config.logging.prefix #=> String
resp.streaming_distribution_config.trusted_signers.enabled #=> Boolean
resp.streaming_distribution_config.trusted_signers.quantity #=> Integer
resp.streaming_distribution_config.trusted_signers.items #=> Array
resp.streaming_distribution_config.trusted_signers.items[0] #=> String
resp.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.streaming_distribution_config.enabled #=> Boolean
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :id (required, String)

    The streaming distribution's ID.

Returns:

See Also:



1777
1778
1779
1780
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1777

def get_streaming_distribution_config(params = {}, options = {})
  req = build_request(:get_streaming_distribution_config, params)
  req.send_request(options)
end

#list_cloud_front_origin_access_identities(params = {}) ⇒ Types::ListCloudFrontOriginAccessIdentitiesResult

Lists origin access identities.

Examples:

Request syntax with placeholder values


resp = client.list_cloud_front_origin_access_identities({
  marker: "string",
  max_items: 1,
})

Response structure


resp.cloud_front_origin_access_identity_list.marker #=> String
resp.cloud_front_origin_access_identity_list.next_marker #=> String
resp.cloud_front_origin_access_identity_list.max_items #=> Integer
resp.cloud_front_origin_access_identity_list.is_truncated #=> Boolean
resp.cloud_front_origin_access_identity_list.quantity #=> Integer
resp.cloud_front_origin_access_identity_list.items #=> Array
resp.cloud_front_origin_access_identity_list.items[0].id #=> String
resp.cloud_front_origin_access_identity_list.items[0].s3_canonical_user_id #=> String
resp.cloud_front_origin_access_identity_list.items[0].comment #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :marker (String)

    Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

  • :max_items (Integer)

    The maximum number of origin access identities you want in the response body.

Returns:

See Also:



1823
1824
1825
1826
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1823

def list_cloud_front_origin_access_identities(params = {}, options = {})
  req = build_request(:list_cloud_front_origin_access_identities, params)
  req.send_request(options)
end

#list_distributions(params = {}) ⇒ Types::ListDistributionsResult

List distributions.

Examples:

Request syntax with placeholder values


resp = client.list_distributions({
  marker: "string",
  max_items: 1,
})

Response structure


resp.distribution_list.marker #=> String
resp.distribution_list.next_marker #=> String
resp.distribution_list.max_items #=> Integer
resp.distribution_list.is_truncated #=> Boolean
resp.distribution_list.quantity #=> Integer
resp.distribution_list.items #=> Array
resp.distribution_list.items[0].id #=> String
resp.distribution_list.items[0].arn #=> String
resp.distribution_list.items[0].status #=> String
resp.distribution_list.items[0].last_modified_time #=> Time
resp.distribution_list.items[0].domain_name #=> String
resp.distribution_list.items[0].aliases.quantity #=> Integer
resp.distribution_list.items[0].aliases.items #=> Array
resp.distribution_list.items[0].aliases.items[0] #=> String
resp.distribution_list.items[0].origins.quantity #=> Integer
resp.distribution_list.items[0].origins.items #=> Array
resp.distribution_list.items[0].origins.items[0].id #=> String
resp.distribution_list.items[0].origins.items[0].domain_name #=> String
resp.distribution_list.items[0].origins.items[0].origin_path #=> String
resp.distribution_list.items[0].origins.items[0].custom_headers.quantity #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_headers.items #=> Array
resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_name #=> String
resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_value #=> String
resp.distribution_list.items[0].origins.items[0].s3_origin_config.origin_access_identity #=> String
resp.distribution_list.items[0].origins.items[0].custom_origin_config.http_port #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_origin_config.https_port #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> String
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items[0] #=> String
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution_list.items[0].default_cache_behavior.trusted_signers.enabled #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items[0] #=> String
resp.distribution_list.items[0].default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution_list.items[0].default_cache_behavior.min_ttl #=> Integer
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_list.items[0].default_cache_behavior.smooth_streaming #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.default_ttl #=> Integer
resp.distribution_list.items[0].default_cache_behavior.max_ttl #=> Integer
resp.distribution_list.items[0].default_cache_behavior.compress #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].cache_behaviors.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].path_pattern #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].target_origin_id #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items[0] #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution_list.items[0].cache_behaviors.items[0].min_ttl #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_list.items[0].cache_behaviors.items[0].smooth_streaming #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].default_ttl #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].max_ttl #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].compress #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].custom_error_responses.quantity #=> Integer
resp.distribution_list.items[0].custom_error_responses.items #=> Array
resp.distribution_list.items[0].custom_error_responses.items[0].error_code #=> Integer
resp.distribution_list.items[0].custom_error_responses.items[0].response_page_path #=> String
resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
resp.distribution_list.items[0].comment #=> String
resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.distribution_list.items[0].enabled #=> Boolean
resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
resp.distribution_list.items[0].viewer_certificate.acm_certificate_arn #=> String
resp.distribution_list.items[0].viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip"
resp.distribution_list.items[0].viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1"
resp.distribution_list.items[0].viewer_certificate.certificate #=> String
resp.distribution_list.items[0].viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
resp.distribution_list.items[0].restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
resp.distribution_list.items[0].restrictions.geo_restriction.quantity #=> Integer
resp.distribution_list.items[0].restrictions.geo_restriction.items #=> Array
resp.distribution_list.items[0].restrictions.geo_restriction.items[0] #=> String
resp.distribution_list.items[0].web_acl_id #=> String
resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2"
resp.distribution_list.items[0].is_ipv6_enabled #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :marker (String)

    Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).

  • :max_items (Integer)

    The maximum number of distributions you want in the response body.

Returns:

See Also:



1980
1981
1982
1983
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 1980

def list_distributions(params = {}, options = {})
  req = build_request(:list_distributions, params)
  req.send_request(options)
end

#list_distributions_by_web_acl_id(params = {}) ⇒ Types::ListDistributionsByWebACLIdResult

List the distributions that are associated with a specified AWS WAF web ACL.

Examples:

Request syntax with placeholder values


resp = client.list_distributions_by_web_acl_id({
  marker: "string",
  max_items: 1,
  web_acl_id: "string", # required
})

Response structure


resp.distribution_list.marker #=> String
resp.distribution_list.next_marker #=> String
resp.distribution_list.max_items #=> Integer
resp.distribution_list.is_truncated #=> Boolean
resp.distribution_list.quantity #=> Integer
resp.distribution_list.items #=> Array
resp.distribution_list.items[0].id #=> String
resp.distribution_list.items[0].arn #=> String
resp.distribution_list.items[0].status #=> String
resp.distribution_list.items[0].last_modified_time #=> Time
resp.distribution_list.items[0].domain_name #=> String
resp.distribution_list.items[0].aliases.quantity #=> Integer
resp.distribution_list.items[0].aliases.items #=> Array
resp.distribution_list.items[0].aliases.items[0] #=> String
resp.distribution_list.items[0].origins.quantity #=> Integer
resp.distribution_list.items[0].origins.items #=> Array
resp.distribution_list.items[0].origins.items[0].id #=> String
resp.distribution_list.items[0].origins.items[0].domain_name #=> String
resp.distribution_list.items[0].origins.items[0].origin_path #=> String
resp.distribution_list.items[0].origins.items[0].custom_headers.quantity #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_headers.items #=> Array
resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_name #=> String
resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_value #=> String
resp.distribution_list.items[0].origins.items[0].s3_origin_config.origin_access_identity #=> String
resp.distribution_list.items[0].origins.items[0].custom_origin_config.http_port #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_origin_config.https_port #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> String
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items[0] #=> String
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution_list.items[0].default_cache_behavior.trusted_signers.enabled #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items[0] #=> String
resp.distribution_list.items[0].default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution_list.items[0].default_cache_behavior.min_ttl #=> Integer
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_list.items[0].default_cache_behavior.smooth_streaming #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.default_ttl #=> Integer
resp.distribution_list.items[0].default_cache_behavior.max_ttl #=> Integer
resp.distribution_list.items[0].default_cache_behavior.compress #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].cache_behaviors.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].path_pattern #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].target_origin_id #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items[0] #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution_list.items[0].cache_behaviors.items[0].min_ttl #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution_list.items[0].cache_behaviors.items[0].smooth_streaming #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].default_ttl #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].max_ttl #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].compress #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].custom_error_responses.quantity #=> Integer
resp.distribution_list.items[0].custom_error_responses.items #=> Array
resp.distribution_list.items[0].custom_error_responses.items[0].error_code #=> Integer
resp.distribution_list.items[0].custom_error_responses.items[0].response_page_path #=> String
resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
resp.distribution_list.items[0].comment #=> String
resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.distribution_list.items[0].enabled #=> Boolean
resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
resp.distribution_list.items[0].viewer_certificate.acm_certificate_arn #=> String
resp.distribution_list.items[0].viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip"
resp.distribution_list.items[0].viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1"
resp.distribution_list.items[0].viewer_certificate.certificate #=> String
resp.distribution_list.items[0].viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
resp.distribution_list.items[0].restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
resp.distribution_list.items[0].restrictions.geo_restriction.quantity #=> Integer
resp.distribution_list.items[0].restrictions.geo_restriction.items #=> Array
resp.distribution_list.items[0].restrictions.geo_restriction.items[0] #=> String
resp.distribution_list.items[0].web_acl_id #=> String
resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2"
resp.distribution_list.items[0].is_ipv6_enabled #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :marker (String)

    Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.)

  • :max_items (Integer)

    The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.

  • :web_acl_id (required, String)

    The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify "null" for the ID, the request returns a list of the distributions that aren't associated with a web ACL.

Returns:

See Also:



2146
2147
2148
2149
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 2146

def list_distributions_by_web_acl_id(params = {}, options = {})
  req = build_request(:list_distributions_by_web_acl_id, params)
  req.send_request(options)
end

#list_invalidations(params = {}) ⇒ Types::ListInvalidationsResult

Lists invalidation batches.

Examples:

Request syntax with placeholder values


resp = client.list_invalidations({
  distribution_id: "string", # required
  marker: "string",
  max_items: 1,
})

Response structure


resp.invalidation_list.marker #=> String
resp.invalidation_list.next_marker #=> String
resp.invalidation_list.max_items #=> Integer
resp.invalidation_list.is_truncated #=> Boolean
resp.invalidation_list.quantity #=> Integer
resp.invalidation_list.items #=> Array
resp.invalidation_list.items[0].id #=> String
resp.invalidation_list.items[0].create_time #=> Time
resp.invalidation_list.items[0].status #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :distribution_id (required, String)

    The distribution's ID.

  • :marker (String)

    Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

  • :max_items (Integer)

    The maximum number of invalidation batches that you want in the response body.

Returns:

See Also:



2198
2199
2200
2201
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 2198

def list_invalidations(params = {}, options = {})
  req = build_request(:list_invalidations, params)
  req.send_request(options)
end

#list_streaming_distributions(params = {}) ⇒ Types::ListStreamingDistributionsResult

List streaming distributions.

Examples:

Request syntax with placeholder values


resp = client.list_streaming_distributions({
  marker: "string",
  max_items: 1,
})

Response structure


resp.streaming_distribution_list.marker #=> String
resp.streaming_distribution_list.next_marker #=> String
resp.streaming_distribution_list.max_items #=> Integer
resp.streaming_distribution_list.is_truncated #=> Boolean
resp.streaming_distribution_list.quantity #=> Integer
resp.streaming_distribution_list.items #=> Array
resp.streaming_distribution_list.items[0].id #=> String
resp.streaming_distribution_list.items[0].arn #=> String
resp.streaming_distribution_list.items[0].status #=> String
resp.streaming_distribution_list.items[0].last_modified_time #=> Time
resp.streaming_distribution_list.items[0].domain_name #=> String
resp.streaming_distribution_list.items[0].s3_origin.domain_name #=> String
resp.streaming_distribution_list.items[0].s3_origin.origin_access_identity #=> String
resp.streaming_distribution_list.items[0].aliases.quantity #=> Integer
resp.streaming_distribution_list.items[0].aliases.items #=> Array
resp.streaming_distribution_list.items[0].aliases.items[0] #=> String
resp.streaming_distribution_list.items[0].trusted_signers.enabled #=> Boolean
resp.streaming_distribution_list.items[0].trusted_signers.quantity #=> Integer
resp.streaming_distribution_list.items[0].trusted_signers.items #=> Array
resp.streaming_distribution_list.items[0].trusted_signers.items[0] #=> String
resp.streaming_distribution_list.items[0].comment #=> String
resp.streaming_distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.streaming_distribution_list.items[0].enabled #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :marker (String)

    The value that you provided for the Marker request parameter.

  • :max_items (Integer)

    The value that you provided for the MaxItems request parameter.

Returns:

See Also:



2252
2253
2254
2255
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 2252

def list_streaming_distributions(params = {}, options = {})
  req = build_request(:list_streaming_distributions, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResult

List tags for a CloudFront resource.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource: "ResourceARN", # required
})

Response structure


resp.tags.items #=> Array
resp.tags.items[0].key #=> String
resp.tags.items[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource (required, String)

    An ARN of a CloudFront resource.

Returns:

See Also:



2282
2283
2284
2285
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 2282

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Add tags to a CloudFront resource.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource: "ResourceARN", # required
  tags: { # required
    items: [
      {
        key: "TagKey", # required
        value: "TagValue",
      },
    ],
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource (required, String)

    An ARN of a CloudFront resource.

  • :tags (required, Types::Tags)

    A complex type that contains zero or more Tag elements.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2315
2316
2317
2318
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 2315

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Remove tags from a CloudFront resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource: "ResourceARN", # required
  tag_keys: { # required
    items: ["TagKey"],
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource (required, String)

    An ARN of a CloudFront resource.

  • :tag_keys (required, Types::TagKeys)

    A complex type that contains zero or more Tag key elements.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2343
2344
2345
2346
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 2343

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_cloud_front_origin_access_identity(params = {}) ⇒ Types::UpdateCloudFrontOriginAccessIdentityResult

Update an origin access identity.

Examples:

Request syntax with placeholder values


resp = client.update_cloud_front_origin_access_identity({
  cloud_front_origin_access_identity_config: { # required
    caller_reference: "string", # required
    comment: "string", # required
  },
  id: "string", # required
  if_match: "string",
})

Response structure


resp.cloud_front_origin_access_identity.id #=> String
resp.cloud_front_origin_access_identity.s3_canonical_user_id #=> String
resp.cloud_front_origin_access_identity.cloud_front_origin_access_identity_config.caller_reference #=> String
resp.cloud_front_origin_access_identity.cloud_front_origin_access_identity_config.comment #=> String
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :cloud_front_origin_access_identity_config (required, Types::CloudFrontOriginAccessIdentityConfig)

    The identity's configuration information.

  • :id (required, String)

    The identity's id.

  • :if_match (String)

    The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

Returns:

See Also:



2388
2389
2390
2391
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 2388

def update_cloud_front_origin_access_identity(params = {}, options = {})
  req = build_request(:update_cloud_front_origin_access_identity, params)
  req.send_request(options)
end

#update_distribution(params = {}) ⇒ Types::UpdateDistributionResult

Updates the configuration for a web distribution. Perform the following steps.

For information about updating a distribution using the CloudFront console, see Creating or Updating a Web Distribution Using the CloudFront Console in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you need to get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include the desired changes. You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into the existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

    Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a distribution. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values you're actually specifying.

Examples:

Request syntax with placeholder values


resp = client.update_distribution({
  distribution_config: { # required
    caller_reference: "string", # required
    aliases: {
      quantity: 1, # required
      items: ["string"],
    },
    default_root_object: "string",
    origins: { # required
      quantity: 1, # required
      items: [
        {
          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,
          },
        },
      ],
    },
    default_cache_behavior: { # required
      target_origin_id: "string", # required
      forwarded_values: { # required
        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"],
        },
      },
      trusted_signers: { # required
        enabled: false, # required
        quantity: 1, # required
        items: ["string"],
      },
      viewer_protocol_policy: "allow-all", # required, accepts allow-all, https-only, redirect-to-https
      min_ttl: 1, # required
      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,
      default_ttl: 1,
      max_ttl: 1,
      compress: false,
      lambda_function_associations: {
        quantity: 1, # required
        items: [
          {
            lambda_function_arn: "string",
            event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
          },
        ],
      },
    },
    cache_behaviors: {
      quantity: 1, # required
      items: [
        {
          path_pattern: "string", # required
          target_origin_id: "string", # required
          forwarded_values: { # required
            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"],
            },
          },
          trusted_signers: { # required
            enabled: false, # required
            quantity: 1, # required
            items: ["string"],
          },
          viewer_protocol_policy: "allow-all", # required, accepts allow-all, https-only, redirect-to-https
          min_ttl: 1, # required
          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,
          default_ttl: 1,
          max_ttl: 1,
          compress: false,
          lambda_function_associations: {
            quantity: 1, # required
            items: [
              {
                lambda_function_arn: "string",
                event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
              },
            ],
          },
        },
      ],
    },
    custom_error_responses: {
      quantity: 1, # required
      items: [
        {
          error_code: 1, # required
          response_page_path: "string",
          response_code: "string",
          error_caching_min_ttl: 1,
        },
      ],
    },
    comment: "string", # 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
      minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1
      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",
})

Response structure


resp.distribution.id #=> String
resp.distribution.arn #=> String
resp.distribution.status #=> String
resp.distribution.last_modified_time #=> Time
resp.distribution.in_progress_invalidation_batches #=> Integer
resp.distribution.domain_name #=> String
resp.distribution.active_trusted_signers.enabled #=> Boolean
resp.distribution.active_trusted_signers.quantity #=> Integer
resp.distribution.active_trusted_signers.items #=> Array
resp.distribution.active_trusted_signers.items[0]. #=> String
resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
resp.distribution.distribution_config.caller_reference #=> String
resp.distribution.distribution_config.aliases.quantity #=> Integer
resp.distribution.distribution_config.aliases.items #=> Array
resp.distribution.distribution_config.aliases.items[0] #=> String
resp.distribution.distribution_config.default_root_object #=> String
resp.distribution.distribution_config.origins.quantity #=> Integer
resp.distribution.distribution_config.origins.items #=> Array
resp.distribution.distribution_config.origins.items[0].id #=> String
resp.distribution.distribution_config.origins.items[0].domain_name #=> String
resp.distribution.distribution_config.origins.items[0].origin_path #=> String
resp.distribution.distribution_config.origins.items[0].custom_headers.quantity #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_headers.items #=> Array
resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_name #=> String
resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_value #=> String
resp.distribution.distribution_config.origins.items[0].s3_origin_config.origin_access_identity #=> String
resp.distribution.distribution_config.origins.items[0].custom_origin_config.http_port #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.https_port #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution.distribution_config.default_cache_behavior.min_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.default_cache_behavior.smooth_streaming #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.compress #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.cache_behaviors.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].path_pattern #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].target_origin_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
resp.distribution.distribution_config.cache_behaviors.items[0].min_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
resp.distribution.distribution_config.cache_behaviors.items[0].smooth_streaming #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].compress #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.custom_error_responses.quantity #=> Integer
resp.distribution.distribution_config.custom_error_responses.items #=> Array
resp.distribution.distribution_config.custom_error_responses.items[0].error_code #=> Integer
resp.distribution.distribution_config.custom_error_responses.items[0].response_page_path #=> String
resp.distribution.distribution_config.custom_error_responses.items[0].response_code #=> String
resp.distribution.distribution_config.custom_error_responses.items[0].error_caching_min_ttl #=> Integer
resp.distribution.distribution_config.comment #=> String
resp.distribution.distribution_config.logging.enabled #=> Boolean
resp.distribution.distribution_config.logging.include_cookies #=> Boolean
resp.distribution.distribution_config.logging.bucket #=> String
resp.distribution.distribution_config.logging.prefix #=> String
resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.distribution.distribution_config.enabled #=> Boolean
resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
resp.distribution.distribution_config.viewer_certificate.acm_certificate_arn #=> String
resp.distribution.distribution_config.viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip"
resp.distribution.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1"
resp.distribution.distribution_config.viewer_certificate.certificate #=> String
resp.distribution.distribution_config.viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
resp.distribution.distribution_config.restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
resp.distribution.distribution_config.restrictions.geo_restriction.quantity #=> Integer
resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
resp.distribution.distribution_config.web_acl_id #=> String
resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2"
resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :distribution_config (required, Types::DistributionConfig)

    The distribution's configuration information.

  • :id (required, String)

    The distribution's id.

  • :if_match (String)

    The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

Returns:

See Also:



2801
2802
2803
2804
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 2801

def update_distribution(params = {}, options = {})
  req = build_request(:update_distribution, params)
  req.send_request(options)
end

#update_streaming_distribution(params = {}) ⇒ Types::UpdateStreamingDistributionResult

Update a streaming distribution.

Examples:

Request syntax with placeholder values


resp = client.update_streaming_distribution({
  streaming_distribution_config: { # required
    caller_reference: "string", # required
    s3_origin: { # required
      domain_name: "string", # required
      origin_access_identity: "string", # required
    },
    aliases: {
      quantity: 1, # required
      items: ["string"],
    },
    comment: "string", # required
    logging: {
      enabled: false, # required
      bucket: "string", # required
      prefix: "string", # required
    },
    trusted_signers: { # required
      enabled: false, # required
      quantity: 1, # required
      items: ["string"],
    },
    price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
    enabled: false, # required
  },
  id: "string", # required
  if_match: "string",
})

Response structure


resp.streaming_distribution.id #=> String
resp.streaming_distribution.arn #=> String
resp.streaming_distribution.status #=> String
resp.streaming_distribution.last_modified_time #=> Time
resp.streaming_distribution.domain_name #=> String
resp.streaming_distribution.active_trusted_signers.enabled #=> Boolean
resp.streaming_distribution.active_trusted_signers.quantity #=> Integer
resp.streaming_distribution.active_trusted_signers.items #=> Array
resp.streaming_distribution.active_trusted_signers.items[0]. #=> String
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
resp.streaming_distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.caller_reference #=> String
resp.streaming_distribution.streaming_distribution_config.s3_origin.domain_name #=> String
resp.streaming_distribution.streaming_distribution_config.s3_origin.origin_access_identity #=> String
resp.streaming_distribution.streaming_distribution_config.aliases.quantity #=> Integer
resp.streaming_distribution.streaming_distribution_config.aliases.items #=> Array
resp.streaming_distribution.streaming_distribution_config.aliases.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.comment #=> String
resp.streaming_distribution.streaming_distribution_config.logging.enabled #=> Boolean
resp.streaming_distribution.streaming_distribution_config.logging.bucket #=> String
resp.streaming_distribution.streaming_distribution_config.logging.prefix #=> String
resp.streaming_distribution.streaming_distribution_config.trusted_signers.enabled #=> Boolean
resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
resp.etag #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :streaming_distribution_config (required, Types::StreamingDistributionConfig)

    The streaming distribution's configuration information.

  • :id (required, String)

    The streaming distribution's id.

  • :if_match (String)

    The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

Returns:

See Also:



2891
2892
2893
2894
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 2891

def update_streaming_distribution(params = {}, options = {})
  req = build_request(:update_streaming_distribution, params)
  req.send_request(options)
end

#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean

Polls an API operation until a resource enters a desired state.

Basic Usage

A waiter will call an API operation until:

  • It is successful
  • It enters a terminal state
  • It makes the maximum number of attempts

In between attempts, the waiter will sleep.

# polls in a loop, sleeping between attempts
client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You can pass configuration as the final arguments hash.

# poll for ~25 seconds
client.wait_until(waiter_name, params, {
  max_attempts: 5,
  delay: 5,
})

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(waiter_name, params, {

  # disable max attempts
  max_attempts: nil,

  # poll for 1 hour, instead of a number of attempts
  before_wait: -> (attempts, response) do
    throw :failure if Time.now - started_at > 3600
  end
})

Handling Errors

When a waiter is unsuccessful, it will raise an error. All of the failure errors extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Valid Waiters

The following table lists the valid waiter names, the operations they call, and the default :delay and :max_attempts values.

waiter_name params :delay :max_attempts
distribution_deployed #get_distribution 60 25
invalidation_completed #get_invalidation 20 30
streaming_distribution_deployed #get_streaming_distribution 60 25

Parameters:

  • waiter_name (Symbol)
  • params (Hash) (defaults to: {})

    ({})

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :max_attempts (Integer)
  • :delay (Integer)
  • :before_attempt (Proc)
  • :before_wait (Proc)

Yields:

  • (w.waiter)

Returns:

  • (Boolean)

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError)

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError)

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError)

    Raised when you request to wait for an unknown state.



3003
3004
3005
3006
3007
# File 'gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/client.rb', line 3003

def wait_until(waiter_name, params = {}, options = {})
  w = waiter(waiter_name, options)
  yield(w.waiter) if block_given? # deprecated
  w.wait(params)
end