# frozen_string_literal: true # WARNING ABOUT GENERATED CODE # # This file is generated. See the contributing guide for more information: # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md # # WARNING ABOUT GENERATED CODE require 'seahorse/client/plugins/content_length.rb' require 'aws-sdk-core/plugins/credentials_configuration.rb' require 'aws-sdk-core/plugins/logging.rb' require 'aws-sdk-core/plugins/param_converter.rb' require 'aws-sdk-core/plugins/param_validator.rb' require 'aws-sdk-core/plugins/user_agent.rb' require 'aws-sdk-core/plugins/helpful_socket_errors.rb' require 'aws-sdk-core/plugins/retry_errors.rb' require 'aws-sdk-core/plugins/global_configuration.rb' require 'aws-sdk-core/plugins/regional_endpoint.rb' require 'aws-sdk-core/plugins/endpoint_discovery.rb' require 'aws-sdk-core/plugins/endpoint_pattern.rb' require 'aws-sdk-core/plugins/response_paging.rb' require 'aws-sdk-core/plugins/stub_responses.rb' require 'aws-sdk-core/plugins/idempotency_token.rb' require 'aws-sdk-core/plugins/jsonvalue_converter.rb' require 'aws-sdk-core/plugins/client_metrics_plugin.rb' require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb' require 'aws-sdk-core/plugins/transfer_encoding.rb' require 'aws-sdk-core/plugins/http_checksum.rb' require 'aws-sdk-core/plugins/signature_v4.rb' require 'aws-sdk-core/plugins/protocols/rest_xml.rb' Aws::Plugins::GlobalConfiguration.add_identifier(:cloudfront) module Aws::CloudFront # 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. class Client < Seahorse::Client::Base include Aws::ClientStubs @identifier = :cloudfront set_api(ClientApi::API) add_plugin(Seahorse::Client::Plugins::ContentLength) add_plugin(Aws::Plugins::CredentialsConfiguration) add_plugin(Aws::Plugins::Logging) add_plugin(Aws::Plugins::ParamConverter) add_plugin(Aws::Plugins::ParamValidator) add_plugin(Aws::Plugins::UserAgent) add_plugin(Aws::Plugins::HelpfulSocketErrors) add_plugin(Aws::Plugins::RetryErrors) add_plugin(Aws::Plugins::GlobalConfiguration) add_plugin(Aws::Plugins::RegionalEndpoint) add_plugin(Aws::Plugins::EndpointDiscovery) add_plugin(Aws::Plugins::EndpointPattern) add_plugin(Aws::Plugins::ResponsePaging) add_plugin(Aws::Plugins::StubResponses) add_plugin(Aws::Plugins::IdempotencyToken) add_plugin(Aws::Plugins::JsonvalueConverter) add_plugin(Aws::Plugins::ClientMetricsPlugin) add_plugin(Aws::Plugins::ClientMetricsSendPlugin) add_plugin(Aws::Plugins::TransferEncoding) add_plugin(Aws::Plugins::HttpChecksum) add_plugin(Aws::Plugins::SignatureV4) add_plugin(Aws::Plugins::Protocols::RestXml) # @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. # def initialize(*args) super end # @!group API Operations # 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]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/AssociateAlias2020_05_31 AWS API Documentation # # @overload associate_alias(params = {}) # @param [Hash] params ({}) def associate_alias(params = {}, options = {}) req = build_request(:associate_alias, params) req.send_request(options) end # 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][1] in the *Amazon CloudFront Developer Guide*. # # # # [1]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCachePolicy2020_05_31 AWS API Documentation # # @overload create_cache_policy(params = {}) # @param [Hash] params ({}) def create_cache_policy(params = {}, options = {}) req = build_request(:create_cache_policy, params) req.send_request(options) end # 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][1] in the *Amazon # CloudFront Developer Guide*. # # # # [1]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCloudFrontOriginAccessIdentity2020_05_31 AWS API Documentation # # @overload create_cloud_front_origin_access_identity(params = {}) # @param [Hash] params ({}) def create_cloud_front_origin_access_identity(params = {}, options = {}) req = build_request(:create_cloud_front_origin_access_identity, params) req.send_request(options) end # 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][1], 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][2] in the *Amazon CloudFront # Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html # [2]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistribution2020_05_31 AWS API Documentation # # @overload create_distribution(params = {}) # @param [Hash] params ({}) def create_distribution(params = {}, options = {}) req = build_request(:create_distribution, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistributionWithTags2020_05_31 AWS API Documentation # # @overload create_distribution_with_tags(params = {}) # @param [Hash] params ({}) def create_distribution_with_tags(params = {}, options = {}) req = build_request(:create_distribution_with_tags, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionConfig2020_05_31 AWS API Documentation # # @overload create_field_level_encryption_config(params = {}) # @param [Hash] params ({}) def create_field_level_encryption_config(params = {}, options = {}) req = build_request(:create_field_level_encryption_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionProfile2020_05_31 AWS API Documentation # # @overload create_field_level_encryption_profile(params = {}) # @param [Hash] params ({}) def create_field_level_encryption_profile(params = {}, options = {}) req = build_request(:create_field_level_encryption_profile, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFunction2020_05_31 AWS API Documentation # # @overload create_function(params = {}) # @param [Hash] params ({}) def create_function(params = {}, options = {}) req = build_request(:create_function, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateInvalidation2020_05_31 AWS API Documentation # # @overload create_invalidation(params = {}) # @param [Hash] params ({}) def create_invalidation(params = {}, options = {}) req = build_request(:create_invalidation, params) req.send_request(options) end # Creates a key group that you can use with [CloudFront signed URLs and # signed cookies][1]. # # 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][1] in the *Amazon # CloudFront Developer Guide*. # # # # [1]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateKeyGroup2020_05_31 AWS API Documentation # # @overload create_key_group(params = {}) # @param [Hash] params ({}) def create_key_group(params = {}, options = {}) req = build_request(:create_key_group, params) req.send_request(options) end # 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][1] in the *Amazon CloudFront Developer Guide*. # # # # [1]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscription2020_05_31 AWS API Documentation # # @overload create_monitoring_subscription(params = {}) # @param [Hash] params ({}) def create_monitoring_subscription(params = {}, options = {}) req = build_request(:create_monitoring_subscription, params) req.send_request(options) end # 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][1] in the *Amazon CloudFront Developer Guide*. # # # # [1]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginRequestPolicy2020_05_31 AWS API Documentation # # @overload create_origin_request_policy(params = {}) # @param [Hash] params ({}) def create_origin_request_policy(params = {}, options = {}) req = build_request(:create_origin_request_policy, params) req.send_request(options) end # Uploads a public key to CloudFront that you can use with [signed URLs # and signed cookies][1], or with [field-level encryption][2]. # # # # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html # [2]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreatePublicKey2020_05_31 AWS API Documentation # # @overload create_public_key(params = {}) # @param [Hash] params ({}) def create_public_key(params = {}, options = {}) req = build_request(:create_public_key, params) req.send_request(options) end # 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]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html # # @option params [required, Array] :end_points # Contains information about the Amazon Kinesis data stream where you # are sending real-time log data. # # @option params [required, Array] :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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateRealtimeLogConfig2020_05_31 AWS API Documentation # # @overload create_realtime_log_config(params = {}) # @param [Hash] params ({}) def create_realtime_log_config(params = {}, options = {}) req = build_request(:create_realtime_log_config, params) req.send_request(options) end # This API is deprecated. Amazon CloudFront is deprecating real-time # messaging protocol (RTMP) distributions on December 31, 2020. For more # information, [read the announcement][1] on the Amazon CloudFront # discussion forum. # # # # [1]: http://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistribution2020_05_31 AWS API Documentation # # @overload create_streaming_distribution(params = {}) # @param [Hash] params ({}) def create_streaming_distribution(params = {}, options = {}) req = build_request(:create_streaming_distribution, params) req.send_request(options) end # This API is deprecated. Amazon CloudFront is deprecating real-time # messaging protocol (RTMP) distributions on December 31, 2020. For more # information, [read the announcement][1] on the Amazon CloudFront # discussion forum. # # # # [1]: http://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistributionWithTags2020_05_31 AWS API Documentation # # @overload create_streaming_distribution_with_tags(params = {}) # @param [Hash] params ({}) def create_streaming_distribution_with_tags(params = {}, options = {}) req = build_request(:create_streaming_distribution_with_tags, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCachePolicy2020_05_31 AWS API Documentation # # @overload delete_cache_policy(params = {}) # @param [Hash] params ({}) def delete_cache_policy(params = {}, options = {}) req = build_request(:delete_cache_policy, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCloudFrontOriginAccessIdentity2020_05_31 AWS API Documentation # # @overload delete_cloud_front_origin_access_identity(params = {}) # @param [Hash] params ({}) 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 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteDistribution2020_05_31 AWS API Documentation # # @overload delete_distribution(params = {}) # @param [Hash] params ({}) def delete_distribution(params = {}, options = {}) req = build_request(:delete_distribution, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionConfig2020_05_31 AWS API Documentation # # @overload delete_field_level_encryption_config(params = {}) # @param [Hash] params ({}) def delete_field_level_encryption_config(params = {}, options = {}) req = build_request(:delete_field_level_encryption_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionProfile2020_05_31 AWS API Documentation # # @overload delete_field_level_encryption_profile(params = {}) # @param [Hash] params ({}) def delete_field_level_encryption_profile(params = {}, options = {}) req = build_request(:delete_field_level_encryption_profile, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFunction2020_05_31 AWS API Documentation # # @overload delete_function(params = {}) # @param [Hash] params ({}) def delete_function(params = {}, options = {}) req = build_request(:delete_function, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteKeyGroup2020_05_31 AWS API Documentation # # @overload delete_key_group(params = {}) # @param [Hash] params ({}) def delete_key_group(params = {}, options = {}) req = build_request(:delete_key_group, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscription2020_05_31 AWS API Documentation # # @overload delete_monitoring_subscription(params = {}) # @param [Hash] params ({}) def delete_monitoring_subscription(params = {}, options = {}) req = build_request(:delete_monitoring_subscription, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteOriginRequestPolicy2020_05_31 AWS API Documentation # # @overload delete_origin_request_policy(params = {}) # @param [Hash] params ({}) def delete_origin_request_policy(params = {}, options = {}) req = build_request(:delete_origin_request_policy, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeletePublicKey2020_05_31 AWS API Documentation # # @overload delete_public_key(params = {}) # @param [Hash] params ({}) def delete_public_key(params = {}, options = {}) req = build_request(:delete_public_key, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteRealtimeLogConfig2020_05_31 AWS API Documentation # # @overload delete_realtime_log_config(params = {}) # @param [Hash] params ({}) def delete_realtime_log_config(params = {}, options = {}) req = build_request(:delete_realtime_log_config, params) req.send_request(options) end # 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][1] in the *Amazon CloudFront # Developer Guide*. # # # # [1]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteStreamingDistribution2020_05_31 AWS API Documentation # # @overload delete_streaming_distribution(params = {}) # @param [Hash] params ({}) def delete_streaming_distribution(params = {}, options = {}) req = build_request(:delete_streaming_distribution, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DescribeFunction2020_05_31 AWS API Documentation # # @overload describe_function(params = {}) # @param [Hash] params ({}) def describe_function(params = {}, options = {}) req = build_request(:describe_function, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicy2020_05_31 AWS API Documentation # # @overload get_cache_policy(params = {}) # @param [Hash] params ({}) def get_cache_policy(params = {}, options = {}) req = build_request(:get_cache_policy, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicyConfig2020_05_31 AWS API Documentation # # @overload get_cache_policy_config(params = {}) # @param [Hash] params ({}) def get_cache_policy_config(params = {}, options = {}) req = build_request(:get_cache_policy_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentity2020_05_31 AWS API Documentation # # @overload get_cloud_front_origin_access_identity(params = {}) # @param [Hash] params ({}) 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 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentityConfig2020_05_31 AWS API Documentation # # @overload get_cloud_front_origin_access_identity_config(params = {}) # @param [Hash] params ({}) 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 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistribution2020_05_31 AWS API Documentation # # @overload get_distribution(params = {}) # @param [Hash] params ({}) def get_distribution(params = {}, options = {}) req = build_request(:get_distribution, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig2020_05_31 AWS API Documentation # # @overload get_distribution_config(params = {}) # @param [Hash] params ({}) def get_distribution_config(params = {}, options = {}) req = build_request(:get_distribution_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryption2020_05_31 AWS API Documentation # # @overload get_field_level_encryption(params = {}) # @param [Hash] params ({}) def get_field_level_encryption(params = {}, options = {}) req = build_request(:get_field_level_encryption, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionConfig2020_05_31 AWS API Documentation # # @overload get_field_level_encryption_config(params = {}) # @param [Hash] params ({}) def get_field_level_encryption_config(params = {}, options = {}) req = build_request(:get_field_level_encryption_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfile2020_05_31 AWS API Documentation # # @overload get_field_level_encryption_profile(params = {}) # @param [Hash] params ({}) def get_field_level_encryption_profile(params = {}, options = {}) req = build_request(:get_field_level_encryption_profile, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfileConfig2020_05_31 AWS API Documentation # # @overload get_field_level_encryption_profile_config(params = {}) # @param [Hash] params ({}) def get_field_level_encryption_profile_config(params = {}, options = {}) req = build_request(:get_field_level_encryption_profile_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFunction2020_05_31 AWS API Documentation # # @overload get_function(params = {}) # @param [Hash] params ({}) def get_function(params = {}, options = {}) req = build_request(:get_function, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation2020_05_31 AWS API Documentation # # @overload get_invalidation(params = {}) # @param [Hash] params ({}) def get_invalidation(params = {}, options = {}) req = build_request(:get_invalidation, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroup2020_05_31 AWS API Documentation # # @overload get_key_group(params = {}) # @param [Hash] params ({}) def get_key_group(params = {}, options = {}) req = build_request(:get_key_group, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroupConfig2020_05_31 AWS API Documentation # # @overload get_key_group_config(params = {}) # @param [Hash] params ({}) def get_key_group_config(params = {}, options = {}) req = build_request(:get_key_group_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscription2020_05_31 AWS API Documentation # # @overload get_monitoring_subscription(params = {}) # @param [Hash] params ({}) def get_monitoring_subscription(params = {}, options = {}) req = build_request(:get_monitoring_subscription, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicy2020_05_31 AWS API Documentation # # @overload get_origin_request_policy(params = {}) # @param [Hash] params ({}) def get_origin_request_policy(params = {}, options = {}) req = build_request(:get_origin_request_policy, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicyConfig2020_05_31 AWS API Documentation # # @overload get_origin_request_policy_config(params = {}) # @param [Hash] params ({}) def get_origin_request_policy_config(params = {}, options = {}) req = build_request(:get_origin_request_policy_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKey2020_05_31 AWS API Documentation # # @overload get_public_key(params = {}) # @param [Hash] params ({}) def get_public_key(params = {}, options = {}) req = build_request(:get_public_key, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKeyConfig2020_05_31 AWS API Documentation # # @overload get_public_key_config(params = {}) # @param [Hash] params ({}) def get_public_key_config(params = {}, options = {}) req = build_request(:get_public_key_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetRealtimeLogConfig2020_05_31 AWS API Documentation # # @overload get_realtime_log_config(params = {}) # @param [Hash] params ({}) def get_realtime_log_config(params = {}, options = {}) req = build_request(:get_realtime_log_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistribution2020_05_31 AWS API Documentation # # @overload get_streaming_distribution(params = {}) # @param [Hash] params ({}) def get_streaming_distribution(params = {}, options = {}) req = build_request(:get_streaming_distribution, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistributionConfig2020_05_31 AWS API Documentation # # @overload get_streaming_distribution_config(params = {}) # @param [Hash] params ({}) def get_streaming_distribution_config(params = {}, options = {}) req = build_request(:get_streaming_distribution_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCachePolicies2020_05_31 AWS API Documentation # # @overload list_cache_policies(params = {}) # @param [Hash] params ({}) def list_cache_policies(params = {}, options = {}) req = build_request(:list_cache_policies, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCloudFrontOriginAccessIdentities2020_05_31 AWS API Documentation # # @overload list_cloud_front_origin_access_identities(params = {}) # @param [Hash] params ({}) def list_cloud_front_origin_access_identities(params = {}, options = {}) req = build_request(:list_cloud_front_origin_access_identities, params) req.send_request(options) end # 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][1] 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]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListConflictingAliases2020_05_31 AWS API Documentation # # @overload list_conflicting_aliases(params = {}) # @param [Hash] params ({}) def list_conflicting_aliases(params = {}, options = {}) req = build_request(:list_conflicting_aliases, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions2020_05_31 AWS API Documentation # # @overload list_distributions(params = {}) # @param [Hash] params ({}) def list_distributions(params = {}, options = {}) req = build_request(:list_distributions, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId2020_05_31 AWS API Documentation # # @overload list_distributions_by_cache_policy_id(params = {}) # @param [Hash] params ({}) def list_distributions_by_cache_policy_id(params = {}, options = {}) req = build_request(:list_distributions_by_cache_policy_id, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByKeyGroup2020_05_31 AWS API Documentation # # @overload list_distributions_by_key_group(params = {}) # @param [Hash] params ({}) def list_distributions_by_key_group(params = {}, options = {}) req = build_request(:list_distributions_by_key_group, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByOriginRequestPolicyId2020_05_31 AWS API Documentation # # @overload list_distributions_by_origin_request_policy_id(params = {}) # @param [Hash] params ({}) 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 # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfig2020_05_31 AWS API Documentation # # @overload list_distributions_by_realtime_log_config(params = {}) # @param [Hash] params ({}) 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 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId2020_05_31 AWS API Documentation # # @overload list_distributions_by_web_acl_id(params = {}) # @param [Hash] params ({}) 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 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionConfigs2020_05_31 AWS API Documentation # # @overload list_field_level_encryption_configs(params = {}) # @param [Hash] params ({}) def list_field_level_encryption_configs(params = {}, options = {}) req = build_request(:list_field_level_encryption_configs, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionProfiles2020_05_31 AWS API Documentation # # @overload list_field_level_encryption_profiles(params = {}) # @param [Hash] params ({}) def list_field_level_encryption_profiles(params = {}, options = {}) req = build_request(:list_field_level_encryption_profiles, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFunctions2020_05_31 AWS API Documentation # # @overload list_functions(params = {}) # @param [Hash] params ({}) def list_functions(params = {}, options = {}) req = build_request(:list_functions, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListInvalidations2020_05_31 AWS API Documentation # # @overload list_invalidations(params = {}) # @param [Hash] params ({}) def list_invalidations(params = {}, options = {}) req = build_request(:list_invalidations, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListKeyGroups2020_05_31 AWS API Documentation # # @overload list_key_groups(params = {}) # @param [Hash] params ({}) def list_key_groups(params = {}, options = {}) req = build_request(:list_key_groups, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginRequestPolicies2020_05_31 AWS API Documentation # # @overload list_origin_request_policies(params = {}) # @param [Hash] params ({}) def list_origin_request_policies(params = {}, options = {}) req = build_request(:list_origin_request_policies, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListPublicKeys2020_05_31 AWS API Documentation # # @overload list_public_keys(params = {}) # @param [Hash] params ({}) def list_public_keys(params = {}, options = {}) req = build_request(:list_public_keys, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListRealtimeLogConfigs2020_05_31 AWS API Documentation # # @overload list_realtime_log_configs(params = {}) # @param [Hash] params ({}) def list_realtime_log_configs(params = {}, options = {}) req = build_request(:list_realtime_log_configs, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions2020_05_31 AWS API Documentation # # @overload list_streaming_distributions(params = {}) # @param [Hash] params ({}) def list_streaming_distributions(params = {}, options = {}) req = build_request(:list_streaming_distributions, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListTagsForResource2020_05_31 AWS API Documentation # # @overload list_tags_for_resource(params = {}) # @param [Hash] params ({}) def list_tags_for_resource(params = {}, options = {}) req = build_request(:list_tags_for_resource, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/PublishFunction2020_05_31 AWS API Documentation # # @overload publish_function(params = {}) # @param [Hash] params ({}) def publish_function(params = {}, options = {}) req = build_request(:publish_function, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource2020_05_31 AWS API Documentation # # @overload tag_resource(params = {}) # @param [Hash] params ({}) def tag_resource(params = {}, options = {}) req = build_request(:tag_resource, params) req.send_request(options) end # 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][1] 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]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TestFunction2020_05_31 AWS API Documentation # # @overload test_function(params = {}) # @param [Hash] params ({}) def test_function(params = {}, options = {}) req = build_request(:test_function, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource2020_05_31 AWS API Documentation # # @overload untag_resource(params = {}) # @param [Hash] params ({}) def untag_resource(params = {}, options = {}) req = build_request(:untag_resource, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCachePolicy2020_05_31 AWS API Documentation # # @overload update_cache_policy(params = {}) # @param [Hash] params ({}) def update_cache_policy(params = {}, options = {}) req = build_request(:update_cache_policy, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCloudFrontOriginAccessIdentity2020_05_31 AWS API Documentation # # @overload update_cloud_front_origin_access_identity(params = {}) # @param [Hash] params ({}) def update_cloud_front_origin_access_identity(params = {}, options = {}) req = build_request(:update_cloud_front_origin_access_identity, params) req.send_request(options) end # 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][1] 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][2] in the *Amazon # CloudFront Developer Guide*. # # **To update a web distribution using the CloudFront API** # # 1. Submit a [GetDistributionConfig][3] request to get the current # configuration and an `Etag` header for the distribution. # # If you update the distribution again, you must get a new `Etag` # header. # # # # 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][4] request to confirm that # your changes have propagated. When propagation is complete, the # value of `Status` is `Deployed`. # # # # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html # [3]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html # [4]: https://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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistribution2020_05_31 AWS API Documentation # # @overload update_distribution(params = {}) # @param [Hash] params ({}) def update_distribution(params = {}, options = {}) req = build_request(:update_distribution, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionConfig2020_05_31 AWS API Documentation # # @overload update_field_level_encryption_config(params = {}) # @param [Hash] params ({}) def update_field_level_encryption_config(params = {}, options = {}) req = build_request(:update_field_level_encryption_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionProfile2020_05_31 AWS API Documentation # # @overload update_field_level_encryption_profile(params = {}) # @param [Hash] params ({}) def update_field_level_encryption_profile(params = {}, options = {}) req = build_request(:update_field_level_encryption_profile, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFunction2020_05_31 AWS API Documentation # # @overload update_function(params = {}) # @param [Hash] params ({}) def update_function(params = {}, options = {}) req = build_request(:update_function, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateKeyGroup2020_05_31 AWS API Documentation # # @overload update_key_group(params = {}) # @param [Hash] params ({}) def update_key_group(params = {}, options = {}) req = build_request(:update_key_group, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginRequestPolicy2020_05_31 AWS API Documentation # # @overload update_origin_request_policy(params = {}) # @param [Hash] params ({}) def update_origin_request_policy(params = {}, options = {}) req = build_request(:update_origin_request_policy, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdatePublicKey2020_05_31 AWS API Documentation # # @overload update_public_key(params = {}) # @param [Hash] params ({}) def update_public_key(params = {}, options = {}) req = build_request(:update_public_key, params) req.send_request(options) end # 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] :end_points # Contains information about the Amazon Kinesis data stream where you # are sending real-time log data. # # @option params [Array] :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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfig2020_05_31 AWS API Documentation # # @overload update_realtime_log_config(params = {}) # @param [Hash] params ({}) def update_realtime_log_config(params = {}, options = {}) req = build_request(:update_realtime_log_config, params) req.send_request(options) end # 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 http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateStreamingDistribution2020_05_31 AWS API Documentation # # @overload update_streaming_distribution(params = {}) # @param [Hash] params ({}) def update_streaming_distribution(params = {}, options = {}) req = build_request(:update_streaming_distribution, params) req.send_request(options) end # @!endgroup # @param params ({}) # @api private 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.55.0' Seahorse::Client::Request.new(handlers, context) end # 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 def wait_until(waiter_name, params = {}, options = {}) w = waiter(waiter_name, options) yield(w.waiter) if block_given? # deprecated w.wait(params) end # @api private # @deprecated def waiter_names waiters.keys end private # @param [Symbol] waiter_name # @param [Hash] options ({}) 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 def waiters { distribution_deployed: Waiters::DistributionDeployed, invalidation_completed: Waiters::InvalidationCompleted, streaming_distribution_deployed: Waiters::StreamingDistributionDeployed } end class << self # @api private attr_reader :identifier # @api private def errors_module Errors end end end end