class Aws::CloudFront::Client

An API client for CloudFront. To construct a client, you need to configure a `:region` and `:credentials`.

client = Aws::CloudFront::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).

See {#initialize} for a full list of supported configuration options.

Attributes

identifier[R]

@api private

Public Class Methods

new(*args) click to toggle source

@overload initialize(options)

@param [Hash] options
@option options [required, Aws::CredentialProvider] :credentials
  Your AWS credentials. This can be an instance of any one of the
  following classes:

  * `Aws::Credentials` - Used for configuring static, non-refreshing
    credentials.

  * `Aws::SharedCredentials` - Used for loading static credentials from a
    shared file, such as `~/.aws/config`.

  * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.

  * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
    assume a role after providing credentials via the web.

  * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
    access token generated from `aws login`.

  * `Aws::ProcessCredentials` - Used for loading credentials from a
    process that outputs to stdout.

  * `Aws::InstanceProfileCredentials` - Used for loading credentials
    from an EC2 IMDS on an EC2 instance.

  * `Aws::ECSCredentials` - Used for loading credentials from
    instances running in ECS.

  * `Aws::CognitoIdentityCredentials` - Used for loading credentials
    from the Cognito Identity service.

  When `:credentials` are not configured directly, the following
  locations will be searched for credentials:

  * `Aws.config[:credentials]`
  * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
  * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
  * `~/.aws/credentials`
  * `~/.aws/config`
  * EC2/ECS IMDS instance profile - When used by default, the timeouts
    are very aggressive. Construct and pass an instance of
    `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
    enable retries and extended timeouts.

@option options [required, String] :region
  The AWS region to connect to.  The configured `:region` is
  used to determine the service `:endpoint`. When not passed,
  a default `:region` is searched for in the following locations:

  * `Aws.config[:region]`
  * `ENV['AWS_REGION']`
  * `ENV['AMAZON_REGION']`
  * `ENV['AWS_DEFAULT_REGION']`
  * `~/.aws/credentials`
  * `~/.aws/config`

@option options [String] :access_key_id

@option options [Boolean] :active_endpoint_cache (false)
  When set to `true`, a thread polling for endpoints will be running in
  the background every 60 secs (default). Defaults to `false`.

@option options [Boolean] :adaptive_retry_wait_to_fill (true)
  Used only in `adaptive` retry mode.  When true, the request will sleep
  until there is sufficent client side capacity to retry the request.
  When false, the request will raise a `RetryCapacityNotAvailableError` and will
  not retry instead of sleeping.

@option options [Boolean] :client_side_monitoring (false)
  When `true`, client-side metrics will be collected for all API requests from
  this client.

@option options [String] :client_side_monitoring_client_id ("")
  Allows you to provide an identifier for this client which will be attached to
  all generated client side metrics. Defaults to an empty string.

@option options [String] :client_side_monitoring_host ("127.0.0.1")
  Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
  side monitoring agent is running on, where client metrics will be published via UDP.

@option options [Integer] :client_side_monitoring_port (31000)
  Required for publishing client metrics. The port that the client side monitoring
  agent is running on, where client metrics will be published via UDP.

@option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
  Allows you to provide a custom client-side monitoring publisher class. By default,
  will use the Client Side Monitoring Agent Publisher.

@option options [Boolean] :convert_params (true)
  When `true`, an attempt is made to coerce request parameters into
  the required types.

@option options [Boolean] :correct_clock_skew (true)
  Used only in `standard` and adaptive retry modes. Specifies whether to apply
  a clock skew correction and retry requests with skewed client clocks.

@option options [Boolean] :disable_host_prefix_injection (false)
  Set to true to disable SDK automatically adding host prefix
  to default service endpoint when available.

@option options [String] :endpoint
  The client endpoint is normally constructed from the `:region`
  option. You should only configure an `:endpoint` when connecting
  to test or custom endpoints. This should be a valid HTTP(S) URI.

@option options [Integer] :endpoint_cache_max_entries (1000)
  Used for the maximum size limit of the LRU cache storing endpoints data
  for endpoint discovery enabled operations. Defaults to 1000.

@option options [Integer] :endpoint_cache_max_threads (10)
  Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

@option options [Integer] :endpoint_cache_poll_interval (60)
  When :endpoint_discovery and :active_endpoint_cache is enabled,
  Use this option to config the time interval in seconds for making
  requests fetching endpoints information. Defaults to 60 sec.

@option options [Boolean] :endpoint_discovery (false)
  When set to `true`, endpoint discovery will be enabled for operations when available.

@option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
  The log formatter.

@option options [Symbol] :log_level (:info)
  The log level to send messages to the `:logger` at.

@option options [Logger] :logger
  The Logger instance to send log messages to.  If this option
  is not set, logging will be disabled.

@option options [Integer] :max_attempts (3)
  An integer representing the maximum number attempts that will be made for
  a single request, including the initial attempt.  For example,
  setting this value to 5 will result in a request being retried up to
  4 times. Used in `standard` and `adaptive` retry modes.

@option options [String] :profile ("default")
  Used when loading credentials from the shared credentials file
  at HOME/.aws/credentials.  When not specified, 'default' is used.

@option options [Proc] :retry_backoff
  A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
  This option is only used in the `legacy` retry mode.

@option options [Float] :retry_base_delay (0.3)
  The base delay in seconds used by the default backoff function. This option
  is only used in the `legacy` retry mode.

@option options [Symbol] :retry_jitter (:none)
  A delay randomiser function used by the default backoff function.
  Some predefined functions can be referenced by name - :none, :equal, :full,
  otherwise a Proc that takes and returns a number. This option is only used
  in the `legacy` retry mode.

  @see https://www.awsarchitectureblog.com/2015/03/backoff.html

@option options [Integer] :retry_limit (3)
  The maximum number of times to retry failed requests.  Only
  ~ 500 level server errors and certain ~ 400 level client errors
  are retried.  Generally, these are throttling errors, data
  checksum errors, networking errors, timeout errors, auth errors,
  endpoint discovery, and errors from expired credentials.
  This option is only used in the `legacy` retry mode.

@option options [Integer] :retry_max_delay (0)
  The maximum number of seconds to delay between retries (0 for no limit)
  used by the default backoff function. This option is only used in the
  `legacy` retry mode.

@option options [String] :retry_mode ("legacy")
  Specifies which retry algorithm to use. Values are:

  * `legacy` - The pre-existing retry behavior.  This is default value if
    no retry mode is provided.

  * `standard` - A standardized set of retry rules across the AWS SDKs.
    This includes support for retry quotas, which limit the number of
    unsuccessful retries a client can make.

  * `adaptive` - An experimental retry mode that includes all the
    functionality of `standard` mode along with automatic client side
    throttling.  This is a provisional mode that may change behavior
    in the future.

@option options [String] :secret_access_key

@option options [String] :session_token

@option options [Boolean] :stub_responses (false)
  Causes the client to return stubbed responses. By default
  fake responses are generated and returned. You can specify
  the response data to return or errors to raise by calling
  {ClientStubs#stub_responses}. See {ClientStubs} for more information.

  ** Please note ** When response stubbing is enabled, no HTTP
  requests are made, and retries are disabled.

@option options [Boolean] :validate_params (true)
  When `true`, request parameters are validated before
  sending the request.

@option options [URI::HTTP,String] :http_proxy A proxy to send
  requests through.  Formatted like 'http://proxy.com:123'.

@option options [Float] :http_open_timeout (15) The number of
  seconds to wait when opening a HTTP session before raising a
  `Timeout::Error`.

@option options [Integer] :http_read_timeout (60) The default
  number of seconds to wait for response data.  This value can
  safely be set per-request on the session.

@option options [Float] :http_idle_timeout (5) The number of
  seconds a connection is allowed to sit idle before it is
  considered stale.  Stale connections are closed and removed
  from the pool before making a request.

@option options [Float] :http_continue_timeout (1) The number of
  seconds to wait for a 100-continue response before sending the
  request body.  This option has no effect unless the request has
  "Expect" header set to "100-continue".  Defaults to `nil` which
  disables this behaviour.  This value can safely be set per
  request on the session.

@option options [Boolean] :http_wire_trace (false) When `true`,
  HTTP debug output will be sent to the `:logger`.

@option options [Boolean] :ssl_verify_peer (true) When `true`,
  SSL peer certificates are verified when establishing a
  connection.

@option options [String] :ssl_ca_bundle Full path to the SSL
  certificate authority bundle file that should be used when
  verifying peer certificates.  If you do not pass
  `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
  will be used if available.

@option options [String] :ssl_ca_directory Full path of the
  directory that contains the unbundled SSL certificate
  authority files for verifying peer certificates.  If you do
  not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
  system default will be used if available.
Calls superclass method
# File lib/aws-sdk-cloudfront/client.rb, line 324
def initialize(*args)
  super
end

Private Class Methods

errors_module() click to toggle source

@api private

# File lib/aws-sdk-cloudfront/client.rb, line 7176
def errors_module
  Errors
end

Public Instance Methods

associate_alias(params = {}, options = {}) click to toggle source

Associates an alias (also known as a CNAME or an alternate domain name) with a CloudFront distribution.

With this operation you can move an alias that’s already in use on a CloudFront distribution to a different distribution in one step. This prevents the downtime that could occur if you first remove the alias from one distribution and then separately add the alias to another distribution.

To use this operation to associate an alias with a distribution, you provide the alias and the ID of the target distribution for the alias. For more information, including how to set up the target distribution, prerequisites that you must complete, and other restrictions, see

Moving an alternate domain name to a different distribution][1

in

the *Amazon CloudFront Developer Guide*.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-move

@option params [required, String] :target_distribution_id

The ID of the distribution that you’re associating the alias with.

@option params [required, String] :alias

The alias (also known as a CNAME) to add to the target distribution.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.associate_alias({
  target_distribution_id: "string", # required
  alias: "string", # required
})

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

@overload associate_alias(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 369
def associate_alias(params = {}, options = {})
  req = build_request(:associate_alias, params)
  req.send_request(options)
end
build_request(operation_name, params = {}) click to toggle source

@param params ({}) @api private

# File lib/aws-sdk-cloudfront/client.rb, line 7034
def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config)
  context[:gem_name] = 'aws-sdk-cloudfront'
  context[:gem_version] = '1.56.0'
  Seahorse::Client::Request.new(handlers, context)
end
create_cache_policy(params = {}, options = {}) click to toggle source

Creates a cache policy.

After you create a cache policy, you can attach it to one or more cache behaviors. When it’s attached to a cache behavior, the cache policy determines the following:

  • The values that CloudFront includes in the *cache key*. These values can include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.

  • The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the CloudFront cache.

The headers, cookies, and query strings that are included in the cache key are automatically included in requests that CloudFront sends to the origin. CloudFront sends a request when it can’t find an object in its cache that matches the request’s cache key. If you want to send values to the origin but not include them in the cache key, use `OriginRequestPolicy`.

For more information about cache policies, see [Controlling the cache key] in the *Amazon CloudFront Developer Guide*.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html

@option params [required, Types::CachePolicyConfig] :cache_policy_config

A cache policy configuration.

@return [Types::CreateCachePolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateCachePolicyResult#cache_policy #cache_policy} => Types::CachePolicy
* {Types::CreateCachePolicyResult#location #location} => String
* {Types::CreateCachePolicyResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.create_cache_policy({
  cache_policy_config: { # required
    comment: "string",
    name: "string", # required
    default_ttl: 1,
    max_ttl: 1,
    min_ttl: 1, # required
    parameters_in_cache_key_and_forwarded_to_origin: {
      enable_accept_encoding_gzip: false, # required
      enable_accept_encoding_brotli: false,
      headers_config: { # required
        header_behavior: "none", # required, accepts none, whitelist
        headers: {
          quantity: 1, # required
          items: ["string"],
        },
      },
      cookies_config: { # required
        cookie_behavior: "none", # required, accepts none, whitelist, allExcept, all
        cookies: {
          quantity: 1, # required
          items: ["string"],
        },
      },
      query_strings_config: { # required
        query_string_behavior: "none", # required, accepts none, whitelist, allExcept, all
        query_strings: {
          quantity: 1, # required
          items: ["string"],
        },
      },
    },
  },
})

@example Response structure

resp.cache_policy.id #=> String
resp.cache_policy.last_modified_time #=> Time
resp.cache_policy.cache_policy_config.comment #=> String
resp.cache_policy.cache_policy_config.name #=> String
resp.cache_policy.cache_policy_config.default_ttl #=> Integer
resp.cache_policy.cache_policy_config.max_ttl #=> Integer
resp.cache_policy.cache_policy_config.min_ttl #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_gzip #=> Boolean
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_brotli #=> Boolean
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.header_behavior #=> String, one of "none", "whitelist"
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.quantity #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items #=> Array
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items[0] #=> String
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.quantity #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items #=> Array
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items[0] #=> String
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.quantity #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items #=> Array
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items[0] #=> String
resp.location #=> String
resp.etag #=> String

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

@overload create_cache_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 478
def create_cache_policy(params = {}, options = {})
  req = build_request(:create_cache_policy, params)
  req.send_request(options)
end
create_cloud_front_origin_access_identity(params = {}, options = {}) click to toggle source

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*.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html

@option params [required, Types::CloudFrontOriginAccessIdentityConfig] :cloud_front_origin_access_identity_config

The current configuration information for the identity.

@return [Types::CreateCloudFrontOriginAccessIdentityResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateCloudFrontOriginAccessIdentityResult#cloud_front_origin_access_identity #cloud_front_origin_access_identity} => Types::CloudFrontOriginAccessIdentity
* {Types::CreateCloudFrontOriginAccessIdentityResult#location #location} => String
* {Types::CreateCloudFrontOriginAccessIdentityResult#etag #etag} => String

@example 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
  },
})

@example 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

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

@overload create_cloud_front_origin_access_identity(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 525
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 = {}, options = {}) click to toggle source

Creates a new web distribution. You create a CloudFront distribution to tell CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. Send a `POST` request to the `/CloudFront API version/distribution`/`distribution ID` resource.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using [UpdateDistribution], follow the steps included in the documentation to get the current configuration and then make your updates. This helps to make sure that you include all of the required fields. To view a summary, see [Required Fields for Create Distribution and Update Distribution] in the *Amazon CloudFront Developer Guide*.

[1]: docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html [2]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html

@option params [required, Types::DistributionConfig] :distribution_config

The distribution's configuration information.

@return [Types::CreateDistributionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateDistributionResult#distribution #distribution} => Types::Distribution
* {Types::CreateDistributionResult#location #location} => String
* {Types::CreateDistributionResult#etag #etag} => String

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

@example 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].aws_account_number #=> 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.active_trusted_key_groups.enabled #=> Boolean
resp.distribution.active_trusted_key_groups.quantity #=> Integer
resp.distribution.active_trusted_key_groups.items #=> Array
resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
resp.distribution.active_trusted_key_groups.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.origins.items[0].connection_attempts #=> Integer
resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
resp.distribution.distribution_config.origin_groups.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].id #=> String
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> 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.trusted_key_groups.enabled #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.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.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.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.default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.function_associations.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.function_associations.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].function_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.default_cache_behavior.field_level_encryption_id #=> String
resp.distribution.distribution_config.default_cache_behavior.realtime_log_config_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_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.min_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
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].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].trusted_key_groups.enabled #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.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].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].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.cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.cache_behaviors.items[0].field_level_encryption_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].realtime_log_config_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_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].min_ttl #=> Integer
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.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", "static-ip"
resp.distribution.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1", "TLSv1_2016", "TLSv1.1_2016", "TLSv1.2_2018", "TLSv1.2_2019", "TLSv1.2_2021"
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.distribution.alias_icp_recordals #=> Array
resp.distribution.alias_icp_recordals[0].cname #=> String
resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
resp.location #=> String
resp.etag #=> String

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

@overload create_distribution(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1002
def create_distribution(params = {}, options = {})
  req = build_request(:create_distribution, params)
  req.send_request(options)
end
create_distribution_with_tags(params = {}, options = {}) click to toggle source

Create a new distribution with tags.

@option params [required, Types::DistributionConfigWithTags] :distribution_config_with_tags

The distribution's configuration information.

@return [Types::CreateDistributionWithTagsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateDistributionWithTagsResult#distribution #distribution} => Types::Distribution
* {Types::CreateDistributionWithTagsResult#location #location} => String
* {Types::CreateDistributionWithTagsResult#etag #etag} => String

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

@example 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].aws_account_number #=> 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.active_trusted_key_groups.enabled #=> Boolean
resp.distribution.active_trusted_key_groups.quantity #=> Integer
resp.distribution.active_trusted_key_groups.items #=> Array
resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
resp.distribution.active_trusted_key_groups.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.origins.items[0].connection_attempts #=> Integer
resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
resp.distribution.distribution_config.origin_groups.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].id #=> String
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> 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.trusted_key_groups.enabled #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.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.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.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.default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.function_associations.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.function_associations.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].function_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.default_cache_behavior.field_level_encryption_id #=> String
resp.distribution.distribution_config.default_cache_behavior.realtime_log_config_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_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.min_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
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].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].trusted_key_groups.enabled #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.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].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].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.cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.cache_behaviors.items[0].field_level_encryption_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].realtime_log_config_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_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].min_ttl #=> Integer
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.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", "static-ip"
resp.distribution.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1", "TLSv1_2016", "TLSv1.1_2016", "TLSv1.2_2018", "TLSv1.2_2019", "TLSv1.2_2021"
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.distribution.alias_icp_recordals #=> Array
resp.distribution.alias_icp_recordals[0].cname #=> String
resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
resp.location #=> String
resp.etag #=> String

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

@overload create_distribution_with_tags(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1471
def create_distribution_with_tags(params = {}, options = {})
  req = build_request(:create_distribution_with_tags, params)
  req.send_request(options)
end
create_field_level_encryption_config(params = {}, options = {}) click to toggle source

Create a new field-level encryption configuration.

@option params [required, Types::FieldLevelEncryptionConfig] :field_level_encryption_config

The request to create a new field-level encryption configuration.

@return [Types::CreateFieldLevelEncryptionConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateFieldLevelEncryptionConfigResult#field_level_encryption #field_level_encryption} => Types::FieldLevelEncryption
* {Types::CreateFieldLevelEncryptionConfigResult#location #location} => String
* {Types::CreateFieldLevelEncryptionConfigResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.create_field_level_encryption_config({
  field_level_encryption_config: { # required
    caller_reference: "string", # required
    comment: "string",
    query_arg_profile_config: {
      forward_when_query_arg_profile_is_unknown: false, # required
      query_arg_profiles: {
        quantity: 1, # required
        items: [
          {
            query_arg: "string", # required
            profile_id: "string", # required
          },
        ],
      },
    },
    content_type_profile_config: {
      forward_when_content_type_is_unknown: false, # required
      content_type_profiles: {
        quantity: 1, # required
        items: [
          {
            format: "URLEncoded", # required, accepts URLEncoded
            profile_id: "string",
            content_type: "string", # required
          },
        ],
      },
    },
  },
})

@example Response structure

resp.field_level_encryption.id #=> String
resp.field_level_encryption.last_modified_time #=> Time
resp.field_level_encryption.field_level_encryption_config.caller_reference #=> String
resp.field_level_encryption.field_level_encryption_config.comment #=> String
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.forward_when_query_arg_profile_is_unknown #=> Boolean
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.quantity #=> Integer
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items #=> Array
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items[0].query_arg #=> String
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items[0].profile_id #=> String
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.forward_when_content_type_is_unknown #=> Boolean
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.quantity #=> Integer
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items #=> Array
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].format #=> String, one of "URLEncoded"
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].profile_id #=> String
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].content_type #=> String
resp.location #=> String
resp.etag #=> String

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

@overload create_field_level_encryption_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1545
def create_field_level_encryption_config(params = {}, options = {})
  req = build_request(:create_field_level_encryption_config, params)
  req.send_request(options)
end
create_field_level_encryption_profile(params = {}, options = {}) click to toggle source

Create a field-level encryption profile.

@option params [required, Types::FieldLevelEncryptionProfileConfig] :field_level_encryption_profile_config

The request to create a field-level encryption profile.

@return [Types::CreateFieldLevelEncryptionProfileResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateFieldLevelEncryptionProfileResult#field_level_encryption_profile #field_level_encryption_profile} => Types::FieldLevelEncryptionProfile
* {Types::CreateFieldLevelEncryptionProfileResult#location #location} => String
* {Types::CreateFieldLevelEncryptionProfileResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.create_field_level_encryption_profile({
  field_level_encryption_profile_config: { # required
    name: "string", # required
    caller_reference: "string", # required
    comment: "string",
    encryption_entities: { # required
      quantity: 1, # required
      items: [
        {
          public_key_id: "string", # required
          provider_id: "string", # required
          field_patterns: { # required
            quantity: 1, # required
            items: ["string"],
          },
        },
      ],
    },
  },
})

@example Response structure

resp.field_level_encryption_profile.id #=> String
resp.field_level_encryption_profile.last_modified_time #=> Time
resp.field_level_encryption_profile.field_level_encryption_profile_config.name #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.caller_reference #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.comment #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.quantity #=> Integer
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items #=> Array
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].public_key_id #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].provider_id #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.quantity #=> Integer
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.items #=> Array
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.items[0] #=> String
resp.location #=> String
resp.etag #=> String

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

@overload create_field_level_encryption_profile(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1605
def create_field_level_encryption_profile(params = {}, options = {})
  req = build_request(:create_field_level_encryption_profile, params)
  req.send_request(options)
end
create_function(params = {}, options = {}) click to toggle source

Creates a CloudFront function.

To create a function, you provide the function code and some configuration information about the function. The response contains an Amazon Resource Name (ARN) that uniquely identifies the function.

When you create a function, it’s in the `DEVELOPMENT` stage. In this stage, you can test the function with `TestFunction`, and update it with `UpdateFunction`.

When you’re ready to use your function with a CloudFront distribution, use `PublishFunction` to copy the function from the `DEVELOPMENT` stage to `LIVE`. When it’s live, you can attach the function to a distribution’s cache behavior, using the function’s ARN.

@option params [required, String] :name

A name to identify the function.

@option params [required, Types::FunctionConfig] :function_config

Configuration information about the function, including an optional
comment and the function’s runtime.

@option params [required, String, StringIO, File] :function_code

The function code. For more information about writing a CloudFront
function, see [Writing function code for CloudFront Functions][1] in
the *Amazon CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html

@return [Types::CreateFunctionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateFunctionResult#function_summary #function_summary} => Types::FunctionSummary
* {Types::CreateFunctionResult#location #location} => String
* {Types::CreateFunctionResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.create_function({
  name: "FunctionName", # required
  function_config: { # required
    comment: "string", # required
    runtime: "cloudfront-js-1.0", # required, accepts cloudfront-js-1.0
  },
  function_code: "data", # required
})

@example Response structure

resp.function_summary.name #=> String
resp.function_summary.status #=> String
resp.function_summary.function_config.comment #=> String
resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
resp.function_summary.function_metadata.function_arn #=> String
resp.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
resp.function_summary.function_metadata.created_time #=> Time
resp.function_summary.function_metadata.last_modified_time #=> Time
resp.location #=> String
resp.etag #=> String

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

@overload create_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1675
def create_function(params = {}, options = {})
  req = build_request(:create_function, params)
  req.send_request(options)
end
create_invalidation(params = {}, options = {}) click to toggle source

Create a new invalidation.

@option params [required, String] :distribution_id

The distribution's id.

@option params [required, Types::InvalidationBatch] :invalidation_batch

The batch information for the invalidation.

@return [Types::CreateInvalidationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateInvalidationResult#location #location} => String
* {Types::CreateInvalidationResult#invalidation #invalidation} => Types::Invalidation

@example 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
  },
})

@example 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

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

@overload create_invalidation(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1721
def create_invalidation(params = {}, options = {})
  req = build_request(:create_invalidation, params)
  req.send_request(options)
end
create_key_group(params = {}, options = {}) click to toggle source

Creates a key group that you can use with [CloudFront signed URLs and signed cookies].

To create a key group, you must specify at least one public key for the key group. After you create a key group, you can reference it from one or more cache behaviors. When you reference a key group in a cache behavior, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content] in the *Amazon CloudFront Developer Guide*.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html

@option params [required, Types::KeyGroupConfig] :key_group_config

A key group configuration.

@return [Types::CreateKeyGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateKeyGroupResult#key_group #key_group} => Types::KeyGroup
* {Types::CreateKeyGroupResult#location #location} => String
* {Types::CreateKeyGroupResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.create_key_group({
  key_group_config: { # required
    name: "string", # required
    items: ["string"], # required
    comment: "string",
  },
})

@example Response structure

resp.key_group.id #=> String
resp.key_group.last_modified_time #=> Time
resp.key_group.key_group_config.name #=> String
resp.key_group.key_group_config.items #=> Array
resp.key_group.key_group_config.items[0] #=> String
resp.key_group.key_group_config.comment #=> String
resp.location #=> String
resp.etag #=> String

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

@overload create_key_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1778
def create_key_group(params = {}, options = {})
  req = build_request(:create_key_group, params)
  req.send_request(options)
end
create_monitoring_subscription(params = {}, options = {}) click to toggle source

Enables additional CloudWatch metrics for the specified CloudFront distribution. The additional metrics incur an additional cost.

For more information, see [Viewing additional CloudFront distribution metrics] in the *Amazon CloudFront Developer Guide*.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional

@option params [required, String] :distribution_id

The ID of the distribution that you are enabling metrics for.

@option params [required, Types::MonitoringSubscription] :monitoring_subscription

A monitoring subscription. This structure contains information about
whether additional CloudWatch metrics are enabled for a given
CloudFront distribution.

@return [Types::CreateMonitoringSubscriptionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateMonitoringSubscriptionResult#monitoring_subscription #monitoring_subscription} => Types::MonitoringSubscription

@example Request syntax with placeholder values

resp = client.create_monitoring_subscription({
  distribution_id: "string", # required
  monitoring_subscription: { # required
    realtime_metrics_subscription_config: {
      realtime_metrics_subscription_status: "Enabled", # required, accepts Enabled, Disabled
    },
  },
})

@example Response structure

resp.monitoring_subscription.realtime_metrics_subscription_config.realtime_metrics_subscription_status #=> String, one of "Enabled", "Disabled"

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

@overload create_monitoring_subscription(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1824
def create_monitoring_subscription(params = {}, options = {})
  req = build_request(:create_monitoring_subscription, params)
  req.send_request(options)
end
create_origin_request_policy(params = {}, options = {}) click to toggle source

Creates an origin request policy.

After you create an origin request policy, you can attach it to one or more cache behaviors. When it’s attached to a cache behavior, the origin request policy determines the values that CloudFront includes in requests that it sends to the origin. Each request that CloudFront sends to the origin includes the following:

  • The request body and the URL path (without the domain name) from the viewer request.

  • The headers that CloudFront automatically includes in every origin request, including `Host`, `User-Agent`, and `X-Amz-Cf-Id`.

  • All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin request policy. These can include items from the viewer request and, in the case of headers, additional ones that are added by CloudFront.

CloudFront sends a request when it can’t find a valid object in its cache that matches the request. If you want to send values to the origin and also include them in the cache key, use `CachePolicy`.

For more information about origin request policies, see [Controlling origin requests] in the *Amazon CloudFront Developer Guide*.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html

@option params [required, Types::OriginRequestPolicyConfig] :origin_request_policy_config

An origin request policy configuration.

@return [Types::CreateOriginRequestPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateOriginRequestPolicyResult#origin_request_policy #origin_request_policy} => Types::OriginRequestPolicy
* {Types::CreateOriginRequestPolicyResult#location #location} => String
* {Types::CreateOriginRequestPolicyResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.create_origin_request_policy({
  origin_request_policy_config: { # required
    comment: "string",
    name: "string", # required
    headers_config: { # required
      header_behavior: "none", # required, accepts none, whitelist, allViewer, allViewerAndWhitelistCloudFront
      headers: {
        quantity: 1, # required
        items: ["string"],
      },
    },
    cookies_config: { # required
      cookie_behavior: "none", # required, accepts none, whitelist, all
      cookies: {
        quantity: 1, # required
        items: ["string"],
      },
    },
    query_strings_config: { # required
      query_string_behavior: "none", # required, accepts none, whitelist, all
      query_strings: {
        quantity: 1, # required
        items: ["string"],
      },
    },
  },
})

@example Response structure

resp.origin_request_policy.id #=> String
resp.origin_request_policy.last_modified_time #=> Time
resp.origin_request_policy.origin_request_policy_config.comment #=> String
resp.origin_request_policy.origin_request_policy_config.name #=> String
resp.origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront"
resp.origin_request_policy.origin_request_policy_config.headers_config.headers.quantity #=> Integer
resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items #=> Array
resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items[0] #=> String
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items #=> Array
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String
resp.location #=> String
resp.etag #=> String

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

@overload create_origin_request_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1923
def create_origin_request_policy(params = {}, options = {})
  req = build_request(:create_origin_request_policy, params)
  req.send_request(options)
end
create_public_key(params = {}, options = {}) click to toggle source

Uploads a public key to CloudFront that you can use with [signed URLs and signed cookies], or with [field-level encryption].

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html [2]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html

@option params [required, Types::PublicKeyConfig] :public_key_config

A CloudFront public key configuration.

@return [Types::CreatePublicKeyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreatePublicKeyResult#public_key #public_key} => Types::PublicKey
* {Types::CreatePublicKeyResult#location #location} => String
* {Types::CreatePublicKeyResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.create_public_key({
  public_key_config: { # required
    caller_reference: "string", # required
    name: "string", # required
    encoded_key: "string", # required
    comment: "string",
  },
})

@example Response structure

resp.public_key.id #=> String
resp.public_key.created_time #=> Time
resp.public_key.public_key_config.caller_reference #=> String
resp.public_key.public_key_config.name #=> String
resp.public_key.public_key_config.encoded_key #=> String
resp.public_key.public_key_config.comment #=> String
resp.location #=> String
resp.etag #=> String

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

@overload create_public_key(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 1971
def create_public_key(params = {}, options = {})
  req = build_request(:create_public_key, params)
  req.send_request(options)
end
create_realtime_log_config(params = {}, options = {}) click to toggle source

Creates a real-time log configuration.

After you create a real-time log configuration, you can attach it to one or more cache behaviors to send real-time log data to the specified Amazon Kinesis data stream.

For more information about real-time log configurations, see

Real-time logs][1

in the *Amazon CloudFront Developer Guide*.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html

@option params [required, Array<Types::EndPoint>] :end_points

Contains information about the Amazon Kinesis data stream where you
are sending real-time log data.

@option params [required, Array<String>] :fields

A list of fields to include in each real-time log record.

For more information about fields, see [Real-time log configuration
fields][1] in the *Amazon CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields

@option params [required, String] :name

A unique name to identify this real-time log configuration.

@option params [required, Integer] :sampling_rate

The sampling rate for this real-time log configuration. The sampling
rate determines the percentage of viewer requests that are represented
in the real-time log data. You must provide an integer between 1 and
100, inclusive.

@return [Types::CreateRealtimeLogConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateRealtimeLogConfigResult#realtime_log_config #realtime_log_config} => Types::RealtimeLogConfig

@example Request syntax with placeholder values

resp = client.create_realtime_log_config({
  end_points: [ # required
    {
      stream_type: "string", # required
      kinesis_stream_config: {
        role_arn: "string", # required
        stream_arn: "string", # required
      },
    },
  ],
  fields: ["string"], # required
  name: "string", # required
  sampling_rate: 1, # required
})

@example Response structure

resp.realtime_log_config.arn #=> String
resp.realtime_log_config.name #=> String
resp.realtime_log_config.sampling_rate #=> Integer
resp.realtime_log_config.end_points #=> Array
resp.realtime_log_config.end_points[0].stream_type #=> String
resp.realtime_log_config.end_points[0].kinesis_stream_config.role_arn #=> String
resp.realtime_log_config.end_points[0].kinesis_stream_config.stream_arn #=> String
resp.realtime_log_config.fields #=> Array
resp.realtime_log_config.fields[0] #=> String

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

@overload create_realtime_log_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2049
def create_realtime_log_config(params = {}, options = {})
  req = build_request(:create_realtime_log_config, params)
  req.send_request(options)
end
create_streaming_distribution(params = {}, options = {}) click to toggle source

This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on December 31, 2020. For more information, [read the announcement] on the Amazon CloudFront discussion forum.

[1]: forums.aws.amazon.com/ann.jspa?annID=7356

@option params [required, Types::StreamingDistributionConfig] :streaming_distribution_config

The streaming distribution's configuration information.

@return [Types::CreateStreamingDistributionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateStreamingDistributionResult#streaming_distribution #streaming_distribution} => Types::StreamingDistribution
* {Types::CreateStreamingDistributionResult#location #location} => String
* {Types::CreateStreamingDistributionResult#etag #etag} => String

@example 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
  },
})

@example 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].aws_account_number #=> 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

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

@overload create_streaming_distribution(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2138
def create_streaming_distribution(params = {}, options = {})
  req = build_request(:create_streaming_distribution, params)
  req.send_request(options)
end
create_streaming_distribution_with_tags(params = {}, options = {}) click to toggle source

This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on December 31, 2020. For more information, [read the announcement] on the Amazon CloudFront discussion forum.

[1]: forums.aws.amazon.com/ann.jspa?annID=7356

@option params [required, Types::StreamingDistributionConfigWithTags] :streaming_distribution_config_with_tags

The streaming distribution's configuration information.

@return [Types::CreateStreamingDistributionWithTagsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateStreamingDistributionWithTagsResult#streaming_distribution #streaming_distribution} => Types::StreamingDistribution
* {Types::CreateStreamingDistributionWithTagsResult#location #location} => String
* {Types::CreateStreamingDistributionWithTagsResult#etag #etag} => String

@example 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",
        },
      ],
    },
  },
})

@example 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].aws_account_number #=> 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

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

@overload create_streaming_distribution_with_tags(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2237
def create_streaming_distribution_with_tags(params = {}, options = {})
  req = build_request(:create_streaming_distribution_with_tags, params)
  req.send_request(options)
end
delete_cache_policy(params = {}, options = {}) click to toggle source

Deletes a cache policy.

You cannot delete a cache policy if it’s attached to a cache behavior. First update your distributions to remove the cache policy from all cache behaviors, then delete the cache policy.

To delete a cache policy, you must provide the policy’s identifier and version. To get these values, you can use `ListCachePolicies` or `GetCachePolicy`.

@option params [required, String] :id

The unique identifier for the cache policy that you are deleting. To
get the identifier, you can use `ListCachePolicies`.

@option params [String] :if_match

The version of the cache policy that you are deleting. The version is
the cache policy’s `ETag` value, which you can get using
`ListCachePolicies`, `GetCachePolicy`, or `GetCachePolicyConfig`.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_cache_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2274
def delete_cache_policy(params = {}, options = {})
  req = build_request(:delete_cache_policy, params)
  req.send_request(options)
end
delete_cloud_front_origin_access_identity(params = {}, options = {}) click to toggle source

Delete an origin access identity.

@option params [required, String] :id

The origin access identity's ID.

@option params [String] :if_match

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

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_cloud_front_origin_access_identity(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2301
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 = {}, options = {}) click to toggle source

Delete a distribution.

@option params [required, String] :id

The distribution ID.

@option params [String] :if_match

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

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_distribution(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2328
def delete_distribution(params = {}, options = {})
  req = build_request(:delete_distribution, params)
  req.send_request(options)
end
delete_field_level_encryption_config(params = {}, options = {}) click to toggle source

Remove a field-level encryption configuration.

@option params [required, String] :id

The ID of the configuration you want to delete from CloudFront.

@option params [String] :if_match

The value of the `ETag` header that you received when retrieving the
configuration identity to delete. For example: `E2QWRUHAPOMQZL`.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_field_level_encryption_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2355
def delete_field_level_encryption_config(params = {}, options = {})
  req = build_request(:delete_field_level_encryption_config, params)
  req.send_request(options)
end
delete_field_level_encryption_profile(params = {}, options = {}) click to toggle source

Remove a field-level encryption profile.

@option params [required, String] :id

Request the ID of the profile you want to delete from CloudFront.

@option params [String] :if_match

The value of the `ETag` header that you received when retrieving the
profile to delete. For example: `E2QWRUHAPOMQZL`.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_field_level_encryption_profile(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2382
def delete_field_level_encryption_profile(params = {}, options = {})
  req = build_request(:delete_field_level_encryption_profile, params)
  req.send_request(options)
end
delete_function(params = {}, options = {}) click to toggle source

Deletes a CloudFront function.

You cannot delete a function if it’s associated with a cache behavior. First, update your distributions to remove the function association from all cache behaviors, then delete the function.

To delete a function, you must provide the function’s name and version (`ETag` value). To get these values, you can use `ListFunctions` and `DescribeFunction`.

@option params [required, String] :name

The name of the function that you are deleting.

@option params [required, String] :if_match

The current version (`ETag` value) of the function that you are
deleting, which you can get using `DescribeFunction`.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_function({
  name: "string", # required
  if_match: "string", # required
})

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

@overload delete_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2417
def delete_function(params = {}, options = {})
  req = build_request(:delete_function, params)
  req.send_request(options)
end
delete_key_group(params = {}, options = {}) click to toggle source

Deletes a key group.

You cannot delete a key group that is referenced in a cache behavior. First update your distributions to remove the key group from all cache behaviors, then delete the key group.

To delete a key group, you must provide the key group’s identifier and version. To get these values, use `ListKeyGroups` followed by `GetKeyGroup` or `GetKeyGroupConfig`.

@option params [required, String] :id

The identifier of the key group that you are deleting. To get the
identifier, use `ListKeyGroups`.

@option params [String] :if_match

The version of the key group that you are deleting. The version is the
key group’s `ETag` value. To get the `ETag`, use `GetKeyGroup` or
`GetKeyGroupConfig`.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_key_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2454
def delete_key_group(params = {}, options = {})
  req = build_request(:delete_key_group, params)
  req.send_request(options)
end
delete_monitoring_subscription(params = {}, options = {}) click to toggle source

Disables additional CloudWatch metrics for the specified CloudFront distribution.

@option params [required, String] :distribution_id

The ID of the distribution that you are disabling metrics for.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_monitoring_subscription(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2477
def delete_monitoring_subscription(params = {}, options = {})
  req = build_request(:delete_monitoring_subscription, params)
  req.send_request(options)
end
delete_origin_request_policy(params = {}, options = {}) click to toggle source

Deletes an origin request policy.

You cannot delete an origin request policy if it’s attached to any cache behaviors. First update your distributions to remove the origin request policy from all cache behaviors, then delete the origin request policy.

To delete an origin request policy, you must provide the policy’s identifier and version. To get the identifier, you can use `ListOriginRequestPolicies` or `GetOriginRequestPolicy`.

@option params [required, String] :id

The unique identifier for the origin request policy that you are
deleting. To get the identifier, you can use
`ListOriginRequestPolicies`.

@option params [String] :if_match

The version of the origin request policy that you are deleting. The
version is the origin request policy’s `ETag` value, which you can get
using `ListOriginRequestPolicies`, `GetOriginRequestPolicy`, or
`GetOriginRequestPolicyConfig`.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_origin_request_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2517
def delete_origin_request_policy(params = {}, options = {})
  req = build_request(:delete_origin_request_policy, params)
  req.send_request(options)
end
delete_public_key(params = {}, options = {}) click to toggle source

Remove a public key you previously added to CloudFront.

@option params [required, String] :id

The ID of the public key you want to remove from CloudFront.

@option params [String] :if_match

The value of the `ETag` header that you received when retrieving the
public key identity to delete. For example: `E2QWRUHAPOMQZL`.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_public_key(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2544
def delete_public_key(params = {}, options = {})
  req = build_request(:delete_public_key, params)
  req.send_request(options)
end
delete_realtime_log_config(params = {}, options = {}) click to toggle source

Deletes a real-time log configuration.

You cannot delete a real-time log configuration if it’s attached to a cache behavior. First update your distributions to remove the real-time log configuration from all cache behaviors, then delete the real-time log configuration.

To delete a real-time log configuration, you can provide the configuration’s name or its Amazon Resource Name (ARN). You must provide at least one. If you provide both, CloudFront uses the name to identify the real-time log configuration to delete.

@option params [String] :name

The name of the real-time log configuration to delete.

@option params [String] :arn

The Amazon Resource Name (ARN) of the real-time log configuration to
delete.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_realtime_log_config({
  name: "string",
  arn: "string",
})

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

@overload delete_realtime_log_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2581
def delete_realtime_log_config(params = {}, options = {})
  req = build_request(:delete_realtime_log_config, params)
  req.send_request(options)
end
delete_streaming_distribution(params = {}, options = {}) click to toggle source

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*.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html

@option params [required, String] :id

The distribution ID.

@option params [String] :if_match

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

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload delete_streaming_distribution(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2651
def delete_streaming_distribution(params = {}, options = {})
  req = build_request(:delete_streaming_distribution, params)
  req.send_request(options)
end
describe_function(params = {}, options = {}) click to toggle source

Gets configuration information and metadata about a CloudFront function, but not the function’s code. To get a function’s code, use `GetFunction`.

To get configuration information and metadata about a function, you must provide the function’s name and stage. To get these values, you can use `ListFunctions`.

@option params [required, String] :name

The name of the function that you are getting information about.

@option params [String] :stage

The function’s stage, either `DEVELOPMENT` or `LIVE`.

@return [Types::DescribeFunctionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::DescribeFunctionResult#function_summary #function_summary} => Types::FunctionSummary
* {Types::DescribeFunctionResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.describe_function({
  name: "string", # required
  stage: "DEVELOPMENT", # accepts DEVELOPMENT, LIVE
})

@example Response structure

resp.function_summary.name #=> String
resp.function_summary.status #=> String
resp.function_summary.function_config.comment #=> String
resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
resp.function_summary.function_metadata.function_arn #=> String
resp.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
resp.function_summary.function_metadata.created_time #=> Time
resp.function_summary.function_metadata.last_modified_time #=> Time
resp.etag #=> String

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

@overload describe_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2698
def describe_function(params = {}, options = {})
  req = build_request(:describe_function, params)
  req.send_request(options)
end
get_cache_policy(params = {}, options = {}) click to toggle source

Gets a cache policy, including the following metadata:

  • The policy’s identifier.

  • The date and time when the policy was last modified.

To get a cache policy, you must provide the policy’s identifier. If the cache policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using `ListDistributions` or `GetDistribution`. If the cache policy is not attached to a cache behavior, you can get the identifier using `ListCachePolicies`.

@option params [required, String] :id

The unique identifier for the cache policy. If the cache policy is
attached to a distribution’s cache behavior, you can get the policy’s
identifier using `ListDistributions` or `GetDistribution`. If the
cache policy is not attached to a cache behavior, you can get the
identifier using `ListCachePolicies`.

@return [Types::GetCachePolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetCachePolicyResult#cache_policy #cache_policy} => Types::CachePolicy
* {Types::GetCachePolicyResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.cache_policy.id #=> String
resp.cache_policy.last_modified_time #=> Time
resp.cache_policy.cache_policy_config.comment #=> String
resp.cache_policy.cache_policy_config.name #=> String
resp.cache_policy.cache_policy_config.default_ttl #=> Integer
resp.cache_policy.cache_policy_config.max_ttl #=> Integer
resp.cache_policy.cache_policy_config.min_ttl #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_gzip #=> Boolean
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_brotli #=> Boolean
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.header_behavior #=> String, one of "none", "whitelist"
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.quantity #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items #=> Array
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items[0] #=> String
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.quantity #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items #=> Array
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items[0] #=> String
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.quantity #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items #=> Array
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items[0] #=> String
resp.etag #=> String

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

@overload get_cache_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2762
def get_cache_policy(params = {}, options = {})
  req = build_request(:get_cache_policy, params)
  req.send_request(options)
end
get_cache_policy_config(params = {}, options = {}) click to toggle source

Gets a cache policy configuration.

To get a cache policy configuration, you must provide the policy’s identifier. If the cache policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using `ListDistributions` or `GetDistribution`. If the cache policy is not attached to a cache behavior, you can get the identifier using `ListCachePolicies`.

@option params [required, String] :id

The unique identifier for the cache policy. If the cache policy is
attached to a distribution’s cache behavior, you can get the policy’s
identifier using `ListDistributions` or `GetDistribution`. If the
cache policy is not attached to a cache behavior, you can get the
identifier using `ListCachePolicies`.

@return [Types::GetCachePolicyConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetCachePolicyConfigResult#cache_policy_config #cache_policy_config} => Types::CachePolicyConfig
* {Types::GetCachePolicyConfigResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.cache_policy_config.comment #=> String
resp.cache_policy_config.name #=> String
resp.cache_policy_config.default_ttl #=> Integer
resp.cache_policy_config.max_ttl #=> Integer
resp.cache_policy_config.min_ttl #=> Integer
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_gzip #=> Boolean
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_brotli #=> Boolean
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.header_behavior #=> String, one of "none", "whitelist"
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.quantity #=> Integer
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items #=> Array
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items[0] #=> String
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.quantity #=> Integer
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items #=> Array
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items[0] #=> String
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.quantity #=> Integer
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items #=> Array
resp.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items[0] #=> String
resp.etag #=> String

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

@overload get_cache_policy_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2821
def get_cache_policy_config(params = {}, options = {})
  req = build_request(:get_cache_policy_config, params)
  req.send_request(options)
end
get_cloud_front_origin_access_identity(params = {}, options = {}) click to toggle source

Get the information about an origin access identity.

@option params [required, String] :id

The identity's ID.

@return [Types::GetCloudFrontOriginAccessIdentityResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetCloudFrontOriginAccessIdentityResult#cloud_front_origin_access_identity #cloud_front_origin_access_identity} => Types::CloudFrontOriginAccessIdentity
* {Types::GetCloudFrontOriginAccessIdentityResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example 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

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

@overload get_cloud_front_origin_access_identity(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2854
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 = {}, options = {}) click to toggle source

Get the configuration information about an origin access identity.

@option params [required, String] :id

The identity's ID.

@return [Types::GetCloudFrontOriginAccessIdentityConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetCloudFrontOriginAccessIdentityConfigResult#cloud_front_origin_access_identity_config #cloud_front_origin_access_identity_config} => Types::CloudFrontOriginAccessIdentityConfig
* {Types::GetCloudFrontOriginAccessIdentityConfigResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

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

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

@overload get_cloud_front_origin_access_identity_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 2885
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 = {}, options = {}) click to toggle source

Get the information about a distribution.

@option params [required, String] :id

The distribution's ID. If the ID is empty, an empty distribution
configuration is returned.

@return [Types::GetDistributionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetDistributionResult#distribution #distribution} => Types::Distribution
* {Types::GetDistributionResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example 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].aws_account_number #=> 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.active_trusted_key_groups.enabled #=> Boolean
resp.distribution.active_trusted_key_groups.quantity #=> Integer
resp.distribution.active_trusted_key_groups.items #=> Array
resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
resp.distribution.active_trusted_key_groups.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.origins.items[0].connection_attempts #=> Integer
resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
resp.distribution.distribution_config.origin_groups.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].id #=> String
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> 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.trusted_key_groups.enabled #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.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.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.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.default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.function_associations.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.function_associations.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].function_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.default_cache_behavior.field_level_encryption_id #=> String
resp.distribution.distribution_config.default_cache_behavior.realtime_log_config_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_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.min_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
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].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].trusted_key_groups.enabled #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.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].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].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.cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.cache_behaviors.items[0].field_level_encryption_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].realtime_log_config_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_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].min_ttl #=> Integer
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.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", "static-ip"
resp.distribution.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1", "TLSv1_2016", "TLSv1.1_2016", "TLSv1.2_2018", "TLSv1.2_2019", "TLSv1.2_2021"
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.distribution.alias_icp_recordals #=> Array
resp.distribution.alias_icp_recordals[0].cname #=> String
resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
resp.etag #=> String

The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):

* distribution_deployed

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

@overload get_distribution(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3099
def get_distribution(params = {}, options = {})
  req = build_request(:get_distribution, params)
  req.send_request(options)
end
get_distribution_config(params = {}, options = {}) click to toggle source

Get the configuration information about a distribution.

@option params [required, String] :id

The distribution's ID. If the ID is empty, an empty distribution
configuration is returned.

@return [Types::GetDistributionConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetDistributionConfigResult#distribution_config #distribution_config} => Types::DistributionConfig
* {Types::GetDistributionConfigResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example 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.origins.items[0].connection_attempts #=> Integer
resp.distribution_config.origins.items[0].connection_timeout #=> Integer
resp.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
resp.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
resp.distribution_config.origin_groups.quantity #=> Integer
resp.distribution_config.origin_groups.items #=> Array
resp.distribution_config.origin_groups.items[0].id #=> String
resp.distribution_config.origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
resp.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items #=> Array
resp.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
resp.distribution_config.origin_groups.items[0].members.quantity #=> Integer
resp.distribution_config.origin_groups.items[0].members.items #=> Array
resp.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
resp.distribution_config.default_cache_behavior.target_origin_id #=> 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.trusted_key_groups.enabled #=> Boolean
resp.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
resp.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
resp.distribution_config.default_cache_behavior.trusted_key_groups.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.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.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.default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution_config.default_cache_behavior.function_associations.quantity #=> Integer
resp.distribution_config.default_cache_behavior.function_associations.items #=> Array
resp.distribution_config.default_cache_behavior.function_associations.items[0].function_arn #=> String
resp.distribution_config.default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_config.default_cache_behavior.field_level_encryption_id #=> String
resp.distribution_config.default_cache_behavior.realtime_log_config_arn #=> String
resp.distribution_config.default_cache_behavior.cache_policy_id #=> String
resp.distribution_config.default_cache_behavior.origin_request_policy_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.min_ttl #=> Integer
resp.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution_config.default_cache_behavior.max_ttl #=> Integer
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].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].trusted_key_groups.enabled #=> Boolean
resp.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
resp.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
resp.distribution_config.cache_behaviors.items[0].trusted_key_groups.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].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].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.cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution_config.cache_behaviors.items[0].function_associations.quantity #=> Integer
resp.distribution_config.cache_behaviors.items[0].function_associations.items #=> Array
resp.distribution_config.cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
resp.distribution_config.cache_behaviors.items[0].function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_config.cache_behaviors.items[0].field_level_encryption_id #=> String
resp.distribution_config.cache_behaviors.items[0].realtime_log_config_arn #=> String
resp.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
resp.distribution_config.cache_behaviors.items[0].origin_request_policy_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].min_ttl #=> Integer
resp.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
resp.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
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", "static-ip"
resp.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1", "TLSv1_2016", "TLSv1.1_2016", "TLSv1.2_2018", "TLSv1.2_2019", "TLSv1.2_2021"
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

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

@overload get_distribution_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3285
def get_distribution_config(params = {}, options = {})
  req = build_request(:get_distribution_config, params)
  req.send_request(options)
end
get_field_level_encryption(params = {}, options = {}) click to toggle source

Get the field-level encryption configuration information.

@option params [required, String] :id

Request the ID for the field-level encryption configuration
information.

@return [Types::GetFieldLevelEncryptionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetFieldLevelEncryptionResult#field_level_encryption #field_level_encryption} => Types::FieldLevelEncryption
* {Types::GetFieldLevelEncryptionResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.field_level_encryption.id #=> String
resp.field_level_encryption.last_modified_time #=> Time
resp.field_level_encryption.field_level_encryption_config.caller_reference #=> String
resp.field_level_encryption.field_level_encryption_config.comment #=> String
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.forward_when_query_arg_profile_is_unknown #=> Boolean
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.quantity #=> Integer
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items #=> Array
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items[0].query_arg #=> String
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items[0].profile_id #=> String
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.forward_when_content_type_is_unknown #=> Boolean
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.quantity #=> Integer
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items #=> Array
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].format #=> String, one of "URLEncoded"
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].profile_id #=> String
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].content_type #=> String
resp.etag #=> String

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

@overload get_field_level_encryption(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3330
def get_field_level_encryption(params = {}, options = {})
  req = build_request(:get_field_level_encryption, params)
  req.send_request(options)
end
get_field_level_encryption_config(params = {}, options = {}) click to toggle source

Get the field-level encryption configuration information.

@option params [required, String] :id

Request the ID for the field-level encryption configuration
information.

@return [Types::GetFieldLevelEncryptionConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetFieldLevelEncryptionConfigResult#field_level_encryption_config #field_level_encryption_config} => Types::FieldLevelEncryptionConfig
* {Types::GetFieldLevelEncryptionConfigResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.field_level_encryption_config.caller_reference #=> String
resp.field_level_encryption_config.comment #=> String
resp.field_level_encryption_config.query_arg_profile_config.forward_when_query_arg_profile_is_unknown #=> Boolean
resp.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.quantity #=> Integer
resp.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items #=> Array
resp.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items[0].query_arg #=> String
resp.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items[0].profile_id #=> String
resp.field_level_encryption_config.content_type_profile_config.forward_when_content_type_is_unknown #=> Boolean
resp.field_level_encryption_config.content_type_profile_config.content_type_profiles.quantity #=> Integer
resp.field_level_encryption_config.content_type_profile_config.content_type_profiles.items #=> Array
resp.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].format #=> String, one of "URLEncoded"
resp.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].profile_id #=> String
resp.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].content_type #=> String
resp.etag #=> String

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

@overload get_field_level_encryption_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3373
def get_field_level_encryption_config(params = {}, options = {})
  req = build_request(:get_field_level_encryption_config, params)
  req.send_request(options)
end
get_field_level_encryption_profile(params = {}, options = {}) click to toggle source

Get the field-level encryption profile information.

@option params [required, String] :id

Get the ID for the field-level encryption profile information.

@return [Types::GetFieldLevelEncryptionProfileResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetFieldLevelEncryptionProfileResult#field_level_encryption_profile #field_level_encryption_profile} => Types::FieldLevelEncryptionProfile
* {Types::GetFieldLevelEncryptionProfileResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.field_level_encryption_profile.id #=> String
resp.field_level_encryption_profile.last_modified_time #=> Time
resp.field_level_encryption_profile.field_level_encryption_profile_config.name #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.caller_reference #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.comment #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.quantity #=> Integer
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items #=> Array
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].public_key_id #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].provider_id #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.quantity #=> Integer
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.items #=> Array
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.items[0] #=> String
resp.etag #=> String

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

@overload get_field_level_encryption_profile(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3414
def get_field_level_encryption_profile(params = {}, options = {})
  req = build_request(:get_field_level_encryption_profile, params)
  req.send_request(options)
end
get_field_level_encryption_profile_config(params = {}, options = {}) click to toggle source

Get the field-level encryption profile configuration information.

@option params [required, String] :id

Get the ID for the field-level encryption profile configuration
information.

@return [Types::GetFieldLevelEncryptionProfileConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetFieldLevelEncryptionProfileConfigResult#field_level_encryption_profile_config #field_level_encryption_profile_config} => Types::FieldLevelEncryptionProfileConfig
* {Types::GetFieldLevelEncryptionProfileConfigResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.field_level_encryption_profile_config.name #=> String
resp.field_level_encryption_profile_config.caller_reference #=> String
resp.field_level_encryption_profile_config.comment #=> String
resp.field_level_encryption_profile_config.encryption_entities.quantity #=> Integer
resp.field_level_encryption_profile_config.encryption_entities.items #=> Array
resp.field_level_encryption_profile_config.encryption_entities.items[0].public_key_id #=> String
resp.field_level_encryption_profile_config.encryption_entities.items[0].provider_id #=> String
resp.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.quantity #=> Integer
resp.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.items #=> Array
resp.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.items[0] #=> String
resp.etag #=> String

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

@overload get_field_level_encryption_profile_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3454
def get_field_level_encryption_profile_config(params = {}, options = {})
  req = build_request(:get_field_level_encryption_profile_config, params)
  req.send_request(options)
end
get_function(params = {}, options = {}) click to toggle source

Gets the code of a CloudFront function. To get configuration information and metadata about a function, use `DescribeFunction`.

To get a function’s code, you must provide the function’s name and stage. To get these values, you can use `ListFunctions`.

@option params [required, String] :name

The name of the function whose code you are getting.

@option params [String] :stage

The function’s stage, either `DEVELOPMENT` or `LIVE`.

@return [Types::GetFunctionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetFunctionResult#function_code #function_code} => String
* {Types::GetFunctionResult#etag #etag} => String
* {Types::GetFunctionResult#content_type #content_type} => String

@example Request syntax with placeholder values

resp = client.get_function({
  name: "string", # required
  stage: "DEVELOPMENT", # accepts DEVELOPMENT, LIVE
})

@example Response structure

resp.function_code #=> String
resp.etag #=> String
resp.content_type #=> String

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

@overload get_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3494
def get_function(params = {}, options = {})
  req = build_request(:get_function, params)
  req.send_request(options)
end
get_invalidation(params = {}, options = {}) click to toggle source

Get the information about an invalidation.

@option params [required, String] :distribution_id

The distribution's ID.

@option params [required, String] :id

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

@return [Types::GetInvalidationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetInvalidationResult#invalidation #invalidation} => Types::Invalidation

@example Request syntax with placeholder values

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

@example 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

The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):

* invalidation_completed

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

@overload get_invalidation(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3538
def get_invalidation(params = {}, options = {})
  req = build_request(:get_invalidation, params)
  req.send_request(options)
end
get_key_group(params = {}, options = {}) click to toggle source

Gets a key group, including the date and time when the key group was last modified.

To get a key group, you must provide the key group’s identifier. If the key group is referenced in a distribution’s cache behavior, you can get the key group’s identifier using `ListDistributions` or `GetDistribution`. If the key group is not referenced in a cache behavior, you can get the identifier using `ListKeyGroups`.

@option params [required, String] :id

The identifier of the key group that you are getting. To get the
identifier, use `ListKeyGroups`.

@return [Types::GetKeyGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetKeyGroupResult#key_group #key_group} => Types::KeyGroup
* {Types::GetKeyGroupResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.key_group.id #=> String
resp.key_group.last_modified_time #=> Time
resp.key_group.key_group_config.name #=> String
resp.key_group.key_group_config.items #=> Array
resp.key_group.key_group_config.items[0] #=> String
resp.key_group.key_group_config.comment #=> String
resp.etag #=> String

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

@overload get_key_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3581
def get_key_group(params = {}, options = {})
  req = build_request(:get_key_group, params)
  req.send_request(options)
end
get_key_group_config(params = {}, options = {}) click to toggle source

Gets a key group configuration.

To get a key group configuration, you must provide the key group’s identifier. If the key group is referenced in a distribution’s cache behavior, you can get the key group’s identifier using `ListDistributions` or `GetDistribution`. If the key group is not referenced in a cache behavior, you can get the identifier using `ListKeyGroups`.

@option params [required, String] :id

The identifier of the key group whose configuration you are getting.
To get the identifier, use `ListKeyGroups`.

@return [Types::GetKeyGroupConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetKeyGroupConfigResult#key_group_config #key_group_config} => Types::KeyGroupConfig
* {Types::GetKeyGroupConfigResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.key_group_config.name #=> String
resp.key_group_config.items #=> Array
resp.key_group_config.items[0] #=> String
resp.key_group_config.comment #=> String
resp.etag #=> String

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

@overload get_key_group_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3622
def get_key_group_config(params = {}, options = {})
  req = build_request(:get_key_group_config, params)
  req.send_request(options)
end
get_monitoring_subscription(params = {}, options = {}) click to toggle source

Gets information about whether additional CloudWatch metrics are enabled for the specified CloudFront distribution.

@option params [required, String] :distribution_id

The ID of the distribution that you are getting metrics information
for.

@return [Types::GetMonitoringSubscriptionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetMonitoringSubscriptionResult#monitoring_subscription #monitoring_subscription} => Types::MonitoringSubscription

@example Request syntax with placeholder values

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

@example Response structure

resp.monitoring_subscription.realtime_metrics_subscription_config.realtime_metrics_subscription_status #=> String, one of "Enabled", "Disabled"

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

@overload get_monitoring_subscription(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3652
def get_monitoring_subscription(params = {}, options = {})
  req = build_request(:get_monitoring_subscription, params)
  req.send_request(options)
end
get_origin_request_policy(params = {}, options = {}) click to toggle source

Gets an origin request policy, including the following metadata:

  • The policy’s identifier.

  • The date and time when the policy was last modified.

To get an origin request policy, you must provide the policy’s identifier. If the origin request policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using `ListDistributions` or `GetDistribution`. If the origin request policy is not attached to a cache behavior, you can get the identifier using `ListOriginRequestPolicies`.

@option params [required, String] :id

The unique identifier for the origin request policy. If the origin
request policy is attached to a distribution’s cache behavior, you can
get the policy’s identifier using `ListDistributions` or
`GetDistribution`. If the origin request policy is not attached to a
cache behavior, you can get the identifier using
`ListOriginRequestPolicies`.

@return [Types::GetOriginRequestPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetOriginRequestPolicyResult#origin_request_policy #origin_request_policy} => Types::OriginRequestPolicy
* {Types::GetOriginRequestPolicyResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.origin_request_policy.id #=> String
resp.origin_request_policy.last_modified_time #=> Time
resp.origin_request_policy.origin_request_policy_config.comment #=> String
resp.origin_request_policy.origin_request_policy_config.name #=> String
resp.origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront"
resp.origin_request_policy.origin_request_policy_config.headers_config.headers.quantity #=> Integer
resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items #=> Array
resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items[0] #=> String
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items #=> Array
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String
resp.etag #=> String

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

@overload get_origin_request_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3713
def get_origin_request_policy(params = {}, options = {})
  req = build_request(:get_origin_request_policy, params)
  req.send_request(options)
end
get_origin_request_policy_config(params = {}, options = {}) click to toggle source

Gets an origin request policy configuration.

To get an origin request policy configuration, you must provide the policy’s identifier. If the origin request policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using `ListDistributions` or `GetDistribution`. If the origin request policy is not attached to a cache behavior, you can get the identifier using `ListOriginRequestPolicies`.

@option params [required, String] :id

The unique identifier for the origin request policy. If the origin
request policy is attached to a distribution’s cache behavior, you can
get the policy’s identifier using `ListDistributions` or
`GetDistribution`. If the origin request policy is not attached to a
cache behavior, you can get the identifier using
`ListOriginRequestPolicies`.

@return [Types::GetOriginRequestPolicyConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetOriginRequestPolicyConfigResult#origin_request_policy_config #origin_request_policy_config} => Types::OriginRequestPolicyConfig
* {Types::GetOriginRequestPolicyConfigResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.origin_request_policy_config.comment #=> String
resp.origin_request_policy_config.name #=> String
resp.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront"
resp.origin_request_policy_config.headers_config.headers.quantity #=> Integer
resp.origin_request_policy_config.headers_config.headers.items #=> Array
resp.origin_request_policy_config.headers_config.headers.items[0] #=> String
resp.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
resp.origin_request_policy_config.cookies_config.cookies.items #=> Array
resp.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
resp.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
resp.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
resp.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String
resp.etag #=> String

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

@overload get_origin_request_policy_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3768
def get_origin_request_policy_config(params = {}, options = {})
  req = build_request(:get_origin_request_policy_config, params)
  req.send_request(options)
end
get_public_key(params = {}, options = {}) click to toggle source

Gets a public key.

@option params [required, String] :id

The identifier of the public key you are getting.

@return [Types::GetPublicKeyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetPublicKeyResult#public_key #public_key} => Types::PublicKey
* {Types::GetPublicKeyResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.public_key.id #=> String
resp.public_key.created_time #=> Time
resp.public_key.public_key_config.caller_reference #=> String
resp.public_key.public_key_config.name #=> String
resp.public_key.public_key_config.encoded_key #=> String
resp.public_key.public_key_config.comment #=> String
resp.etag #=> String

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

@overload get_public_key(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3803
def get_public_key(params = {}, options = {})
  req = build_request(:get_public_key, params)
  req.send_request(options)
end
get_public_key_config(params = {}, options = {}) click to toggle source

Gets a public key configuration.

@option params [required, String] :id

The identifier of the public key whose configuration you are getting.

@return [Types::GetPublicKeyConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetPublicKeyConfigResult#public_key_config #public_key_config} => Types::PublicKeyConfig
* {Types::GetPublicKeyConfigResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example Response structure

resp.public_key_config.caller_reference #=> String
resp.public_key_config.name #=> String
resp.public_key_config.encoded_key #=> String
resp.public_key_config.comment #=> String
resp.etag #=> String

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

@overload get_public_key_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3836
def get_public_key_config(params = {}, options = {})
  req = build_request(:get_public_key_config, params)
  req.send_request(options)
end
get_realtime_log_config(params = {}, options = {}) click to toggle source

Gets a real-time log configuration.

To get a real-time log configuration, you can provide the configuration’s name or its Amazon Resource Name (ARN). You must provide at least one. If you provide both, CloudFront uses the name to identify the real-time log configuration to get.

@option params [String] :name

The name of the real-time log configuration to get.

@option params [String] :arn

The Amazon Resource Name (ARN) of the real-time log configuration to
get.

@return [Types::GetRealtimeLogConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetRealtimeLogConfigResult#realtime_log_config #realtime_log_config} => Types::RealtimeLogConfig

@example Request syntax with placeholder values

resp = client.get_realtime_log_config({
  name: "string",
  arn: "string",
})

@example Response structure

resp.realtime_log_config.arn #=> String
resp.realtime_log_config.name #=> String
resp.realtime_log_config.sampling_rate #=> Integer
resp.realtime_log_config.end_points #=> Array
resp.realtime_log_config.end_points[0].stream_type #=> String
resp.realtime_log_config.end_points[0].kinesis_stream_config.role_arn #=> String
resp.realtime_log_config.end_points[0].kinesis_stream_config.stream_arn #=> String
resp.realtime_log_config.fields #=> Array
resp.realtime_log_config.fields[0] #=> String

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

@overload get_realtime_log_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3882
def get_realtime_log_config(params = {}, options = {})
  req = build_request(:get_realtime_log_config, params)
  req.send_request(options)
end
get_streaming_distribution(params = {}, options = {}) click to toggle source

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

@option params [required, String] :id

The streaming distribution's ID.

@return [Types::GetStreamingDistributionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetStreamingDistributionResult#streaming_distribution #streaming_distribution} => Types::StreamingDistribution
* {Types::GetStreamingDistributionResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example 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].aws_account_number #=> 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

The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):

* streaming_distribution_deployed

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

@overload get_streaming_distribution(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3945
def get_streaming_distribution(params = {}, options = {})
  req = build_request(:get_streaming_distribution, params)
  req.send_request(options)
end
get_streaming_distribution_config(params = {}, options = {}) click to toggle source

Get the configuration information about a streaming distribution.

@option params [required, String] :id

The streaming distribution's ID.

@return [Types::GetStreamingDistributionConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetStreamingDistributionConfigResult#streaming_distribution_config #streaming_distribution_config} => Types::StreamingDistributionConfig
* {Types::GetStreamingDistributionConfigResult#etag #etag} => String

@example Request syntax with placeholder values

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

@example 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

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

@overload get_streaming_distribution_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 3990
def get_streaming_distribution_config(params = {}, options = {})
  req = build_request(:get_streaming_distribution_config, params)
  req.send_request(options)
end
list_cache_policies(params = {}, options = {}) click to toggle source

Gets a list of cache policies.

You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or only the custom policies created in your account.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

@option params [String] :type

A filter to return only the specified kinds of cache policies. Valid
values are:

* `managed` – Returns only the managed policies created by Amazon Web
  Services.

* `custom` – Returns only the custom policies created in your account.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
your list of cache policies. The response includes cache policies in
the list that occur after the marker. To get the next page of the
list, set this field’s value to the value of `NextMarker` from the
current page’s response.

@option params [Integer] :max_items

The maximum number of cache policies that you want in the response.

@return [Types::ListCachePoliciesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListCachePoliciesResult#cache_policy_list #cache_policy_list} => Types::CachePolicyList

@example Request syntax with placeholder values

resp = client.list_cache_policies({
  type: "managed", # accepts managed, custom
  marker: "string",
  max_items: 1,
})

@example Response structure

resp.cache_policy_list.next_marker #=> String
resp.cache_policy_list.max_items #=> Integer
resp.cache_policy_list.quantity #=> Integer
resp.cache_policy_list.items #=> Array
resp.cache_policy_list.items[0].type #=> String, one of "managed", "custom"
resp.cache_policy_list.items[0].cache_policy.id #=> String
resp.cache_policy_list.items[0].cache_policy.last_modified_time #=> Time
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.comment #=> String
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.name #=> String
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.default_ttl #=> Integer
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.max_ttl #=> Integer
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.min_ttl #=> Integer
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_gzip #=> Boolean
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_brotli #=> Boolean
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.header_behavior #=> String, one of "none", "whitelist"
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.quantity #=> Integer
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items #=> Array
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items[0] #=> String
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.quantity #=> Integer
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items #=> Array
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items[0] #=> String
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.quantity #=> Integer
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items #=> Array
resp.cache_policy_list.items[0].cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items[0] #=> String

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

@overload list_cache_policies(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 4072
def list_cache_policies(params = {}, options = {})
  req = build_request(:list_cache_policies, params)
  req.send_request(options)
end
list_cloud_front_origin_access_identities(params = {}, options = {}) click to toggle source

Lists origin access identities.

@option params [String] :marker

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).

@option params [Integer] :max_items

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

@return [Types::ListCloudFrontOriginAccessIdentitiesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListCloudFrontOriginAccessIdentitiesResult#cloud_front_origin_access_identity_list #cloud_front_origin_access_identity_list} => Types::CloudFrontOriginAccessIdentityList

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

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

@example 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

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

@overload list_cloud_front_origin_access_identities(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 4120
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_conflicting_aliases(params = {}, options = {}) click to toggle source

Gets a list of aliases (also called CNAMEs or alternate domain names) that conflict or overlap with the provided alias, and the associated CloudFront distributions and Amazon Web Services accounts for each conflicting alias. In the returned list, the distribution and account IDs are partially hidden, which allows you to identify the distributions and accounts that you own, but helps to protect the information of ones that you don’t own.

Use this operation to find aliases that are in use in CloudFront that conflict or overlap with the provided alias. For example, if you provide `www.example.com` as input, the returned list can include `www.example.com` and the overlapping wildcard alternate domain name (`*.example.com`), if they exist. If you provide `*.example.com` as input, the returned list can include `*.example.com` and any alternate domain names covered by that wildcard (for example, `www.example.com`, `test.example.com`, `dev.example.com`, and so on), if they exist.

To list conflicting aliases, you provide the alias to search and the ID of a distribution in your account that has an attached SSL/TLS certificate that includes the provided alias. For more information, including how to set up the distribution and certificate, see [Moving an alternate domain name to a different distribution] in the *Amazon CloudFront Developer Guide*.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-move

@option params [required, String] :distribution_id

The ID of a distribution in your account that has an attached SSL/TLS
certificate that includes the provided alias.

@option params [required, String] :alias

The alias (also called a CNAME) to search for conflicting aliases.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
the list of conflicting aliases. The response includes conflicting
aliases in the list that occur after the marker. To get the next page
of the list, set this field’s value to the value of `NextMarker` from
the current page’s response.

@option params [Integer] :max_items

The maximum number of conflicting aliases that you want in the
response.

@return [Types::ListConflictingAliasesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListConflictingAliasesResult#conflicting_aliases_list #conflicting_aliases_list} => Types::ConflictingAliasesList

@example Request syntax with placeholder values

resp = client.list_conflicting_aliases({
  distribution_id: "distributionIdString", # required
  alias: "aliasString", # required
  marker: "string",
  max_items: 1,
})

@example Response structure

resp.conflicting_aliases_list.next_marker #=> String
resp.conflicting_aliases_list.max_items #=> Integer
resp.conflicting_aliases_list.quantity #=> Integer
resp.conflicting_aliases_list.items #=> Array
resp.conflicting_aliases_list.items[0].alias #=> String
resp.conflicting_aliases_list.items[0].distribution_id #=> String
resp.conflicting_aliases_list.items[0].account_id #=> String

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

@overload list_conflicting_aliases(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 4205
def list_conflicting_aliases(params = {}, options = {})
  req = build_request(:list_conflicting_aliases, params)
  req.send_request(options)
end
list_distributions(params = {}, options = {}) click to toggle source

List CloudFront distributions.

@option params [String] :marker

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).

@option params [Integer] :max_items

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

@return [Types::ListDistributionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListDistributionsResult#distribution_list #distribution_list} => Types::DistributionList

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

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

@example 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].origins.items[0].connection_attempts #=> Integer
resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
resp.distribution_list.items[0].origin_groups.quantity #=> Integer
resp.distribution_list.items[0].origin_groups.items #=> Array
resp.distribution_list.items[0].origin_groups.items[0].id #=> String
resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items #=> Array
resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
resp.distribution_list.items[0].origin_groups.items[0].members.quantity #=> Integer
resp.distribution_list.items[0].origin_groups.items[0].members.items #=> Array
resp.distribution_list.items[0].origin_groups.items[0].members.items[0].origin_id #=> String
resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> 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.trusted_key_groups.enabled #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.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.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.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].default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.function_associations.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.function_associations.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].function_arn #=> String
resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].default_cache_behavior.field_level_encryption_id #=> String
resp.distribution_list.items[0].default_cache_behavior.realtime_log_config_arn #=> String
resp.distribution_list.items[0].default_cache_behavior.cache_policy_id #=> String
resp.distribution_list.items[0].default_cache_behavior.origin_request_policy_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.min_ttl #=> Integer
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].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].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].trusted_key_groups.enabled #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.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].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].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].cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].cache_behaviors.items[0].field_level_encryption_id #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].realtime_log_config_arn #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].cache_policy_id #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].origin_request_policy_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].min_ttl #=> Integer
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].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", "static-ip"
resp.distribution_list.items[0].viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1", "TLSv1_2016", "TLSv1.1_2016", "TLSv1.2_2018", "TLSv1.2_2019", "TLSv1.2_2021"
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
resp.distribution_list.items[0].alias_icp_recordals #=> Array
resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"

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

@overload list_distributions(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 4406
def list_distributions(params = {}, options = {})
  req = build_request(:list_distributions, params)
  req.send_request(options)
end
list_distributions_by_cache_policy_id(params = {}, options = {}) click to toggle source

Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the specified cache policy.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
your list of distribution IDs. The response includes distribution IDs
in the list that occur after the marker. To get the next page of the
list, set this field’s value to the value of `NextMarker` from the
current page’s response.

@option params [Integer] :max_items

The maximum number of distribution IDs that you want in the response.

@option params [required, String] :cache_policy_id

The ID of the cache policy whose associated distribution IDs you want
to list.

@return [Types::ListDistributionsByCachePolicyIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListDistributionsByCachePolicyIdResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList

@example Request syntax with placeholder values

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

@example Response structure

resp.distribution_id_list.marker #=> String
resp.distribution_id_list.next_marker #=> String
resp.distribution_id_list.max_items #=> Integer
resp.distribution_id_list.is_truncated #=> Boolean
resp.distribution_id_list.quantity #=> Integer
resp.distribution_id_list.items #=> Array
resp.distribution_id_list.items[0] #=> String

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

@overload list_distributions_by_cache_policy_id(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 4461
def list_distributions_by_cache_policy_id(params = {}, options = {})
  req = build_request(:list_distributions_by_cache_policy_id, params)
  req.send_request(options)
end
list_distributions_by_key_group(params = {}, options = {}) click to toggle source

Gets a list of distribution IDs for distributions that have a cache behavior that references the specified key group.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
your list of distribution IDs. The response includes distribution IDs
in the list that occur after the marker. To get the next page of the
list, set this field’s value to the value of `NextMarker` from the
current page’s response.

@option params [Integer] :max_items

The maximum number of distribution IDs that you want in the response.

@option params [required, String] :key_group_id

The ID of the key group whose associated distribution IDs you are
listing.

@return [Types::ListDistributionsByKeyGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListDistributionsByKeyGroupResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList

@example Request syntax with placeholder values

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

@example Response structure

resp.distribution_id_list.marker #=> String
resp.distribution_id_list.next_marker #=> String
resp.distribution_id_list.max_items #=> Integer
resp.distribution_id_list.is_truncated #=> Boolean
resp.distribution_id_list.quantity #=> Integer
resp.distribution_id_list.items #=> Array
resp.distribution_id_list.items[0] #=> String

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

@overload list_distributions_by_key_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 4516
def list_distributions_by_key_group(params = {}, options = {})
  req = build_request(:list_distributions_by_key_group, params)
  req.send_request(options)
end
list_distributions_by_origin_request_policy_id(params = {}, options = {}) click to toggle source

Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the specified origin request policy.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
your list of distribution IDs. The response includes distribution IDs
in the list that occur after the marker. To get the next page of the
list, set this field’s value to the value of `NextMarker` from the
current page’s response.

@option params [Integer] :max_items

The maximum number of distribution IDs that you want in the response.

@option params [required, String] :origin_request_policy_id

The ID of the origin request policy whose associated distribution IDs
you want to list.

@return [Types::ListDistributionsByOriginRequestPolicyIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListDistributionsByOriginRequestPolicyIdResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList

@example Request syntax with placeholder values

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

@example Response structure

resp.distribution_id_list.marker #=> String
resp.distribution_id_list.next_marker #=> String
resp.distribution_id_list.max_items #=> Integer
resp.distribution_id_list.is_truncated #=> Boolean
resp.distribution_id_list.quantity #=> Integer
resp.distribution_id_list.items #=> Array
resp.distribution_id_list.items[0] #=> String

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

@overload list_distributions_by_origin_request_policy_id(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 4571
def list_distributions_by_origin_request_policy_id(params = {}, options = {})
  req = build_request(:list_distributions_by_origin_request_policy_id, params)
  req.send_request(options)
end
list_distributions_by_realtime_log_config(params = {}, options = {}) click to toggle source

Gets a list of distributions that have a cache behavior that’s associated with the specified real-time log configuration.

You can specify the real-time log configuration by its name or its Amazon Resource Name (ARN). You must provide at least one. If you provide both, CloudFront uses the name to identify the real-time log configuration to list distributions for.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
your list of distributions. The response includes distributions in the
list that occur after the marker. To get the next page of the list,
set this field’s value to the value of `NextMarker` from the current
page’s response.

@option params [Integer] :max_items

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

@option params [String] :realtime_log_config_name

The name of the real-time log configuration whose associated
distributions you want to list.

@option params [String] :realtime_log_config_arn

The Amazon Resource Name (ARN) of the real-time log configuration
whose associated distributions you want to list.

@return [Types::ListDistributionsByRealtimeLogConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListDistributionsByRealtimeLogConfigResult#distribution_list #distribution_list} => Types::DistributionList

@example Request syntax with placeholder values

resp = client.list_distributions_by_realtime_log_config({
  marker: "string",
  max_items: 1,
  realtime_log_config_name: "string",
  realtime_log_config_arn: "string",
})

@example 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].origins.items[0].connection_attempts #=> Integer
resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
resp.distribution_list.items[0].origin_groups.quantity #=> Integer
resp.distribution_list.items[0].origin_groups.items #=> Array
resp.distribution_list.items[0].origin_groups.items[0].id #=> String
resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items #=> Array
resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
resp.distribution_list.items[0].origin_groups.items[0].members.quantity #=> Integer
resp.distribution_list.items[0].origin_groups.items[0].members.items #=> Array
resp.distribution_list.items[0].origin_groups.items[0].members.items[0].origin_id #=> String
resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> 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.trusted_key_groups.enabled #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.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.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.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].default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.function_associations.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.function_associations.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].function_arn #=> String
resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].default_cache_behavior.field_level_encryption_id #=> String
resp.distribution_list.items[0].default_cache_behavior.realtime_log_config_arn #=> String
resp.distribution_list.items[0].default_cache_behavior.cache_policy_id #=> String
resp.distribution_list.items[0].default_cache_behavior.origin_request_policy_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.min_ttl #=> Integer
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].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].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].trusted_key_groups.enabled #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.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].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].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].cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].cache_behaviors.items[0].field_level_encryption_id #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].realtime_log_config_arn #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].cache_policy_id #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].origin_request_policy_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].min_ttl #=> Integer
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].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", "static-ip"
resp.distribution_list.items[0].viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1", "TLSv1_2016", "TLSv1.1_2016", "TLSv1.2_2018", "TLSv1.2_2019", "TLSv1.2_2021"
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
resp.distribution_list.items[0].alias_icp_recordals #=> Array
resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"

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

@overload list_distributions_by_realtime_log_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 4793
def list_distributions_by_realtime_log_config(params = {}, options = {})
  req = build_request(:list_distributions_by_realtime_log_config, params)
  req.send_request(options)
end
list_distributions_by_web_acl_id(params = {}, options = {}) click to toggle source

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

@option params [String] :marker

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`.)

@option params [Integer] :max_items

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

@option params [required, String] :web_acl_id

The ID of the 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.

@return [Types::ListDistributionsByWebACLIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListDistributionsByWebACLIdResult#distribution_list #distribution_list} => Types::DistributionList

@example Request syntax with placeholder values

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

@example 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].origins.items[0].connection_attempts #=> Integer
resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
resp.distribution_list.items[0].origin_groups.quantity #=> Integer
resp.distribution_list.items[0].origin_groups.items #=> Array
resp.distribution_list.items[0].origin_groups.items[0].id #=> String
resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items #=> Array
resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
resp.distribution_list.items[0].origin_groups.items[0].members.quantity #=> Integer
resp.distribution_list.items[0].origin_groups.items[0].members.items #=> Array
resp.distribution_list.items[0].origin_groups.items[0].members.items[0].origin_id #=> String
resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> 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.trusted_key_groups.enabled #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.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.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.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].default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution_list.items[0].default_cache_behavior.function_associations.quantity #=> Integer
resp.distribution_list.items[0].default_cache_behavior.function_associations.items #=> Array
resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].function_arn #=> String
resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].default_cache_behavior.field_level_encryption_id #=> String
resp.distribution_list.items[0].default_cache_behavior.realtime_log_config_arn #=> String
resp.distribution_list.items[0].default_cache_behavior.cache_policy_id #=> String
resp.distribution_list.items[0].default_cache_behavior.origin_request_policy_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.min_ttl #=> Integer
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].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].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].trusted_key_groups.enabled #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.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].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].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].cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.quantity #=> Integer
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items #=> Array
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution_list.items[0].cache_behaviors.items[0].field_level_encryption_id #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].realtime_log_config_arn #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].cache_policy_id #=> String
resp.distribution_list.items[0].cache_behaviors.items[0].origin_request_policy_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].min_ttl #=> Integer
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].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", "static-ip"
resp.distribution_list.items[0].viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1", "TLSv1_2016", "TLSv1.1_2016", "TLSv1.2_2018", "TLSv1.2_2019", "TLSv1.2_2021"
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
resp.distribution_list.items[0].alias_icp_recordals #=> Array
resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"

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

@overload list_distributions_by_web_acl_id(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5001
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_field_level_encryption_configs(params = {}, options = {}) click to toggle source

List all field-level encryption configurations that have been created in CloudFront for this account.

@option params [String] :marker

Use this when paginating results to indicate where to begin in your
list of configurations. The results include configurations 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 configuration on that
page).

@option params [Integer] :max_items

The maximum number of field-level encryption configurations you want
in the response body.

@return [Types::ListFieldLevelEncryptionConfigsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListFieldLevelEncryptionConfigsResult#field_level_encryption_list #field_level_encryption_list} => Types::FieldLevelEncryptionList

@example Request syntax with placeholder values

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

@example Response structure

resp.field_level_encryption_list.next_marker #=> String
resp.field_level_encryption_list.max_items #=> Integer
resp.field_level_encryption_list.quantity #=> Integer
resp.field_level_encryption_list.items #=> Array
resp.field_level_encryption_list.items[0].id #=> String
resp.field_level_encryption_list.items[0].last_modified_time #=> Time
resp.field_level_encryption_list.items[0].comment #=> String
resp.field_level_encryption_list.items[0].query_arg_profile_config.forward_when_query_arg_profile_is_unknown #=> Boolean
resp.field_level_encryption_list.items[0].query_arg_profile_config.query_arg_profiles.quantity #=> Integer
resp.field_level_encryption_list.items[0].query_arg_profile_config.query_arg_profiles.items #=> Array
resp.field_level_encryption_list.items[0].query_arg_profile_config.query_arg_profiles.items[0].query_arg #=> String
resp.field_level_encryption_list.items[0].query_arg_profile_config.query_arg_profiles.items[0].profile_id #=> String
resp.field_level_encryption_list.items[0].content_type_profile_config.forward_when_content_type_is_unknown #=> Boolean
resp.field_level_encryption_list.items[0].content_type_profile_config.content_type_profiles.quantity #=> Integer
resp.field_level_encryption_list.items[0].content_type_profile_config.content_type_profiles.items #=> Array
resp.field_level_encryption_list.items[0].content_type_profile_config.content_type_profiles.items[0].format #=> String, one of "URLEncoded"
resp.field_level_encryption_list.items[0].content_type_profile_config.content_type_profiles.items[0].profile_id #=> String
resp.field_level_encryption_list.items[0].content_type_profile_config.content_type_profiles.items[0].content_type #=> String

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

@overload list_field_level_encryption_configs(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5057
def list_field_level_encryption_configs(params = {}, options = {})
  req = build_request(:list_field_level_encryption_configs, params)
  req.send_request(options)
end
list_field_level_encryption_profiles(params = {}, options = {}) click to toggle source

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

@option params [String] :marker

Use this when paginating results to indicate where to begin in your
list of profiles. The results include profiles 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 profile on that page).

@option params [Integer] :max_items

The maximum number of field-level encryption profiles you want in the
response body.

@return [Types::ListFieldLevelEncryptionProfilesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListFieldLevelEncryptionProfilesResult#field_level_encryption_profile_list #field_level_encryption_profile_list} => Types::FieldLevelEncryptionProfileList

@example Request syntax with placeholder values

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

@example Response structure

resp.field_level_encryption_profile_list.next_marker #=> String
resp.field_level_encryption_profile_list.max_items #=> Integer
resp.field_level_encryption_profile_list.quantity #=> Integer
resp.field_level_encryption_profile_list.items #=> Array
resp.field_level_encryption_profile_list.items[0].id #=> String
resp.field_level_encryption_profile_list.items[0].last_modified_time #=> Time
resp.field_level_encryption_profile_list.items[0].name #=> String
resp.field_level_encryption_profile_list.items[0].encryption_entities.quantity #=> Integer
resp.field_level_encryption_profile_list.items[0].encryption_entities.items #=> Array
resp.field_level_encryption_profile_list.items[0].encryption_entities.items[0].public_key_id #=> String
resp.field_level_encryption_profile_list.items[0].encryption_entities.items[0].provider_id #=> String
resp.field_level_encryption_profile_list.items[0].encryption_entities.items[0].field_patterns.quantity #=> Integer
resp.field_level_encryption_profile_list.items[0].encryption_entities.items[0].field_patterns.items #=> Array
resp.field_level_encryption_profile_list.items[0].encryption_entities.items[0].field_patterns.items[0] #=> String
resp.field_level_encryption_profile_list.items[0].comment #=> String

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

@overload list_field_level_encryption_profiles(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5109
def list_field_level_encryption_profiles(params = {}, options = {})
  req = build_request(:list_field_level_encryption_profiles, params)
  req.send_request(options)
end
list_functions(params = {}, options = {}) click to toggle source

Gets a list of all CloudFront functions in your account.

You can optionally apply a filter to return only the functions that are in the specified stage, either `DEVELOPMENT` or `LIVE`.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
your list of functions. The response includes functions in the list
that occur after the marker. To get the next page of the list, set
this field’s value to the value of `NextMarker` from the current
page’s response.

@option params [Integer] :max_items

The maximum number of functions that you want in the response.

@option params [String] :stage

An optional filter to return only the functions that are in the
specified stage, either `DEVELOPMENT` or `LIVE`.

@return [Types::ListFunctionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListFunctionsResult#function_list #function_list} => Types::FunctionList

@example Request syntax with placeholder values

resp = client.list_functions({
  marker: "string",
  max_items: 1,
  stage: "DEVELOPMENT", # accepts DEVELOPMENT, LIVE
})

@example Response structure

resp.function_list.next_marker #=> String
resp.function_list.max_items #=> Integer
resp.function_list.quantity #=> Integer
resp.function_list.items #=> Array
resp.function_list.items[0].name #=> String
resp.function_list.items[0].status #=> String
resp.function_list.items[0].function_config.comment #=> String
resp.function_list.items[0].function_config.runtime #=> String, one of "cloudfront-js-1.0"
resp.function_list.items[0].function_metadata.function_arn #=> String
resp.function_list.items[0].function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
resp.function_list.items[0].function_metadata.created_time #=> Time
resp.function_list.items[0].function_metadata.last_modified_time #=> Time

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

@overload list_functions(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5171
def list_functions(params = {}, options = {})
  req = build_request(:list_functions, params)
  req.send_request(options)
end
list_invalidations(params = {}, options = {}) click to toggle source

Lists invalidation batches.

@option params [required, String] :distribution_id

The distribution's ID.

@option params [String] :marker

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.

@option params [Integer] :max_items

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

@return [Types::ListInvalidationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListInvalidationsResult#invalidation_list #invalidation_list} => Types::InvalidationList

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

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

@example 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

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

@overload list_invalidations(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5225
def list_invalidations(params = {}, options = {})
  req = build_request(:list_invalidations, params)
  req.send_request(options)
end
list_key_groups(params = {}, options = {}) click to toggle source

Gets a list of key groups.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
your list of key groups. The response includes key groups in the list
that occur after the marker. To get the next page of the list, set
this field’s value to the value of `NextMarker` from the current
page’s response.

@option params [Integer] :max_items

The maximum number of key groups that you want in the response.

@return [Types::ListKeyGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListKeyGroupsResult#key_group_list #key_group_list} => Types::KeyGroupList

@example Request syntax with placeholder values

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

@example Response structure

resp.key_group_list.next_marker #=> String
resp.key_group_list.max_items #=> Integer
resp.key_group_list.quantity #=> Integer
resp.key_group_list.items #=> Array
resp.key_group_list.items[0].key_group.id #=> String
resp.key_group_list.items[0].key_group.last_modified_time #=> Time
resp.key_group_list.items[0].key_group.key_group_config.name #=> String
resp.key_group_list.items[0].key_group.key_group_config.items #=> Array
resp.key_group_list.items[0].key_group.key_group_config.items[0] #=> String
resp.key_group_list.items[0].key_group.key_group_config.comment #=> String

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

@overload list_key_groups(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5277
def list_key_groups(params = {}, options = {})
  req = build_request(:list_key_groups, params)
  req.send_request(options)
end
list_origin_request_policies(params = {}, options = {}) click to toggle source

Gets a list of origin request policies.

You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or only the custom policies created in your account.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

@option params [String] :type

A filter to return only the specified kinds of origin request
policies. Valid values are:

* `managed` – Returns only the managed policies created by Amazon Web
  Services.

* `custom` – Returns only the custom policies created in your account.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
your list of origin request policies. The response includes origin
request policies in the list that occur after the marker. To get the
next page of the list, set this field’s value to the value of
`NextMarker` from the current page’s response.

@option params [Integer] :max_items

The maximum number of origin request policies that you want in the
response.

@return [Types::ListOriginRequestPoliciesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListOriginRequestPoliciesResult#origin_request_policy_list #origin_request_policy_list} => Types::OriginRequestPolicyList

@example Request syntax with placeholder values

resp = client.list_origin_request_policies({
  type: "managed", # accepts managed, custom
  marker: "string",
  max_items: 1,
})

@example Response structure

resp.origin_request_policy_list.next_marker #=> String
resp.origin_request_policy_list.max_items #=> Integer
resp.origin_request_policy_list.quantity #=> Integer
resp.origin_request_policy_list.items #=> Array
resp.origin_request_policy_list.items[0].type #=> String, one of "managed", "custom"
resp.origin_request_policy_list.items[0].origin_request_policy.id #=> String
resp.origin_request_policy_list.items[0].origin_request_policy.last_modified_time #=> Time
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.comment #=> String
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.name #=> String
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront"
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.headers_config.headers.quantity #=> Integer
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.headers_config.headers.items #=> Array
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.headers_config.headers.items[0] #=> String
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.cookies_config.cookies.items #=> Array
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String

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

@overload list_origin_request_policies(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5355
def list_origin_request_policies(params = {}, options = {})
  req = build_request(:list_origin_request_policies, params)
  req.send_request(options)
end
list_public_keys(params = {}, options = {}) click to toggle source

List all public keys that have been added to CloudFront for this account.

@option params [String] :marker

Use this when paginating results to indicate where to begin in your
list of public keys. The results include public keys 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 public key on that page).

@option params [Integer] :max_items

The maximum number of public keys you want in the response body.

@return [Types::ListPublicKeysResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListPublicKeysResult#public_key_list #public_key_list} => Types::PublicKeyList

@example Request syntax with placeholder values

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

@example Response structure

resp.public_key_list.next_marker #=> String
resp.public_key_list.max_items #=> Integer
resp.public_key_list.quantity #=> Integer
resp.public_key_list.items #=> Array
resp.public_key_list.items[0].id #=> String
resp.public_key_list.items[0].name #=> String
resp.public_key_list.items[0].created_time #=> Time
resp.public_key_list.items[0].encoded_key #=> String
resp.public_key_list.items[0].comment #=> String

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

@overload list_public_keys(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5400
def list_public_keys(params = {}, options = {})
  req = build_request(:list_public_keys, params)
  req.send_request(options)
end
list_realtime_log_configs(params = {}, options = {}) click to toggle source

Gets a list of real-time log configurations.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the `NextMarker` value from the current response as the `Marker` value in the subsequent request.

@option params [Integer] :max_items

The maximum number of real-time log configurations that you want in
the response.

@option params [String] :marker

Use this field when paginating results to indicate where to begin in
your list of real-time log configurations. The response includes
real-time log configurations in the list that occur after the marker.
To get the next page of the list, set this field’s value to the value
of `NextMarker` from the current page’s response.

@return [Types::ListRealtimeLogConfigsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListRealtimeLogConfigsResult#realtime_log_configs #realtime_log_configs} => Types::RealtimeLogConfigs

@example Request syntax with placeholder values

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

@example Response structure

resp.realtime_log_configs.max_items #=> Integer
resp.realtime_log_configs.items #=> Array
resp.realtime_log_configs.items[0].arn #=> String
resp.realtime_log_configs.items[0].name #=> String
resp.realtime_log_configs.items[0].sampling_rate #=> Integer
resp.realtime_log_configs.items[0].end_points #=> Array
resp.realtime_log_configs.items[0].end_points[0].stream_type #=> String
resp.realtime_log_configs.items[0].end_points[0].kinesis_stream_config.role_arn #=> String
resp.realtime_log_configs.items[0].end_points[0].kinesis_stream_config.stream_arn #=> String
resp.realtime_log_configs.items[0].fields #=> Array
resp.realtime_log_configs.items[0].fields[0] #=> String
resp.realtime_log_configs.is_truncated #=> Boolean
resp.realtime_log_configs.marker #=> String
resp.realtime_log_configs.next_marker #=> String

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

@overload list_realtime_log_configs(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5457
def list_realtime_log_configs(params = {}, options = {})
  req = build_request(:list_realtime_log_configs, params)
  req.send_request(options)
end
list_streaming_distributions(params = {}, options = {}) click to toggle source

List streaming distributions.

@option params [String] :marker

The value that you provided for the `Marker` request parameter.

@option params [Integer] :max_items

The value that you provided for the `MaxItems` request parameter.

@return [Types::ListStreamingDistributionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListStreamingDistributionsResult#streaming_distribution_list #streaming_distribution_list} => Types::StreamingDistributionList

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

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

@example 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

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

@overload list_streaming_distributions(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5513
def list_streaming_distributions(params = {}, options = {})
  req = build_request(:list_streaming_distributions, params)
  req.send_request(options)
end
list_tags_for_resource(params = {}, options = {}) click to toggle source

List tags for a CloudFront resource.

@option params [required, String] :resource

An ARN of a CloudFront resource.

@return [Types::ListTagsForResourceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListTagsForResourceResult#tags #tags} => Types::Tags

@example Request syntax with placeholder values

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

@example Response structure

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

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

@overload list_tags_for_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5543
def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end
publish_function(params = {}, options = {}) click to toggle source

Publishes a CloudFront function by copying the function code from the `DEVELOPMENT` stage to `LIVE`. This automatically updates all cache behaviors that are using this function to use the newly published copy in the `LIVE` stage.

When a function is published to the `LIVE` stage, you can attach the function to a distribution’s cache behavior, using the function’s Amazon Resource Name (ARN).

To publish a function, you must provide the function’s name and version (`ETag` value). To get these values, you can use `ListFunctions` and `DescribeFunction`.

@option params [required, String] :name

The name of the function that you are publishing.

@option params [required, String] :if_match

The current version (`ETag` value) of the function that you are
publishing, which you can get using `DescribeFunction`.

@return [Types::PublishFunctionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::PublishFunctionResult#function_summary #function_summary} => Types::FunctionSummary

@example Request syntax with placeholder values

resp = client.publish_function({
  name: "string", # required
  if_match: "string", # required
})

@example Response structure

resp.function_summary.name #=> String
resp.function_summary.status #=> String
resp.function_summary.function_config.comment #=> String
resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
resp.function_summary.function_metadata.function_arn #=> String
resp.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
resp.function_summary.function_metadata.created_time #=> Time
resp.function_summary.function_metadata.last_modified_time #=> Time

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

@overload publish_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5594
def publish_function(params = {}, options = {})
  req = build_request(:publish_function, params)
  req.send_request(options)
end
tag_resource(params = {}, options = {}) click to toggle source

Add tags to a CloudFront resource.

@option params [required, String] :resource

An ARN of a CloudFront resource.

@option params [required, Types::Tags] :tags

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

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload tag_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5627
def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end
test_function(params = {}, options = {}) click to toggle source

Tests a CloudFront function.

To test a function, you provide an *event object* that represents an HTTP request or response that your CloudFront distribution could receive in production. CloudFront runs the function, passing it the event object that you provided, and returns the function’s result (the modified event object) in the response. The response also contains function logs and error messages, if any exist. For more information about testing functions, see [Testing functions] in the *Amazon CloudFront Developer Guide*.

To test a function, you provide the function’s name and version (`ETag` value) along with the event object. To get the function’s name and version, you can use `ListFunctions` and `DescribeFunction`.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/managing-functions.html#test-function

@option params [required, String] :name

The name of the function that you are testing.

@option params [required, String] :if_match

The current version (`ETag` value) of the function that you are
testing, which you can get using `DescribeFunction`.

@option params [String] :stage

The stage of the function that you are testing, either `DEVELOPMENT`
or `LIVE`.

@option params [required, String, StringIO, File] :event_object

The event object to test the function with. For more information about
the structure of the event object, see [Testing functions][1] in the
*Amazon CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/managing-functions.html#test-function

@return [Types::TestFunctionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::TestFunctionResult#test_result #test_result} => Types::TestResult

@example Request syntax with placeholder values

resp = client.test_function({
  name: "string", # required
  if_match: "string", # required
  stage: "DEVELOPMENT", # accepts DEVELOPMENT, LIVE
  event_object: "data", # required
})

@example Response structure

resp.test_result.function_summary.name #=> String
resp.test_result.function_summary.status #=> String
resp.test_result.function_summary.function_config.comment #=> String
resp.test_result.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
resp.test_result.function_summary.function_metadata.function_arn #=> String
resp.test_result.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
resp.test_result.function_summary.function_metadata.created_time #=> Time
resp.test_result.function_summary.function_metadata.last_modified_time #=> Time
resp.test_result.compute_utilization #=> String
resp.test_result.function_execution_logs #=> Array
resp.test_result.function_execution_logs[0] #=> String
resp.test_result.function_error_message #=> String
resp.test_result.function_output #=> String

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

@overload test_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5704
def test_function(params = {}, options = {})
  req = build_request(:test_function, params)
  req.send_request(options)
end
untag_resource(params = {}, options = {}) click to toggle source

Remove tags from a CloudFront resource.

@option params [required, String] :resource

An ARN of a CloudFront resource.

@option params [required, Types::TagKeys] :tag_keys

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

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

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

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

@overload untag_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5732
def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end
update_cache_policy(params = {}, options = {}) click to toggle source

Updates a cache policy configuration.

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

  1. Use `GetCachePolicyConfig` to get the current configuration.

  2. Locally modify the fields in the cache policy configuration that you want to update.

  3. Call `UpdateCachePolicy` by providing the entire cache policy configuration, including the fields that you modified and those that you didn’t.

@option params [required, Types::CachePolicyConfig] :cache_policy_config

A cache policy configuration.

@option params [required, String] :id

The unique identifier for the cache policy that you are updating. The
identifier is returned in a cache behavior’s `CachePolicyId` field in
the response to `GetDistributionConfig`.

@option params [String] :if_match

The version of the cache policy that you are updating. The version is
returned in the cache policy’s `ETag` field in the response to
`GetCachePolicyConfig`.

@return [Types::UpdateCachePolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateCachePolicyResult#cache_policy #cache_policy} => Types::CachePolicy
* {Types::UpdateCachePolicyResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.update_cache_policy({
  cache_policy_config: { # required
    comment: "string",
    name: "string", # required
    default_ttl: 1,
    max_ttl: 1,
    min_ttl: 1, # required
    parameters_in_cache_key_and_forwarded_to_origin: {
      enable_accept_encoding_gzip: false, # required
      enable_accept_encoding_brotli: false,
      headers_config: { # required
        header_behavior: "none", # required, accepts none, whitelist
        headers: {
          quantity: 1, # required
          items: ["string"],
        },
      },
      cookies_config: { # required
        cookie_behavior: "none", # required, accepts none, whitelist, allExcept, all
        cookies: {
          quantity: 1, # required
          items: ["string"],
        },
      },
      query_strings_config: { # required
        query_string_behavior: "none", # required, accepts none, whitelist, allExcept, all
        query_strings: {
          quantity: 1, # required
          items: ["string"],
        },
      },
    },
  },
  id: "string", # required
  if_match: "string",
})

@example Response structure

resp.cache_policy.id #=> String
resp.cache_policy.last_modified_time #=> Time
resp.cache_policy.cache_policy_config.comment #=> String
resp.cache_policy.cache_policy_config.name #=> String
resp.cache_policy.cache_policy_config.default_ttl #=> Integer
resp.cache_policy.cache_policy_config.max_ttl #=> Integer
resp.cache_policy.cache_policy_config.min_ttl #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_gzip #=> Boolean
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_brotli #=> Boolean
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.header_behavior #=> String, one of "none", "whitelist"
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.quantity #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items #=> Array
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items[0] #=> String
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.quantity #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items #=> Array
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items[0] #=> String
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "allExcept", "all"
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.quantity #=> Integer
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items #=> Array
resp.cache_policy.cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items[0] #=> String
resp.etag #=> String

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

@overload update_cache_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5839
def update_cache_policy(params = {}, options = {})
  req = build_request(:update_cache_policy, params)
  req.send_request(options)
end
update_cloud_front_origin_access_identity(params = {}, options = {}) click to toggle source

Update an origin access identity.

@option params [required, Types::CloudFrontOriginAccessIdentityConfig] :cloud_front_origin_access_identity_config

The identity's configuration information.

@option params [required, String] :id

The identity's id.

@option params [String] :if_match

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

@return [Types::UpdateCloudFrontOriginAccessIdentityResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateCloudFrontOriginAccessIdentityResult#cloud_front_origin_access_identity #cloud_front_origin_access_identity} => Types::CloudFrontOriginAccessIdentity
* {Types::UpdateCloudFrontOriginAccessIdentityResult#etag #etag} => String

@example 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",
})

@example 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

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

@overload update_cloud_front_origin_access_identity(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 5884
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 = {}, options = {}) click to toggle source

Updates the configuration for a web distribution.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using this API action, follow the steps here to get the current configuration and then make your updates, to make sure that you include all of the required fields. To view a summary, see [Required Fields for Create Distribution and Update Distribution] in the *Amazon CloudFront Developer Guide*.

The update process includes getting the current distribution configuration, updating the XML document that is returned to make your changes, and then submitting an `UpdateDistribution` request to make the updates.

For information about updating a distribution using the CloudFront console instead, see [Creating a Distribution] 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.

    <note markdown=“1”> If you update the distribution again, you must get a new `Etag` header.

    </note>
  2. Update the XML document that was returned in the response to your `GetDistributionConfig` request to include your changes.

    When you edit the XML file, be aware of the following:

    * You must strip out the ETag parameter that is returned.
    • Additional fields are required when you update a distribution. There may be fields included in the XML file for features that you haven't configured for your distribution. This is expected and required to successfully update the distribution.

    • 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 your 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`.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html [2]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html [3]: docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html [4]: docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html

@option params [required, Types::DistributionConfig] :distribution_config

The distribution's configuration information.

@option params [required, String] :id

The distribution's id.

@option params [String] :if_match

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

@return [Types::UpdateDistributionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateDistributionResult#distribution #distribution} => Types::Distribution
* {Types::UpdateDistributionResult#etag #etag} => String

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

@example 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].aws_account_number #=> 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.active_trusted_key_groups.enabled #=> Boolean
resp.distribution.active_trusted_key_groups.quantity #=> Integer
resp.distribution.active_trusted_key_groups.items #=> Array
resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
resp.distribution.active_trusted_key_groups.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.origins.items[0].connection_attempts #=> Integer
resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
resp.distribution.distribution_config.origin_groups.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].id #=> String
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> 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.trusted_key_groups.enabled #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.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.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.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.default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution.distribution_config.default_cache_behavior.function_associations.quantity #=> Integer
resp.distribution.distribution_config.default_cache_behavior.function_associations.items #=> Array
resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].function_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.default_cache_behavior.field_level_encryption_id #=> String
resp.distribution.distribution_config.default_cache_behavior.realtime_log_config_arn #=> String
resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_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.min_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
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].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].trusted_key_groups.enabled #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.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].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].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.cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.quantity #=> Integer
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items #=> Array
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
resp.distribution.distribution_config.cache_behaviors.items[0].field_level_encryption_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].realtime_log_config_arn #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_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].min_ttl #=> Integer
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.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", "static-ip"
resp.distribution.distribution_config.viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1", "TLSv1_2016", "TLSv1.1_2016", "TLSv1.2_2018", "TLSv1.2_2019", "TLSv1.2_2021"
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.distribution.alias_icp_recordals #=> Array
resp.distribution.alias_icp_recordals[0].cname #=> String
resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
resp.etag #=> String

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

@overload update_distribution(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 6425
def update_distribution(params = {}, options = {})
  req = build_request(:update_distribution, params)
  req.send_request(options)
end
update_field_level_encryption_config(params = {}, options = {}) click to toggle source

Update a field-level encryption configuration.

@option params [required, Types::FieldLevelEncryptionConfig] :field_level_encryption_config

Request to update a field-level encryption configuration.

@option params [required, String] :id

The ID of the configuration you want to update.

@option params [String] :if_match

The value of the `ETag` header that you received when retrieving the
configuration identity to update. For example: `E2QWRUHAPOMQZL`.

@return [Types::UpdateFieldLevelEncryptionConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateFieldLevelEncryptionConfigResult#field_level_encryption #field_level_encryption} => Types::FieldLevelEncryption
* {Types::UpdateFieldLevelEncryptionConfigResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.update_field_level_encryption_config({
  field_level_encryption_config: { # required
    caller_reference: "string", # required
    comment: "string",
    query_arg_profile_config: {
      forward_when_query_arg_profile_is_unknown: false, # required
      query_arg_profiles: {
        quantity: 1, # required
        items: [
          {
            query_arg: "string", # required
            profile_id: "string", # required
          },
        ],
      },
    },
    content_type_profile_config: {
      forward_when_content_type_is_unknown: false, # required
      content_type_profiles: {
        quantity: 1, # required
        items: [
          {
            format: "URLEncoded", # required, accepts URLEncoded
            profile_id: "string",
            content_type: "string", # required
          },
        ],
      },
    },
  },
  id: "string", # required
  if_match: "string",
})

@example Response structure

resp.field_level_encryption.id #=> String
resp.field_level_encryption.last_modified_time #=> Time
resp.field_level_encryption.field_level_encryption_config.caller_reference #=> String
resp.field_level_encryption.field_level_encryption_config.comment #=> String
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.forward_when_query_arg_profile_is_unknown #=> Boolean
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.quantity #=> Integer
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items #=> Array
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items[0].query_arg #=> String
resp.field_level_encryption.field_level_encryption_config.query_arg_profile_config.query_arg_profiles.items[0].profile_id #=> String
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.forward_when_content_type_is_unknown #=> Boolean
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.quantity #=> Integer
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items #=> Array
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].format #=> String, one of "URLEncoded"
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].profile_id #=> String
resp.field_level_encryption.field_level_encryption_config.content_type_profile_config.content_type_profiles.items[0].content_type #=> String
resp.etag #=> String

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

@overload update_field_level_encryption_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 6506
def update_field_level_encryption_config(params = {}, options = {})
  req = build_request(:update_field_level_encryption_config, params)
  req.send_request(options)
end
update_field_level_encryption_profile(params = {}, options = {}) click to toggle source

Update a field-level encryption profile.

@option params [required, Types::FieldLevelEncryptionProfileConfig] :field_level_encryption_profile_config

Request to update a field-level encryption profile.

@option params [required, String] :id

The ID of the field-level encryption profile request.

@option params [String] :if_match

The value of the `ETag` header that you received when retrieving the
profile identity to update. For example: `E2QWRUHAPOMQZL`.

@return [Types::UpdateFieldLevelEncryptionProfileResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateFieldLevelEncryptionProfileResult#field_level_encryption_profile #field_level_encryption_profile} => Types::FieldLevelEncryptionProfile
* {Types::UpdateFieldLevelEncryptionProfileResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.update_field_level_encryption_profile({
  field_level_encryption_profile_config: { # required
    name: "string", # required
    caller_reference: "string", # required
    comment: "string",
    encryption_entities: { # required
      quantity: 1, # required
      items: [
        {
          public_key_id: "string", # required
          provider_id: "string", # required
          field_patterns: { # required
            quantity: 1, # required
            items: ["string"],
          },
        },
      ],
    },
  },
  id: "string", # required
  if_match: "string",
})

@example Response structure

resp.field_level_encryption_profile.id #=> String
resp.field_level_encryption_profile.last_modified_time #=> Time
resp.field_level_encryption_profile.field_level_encryption_profile_config.name #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.caller_reference #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.comment #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.quantity #=> Integer
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items #=> Array
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].public_key_id #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].provider_id #=> String
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.quantity #=> Integer
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.items #=> Array
resp.field_level_encryption_profile.field_level_encryption_profile_config.encryption_entities.items[0].field_patterns.items[0] #=> String
resp.etag #=> String

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

@overload update_field_level_encryption_profile(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 6573
def update_field_level_encryption_profile(params = {}, options = {})
  req = build_request(:update_field_level_encryption_profile, params)
  req.send_request(options)
end
update_function(params = {}, options = {}) click to toggle source

Updates a CloudFront function.

You can update a function’s code or the comment that describes the function. You cannot update a function’s name.

To update a function, you provide the function’s name and version (`ETag` value) along with the updated function code. To get the name and version, you can use `ListFunctions` and `DescribeFunction`.

@option params [required, String] :name

The name of the function that you are updating.

@option params [required, String] :if_match

The current version (`ETag` value) of the function that you are
updating, which you can get using `DescribeFunction`.

@option params [required, Types::FunctionConfig] :function_config

Configuration information about the function.

@option params [required, String, StringIO, File] :function_code

The function code. For more information about writing a CloudFront
function, see [Writing function code for CloudFront Functions][1] in
the *Amazon CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html

@return [Types::UpdateFunctionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateFunctionResult#function_summary #function_summary} => Types::FunctionSummary
* {Types::UpdateFunctionResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.update_function({
  name: "string", # required
  if_match: "string", # required
  function_config: { # required
    comment: "string", # required
    runtime: "cloudfront-js-1.0", # required, accepts cloudfront-js-1.0
  },
  function_code: "data", # required
})

@example Response structure

resp.function_summary.name #=> String
resp.function_summary.status #=> String
resp.function_summary.function_config.comment #=> String
resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
resp.function_summary.function_metadata.function_arn #=> String
resp.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
resp.function_summary.function_metadata.created_time #=> Time
resp.function_summary.function_metadata.last_modified_time #=> Time
resp.etag #=> String

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

@overload update_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 6639
def update_function(params = {}, options = {})
  req = build_request(:update_function, params)
  req.send_request(options)
end
update_key_group(params = {}, options = {}) click to toggle source

Updates a key group.

When you update a key group, all the fields are updated with the values provided in the request. You cannot update some fields independent of others. To update a key group:

  1. Get the current key group with `GetKeyGroup` or `GetKeyGroupConfig`.

  2. Locally modify the fields in the key group that you want to update. For example, add or remove public key IDs.

  3. Call `UpdateKeyGroup` with the entire key group object, including the fields that you modified and those that you didn’t.

@option params [required, Types::KeyGroupConfig] :key_group_config

The key group configuration.

@option params [required, String] :id

The identifier of the key group that you are updating.

@option params [String] :if_match

The version of the key group that you are updating. The version is the
key group’s `ETag` value.

@return [Types::UpdateKeyGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateKeyGroupResult#key_group #key_group} => Types::KeyGroup
* {Types::UpdateKeyGroupResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.update_key_group({
  key_group_config: { # required
    name: "string", # required
    items: ["string"], # required
    comment: "string",
  },
  id: "string", # required
  if_match: "string",
})

@example Response structure

resp.key_group.id #=> String
resp.key_group.last_modified_time #=> Time
resp.key_group.key_group_config.name #=> String
resp.key_group.key_group_config.items #=> Array
resp.key_group.key_group_config.items[0] #=> String
resp.key_group.key_group_config.comment #=> String
resp.etag #=> String

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

@overload update_key_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 6700
def update_key_group(params = {}, options = {})
  req = build_request(:update_key_group, params)
  req.send_request(options)
end
update_origin_request_policy(params = {}, options = {}) click to toggle source

Updates an origin request policy configuration.

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

  1. Use `GetOriginRequestPolicyConfig` to get the current configuration.

  2. Locally modify the fields in the origin request policy configuration that you want to update.

  3. Call `UpdateOriginRequestPolicy` by providing the entire origin request policy configuration, including the fields that you modified and those that you didn’t.

@option params [required, Types::OriginRequestPolicyConfig] :origin_request_policy_config

An origin request policy configuration.

@option params [required, String] :id

The unique identifier for the origin request policy that you are
updating. The identifier is returned in a cache behavior’s
`OriginRequestPolicyId` field in the response to
`GetDistributionConfig`.

@option params [String] :if_match

The version of the origin request policy that you are updating. The
version is returned in the origin request policy’s `ETag` field in the
response to `GetOriginRequestPolicyConfig`.

@return [Types::UpdateOriginRequestPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateOriginRequestPolicyResult#origin_request_policy #origin_request_policy} => Types::OriginRequestPolicy
* {Types::UpdateOriginRequestPolicyResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.update_origin_request_policy({
  origin_request_policy_config: { # required
    comment: "string",
    name: "string", # required
    headers_config: { # required
      header_behavior: "none", # required, accepts none, whitelist, allViewer, allViewerAndWhitelistCloudFront
      headers: {
        quantity: 1, # required
        items: ["string"],
      },
    },
    cookies_config: { # required
      cookie_behavior: "none", # required, accepts none, whitelist, all
      cookies: {
        quantity: 1, # required
        items: ["string"],
      },
    },
    query_strings_config: { # required
      query_string_behavior: "none", # required, accepts none, whitelist, all
      query_strings: {
        quantity: 1, # required
        items: ["string"],
      },
    },
  },
  id: "string", # required
  if_match: "string",
})

@example Response structure

resp.origin_request_policy.id #=> String
resp.origin_request_policy.last_modified_time #=> Time
resp.origin_request_policy.origin_request_policy_config.comment #=> String
resp.origin_request_policy.origin_request_policy_config.name #=> String
resp.origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront"
resp.origin_request_policy.origin_request_policy_config.headers_config.headers.quantity #=> Integer
resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items #=> Array
resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items[0] #=> String
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items #=> Array
resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all"
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String
resp.etag #=> String

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

@overload update_origin_request_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 6797
def update_origin_request_policy(params = {}, options = {})
  req = build_request(:update_origin_request_policy, params)
  req.send_request(options)
end
update_public_key(params = {}, options = {}) click to toggle source

Update public key information. Note that the only value you can change is the comment.

@option params [required, Types::PublicKeyConfig] :public_key_config

A public key configuration.

@option params [required, String] :id

The identifier of the public key that you are updating.

@option params [String] :if_match

The value of the `ETag` header that you received when retrieving the
public key to update. For example: `E2QWRUHAPOMQZL`.

@return [Types::UpdatePublicKeyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdatePublicKeyResult#public_key #public_key} => Types::PublicKey
* {Types::UpdatePublicKeyResult#etag #etag} => String

@example Request syntax with placeholder values

resp = client.update_public_key({
  public_key_config: { # required
    caller_reference: "string", # required
    name: "string", # required
    encoded_key: "string", # required
    comment: "string",
  },
  id: "string", # required
  if_match: "string",
})

@example Response structure

resp.public_key.id #=> String
resp.public_key.created_time #=> Time
resp.public_key.public_key_config.caller_reference #=> String
resp.public_key.public_key_config.name #=> String
resp.public_key.public_key_config.encoded_key #=> String
resp.public_key.public_key_config.comment #=> String
resp.etag #=> String

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

@overload update_public_key(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 6847
def update_public_key(params = {}, options = {})
  req = build_request(:update_public_key, params)
  req.send_request(options)
end
update_realtime_log_config(params = {}, options = {}) click to toggle source

Updates a real-time log configuration.

When you update a real-time log configuration, all the parameters are updated with the values provided in the request. You cannot update some parameters independent of others. To update a real-time log configuration:

  1. Call `GetRealtimeLogConfig` to get the current real-time log configuration.

  2. Locally modify the parameters in the real-time log configuration that you want to update.

  3. Call this API (`UpdateRealtimeLogConfig`) by providing the entire real-time log configuration, including the parameters that you modified and those that you didn’t.

You cannot update a real-time log configuration’s `Name` or `ARN`.

@option params [Array<Types::EndPoint>] :end_points

Contains information about the Amazon Kinesis data stream where you
are sending real-time log data.

@option params [Array<String>] :fields

A list of fields to include in each real-time log record.

For more information about fields, see [Real-time log configuration
fields][1] in the *Amazon CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields

@option params [String] :name

The name for this real-time log configuration.

@option params [String] :arn

The Amazon Resource Name (ARN) for this real-time log configuration.

@option params [Integer] :sampling_rate

The sampling rate for this real-time log configuration. The sampling
rate determines the percentage of viewer requests that are represented
in the real-time log data. You must provide an integer between 1 and
100, inclusive.

@return [Types::UpdateRealtimeLogConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateRealtimeLogConfigResult#realtime_log_config #realtime_log_config} => Types::RealtimeLogConfig

@example Request syntax with placeholder values

resp = client.update_realtime_log_config({
  end_points: [
    {
      stream_type: "string", # required
      kinesis_stream_config: {
        role_arn: "string", # required
        stream_arn: "string", # required
      },
    },
  ],
  fields: ["string"],
  name: "string",
  arn: "string",
  sampling_rate: 1,
})

@example Response structure

resp.realtime_log_config.arn #=> String
resp.realtime_log_config.name #=> String
resp.realtime_log_config.sampling_rate #=> Integer
resp.realtime_log_config.end_points #=> Array
resp.realtime_log_config.end_points[0].stream_type #=> String
resp.realtime_log_config.end_points[0].kinesis_stream_config.role_arn #=> String
resp.realtime_log_config.end_points[0].kinesis_stream_config.stream_arn #=> String
resp.realtime_log_config.fields #=> Array
resp.realtime_log_config.fields[0] #=> String

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

@overload update_realtime_log_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 6935
def update_realtime_log_config(params = {}, options = {})
  req = build_request(:update_realtime_log_config, params)
  req.send_request(options)
end
update_streaming_distribution(params = {}, options = {}) click to toggle source

Update a streaming distribution.

@option params [required, Types::StreamingDistributionConfig] :streaming_distribution_config

The streaming distribution's configuration information.

@option params [required, String] :id

The streaming distribution's id.

@option params [String] :if_match

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

@return [Types::UpdateStreamingDistributionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateStreamingDistributionResult#streaming_distribution #streaming_distribution} => Types::StreamingDistribution
* {Types::UpdateStreamingDistributionResult#etag #etag} => String

@example 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",
})

@example 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].aws_account_number #=> 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

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

@overload update_streaming_distribution(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-cloudfront/client.rb, line 7025
def update_streaming_distribution(params = {}, options = {})
  req = build_request(:update_streaming_distribution, params)
  req.send_request(options)
end
wait_until(waiter_name, params = {}, options = {}) { |waiter| ... } click to toggle source

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.wait_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 {Aws::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 | {Client#get_distribution} | 60 | 35 | | invalidation_completed | {Client#get_invalidation} | 20 | 30 | | streaming_distribution_deployed | {Client#get_streaming_distribution} | 60 | 25 |

@raise [Errors::FailureStateError] Raised when the waiter terminates

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

@raise [Errors::TooManyAttemptsError] Raised when the configured

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

@raise [Errors::UnexpectedError] Raised when an error is encounted

while polling for a resource that is not expected.

@raise [Errors::NoSuchWaiterError] Raised when you request to wait

for an unknown state.

@return [Boolean] Returns `true` if the waiter was successful. @param [Symbol] waiter_name @param [Hash] params ({}) @param [Hash] options ({}) @option options [Integer] :max_attempts @option options [Integer] :delay @option options [Proc] :before_attempt @option options [Proc] :before_wait

# File lib/aws-sdk-cloudfront/client.rb, line 7137
def wait_until(waiter_name, params = {}, options = {})
  w = waiter(waiter_name, options)
  yield(w.waiter) if block_given? # deprecated
  w.wait(params)
end
waiter_names() click to toggle source

@api private @deprecated

# File lib/aws-sdk-cloudfront/client.rb, line 7145
def waiter_names
  waiters.keys
end

Private Instance Methods

waiter(waiter_name, options = {}) click to toggle source

@param [Symbol] waiter_name @param [Hash] options ({})

# File lib/aws-sdk-cloudfront/client.rb, line 7153
def waiter(waiter_name, options = {})
  waiter_class = waiters[waiter_name]
  if waiter_class
    waiter_class.new(options.merge(client: self))
  else
    raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
  end
end
waiters() click to toggle source
# File lib/aws-sdk-cloudfront/client.rb, line 7162
def waiters
  {
    distribution_deployed: Waiters::DistributionDeployed,
    invalidation_completed: Waiters::InvalidationCompleted,
    streaming_distribution_deployed: Waiters::StreamingDistributionDeployed
  }
end