aws-sdk-cloudfront 1.60.0 → 1.83.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:cloudfront)
@@ -73,8 +77,13 @@ module Aws::CloudFront
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::RestXml)
86
+ add_plugin(Aws::CloudFront::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::CloudFront
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::CloudFront
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::CloudFront
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::CloudFront
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -277,6 +308,19 @@ module Aws::CloudFront
277
308
  # ** Please note ** When response stubbing is enabled, no HTTP
278
309
  # requests are made, and retries are disabled.
279
310
  #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
280
324
  # @option options [Boolean] :use_dualstack_endpoint
281
325
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
326
  # will be used if available.
@@ -290,6 +334,9 @@ module Aws::CloudFront
290
334
  # When `true`, request parameters are validated before
291
335
  # sending the request.
292
336
  #
337
+ # @option options [Aws::CloudFront::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::CloudFront::EndpointParameters`
339
+ #
293
340
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
341
  # requests through. Formatted like 'http://proxy.com:123'.
295
342
  #
@@ -297,7 +344,7 @@ module Aws::CloudFront
297
344
  # seconds to wait when opening a HTTP session before raising a
298
345
  # `Timeout::Error`.
299
346
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
347
+ # @option options [Float] :http_read_timeout (60) The default
301
348
  # number of seconds to wait for response data. This value can
302
349
  # safely be set per-request on the session.
303
350
  #
@@ -313,6 +360,9 @@ module Aws::CloudFront
313
360
  # disables this behaviour. This value can safely be set per
314
361
  # request on the session.
315
362
  #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
316
366
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
367
  # HTTP debug output will be sent to the `:logger`.
318
368
  #
@@ -341,7 +391,7 @@ module Aws::CloudFront
341
391
  # Associates an alias (also known as a CNAME or an alternate domain
342
392
  # name) with a CloudFront distribution.
343
393
  #
344
- # With this operation you can move an alias thats already in use on a
394
+ # With this operation you can move an alias that's already in use on a
345
395
  # CloudFront distribution to a different distribution in one step. This
346
396
  # prevents the downtime that could occur if you first remove the alias
347
397
  # from one distribution and then separately add the alias to another
@@ -359,7 +409,7 @@ module Aws::CloudFront
359
409
  # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-move
360
410
  #
361
411
  # @option params [required, String] :target_distribution_id
362
- # The ID of the distribution that youre associating the alias with.
412
+ # The ID of the distribution that you're associating the alias with.
363
413
  #
364
414
  # @option params [required, String] :alias
365
415
  # The alias (also known as a CNAME) to add to the target distribution.
@@ -382,10 +432,275 @@ module Aws::CloudFront
382
432
  req.send_request(options)
383
433
  end
384
434
 
435
+ # Creates a staging distribution using the configuration of the provided
436
+ # primary distribution. A staging distribution is a copy of an existing
437
+ # distribution (called the primary distribution) that you can use in a
438
+ # continuous deployment workflow.
439
+ #
440
+ # After you create a staging distribution, you can use
441
+ # `UpdateDistribution` to modify the staging distribution's
442
+ # configuration. Then you can use `CreateContinuousDeploymentPolicy` to
443
+ # incrementally move traffic to the staging distribution.
444
+ #
445
+ # This API operation requires the following IAM permissions:
446
+ #
447
+ # * [GetDistribution][1]
448
+ #
449
+ # * [CreateDistribution][2]
450
+ #
451
+ # * [CopyDistribution][3]
452
+ #
453
+ #
454
+ #
455
+ # [1]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html
456
+ # [2]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html
457
+ # [3]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CopyDistribution.html
458
+ #
459
+ # @option params [required, String] :primary_distribution_id
460
+ # The identifier of the primary distribution whose configuration you are
461
+ # copying. To get a distribution ID, use `ListDistributions`.
462
+ #
463
+ # @option params [Boolean] :staging
464
+ # The type of distribution that your primary distribution will be copied
465
+ # to. The only valid value is `True`, indicating that you are copying to
466
+ # a staging distribution.
467
+ #
468
+ # @option params [String] :if_match
469
+ # The version identifier of the primary distribution whose configuration
470
+ # you are copying. This is the `ETag` value returned in the response to
471
+ # `GetDistribution` and `GetDistributionConfig`.
472
+ #
473
+ # @option params [required, String] :caller_reference
474
+ # A value that uniquely identifies a request to create a resource. This
475
+ # helps to prevent CloudFront from creating a duplicate resource if you
476
+ # accidentally resubmit an identical request.
477
+ #
478
+ # @option params [Boolean] :enabled
479
+ # A Boolean flag to specify the state of the staging distribution when
480
+ # it's created. When you set this value to `True`, the staging
481
+ # distribution is enabled. When you set this value to `False`, the
482
+ # staging distribution is disabled.
483
+ #
484
+ # If you omit this field, the default value is `True`.
485
+ #
486
+ # @return [Types::CopyDistributionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
487
+ #
488
+ # * {Types::CopyDistributionResult#distribution #distribution} => Types::Distribution
489
+ # * {Types::CopyDistributionResult#location #location} => String
490
+ # * {Types::CopyDistributionResult#etag #etag} => String
491
+ #
492
+ # @example Request syntax with placeholder values
493
+ #
494
+ # resp = client.copy_distribution({
495
+ # primary_distribution_id: "string", # required
496
+ # staging: false,
497
+ # if_match: "string",
498
+ # caller_reference: "string", # required
499
+ # enabled: false,
500
+ # })
501
+ #
502
+ # @example Response structure
503
+ #
504
+ # resp.distribution.id #=> String
505
+ # resp.distribution.arn #=> String
506
+ # resp.distribution.status #=> String
507
+ # resp.distribution.last_modified_time #=> Time
508
+ # resp.distribution.in_progress_invalidation_batches #=> Integer
509
+ # resp.distribution.domain_name #=> String
510
+ # resp.distribution.active_trusted_signers.enabled #=> Boolean
511
+ # resp.distribution.active_trusted_signers.quantity #=> Integer
512
+ # resp.distribution.active_trusted_signers.items #=> Array
513
+ # resp.distribution.active_trusted_signers.items[0].aws_account_number #=> String
514
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
515
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
516
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
517
+ # resp.distribution.active_trusted_key_groups.enabled #=> Boolean
518
+ # resp.distribution.active_trusted_key_groups.quantity #=> Integer
519
+ # resp.distribution.active_trusted_key_groups.items #=> Array
520
+ # resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
521
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
522
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
523
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items[0] #=> String
524
+ # resp.distribution.distribution_config.caller_reference #=> String
525
+ # resp.distribution.distribution_config.aliases.quantity #=> Integer
526
+ # resp.distribution.distribution_config.aliases.items #=> Array
527
+ # resp.distribution.distribution_config.aliases.items[0] #=> String
528
+ # resp.distribution.distribution_config.default_root_object #=> String
529
+ # resp.distribution.distribution_config.origins.quantity #=> Integer
530
+ # resp.distribution.distribution_config.origins.items #=> Array
531
+ # resp.distribution.distribution_config.origins.items[0].id #=> String
532
+ # resp.distribution.distribution_config.origins.items[0].domain_name #=> String
533
+ # resp.distribution.distribution_config.origins.items[0].origin_path #=> String
534
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.quantity #=> Integer
535
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items #=> Array
536
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_name #=> String
537
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_value #=> String
538
+ # resp.distribution.distribution_config.origins.items[0].s3_origin_config.origin_access_identity #=> String
539
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.http_port #=> Integer
540
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.https_port #=> Integer
541
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
542
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
543
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
544
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
545
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
546
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
547
+ # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
548
+ # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
549
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
550
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
551
+ # resp.distribution.distribution_config.origins.items[0].origin_access_control_id #=> String
552
+ # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
553
+ # resp.distribution.distribution_config.origin_groups.items #=> Array
554
+ # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
555
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
556
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items #=> Array
557
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
558
+ # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
559
+ # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
560
+ # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
561
+ # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
562
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
563
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
564
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
565
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
566
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.enabled #=> Boolean
567
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
568
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
569
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items[0] #=> String
570
+ # resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
571
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
572
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
573
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
574
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
575
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items #=> Array
576
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
577
+ # resp.distribution.distribution_config.default_cache_behavior.smooth_streaming #=> Boolean
578
+ # resp.distribution.distribution_config.default_cache_behavior.compress #=> Boolean
579
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.quantity #=> Integer
580
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items #=> Array
581
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
582
+ # 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"
583
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
584
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.quantity #=> Integer
585
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items #=> Array
586
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].function_arn #=> String
587
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
588
+ # resp.distribution.distribution_config.default_cache_behavior.field_level_encryption_id #=> String
589
+ # resp.distribution.distribution_config.default_cache_behavior.realtime_log_config_arn #=> String
590
+ # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
591
+ # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
592
+ # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
593
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
594
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
595
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
596
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
597
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
598
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.quantity #=> Integer
599
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items #=> Array
600
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items[0] #=> String
601
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
602
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
603
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
604
+ # resp.distribution.distribution_config.default_cache_behavior.min_ttl #=> Integer
605
+ # resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
606
+ # resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
607
+ # resp.distribution.distribution_config.cache_behaviors.quantity #=> Integer
608
+ # resp.distribution.distribution_config.cache_behaviors.items #=> Array
609
+ # resp.distribution.distribution_config.cache_behaviors.items[0].path_pattern #=> String
610
+ # resp.distribution.distribution_config.cache_behaviors.items[0].target_origin_id #=> String
611
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
612
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
613
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
614
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
615
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
616
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
617
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
618
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
619
+ # resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
620
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
621
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
622
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
623
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
624
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
625
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
626
+ # resp.distribution.distribution_config.cache_behaviors.items[0].smooth_streaming #=> Boolean
627
+ # resp.distribution.distribution_config.cache_behaviors.items[0].compress #=> Boolean
628
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
629
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items #=> Array
630
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
631
+ # 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"
632
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
633
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.quantity #=> Integer
634
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items #=> Array
635
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
636
+ # 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"
637
+ # resp.distribution.distribution_config.cache_behaviors.items[0].field_level_encryption_id #=> String
638
+ # resp.distribution.distribution_config.cache_behaviors.items[0].realtime_log_config_arn #=> String
639
+ # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
640
+ # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
641
+ # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
642
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
643
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
644
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
645
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
646
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
647
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
648
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items #=> Array
649
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
650
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
651
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
652
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
653
+ # resp.distribution.distribution_config.cache_behaviors.items[0].min_ttl #=> Integer
654
+ # resp.distribution.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
655
+ # resp.distribution.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
656
+ # resp.distribution.distribution_config.custom_error_responses.quantity #=> Integer
657
+ # resp.distribution.distribution_config.custom_error_responses.items #=> Array
658
+ # resp.distribution.distribution_config.custom_error_responses.items[0].error_code #=> Integer
659
+ # resp.distribution.distribution_config.custom_error_responses.items[0].response_page_path #=> String
660
+ # resp.distribution.distribution_config.custom_error_responses.items[0].response_code #=> String
661
+ # resp.distribution.distribution_config.custom_error_responses.items[0].error_caching_min_ttl #=> Integer
662
+ # resp.distribution.distribution_config.comment #=> String
663
+ # resp.distribution.distribution_config.logging.enabled #=> Boolean
664
+ # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
665
+ # resp.distribution.distribution_config.logging.bucket #=> String
666
+ # resp.distribution.distribution_config.logging.prefix #=> String
667
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
668
+ # resp.distribution.distribution_config.enabled #=> Boolean
669
+ # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
670
+ # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
671
+ # resp.distribution.distribution_config.viewer_certificate.acm_certificate_arn #=> String
672
+ # resp.distribution.distribution_config.viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip", "static-ip"
673
+ # 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"
674
+ # resp.distribution.distribution_config.viewer_certificate.certificate #=> String
675
+ # resp.distribution.distribution_config.viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
676
+ # resp.distribution.distribution_config.restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
677
+ # resp.distribution.distribution_config.restrictions.geo_restriction.quantity #=> Integer
678
+ # resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
679
+ # resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
680
+ # resp.distribution.distribution_config.web_acl_id #=> String
681
+ # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
682
+ # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
683
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
684
+ # resp.distribution.distribution_config.staging #=> Boolean
685
+ # resp.distribution.alias_icp_recordals #=> Array
686
+ # resp.distribution.alias_icp_recordals[0].cname #=> String
687
+ # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
688
+ # resp.location #=> String
689
+ # resp.etag #=> String
690
+ #
691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CopyDistribution AWS API Documentation
692
+ #
693
+ # @overload copy_distribution(params = {})
694
+ # @param [Hash] params ({})
695
+ def copy_distribution(params = {}, options = {})
696
+ req = build_request(:copy_distribution, params)
697
+ req.send_request(options)
698
+ end
699
+
385
700
  # Creates a cache policy.
386
701
  #
387
702
  # After you create a cache policy, you can attach it to one or more
388
- # cache behaviors. When its attached to a cache behavior, the cache
703
+ # cache behaviors. When it's attached to a cache behavior, the cache
389
704
  # policy determines the following:
390
705
  #
391
706
  # * The values that CloudFront includes in the *cache key*. These values
@@ -397,10 +712,10 @@ module Aws::CloudFront
397
712
  # want objects to stay in the CloudFront cache.
398
713
  #
399
714
  # The headers, cookies, and query strings that are included in the cache
400
- # key are automatically included in requests that CloudFront sends to
401
- # the origin. CloudFront sends a request when it cant find an object in
402
- # its cache that matches the requests cache key. If you want to send
403
- # values to the origin but *not* include them in the cache key, use
715
+ # key are also included in requests that CloudFront sends to the origin.
716
+ # CloudFront sends a request when it can't find an object in its cache
717
+ # that matches the request's cache key. If you want to send values to
718
+ # the origin but *not* include them in the cache key, use
404
719
  # `OriginRequestPolicy`.
405
720
  #
406
721
  # For more information about cache policies, see [Controlling the cache
@@ -538,25 +853,81 @@ module Aws::CloudFront
538
853
  req.send_request(options)
539
854
  end
540
855
 
541
- # Creates a new web distribution. You create a CloudFront distribution
542
- # to tell CloudFront where you want content to be delivered from, and
543
- # the details about how to track and manage content delivery. Send a
544
- # `POST` request to the `/CloudFront API
545
- # version/distribution`/`distribution ID` resource.
546
- #
547
- # When you update a distribution, there are more required fields than
548
- # when you create a distribution. When you update your distribution by
549
- # using [UpdateDistribution][1], follow the steps included in the
550
- # documentation to get the current configuration and then make your
551
- # updates. This helps to make sure that you include all of the required
552
- # fields. To view a summary, see [Required Fields for Create
553
- # Distribution and Update Distribution][2] in the *Amazon CloudFront
554
- # Developer Guide*.
856
+ # Creates a continuous deployment policy that distributes traffic for a
857
+ # custom domain name to two different CloudFront distributions.
858
+ #
859
+ # To use a continuous deployment policy, first use `CopyDistribution` to
860
+ # create a staging distribution, then use `UpdateDistribution` to modify
861
+ # the staging distribution's configuration.
862
+ #
863
+ # After you create and update a staging distribution, you can use a
864
+ # continuous deployment policy to incrementally move traffic to the
865
+ # staging distribution. This workflow enables you to test changes to a
866
+ # distribution's configuration before moving all of your domain's
867
+ # production traffic to the new configuration.
868
+ #
869
+ # @option params [required, Types::ContinuousDeploymentPolicyConfig] :continuous_deployment_policy_config
870
+ # Contains the configuration for a continuous deployment policy.
871
+ #
872
+ # @return [Types::CreateContinuousDeploymentPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
555
873
  #
874
+ # * {Types::CreateContinuousDeploymentPolicyResult#continuous_deployment_policy #continuous_deployment_policy} => Types::ContinuousDeploymentPolicy
875
+ # * {Types::CreateContinuousDeploymentPolicyResult#location #location} => String
876
+ # * {Types::CreateContinuousDeploymentPolicyResult#etag #etag} => String
556
877
  #
878
+ # @example Request syntax with placeholder values
557
879
  #
558
- # [1]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html
559
- # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html
880
+ # resp = client.create_continuous_deployment_policy({
881
+ # continuous_deployment_policy_config: { # required
882
+ # staging_distribution_dns_names: { # required
883
+ # quantity: 1, # required
884
+ # items: ["string"],
885
+ # },
886
+ # enabled: false, # required
887
+ # traffic_config: {
888
+ # single_weight_config: {
889
+ # weight: 1.0, # required
890
+ # session_stickiness_config: {
891
+ # idle_ttl: 1, # required
892
+ # maximum_ttl: 1, # required
893
+ # },
894
+ # },
895
+ # single_header_config: {
896
+ # header: "string", # required
897
+ # value: "string", # required
898
+ # },
899
+ # type: "SingleWeight", # required, accepts SingleWeight, SingleHeader
900
+ # },
901
+ # },
902
+ # })
903
+ #
904
+ # @example Response structure
905
+ #
906
+ # resp.continuous_deployment_policy.id #=> String
907
+ # resp.continuous_deployment_policy.last_modified_time #=> Time
908
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
909
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
910
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
911
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.enabled #=> Boolean
912
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
913
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.idle_ttl #=> Integer
914
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.maximum_ttl #=> Integer
915
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
916
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
917
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
918
+ # resp.location #=> String
919
+ # resp.etag #=> String
920
+ #
921
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateContinuousDeploymentPolicy AWS API Documentation
922
+ #
923
+ # @overload create_continuous_deployment_policy(params = {})
924
+ # @param [Hash] params ({})
925
+ def create_continuous_deployment_policy(params = {}, options = {})
926
+ req = build_request(:create_continuous_deployment_policy, params)
927
+ req.send_request(options)
928
+ end
929
+
930
+ # Creates a CloudFront distribution.
560
931
  #
561
932
  # @option params [required, Types::DistributionConfig] :distribution_config
562
933
  # The distribution's configuration information.
@@ -613,6 +984,7 @@ module Aws::CloudFront
613
984
  # enabled: false, # required
614
985
  # origin_shield_region: "OriginShieldRegion",
615
986
  # },
987
+ # origin_access_control_id: "string",
616
988
  # },
617
989
  # ],
618
990
  # },
@@ -819,8 +1191,10 @@ module Aws::CloudFront
819
1191
  # },
820
1192
  # },
821
1193
  # web_acl_id: "string",
822
- # http_version: "http1.1", # accepts http1.1, http2
1194
+ # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
823
1195
  # is_ipv6_enabled: false,
1196
+ # continuous_deployment_policy_id: "string",
1197
+ # staging: false,
824
1198
  # },
825
1199
  # })
826
1200
  #
@@ -873,6 +1247,7 @@ module Aws::CloudFront
873
1247
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
874
1248
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
875
1249
  # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
1250
+ # resp.distribution.distribution_config.origins.items[0].origin_access_control_id #=> String
876
1251
  # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
877
1252
  # resp.distribution.distribution_config.origin_groups.items #=> Array
878
1253
  # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
@@ -1002,8 +1377,10 @@ module Aws::CloudFront
1002
1377
  # resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
1003
1378
  # resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
1004
1379
  # resp.distribution.distribution_config.web_acl_id #=> String
1005
- # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2"
1380
+ # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
1006
1381
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
1382
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
1383
+ # resp.distribution.distribution_config.staging #=> Boolean
1007
1384
  # resp.distribution.alias_icp_recordals #=> Array
1008
1385
  # resp.distribution.alias_icp_recordals[0].cname #=> String
1009
1386
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -1019,7 +1396,17 @@ module Aws::CloudFront
1019
1396
  req.send_request(options)
1020
1397
  end
1021
1398
 
1022
- # Create a new distribution with tags.
1399
+ # Create a new distribution with tags. This API operation requires the
1400
+ # following IAM permissions:
1401
+ #
1402
+ # * [CreateDistribution][1]
1403
+ #
1404
+ # * [TagResource][2]
1405
+ #
1406
+ #
1407
+ #
1408
+ # [1]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html
1409
+ # [2]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_TagResource.html
1023
1410
  #
1024
1411
  # @option params [required, Types::DistributionConfigWithTags] :distribution_config_with_tags
1025
1412
  # The distribution's configuration information.
@@ -1077,6 +1464,7 @@ module Aws::CloudFront
1077
1464
  # enabled: false, # required
1078
1465
  # origin_shield_region: "OriginShieldRegion",
1079
1466
  # },
1467
+ # origin_access_control_id: "string",
1080
1468
  # },
1081
1469
  # ],
1082
1470
  # },
@@ -1283,8 +1671,10 @@ module Aws::CloudFront
1283
1671
  # },
1284
1672
  # },
1285
1673
  # web_acl_id: "string",
1286
- # http_version: "http1.1", # accepts http1.1, http2
1674
+ # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
1287
1675
  # is_ipv6_enabled: false,
1676
+ # continuous_deployment_policy_id: "string",
1677
+ # staging: false,
1288
1678
  # },
1289
1679
  # tags: { # required
1290
1680
  # items: [
@@ -1346,6 +1736,7 @@ module Aws::CloudFront
1346
1736
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
1347
1737
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
1348
1738
  # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
1739
+ # resp.distribution.distribution_config.origins.items[0].origin_access_control_id #=> String
1349
1740
  # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
1350
1741
  # resp.distribution.distribution_config.origin_groups.items #=> Array
1351
1742
  # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
@@ -1475,8 +1866,10 @@ module Aws::CloudFront
1475
1866
  # resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
1476
1867
  # resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
1477
1868
  # resp.distribution.distribution_config.web_acl_id #=> String
1478
- # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2"
1869
+ # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
1479
1870
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
1871
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
1872
+ # resp.distribution.distribution_config.staging #=> Boolean
1480
1873
  # resp.distribution.alias_icp_recordals #=> Array
1481
1874
  # resp.distribution.alias_icp_recordals[0].cname #=> String
1482
1875
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -1632,21 +2025,22 @@ module Aws::CloudFront
1632
2025
  # configuration information about the function. The response contains an
1633
2026
  # Amazon Resource Name (ARN) that uniquely identifies the function.
1634
2027
  #
1635
- # When you create a function, its in the `DEVELOPMENT` stage. In this
2028
+ # When you create a function, it's in the `DEVELOPMENT` stage. In this
1636
2029
  # stage, you can test the function with `TestFunction`, and update it
1637
2030
  # with `UpdateFunction`.
1638
2031
  #
1639
- # When youre ready to use your function with a CloudFront distribution,
1640
- # use `PublishFunction` to copy the function from the `DEVELOPMENT`
1641
- # stage to `LIVE`. When its live, you can attach the function to a
1642
- # distributions cache behavior, using the functions ARN.
2032
+ # When you're ready to use your function with a CloudFront
2033
+ # distribution, use `PublishFunction` to copy the function from the
2034
+ # `DEVELOPMENT` stage to `LIVE`. When it's live, you can attach the
2035
+ # function to a distribution's cache behavior, using the function's
2036
+ # ARN.
1643
2037
  #
1644
2038
  # @option params [required, String] :name
1645
2039
  # A name to identify the function.
1646
2040
  #
1647
2041
  # @option params [required, Types::FunctionConfig] :function_config
1648
2042
  # Configuration information about the function, including an optional
1649
- # comment and the functions runtime.
2043
+ # comment and the function's runtime.
1650
2044
  #
1651
2045
  # @option params [required, String, StringIO, File] :function_code
1652
2046
  # The function code. For more information about writing a CloudFront
@@ -1669,7 +2063,7 @@ module Aws::CloudFront
1669
2063
  # name: "FunctionName", # required
1670
2064
  # function_config: { # required
1671
2065
  # comment: "string", # required
1672
- # runtime: "cloudfront-js-1.0", # required, accepts cloudfront-js-1.0
2066
+ # runtime: "cloudfront-js-1.0", # required, accepts cloudfront-js-1.0, cloudfront-js-2.0
1673
2067
  # },
1674
2068
  # function_code: "data", # required
1675
2069
  # })
@@ -1679,7 +2073,7 @@ module Aws::CloudFront
1679
2073
  # resp.function_summary.name #=> String
1680
2074
  # resp.function_summary.status #=> String
1681
2075
  # resp.function_summary.function_config.comment #=> String
1682
- # resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
2076
+ # resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0", "cloudfront-js-2.0"
1683
2077
  # resp.function_summary.function_metadata.function_arn #=> String
1684
2078
  # resp.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
1685
2079
  # resp.function_summary.function_metadata.created_time #=> Time
@@ -1845,10 +2239,68 @@ module Aws::CloudFront
1845
2239
  req.send_request(options)
1846
2240
  end
1847
2241
 
2242
+ # Creates a new origin access control in CloudFront. After you create an
2243
+ # origin access control, you can add it to an origin in a CloudFront
2244
+ # distribution so that CloudFront sends authenticated (signed) requests
2245
+ # to the origin.
2246
+ #
2247
+ # This makes it possible to block public access to the origin, allowing
2248
+ # viewers (users) to access the origin's content only through
2249
+ # CloudFront.
2250
+ #
2251
+ # For more information about using a CloudFront origin access control,
2252
+ # see [Restricting access to an Amazon Web Services origin][1] in the
2253
+ # *Amazon CloudFront Developer Guide*.
2254
+ #
2255
+ #
2256
+ #
2257
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html
2258
+ #
2259
+ # @option params [required, Types::OriginAccessControlConfig] :origin_access_control_config
2260
+ # Contains the origin access control.
2261
+ #
2262
+ # @return [Types::CreateOriginAccessControlResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2263
+ #
2264
+ # * {Types::CreateOriginAccessControlResult#origin_access_control #origin_access_control} => Types::OriginAccessControl
2265
+ # * {Types::CreateOriginAccessControlResult#location #location} => String
2266
+ # * {Types::CreateOriginAccessControlResult#etag #etag} => String
2267
+ #
2268
+ # @example Request syntax with placeholder values
2269
+ #
2270
+ # resp = client.create_origin_access_control({
2271
+ # origin_access_control_config: { # required
2272
+ # name: "string", # required
2273
+ # description: "string",
2274
+ # signing_protocol: "sigv4", # required, accepts sigv4
2275
+ # signing_behavior: "never", # required, accepts never, always, no-override
2276
+ # origin_access_control_origin_type: "s3", # required, accepts s3, mediastore
2277
+ # },
2278
+ # })
2279
+ #
2280
+ # @example Response structure
2281
+ #
2282
+ # resp.origin_access_control.id #=> String
2283
+ # resp.origin_access_control.origin_access_control_config.name #=> String
2284
+ # resp.origin_access_control.origin_access_control_config.description #=> String
2285
+ # resp.origin_access_control.origin_access_control_config.signing_protocol #=> String, one of "sigv4"
2286
+ # resp.origin_access_control.origin_access_control_config.signing_behavior #=> String, one of "never", "always", "no-override"
2287
+ # resp.origin_access_control.origin_access_control_config.origin_access_control_origin_type #=> String, one of "s3", "mediastore"
2288
+ # resp.location #=> String
2289
+ # resp.etag #=> String
2290
+ #
2291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginAccessControl AWS API Documentation
2292
+ #
2293
+ # @overload create_origin_access_control(params = {})
2294
+ # @param [Hash] params ({})
2295
+ def create_origin_access_control(params = {}, options = {})
2296
+ req = build_request(:create_origin_access_control, params)
2297
+ req.send_request(options)
2298
+ end
2299
+
1848
2300
  # Creates an origin request policy.
1849
2301
  #
1850
2302
  # After you create an origin request policy, you can attach it to one or
1851
- # more cache behaviors. When its attached to a cache behavior, the
2303
+ # more cache behaviors. When it's attached to a cache behavior, the
1852
2304
  # origin request policy determines the values that CloudFront includes
1853
2305
  # in requests that it sends to the origin. Each request that CloudFront
1854
2306
  # sends to the origin includes the following:
@@ -1864,7 +2316,7 @@ module Aws::CloudFront
1864
2316
  # items from the viewer request and, in the case of headers,
1865
2317
  # additional ones that are added by CloudFront.
1866
2318
  #
1867
- # CloudFront sends a request when it cant find a valid object in its
2319
+ # CloudFront sends a request when it can't find a valid object in its
1868
2320
  # cache that matches the request. If you want to send values to the
1869
2321
  # origin and also include them in the cache key, use `CachePolicy`.
1870
2322
  #
@@ -1891,21 +2343,21 @@ module Aws::CloudFront
1891
2343
  # comment: "string",
1892
2344
  # name: "string", # required
1893
2345
  # headers_config: { # required
1894
- # header_behavior: "none", # required, accepts none, whitelist, allViewer, allViewerAndWhitelistCloudFront
2346
+ # header_behavior: "none", # required, accepts none, whitelist, allViewer, allViewerAndWhitelistCloudFront, allExcept
1895
2347
  # headers: {
1896
2348
  # quantity: 1, # required
1897
2349
  # items: ["string"],
1898
2350
  # },
1899
2351
  # },
1900
2352
  # cookies_config: { # required
1901
- # cookie_behavior: "none", # required, accepts none, whitelist, all
2353
+ # cookie_behavior: "none", # required, accepts none, whitelist, all, allExcept
1902
2354
  # cookies: {
1903
2355
  # quantity: 1, # required
1904
2356
  # items: ["string"],
1905
2357
  # },
1906
2358
  # },
1907
2359
  # query_strings_config: { # required
1908
- # query_string_behavior: "none", # required, accepts none, whitelist, all
2360
+ # query_string_behavior: "none", # required, accepts none, whitelist, all, allExcept
1909
2361
  # query_strings: {
1910
2362
  # quantity: 1, # required
1911
2363
  # items: ["string"],
@@ -1920,15 +2372,15 @@ module Aws::CloudFront
1920
2372
  # resp.origin_request_policy.last_modified_time #=> Time
1921
2373
  # resp.origin_request_policy.origin_request_policy_config.comment #=> String
1922
2374
  # resp.origin_request_policy.origin_request_policy_config.name #=> String
1923
- # resp.origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront"
2375
+ # resp.origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront", "allExcept"
1924
2376
  # resp.origin_request_policy.origin_request_policy_config.headers_config.headers.quantity #=> Integer
1925
2377
  # resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items #=> Array
1926
2378
  # resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items[0] #=> String
1927
- # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
2379
+ # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all", "allExcept"
1928
2380
  # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
1929
2381
  # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items #=> Array
1930
2382
  # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
1931
- # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all"
2383
+ # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all", "allExcept"
1932
2384
  # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
1933
2385
  # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
1934
2386
  # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String
@@ -2073,19 +2525,28 @@ module Aws::CloudFront
2073
2525
  # Creates a response headers policy.
2074
2526
  #
2075
2527
  # A response headers policy contains information about a set of HTTP
2076
- # response headers and their values. To create a response headers
2077
- # policy, you provide some metadata about the policy, and a set of
2078
- # configurations that specify the response headers.
2528
+ # headers. To create a response headers policy, you provide some
2529
+ # metadata about the policy and a set of configurations that specify the
2530
+ # headers.
2079
2531
  #
2080
2532
  # After you create a response headers policy, you can use its ID to
2081
2533
  # attach it to one or more cache behaviors in a CloudFront distribution.
2082
- # When its attached to a cache behavior, CloudFront adds the headers in
2083
- # the policy to HTTP responses that it sends for requests that match the
2084
- # cache behavior.
2534
+ # When it's attached to a cache behavior, the response headers policy
2535
+ # affects the HTTP headers that CloudFront includes in HTTP responses to
2536
+ # requests that match the cache behavior. CloudFront adds or removes
2537
+ # response headers according to the configuration of the response
2538
+ # headers policy.
2539
+ #
2540
+ # For more information, see [Adding or removing HTTP headers in
2541
+ # CloudFront responses][1] in the *Amazon CloudFront Developer Guide*.
2542
+ #
2543
+ #
2544
+ #
2545
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/modifying-response-headers.html
2085
2546
  #
2086
2547
  # @option params [required, Types::ResponseHeadersPolicyConfig] :response_headers_policy_config
2087
2548
  # Contains metadata about the response headers policy, and a set of
2088
- # configurations that specify the response headers.
2549
+ # configurations that specify the HTTP headers.
2089
2550
  #
2090
2551
  # @return [Types::CreateResponseHeadersPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2091
2552
  #
@@ -2149,6 +2610,10 @@ module Aws::CloudFront
2149
2610
  # access_control_max_age_sec: 1, # required
2150
2611
  # },
2151
2612
  # },
2613
+ # server_timing_headers_config: {
2614
+ # enabled: false, # required
2615
+ # sampling_rate: 1.0,
2616
+ # },
2152
2617
  # custom_headers_config: {
2153
2618
  # quantity: 1, # required
2154
2619
  # items: [
@@ -2159,6 +2624,14 @@ module Aws::CloudFront
2159
2624
  # },
2160
2625
  # ],
2161
2626
  # },
2627
+ # remove_headers_config: {
2628
+ # quantity: 1, # required
2629
+ # items: [
2630
+ # {
2631
+ # header: "string", # required
2632
+ # },
2633
+ # ],
2634
+ # },
2162
2635
  # },
2163
2636
  # })
2164
2637
  #
@@ -2198,11 +2671,16 @@ module Aws::CloudFront
2198
2671
  # resp.response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.include_subdomains #=> Boolean
2199
2672
  # resp.response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.preload #=> Boolean
2200
2673
  # resp.response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.access_control_max_age_sec #=> Integer
2674
+ # resp.response_headers_policy.response_headers_policy_config.server_timing_headers_config.enabled #=> Boolean
2675
+ # resp.response_headers_policy.response_headers_policy_config.server_timing_headers_config.sampling_rate #=> Float
2201
2676
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.quantity #=> Integer
2202
2677
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items #=> Array
2203
2678
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].header #=> String
2204
2679
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].value #=> String
2205
2680
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].override #=> Boolean
2681
+ # resp.response_headers_policy.response_headers_policy_config.remove_headers_config.quantity #=> Integer
2682
+ # resp.response_headers_policy.response_headers_policy_config.remove_headers_config.items #=> Array
2683
+ # resp.response_headers_policy.response_headers_policy_config.remove_headers_config.items[0].header #=> String
2206
2684
  # resp.location #=> String
2207
2685
  # resp.etag #=> String
2208
2686
  #
@@ -2405,12 +2883,12 @@ module Aws::CloudFront
2405
2883
 
2406
2884
  # Deletes a cache policy.
2407
2885
  #
2408
- # You cannot delete a cache policy if its attached to a cache behavior.
2409
- # First update your distributions to remove the cache policy from all
2410
- # cache behaviors, then delete the cache policy.
2886
+ # You cannot delete a cache policy if it's attached to a cache
2887
+ # behavior. First update your distributions to remove the cache policy
2888
+ # from all cache behaviors, then delete the cache policy.
2411
2889
  #
2412
- # To delete a cache policy, you must provide the policys identifier and
2413
- # version. To get these values, you can use `ListCachePolicies` or
2890
+ # To delete a cache policy, you must provide the policy's identifier
2891
+ # and version. To get these values, you can use `ListCachePolicies` or
2414
2892
  # `GetCachePolicy`.
2415
2893
  #
2416
2894
  # @option params [required, String] :id
@@ -2419,7 +2897,7 @@ module Aws::CloudFront
2419
2897
  #
2420
2898
  # @option params [String] :if_match
2421
2899
  # The version of the cache policy that you are deleting. The version is
2422
- # the cache policys `ETag` value, which you can get using
2900
+ # the cache policy's `ETag` value, which you can get using
2423
2901
  # `ListCachePolicies`, `GetCachePolicy`, or `GetCachePolicyConfig`.
2424
2902
  #
2425
2903
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -2467,6 +2945,38 @@ module Aws::CloudFront
2467
2945
  req.send_request(options)
2468
2946
  end
2469
2947
 
2948
+ # Deletes a continuous deployment policy.
2949
+ #
2950
+ # You cannot delete a continuous deployment policy that's attached to a
2951
+ # primary distribution. First update your distribution to remove the
2952
+ # continuous deployment policy, then you can delete the policy.
2953
+ #
2954
+ # @option params [required, String] :id
2955
+ # The identifier of the continuous deployment policy that you are
2956
+ # deleting.
2957
+ #
2958
+ # @option params [String] :if_match
2959
+ # The current version (`ETag` value) of the continuous deployment policy
2960
+ # that you are deleting.
2961
+ #
2962
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2963
+ #
2964
+ # @example Request syntax with placeholder values
2965
+ #
2966
+ # resp = client.delete_continuous_deployment_policy({
2967
+ # id: "string", # required
2968
+ # if_match: "string",
2969
+ # })
2970
+ #
2971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteContinuousDeploymentPolicy AWS API Documentation
2972
+ #
2973
+ # @overload delete_continuous_deployment_policy(params = {})
2974
+ # @param [Hash] params ({})
2975
+ def delete_continuous_deployment_policy(params = {}, options = {})
2976
+ req = build_request(:delete_continuous_deployment_policy, params)
2977
+ req.send_request(options)
2978
+ end
2979
+
2470
2980
  # Delete a distribution.
2471
2981
  #
2472
2982
  # @option params [required, String] :id
@@ -2550,13 +3060,13 @@ module Aws::CloudFront
2550
3060
 
2551
3061
  # Deletes a CloudFront function.
2552
3062
  #
2553
- # You cannot delete a function if its associated with a cache behavior.
2554
- # First, update your distributions to remove the function association
2555
- # from all cache behaviors, then delete the function.
3063
+ # You cannot delete a function if it's associated with a cache
3064
+ # behavior. First, update your distributions to remove the function
3065
+ # association from all cache behaviors, then delete the function.
2556
3066
  #
2557
- # To delete a function, you must provide the functions name and version
2558
- # (`ETag` value). To get these values, you can use `ListFunctions` and
2559
- # `DescribeFunction`.
3067
+ # To delete a function, you must provide the function's name and
3068
+ # version (`ETag` value). To get these values, you can use
3069
+ # `ListFunctions` and `DescribeFunction`.
2560
3070
  #
2561
3071
  # @option params [required, String] :name
2562
3072
  # The name of the function that you are deleting.
@@ -2589,8 +3099,8 @@ module Aws::CloudFront
2589
3099
  # First update your distributions to remove the key group from all cache
2590
3100
  # behaviors, then delete the key group.
2591
3101
  #
2592
- # To delete a key group, you must provide the key groups identifier and
2593
- # version. To get these values, use `ListKeyGroups` followed by
3102
+ # To delete a key group, you must provide the key group's identifier
3103
+ # and version. To get these values, use `ListKeyGroups` followed by
2594
3104
  # `GetKeyGroup` or `GetKeyGroupConfig`.
2595
3105
  #
2596
3106
  # @option params [required, String] :id
@@ -2599,7 +3109,7 @@ module Aws::CloudFront
2599
3109
  #
2600
3110
  # @option params [String] :if_match
2601
3111
  # The version of the key group that you are deleting. The version is the
2602
- # key groups `ETag` value. To get the `ETag`, use `GetKeyGroup` or
3112
+ # key group's `ETag` value. To get the `ETag`, use `GetKeyGroup` or
2603
3113
  # `GetKeyGroupConfig`.
2604
3114
  #
2605
3115
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -2643,14 +3153,46 @@ module Aws::CloudFront
2643
3153
  req.send_request(options)
2644
3154
  end
2645
3155
 
3156
+ # Deletes a CloudFront origin access control.
3157
+ #
3158
+ # You cannot delete an origin access control if it's in use. First,
3159
+ # update all distributions to remove the origin access control from all
3160
+ # origins, then delete the origin access control.
3161
+ #
3162
+ # @option params [required, String] :id
3163
+ # The unique identifier of the origin access control that you are
3164
+ # deleting.
3165
+ #
3166
+ # @option params [String] :if_match
3167
+ # The current version (`ETag` value) of the origin access control that
3168
+ # you are deleting.
3169
+ #
3170
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3171
+ #
3172
+ # @example Request syntax with placeholder values
3173
+ #
3174
+ # resp = client.delete_origin_access_control({
3175
+ # id: "string", # required
3176
+ # if_match: "string",
3177
+ # })
3178
+ #
3179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteOriginAccessControl AWS API Documentation
3180
+ #
3181
+ # @overload delete_origin_access_control(params = {})
3182
+ # @param [Hash] params ({})
3183
+ def delete_origin_access_control(params = {}, options = {})
3184
+ req = build_request(:delete_origin_access_control, params)
3185
+ req.send_request(options)
3186
+ end
3187
+
2646
3188
  # Deletes an origin request policy.
2647
3189
  #
2648
- # You cannot delete an origin request policy if its attached to any
3190
+ # You cannot delete an origin request policy if it's attached to any
2649
3191
  # cache behaviors. First update your distributions to remove the origin
2650
3192
  # request policy from all cache behaviors, then delete the origin
2651
3193
  # request policy.
2652
3194
  #
2653
- # To delete an origin request policy, you must provide the policys
3195
+ # To delete an origin request policy, you must provide the policy's
2654
3196
  # identifier and version. To get the identifier, you can use
2655
3197
  # `ListOriginRequestPolicies` or `GetOriginRequestPolicy`.
2656
3198
  #
@@ -2661,8 +3203,8 @@ module Aws::CloudFront
2661
3203
  #
2662
3204
  # @option params [String] :if_match
2663
3205
  # The version of the origin request policy that you are deleting. The
2664
- # version is the origin request policys `ETag` value, which you can get
2665
- # using `ListOriginRequestPolicies`, `GetOriginRequestPolicy`, or
3206
+ # version is the origin request policy's `ETag` value, which you can
3207
+ # get using `ListOriginRequestPolicies`, `GetOriginRequestPolicy`, or
2666
3208
  # `GetOriginRequestPolicyConfig`.
2667
3209
  #
2668
3210
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -2712,13 +3254,13 @@ module Aws::CloudFront
2712
3254
 
2713
3255
  # Deletes a real-time log configuration.
2714
3256
  #
2715
- # You cannot delete a real-time log configuration if its attached to a
3257
+ # You cannot delete a real-time log configuration if it's attached to a
2716
3258
  # cache behavior. First update your distributions to remove the
2717
3259
  # real-time log configuration from all cache behaviors, then delete the
2718
3260
  # real-time log configuration.
2719
3261
  #
2720
3262
  # To delete a real-time log configuration, you can provide the
2721
- # configurations name or its Amazon Resource Name (ARN). You must
3263
+ # configuration's name or its Amazon Resource Name (ARN). You must
2722
3264
  # provide at least one. If you provide both, CloudFront uses the name to
2723
3265
  # identify the real-time log configuration to delete.
2724
3266
  #
@@ -2749,12 +3291,12 @@ module Aws::CloudFront
2749
3291
 
2750
3292
  # Deletes a response headers policy.
2751
3293
  #
2752
- # You cannot delete a response headers policy if its attached to a
3294
+ # You cannot delete a response headers policy if it's attached to a
2753
3295
  # cache behavior. First update your distributions to remove the response
2754
3296
  # headers policy from all cache behaviors, then delete the response
2755
3297
  # headers policy.
2756
3298
  #
2757
- # To delete a response headers policy, you must provide the policys
3299
+ # To delete a response headers policy, you must provide the policy's
2758
3300
  # identifier and version. To get these values, you can use
2759
3301
  # `ListResponseHeadersPolicies` or `GetResponseHeadersPolicy`.
2760
3302
  #
@@ -2766,7 +3308,7 @@ module Aws::CloudFront
2766
3308
  # @option params [String] :if_match
2767
3309
  # The version of the response headers policy that you are deleting.
2768
3310
  #
2769
- # The version is the response headers policys `ETag` value, which you
3311
+ # The version is the response headers policy's `ETag` value, which you
2770
3312
  # can get using `ListResponseHeadersPolicies`,
2771
3313
  # `GetResponseHeadersPolicy`, or `GetResponseHeadersPolicyConfig`.
2772
3314
  #
@@ -2791,7 +3333,7 @@ module Aws::CloudFront
2791
3333
  # Delete a streaming distribution. To delete an RTMP distribution using
2792
3334
  # the CloudFront API, perform the following steps.
2793
3335
  #
2794
- # **To delete an RTMP distribution using the CloudFront API**\:
3336
+ # **To delete an RTMP distribution using the CloudFront API**:
2795
3337
  #
2796
3338
  # 1. Disable the RTMP distribution.
2797
3339
  #
@@ -2859,18 +3401,18 @@ module Aws::CloudFront
2859
3401
  end
2860
3402
 
2861
3403
  # Gets configuration information and metadata about a CloudFront
2862
- # function, but not the functions code. To get a functions code, use
3404
+ # function, but not the function's code. To get a function's code, use
2863
3405
  # `GetFunction`.
2864
3406
  #
2865
3407
  # To get configuration information and metadata about a function, you
2866
- # must provide the functions name and stage. To get these values, you
3408
+ # must provide the function's name and stage. To get these values, you
2867
3409
  # can use `ListFunctions`.
2868
3410
  #
2869
3411
  # @option params [required, String] :name
2870
3412
  # The name of the function that you are getting information about.
2871
3413
  #
2872
3414
  # @option params [String] :stage
2873
- # The functions stage, either `DEVELOPMENT` or `LIVE`.
3415
+ # The function's stage, either `DEVELOPMENT` or `LIVE`.
2874
3416
  #
2875
3417
  # @return [Types::DescribeFunctionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2876
3418
  #
@@ -2889,7 +3431,7 @@ module Aws::CloudFront
2889
3431
  # resp.function_summary.name #=> String
2890
3432
  # resp.function_summary.status #=> String
2891
3433
  # resp.function_summary.function_config.comment #=> String
2892
- # resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
3434
+ # resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0", "cloudfront-js-2.0"
2893
3435
  # resp.function_summary.function_metadata.function_arn #=> String
2894
3436
  # resp.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
2895
3437
  # resp.function_summary.function_metadata.created_time #=> Time
@@ -2907,22 +3449,22 @@ module Aws::CloudFront
2907
3449
 
2908
3450
  # Gets a cache policy, including the following metadata:
2909
3451
  #
2910
- # * The policys identifier.
3452
+ # * The policy's identifier.
2911
3453
  #
2912
3454
  # * The date and time when the policy was last modified.
2913
3455
  #
2914
- # To get a cache policy, you must provide the policys identifier. If
2915
- # the cache policy is attached to a distributions cache behavior, you
2916
- # can get the policys identifier using `ListDistributions` or
3456
+ # To get a cache policy, you must provide the policy's identifier. If
3457
+ # the cache policy is attached to a distribution's cache behavior, you
3458
+ # can get the policy's identifier using `ListDistributions` or
2917
3459
  # `GetDistribution`. If the cache policy is not attached to a cache
2918
3460
  # behavior, you can get the identifier using `ListCachePolicies`.
2919
3461
  #
2920
3462
  # @option params [required, String] :id
2921
3463
  # The unique identifier for the cache policy. If the cache policy is
2922
- # attached to a distributions cache behavior, you can get the policy’s
2923
- # identifier using `ListDistributions` or `GetDistribution`. If the
2924
- # cache policy is not attached to a cache behavior, you can get the
2925
- # identifier using `ListCachePolicies`.
3464
+ # attached to a distribution's cache behavior, you can get the
3465
+ # policy's identifier using `ListDistributions` or `GetDistribution`.
3466
+ # If the cache policy is not attached to a cache behavior, you can get
3467
+ # the identifier using `ListCachePolicies`.
2926
3468
  #
2927
3469
  # @return [Types::GetCachePolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2928
3470
  #
@@ -2971,19 +3513,19 @@ module Aws::CloudFront
2971
3513
 
2972
3514
  # Gets a cache policy configuration.
2973
3515
  #
2974
- # To get a cache policy configuration, you must provide the policys
2975
- # identifier. If the cache policy is attached to a distributions cache
2976
- # behavior, you can get the policys identifier using
3516
+ # To get a cache policy configuration, you must provide the policy's
3517
+ # identifier. If the cache policy is attached to a distribution's cache
3518
+ # behavior, you can get the policy's identifier using
2977
3519
  # `ListDistributions` or `GetDistribution`. If the cache policy is not
2978
3520
  # attached to a cache behavior, you can get the identifier using
2979
3521
  # `ListCachePolicies`.
2980
3522
  #
2981
3523
  # @option params [required, String] :id
2982
3524
  # The unique identifier for the cache policy. If the cache policy is
2983
- # attached to a distributions cache behavior, you can get the policy’s
2984
- # identifier using `ListDistributions` or `GetDistribution`. If the
2985
- # cache policy is not attached to a cache behavior, you can get the
2986
- # identifier using `ListCachePolicies`.
3525
+ # attached to a distribution's cache behavior, you can get the
3526
+ # policy's identifier using `ListDistributions` or `GetDistribution`.
3527
+ # If the cache policy is not attached to a cache behavior, you can get
3528
+ # the identifier using `ListCachePolicies`.
2987
3529
  #
2988
3530
  # @return [Types::GetCachePolicyConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2989
3531
  #
@@ -3092,6 +3634,89 @@ module Aws::CloudFront
3092
3634
  req.send_request(options)
3093
3635
  end
3094
3636
 
3637
+ # Gets a continuous deployment policy, including metadata (the policy's
3638
+ # identifier and the date and time when the policy was last modified).
3639
+ #
3640
+ # @option params [required, String] :id
3641
+ # The identifier of the continuous deployment policy that you are
3642
+ # getting.
3643
+ #
3644
+ # @return [Types::GetContinuousDeploymentPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3645
+ #
3646
+ # * {Types::GetContinuousDeploymentPolicyResult#continuous_deployment_policy #continuous_deployment_policy} => Types::ContinuousDeploymentPolicy
3647
+ # * {Types::GetContinuousDeploymentPolicyResult#etag #etag} => String
3648
+ #
3649
+ # @example Request syntax with placeholder values
3650
+ #
3651
+ # resp = client.get_continuous_deployment_policy({
3652
+ # id: "string", # required
3653
+ # })
3654
+ #
3655
+ # @example Response structure
3656
+ #
3657
+ # resp.continuous_deployment_policy.id #=> String
3658
+ # resp.continuous_deployment_policy.last_modified_time #=> Time
3659
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
3660
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
3661
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
3662
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.enabled #=> Boolean
3663
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
3664
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.idle_ttl #=> Integer
3665
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.maximum_ttl #=> Integer
3666
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
3667
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
3668
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
3669
+ # resp.etag #=> String
3670
+ #
3671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetContinuousDeploymentPolicy AWS API Documentation
3672
+ #
3673
+ # @overload get_continuous_deployment_policy(params = {})
3674
+ # @param [Hash] params ({})
3675
+ def get_continuous_deployment_policy(params = {}, options = {})
3676
+ req = build_request(:get_continuous_deployment_policy, params)
3677
+ req.send_request(options)
3678
+ end
3679
+
3680
+ # Gets configuration information about a continuous deployment policy.
3681
+ #
3682
+ # @option params [required, String] :id
3683
+ # The identifier of the continuous deployment policy whose configuration
3684
+ # you are getting.
3685
+ #
3686
+ # @return [Types::GetContinuousDeploymentPolicyConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3687
+ #
3688
+ # * {Types::GetContinuousDeploymentPolicyConfigResult#continuous_deployment_policy_config #continuous_deployment_policy_config} => Types::ContinuousDeploymentPolicyConfig
3689
+ # * {Types::GetContinuousDeploymentPolicyConfigResult#etag #etag} => String
3690
+ #
3691
+ # @example Request syntax with placeholder values
3692
+ #
3693
+ # resp = client.get_continuous_deployment_policy_config({
3694
+ # id: "string", # required
3695
+ # })
3696
+ #
3697
+ # @example Response structure
3698
+ #
3699
+ # resp.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
3700
+ # resp.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
3701
+ # resp.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
3702
+ # resp.continuous_deployment_policy_config.enabled #=> Boolean
3703
+ # resp.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
3704
+ # resp.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.idle_ttl #=> Integer
3705
+ # resp.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.maximum_ttl #=> Integer
3706
+ # resp.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
3707
+ # resp.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
3708
+ # resp.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
3709
+ # resp.etag #=> String
3710
+ #
3711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetContinuousDeploymentPolicyConfig AWS API Documentation
3712
+ #
3713
+ # @overload get_continuous_deployment_policy_config(params = {})
3714
+ # @param [Hash] params ({})
3715
+ def get_continuous_deployment_policy_config(params = {}, options = {})
3716
+ req = build_request(:get_continuous_deployment_policy_config, params)
3717
+ req.send_request(options)
3718
+ end
3719
+
3095
3720
  # Get the information about a distribution.
3096
3721
  #
3097
3722
  # @option params [required, String] :id
@@ -3158,6 +3783,7 @@ module Aws::CloudFront
3158
3783
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
3159
3784
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
3160
3785
  # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
3786
+ # resp.distribution.distribution_config.origins.items[0].origin_access_control_id #=> String
3161
3787
  # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
3162
3788
  # resp.distribution.distribution_config.origin_groups.items #=> Array
3163
3789
  # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
@@ -3287,8 +3913,10 @@ module Aws::CloudFront
3287
3913
  # resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
3288
3914
  # resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
3289
3915
  # resp.distribution.distribution_config.web_acl_id #=> String
3290
- # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2"
3916
+ # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
3291
3917
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
3918
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
3919
+ # resp.distribution.distribution_config.staging #=> Boolean
3292
3920
  # resp.distribution.alias_icp_recordals #=> Array
3293
3921
  # resp.distribution.alias_icp_recordals[0].cname #=> String
3294
3922
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -3354,6 +3982,7 @@ module Aws::CloudFront
3354
3982
  # resp.distribution_config.origins.items[0].connection_timeout #=> Integer
3355
3983
  # resp.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
3356
3984
  # resp.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
3985
+ # resp.distribution_config.origins.items[0].origin_access_control_id #=> String
3357
3986
  # resp.distribution_config.origin_groups.quantity #=> Integer
3358
3987
  # resp.distribution_config.origin_groups.items #=> Array
3359
3988
  # resp.distribution_config.origin_groups.items[0].id #=> String
@@ -3483,8 +4112,10 @@ module Aws::CloudFront
3483
4112
  # resp.distribution_config.restrictions.geo_restriction.items #=> Array
3484
4113
  # resp.distribution_config.restrictions.geo_restriction.items[0] #=> String
3485
4114
  # resp.distribution_config.web_acl_id #=> String
3486
- # resp.distribution_config.http_version #=> String, one of "http1.1", "http2"
4115
+ # resp.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
3487
4116
  # resp.distribution_config.is_ipv6_enabled #=> Boolean
4117
+ # resp.distribution_config.continuous_deployment_policy_id #=> String
4118
+ # resp.distribution_config.staging #=> Boolean
3488
4119
  # resp.etag #=> String
3489
4120
  #
3490
4121
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig AWS API Documentation
@@ -3668,14 +4299,14 @@ module Aws::CloudFront
3668
4299
  # Gets the code of a CloudFront function. To get configuration
3669
4300
  # information and metadata about a function, use `DescribeFunction`.
3670
4301
  #
3671
- # To get a functions code, you must provide the functions name and
4302
+ # To get a function's code, you must provide the function's name and
3672
4303
  # stage. To get these values, you can use `ListFunctions`.
3673
4304
  #
3674
4305
  # @option params [required, String] :name
3675
4306
  # The name of the function whose code you are getting.
3676
4307
  #
3677
4308
  # @option params [String] :stage
3678
- # The functions stage, either `DEVELOPMENT` or `LIVE`.
4309
+ # The function's stage, either `DEVELOPMENT` or `LIVE`.
3679
4310
  #
3680
4311
  # @return [Types::GetFunctionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3681
4312
  #
@@ -3752,9 +4383,9 @@ module Aws::CloudFront
3752
4383
  # Gets a key group, including the date and time when the key group was
3753
4384
  # last modified.
3754
4385
  #
3755
- # To get a key group, you must provide the key groups identifier. If
3756
- # the key group is referenced in a distributions cache behavior, you
3757
- # can get the key groups identifier using `ListDistributions` or
4386
+ # To get a key group, you must provide the key group's identifier. If
4387
+ # the key group is referenced in a distribution's cache behavior, you
4388
+ # can get the key group's identifier using `ListDistributions` or
3758
4389
  # `GetDistribution`. If the key group is not referenced in a cache
3759
4390
  # behavior, you can get the identifier using `ListKeyGroups`.
3760
4391
  #
@@ -3794,9 +4425,9 @@ module Aws::CloudFront
3794
4425
 
3795
4426
  # Gets a key group configuration.
3796
4427
  #
3797
- # To get a key group configuration, you must provide the key groups
3798
- # identifier. If the key group is referenced in a distributions cache
3799
- # behavior, you can get the key groups identifier using
4428
+ # To get a key group configuration, you must provide the key group's
4429
+ # identifier. If the key group is referenced in a distribution's cache
4430
+ # behavior, you can get the key group's identifier using
3800
4431
  # `ListDistributions` or `GetDistribution`. If the key group is not
3801
4432
  # referenced in a cache behavior, you can get the identifier using
3802
4433
  # `ListKeyGroups`.
@@ -3863,23 +4494,93 @@ module Aws::CloudFront
3863
4494
  req.send_request(options)
3864
4495
  end
3865
4496
 
4497
+ # Gets a CloudFront origin access control, including its unique
4498
+ # identifier.
4499
+ #
4500
+ # @option params [required, String] :id
4501
+ # The unique identifier of the origin access control.
4502
+ #
4503
+ # @return [Types::GetOriginAccessControlResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4504
+ #
4505
+ # * {Types::GetOriginAccessControlResult#origin_access_control #origin_access_control} => Types::OriginAccessControl
4506
+ # * {Types::GetOriginAccessControlResult#etag #etag} => String
4507
+ #
4508
+ # @example Request syntax with placeholder values
4509
+ #
4510
+ # resp = client.get_origin_access_control({
4511
+ # id: "string", # required
4512
+ # })
4513
+ #
4514
+ # @example Response structure
4515
+ #
4516
+ # resp.origin_access_control.id #=> String
4517
+ # resp.origin_access_control.origin_access_control_config.name #=> String
4518
+ # resp.origin_access_control.origin_access_control_config.description #=> String
4519
+ # resp.origin_access_control.origin_access_control_config.signing_protocol #=> String, one of "sigv4"
4520
+ # resp.origin_access_control.origin_access_control_config.signing_behavior #=> String, one of "never", "always", "no-override"
4521
+ # resp.origin_access_control.origin_access_control_config.origin_access_control_origin_type #=> String, one of "s3", "mediastore"
4522
+ # resp.etag #=> String
4523
+ #
4524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginAccessControl AWS API Documentation
4525
+ #
4526
+ # @overload get_origin_access_control(params = {})
4527
+ # @param [Hash] params ({})
4528
+ def get_origin_access_control(params = {}, options = {})
4529
+ req = build_request(:get_origin_access_control, params)
4530
+ req.send_request(options)
4531
+ end
4532
+
4533
+ # Gets a CloudFront origin access control configuration.
4534
+ #
4535
+ # @option params [required, String] :id
4536
+ # The unique identifier of the origin access control.
4537
+ #
4538
+ # @return [Types::GetOriginAccessControlConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4539
+ #
4540
+ # * {Types::GetOriginAccessControlConfigResult#origin_access_control_config #origin_access_control_config} => Types::OriginAccessControlConfig
4541
+ # * {Types::GetOriginAccessControlConfigResult#etag #etag} => String
4542
+ #
4543
+ # @example Request syntax with placeholder values
4544
+ #
4545
+ # resp = client.get_origin_access_control_config({
4546
+ # id: "string", # required
4547
+ # })
4548
+ #
4549
+ # @example Response structure
4550
+ #
4551
+ # resp.origin_access_control_config.name #=> String
4552
+ # resp.origin_access_control_config.description #=> String
4553
+ # resp.origin_access_control_config.signing_protocol #=> String, one of "sigv4"
4554
+ # resp.origin_access_control_config.signing_behavior #=> String, one of "never", "always", "no-override"
4555
+ # resp.origin_access_control_config.origin_access_control_origin_type #=> String, one of "s3", "mediastore"
4556
+ # resp.etag #=> String
4557
+ #
4558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginAccessControlConfig AWS API Documentation
4559
+ #
4560
+ # @overload get_origin_access_control_config(params = {})
4561
+ # @param [Hash] params ({})
4562
+ def get_origin_access_control_config(params = {}, options = {})
4563
+ req = build_request(:get_origin_access_control_config, params)
4564
+ req.send_request(options)
4565
+ end
4566
+
3866
4567
  # Gets an origin request policy, including the following metadata:
3867
4568
  #
3868
- # * The policys identifier.
4569
+ # * The policy's identifier.
3869
4570
  #
3870
4571
  # * The date and time when the policy was last modified.
3871
4572
  #
3872
- # To get an origin request policy, you must provide the policys
4573
+ # To get an origin request policy, you must provide the policy's
3873
4574
  # identifier. If the origin request policy is attached to a
3874
- # distributions cache behavior, you can get the policys identifier
4575
+ # distribution's cache behavior, you can get the policy's identifier
3875
4576
  # using `ListDistributions` or `GetDistribution`. If the origin request
3876
4577
  # policy is not attached to a cache behavior, you can get the identifier
3877
4578
  # using `ListOriginRequestPolicies`.
3878
4579
  #
3879
4580
  # @option params [required, String] :id
3880
4581
  # The unique identifier for the origin request policy. If the origin
3881
- # request policy is attached to a distributions cache behavior, you can
3882
- # get the policys identifier using `ListDistributions` or
4582
+ # request policy is attached to a distribution's cache behavior, you
4583
+ # can get the policy's identifier using `ListDistributions` or
3883
4584
  # `GetDistribution`. If the origin request policy is not attached to a
3884
4585
  # cache behavior, you can get the identifier using
3885
4586
  # `ListOriginRequestPolicies`.
@@ -3901,15 +4602,15 @@ module Aws::CloudFront
3901
4602
  # resp.origin_request_policy.last_modified_time #=> Time
3902
4603
  # resp.origin_request_policy.origin_request_policy_config.comment #=> String
3903
4604
  # resp.origin_request_policy.origin_request_policy_config.name #=> String
3904
- # resp.origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront"
4605
+ # resp.origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront", "allExcept"
3905
4606
  # resp.origin_request_policy.origin_request_policy_config.headers_config.headers.quantity #=> Integer
3906
4607
  # resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items #=> Array
3907
4608
  # resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items[0] #=> String
3908
- # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
4609
+ # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all", "allExcept"
3909
4610
  # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
3910
4611
  # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items #=> Array
3911
4612
  # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
3912
- # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all"
4613
+ # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all", "allExcept"
3913
4614
  # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
3914
4615
  # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
3915
4616
  # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String
@@ -3927,16 +4628,16 @@ module Aws::CloudFront
3927
4628
  # Gets an origin request policy configuration.
3928
4629
  #
3929
4630
  # To get an origin request policy configuration, you must provide the
3930
- # policys identifier. If the origin request policy is attached to a
3931
- # distributions cache behavior, you can get the policys identifier
4631
+ # policy's identifier. If the origin request policy is attached to a
4632
+ # distribution's cache behavior, you can get the policy's identifier
3932
4633
  # using `ListDistributions` or `GetDistribution`. If the origin request
3933
4634
  # policy is not attached to a cache behavior, you can get the identifier
3934
4635
  # using `ListOriginRequestPolicies`.
3935
4636
  #
3936
4637
  # @option params [required, String] :id
3937
4638
  # The unique identifier for the origin request policy. If the origin
3938
- # request policy is attached to a distributions cache behavior, you can
3939
- # get the policys identifier using `ListDistributions` or
4639
+ # request policy is attached to a distribution's cache behavior, you
4640
+ # can get the policy's identifier using `ListDistributions` or
3940
4641
  # `GetDistribution`. If the origin request policy is not attached to a
3941
4642
  # cache behavior, you can get the identifier using
3942
4643
  # `ListOriginRequestPolicies`.
@@ -3956,15 +4657,15 @@ module Aws::CloudFront
3956
4657
  #
3957
4658
  # resp.origin_request_policy_config.comment #=> String
3958
4659
  # resp.origin_request_policy_config.name #=> String
3959
- # resp.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront"
4660
+ # resp.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront", "allExcept"
3960
4661
  # resp.origin_request_policy_config.headers_config.headers.quantity #=> Integer
3961
4662
  # resp.origin_request_policy_config.headers_config.headers.items #=> Array
3962
4663
  # resp.origin_request_policy_config.headers_config.headers.items[0] #=> String
3963
- # resp.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
4664
+ # resp.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all", "allExcept"
3964
4665
  # resp.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
3965
4666
  # resp.origin_request_policy_config.cookies_config.cookies.items #=> Array
3966
4667
  # resp.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
3967
- # resp.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all"
4668
+ # resp.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all", "allExcept"
3968
4669
  # resp.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
3969
4670
  # resp.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
3970
4671
  # resp.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String
@@ -4050,7 +4751,7 @@ module Aws::CloudFront
4050
4751
  # Gets a real-time log configuration.
4051
4752
  #
4052
4753
  # To get a real-time log configuration, you can provide the
4053
- # configurations name or its Amazon Resource Name (ARN). You must
4754
+ # configuration's name or its Amazon Resource Name (ARN). You must
4054
4755
  # provide at least one. If you provide both, CloudFront uses the name to
4055
4756
  # identify the real-time log configuration to get.
4056
4757
  #
@@ -4093,12 +4794,12 @@ module Aws::CloudFront
4093
4794
  req.send_request(options)
4094
4795
  end
4095
4796
 
4096
- # Gets a response headers policy, including metadata (the policys
4797
+ # Gets a response headers policy, including metadata (the policy's
4097
4798
  # identifier and the date and time when the policy was last modified).
4098
4799
  #
4099
- # To get a response headers policy, you must provide the policys
4800
+ # To get a response headers policy, you must provide the policy's
4100
4801
  # identifier. If the response headers policy is attached to a
4101
- # distributions cache behavior, you can get the policys identifier
4802
+ # distribution's cache behavior, you can get the policy's identifier
4102
4803
  # using `ListDistributions` or `GetDistribution`. If the response
4103
4804
  # headers policy is not attached to a cache behavior, you can get the
4104
4805
  # identifier using `ListResponseHeadersPolicies`.
@@ -4106,8 +4807,8 @@ module Aws::CloudFront
4106
4807
  # @option params [required, String] :id
4107
4808
  # The identifier for the response headers policy.
4108
4809
  #
4109
- # If the response headers policy is attached to a distributions cache
4110
- # behavior, you can get the policys identifier using
4810
+ # If the response headers policy is attached to a distribution's cache
4811
+ # behavior, you can get the policy's identifier using
4111
4812
  # `ListDistributions` or `GetDistribution`. If the response headers
4112
4813
  # policy is not attached to a cache behavior, you can get the identifier
4113
4814
  # using `ListResponseHeadersPolicies`.
@@ -4159,11 +4860,16 @@ module Aws::CloudFront
4159
4860
  # resp.response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.include_subdomains #=> Boolean
4160
4861
  # resp.response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.preload #=> Boolean
4161
4862
  # resp.response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.access_control_max_age_sec #=> Integer
4863
+ # resp.response_headers_policy.response_headers_policy_config.server_timing_headers_config.enabled #=> Boolean
4864
+ # resp.response_headers_policy.response_headers_policy_config.server_timing_headers_config.sampling_rate #=> Float
4162
4865
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.quantity #=> Integer
4163
4866
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items #=> Array
4164
4867
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].header #=> String
4165
4868
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].value #=> String
4166
4869
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].override #=> Boolean
4870
+ # resp.response_headers_policy.response_headers_policy_config.remove_headers_config.quantity #=> Integer
4871
+ # resp.response_headers_policy.response_headers_policy_config.remove_headers_config.items #=> Array
4872
+ # resp.response_headers_policy.response_headers_policy_config.remove_headers_config.items[0].header #=> String
4167
4873
  # resp.etag #=> String
4168
4874
  #
4169
4875
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetResponseHeadersPolicy AWS API Documentation
@@ -4178,8 +4884,8 @@ module Aws::CloudFront
4178
4884
  # Gets a response headers policy configuration.
4179
4885
  #
4180
4886
  # To get a response headers policy configuration, you must provide the
4181
- # policys identifier. If the response headers policy is attached to a
4182
- # distributions cache behavior, you can get the policys identifier
4887
+ # policy's identifier. If the response headers policy is attached to a
4888
+ # distribution's cache behavior, you can get the policy's identifier
4183
4889
  # using `ListDistributions` or `GetDistribution`. If the response
4184
4890
  # headers policy is not attached to a cache behavior, you can get the
4185
4891
  # identifier using `ListResponseHeadersPolicies`.
@@ -4187,8 +4893,8 @@ module Aws::CloudFront
4187
4893
  # @option params [required, String] :id
4188
4894
  # The identifier for the response headers policy.
4189
4895
  #
4190
- # If the response headers policy is attached to a distributions cache
4191
- # behavior, you can get the policys identifier using
4896
+ # If the response headers policy is attached to a distribution's cache
4897
+ # behavior, you can get the policy's identifier using
4192
4898
  # `ListDistributions` or `GetDistribution`. If the response headers
4193
4899
  # policy is not attached to a cache behavior, you can get the identifier
4194
4900
  # using `ListResponseHeadersPolicies`.
@@ -4238,11 +4944,16 @@ module Aws::CloudFront
4238
4944
  # resp.response_headers_policy_config.security_headers_config.strict_transport_security.include_subdomains #=> Boolean
4239
4945
  # resp.response_headers_policy_config.security_headers_config.strict_transport_security.preload #=> Boolean
4240
4946
  # resp.response_headers_policy_config.security_headers_config.strict_transport_security.access_control_max_age_sec #=> Integer
4947
+ # resp.response_headers_policy_config.server_timing_headers_config.enabled #=> Boolean
4948
+ # resp.response_headers_policy_config.server_timing_headers_config.sampling_rate #=> Float
4241
4949
  # resp.response_headers_policy_config.custom_headers_config.quantity #=> Integer
4242
4950
  # resp.response_headers_policy_config.custom_headers_config.items #=> Array
4243
4951
  # resp.response_headers_policy_config.custom_headers_config.items[0].header #=> String
4244
4952
  # resp.response_headers_policy_config.custom_headers_config.items[0].value #=> String
4245
4953
  # resp.response_headers_policy_config.custom_headers_config.items[0].override #=> Boolean
4954
+ # resp.response_headers_policy_config.remove_headers_config.quantity #=> Integer
4955
+ # resp.response_headers_policy_config.remove_headers_config.items #=> Array
4956
+ # resp.response_headers_policy_config.remove_headers_config.items[0].header #=> String
4246
4957
  # resp.etag #=> String
4247
4958
  #
4248
4959
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetResponseHeadersPolicyConfig AWS API Documentation
@@ -4389,8 +5100,8 @@ module Aws::CloudFront
4389
5100
  # Use this field when paginating results to indicate where to begin in
4390
5101
  # your list of cache policies. The response includes cache policies in
4391
5102
  # the list that occur after the marker. To get the next page of the
4392
- # list, set this fields value to the value of `NextMarker` from the
4393
- # current pages response.
5103
+ # list, set this field's value to the value of `NextMarker` from the
5104
+ # current page's response.
4394
5105
  #
4395
5106
  # @option params [Integer] :max_items
4396
5107
  # The maximum number of cache policies that you want in the response.
@@ -4499,7 +5210,7 @@ module Aws::CloudFront
4499
5210
  # conflicting alias. In the returned list, the distribution and account
4500
5211
  # IDs are partially hidden, which allows you to identify the
4501
5212
  # distributions and accounts that you own, but helps to protect the
4502
- # information of ones that you dont own.
5213
+ # information of ones that you don't own.
4503
5214
  #
4504
5215
  # Use this operation to find aliases that are in use in CloudFront that
4505
5216
  # conflict or overlap with the provided alias. For example, if you
@@ -4539,8 +5250,8 @@ module Aws::CloudFront
4539
5250
  # Use this field when paginating results to indicate where to begin in
4540
5251
  # the list of conflicting aliases. The response includes conflicting
4541
5252
  # aliases in the list that occur after the marker. To get the next page
4542
- # of the list, set this fields value to the value of `NextMarker` from
4543
- # the current pages response.
5253
+ # of the list, set this field's value to the value of `NextMarker` from
5254
+ # the current page's response.
4544
5255
  #
4545
5256
  # @option params [Integer] :max_items
4546
5257
  # The maximum number of conflicting aliases that you want in the
@@ -4578,6 +5289,66 @@ module Aws::CloudFront
4578
5289
  req.send_request(options)
4579
5290
  end
4580
5291
 
5292
+ # Gets a list of the continuous deployment policies in your Amazon Web
5293
+ # Services account.
5294
+ #
5295
+ # You can optionally specify the maximum number of items to receive in
5296
+ # the response. If the total number of items in the list exceeds the
5297
+ # maximum that you specify, or the default maximum, the response is
5298
+ # paginated. To get the next page of items, send a subsequent request
5299
+ # that specifies the `NextMarker` value from the current response as the
5300
+ # `Marker` value in the subsequent request.
5301
+ #
5302
+ # @option params [String] :marker
5303
+ # Use this field when paginating results to indicate where to begin in
5304
+ # your list of continuous deployment policies. The response includes
5305
+ # policies in the list that occur after the marker. To get the next page
5306
+ # of the list, set this field's value to the value of `NextMarker` from
5307
+ # the current page's response.
5308
+ #
5309
+ # @option params [Integer] :max_items
5310
+ # The maximum number of continuous deployment policies that you want
5311
+ # returned in the response.
5312
+ #
5313
+ # @return [Types::ListContinuousDeploymentPoliciesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5314
+ #
5315
+ # * {Types::ListContinuousDeploymentPoliciesResult#continuous_deployment_policy_list #continuous_deployment_policy_list} => Types::ContinuousDeploymentPolicyList
5316
+ #
5317
+ # @example Request syntax with placeholder values
5318
+ #
5319
+ # resp = client.list_continuous_deployment_policies({
5320
+ # marker: "string",
5321
+ # max_items: 1,
5322
+ # })
5323
+ #
5324
+ # @example Response structure
5325
+ #
5326
+ # resp.continuous_deployment_policy_list.next_marker #=> String
5327
+ # resp.continuous_deployment_policy_list.max_items #=> Integer
5328
+ # resp.continuous_deployment_policy_list.quantity #=> Integer
5329
+ # resp.continuous_deployment_policy_list.items #=> Array
5330
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.id #=> String
5331
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.last_modified_time #=> Time
5332
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
5333
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
5334
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
5335
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.enabled #=> Boolean
5336
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
5337
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.idle_ttl #=> Integer
5338
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.maximum_ttl #=> Integer
5339
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
5340
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
5341
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
5342
+ #
5343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListContinuousDeploymentPolicies AWS API Documentation
5344
+ #
5345
+ # @overload list_continuous_deployment_policies(params = {})
5346
+ # @param [Hash] params ({})
5347
+ def list_continuous_deployment_policies(params = {}, options = {})
5348
+ req = build_request(:list_continuous_deployment_policies, params)
5349
+ req.send_request(options)
5350
+ end
5351
+
4581
5352
  # List CloudFront distributions.
4582
5353
  #
4583
5354
  # @option params [String] :marker
@@ -4641,6 +5412,7 @@ module Aws::CloudFront
4641
5412
  # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
4642
5413
  # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
4643
5414
  # resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
5415
+ # resp.distribution_list.items[0].origins.items[0].origin_access_control_id #=> String
4644
5416
  # resp.distribution_list.items[0].origin_groups.quantity #=> Integer
4645
5417
  # resp.distribution_list.items[0].origin_groups.items #=> Array
4646
5418
  # resp.distribution_list.items[0].origin_groups.items[0].id #=> String
@@ -4766,11 +5538,12 @@ module Aws::CloudFront
4766
5538
  # resp.distribution_list.items[0].restrictions.geo_restriction.items #=> Array
4767
5539
  # resp.distribution_list.items[0].restrictions.geo_restriction.items[0] #=> String
4768
5540
  # resp.distribution_list.items[0].web_acl_id #=> String
4769
- # resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2"
5541
+ # resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
4770
5542
  # resp.distribution_list.items[0].is_ipv6_enabled #=> Boolean
4771
5543
  # resp.distribution_list.items[0].alias_icp_recordals #=> Array
4772
5544
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
4773
5545
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
5546
+ # resp.distribution_list.items[0].staging #=> Boolean
4774
5547
  #
4775
5548
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions AWS API Documentation
4776
5549
  #
@@ -4782,7 +5555,7 @@ module Aws::CloudFront
4782
5555
  end
4783
5556
 
4784
5557
  # Gets a list of distribution IDs for distributions that have a cache
4785
- # behavior thats associated with the specified cache policy.
5558
+ # behavior that's associated with the specified cache policy.
4786
5559
  #
4787
5560
  # You can optionally specify the maximum number of items to receive in
4788
5561
  # the response. If the total number of items in the list exceeds the
@@ -4795,8 +5568,8 @@ module Aws::CloudFront
4795
5568
  # Use this field when paginating results to indicate where to begin in
4796
5569
  # your list of distribution IDs. The response includes distribution IDs
4797
5570
  # in the list that occur after the marker. To get the next page of the
4798
- # list, set this fields value to the value of `NextMarker` from the
4799
- # current pages response.
5571
+ # list, set this field's value to the value of `NextMarker` from the
5572
+ # current page's response.
4800
5573
  #
4801
5574
  # @option params [Integer] :max_items
4802
5575
  # The maximum number of distribution IDs that you want in the response.
@@ -4850,8 +5623,8 @@ module Aws::CloudFront
4850
5623
  # Use this field when paginating results to indicate where to begin in
4851
5624
  # your list of distribution IDs. The response includes distribution IDs
4852
5625
  # in the list that occur after the marker. To get the next page of the
4853
- # list, set this fields value to the value of `NextMarker` from the
4854
- # current pages response.
5626
+ # list, set this field's value to the value of `NextMarker` from the
5627
+ # current page's response.
4855
5628
  #
4856
5629
  # @option params [Integer] :max_items
4857
5630
  # The maximum number of distribution IDs that you want in the response.
@@ -4892,7 +5665,7 @@ module Aws::CloudFront
4892
5665
  end
4893
5666
 
4894
5667
  # Gets a list of distribution IDs for distributions that have a cache
4895
- # behavior thats associated with the specified origin request policy.
5668
+ # behavior that's associated with the specified origin request policy.
4896
5669
  #
4897
5670
  # You can optionally specify the maximum number of items to receive in
4898
5671
  # the response. If the total number of items in the list exceeds the
@@ -4905,8 +5678,8 @@ module Aws::CloudFront
4905
5678
  # Use this field when paginating results to indicate where to begin in
4906
5679
  # your list of distribution IDs. The response includes distribution IDs
4907
5680
  # in the list that occur after the marker. To get the next page of the
4908
- # list, set this fields value to the value of `NextMarker` from the
4909
- # current pages response.
5681
+ # list, set this field's value to the value of `NextMarker` from the
5682
+ # current page's response.
4910
5683
  #
4911
5684
  # @option params [Integer] :max_items
4912
5685
  # The maximum number of distribution IDs that you want in the response.
@@ -4946,7 +5719,7 @@ module Aws::CloudFront
4946
5719
  req.send_request(options)
4947
5720
  end
4948
5721
 
4949
- # Gets a list of distributions that have a cache behavior thats
5722
+ # Gets a list of distributions that have a cache behavior that's
4950
5723
  # associated with the specified real-time log configuration.
4951
5724
  #
4952
5725
  # You can specify the real-time log configuration by its name or its
@@ -4965,8 +5738,8 @@ module Aws::CloudFront
4965
5738
  # Use this field when paginating results to indicate where to begin in
4966
5739
  # your list of distributions. The response includes distributions in the
4967
5740
  # list that occur after the marker. To get the next page of the list,
4968
- # set this fields value to the value of `NextMarker` from the current
4969
- # pages response.
5741
+ # set this field's value to the value of `NextMarker` from the current
5742
+ # page's response.
4970
5743
  #
4971
5744
  # @option params [Integer] :max_items
4972
5745
  # The maximum number of distributions that you want in the response.
@@ -5030,6 +5803,7 @@ module Aws::CloudFront
5030
5803
  # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
5031
5804
  # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
5032
5805
  # resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
5806
+ # resp.distribution_list.items[0].origins.items[0].origin_access_control_id #=> String
5033
5807
  # resp.distribution_list.items[0].origin_groups.quantity #=> Integer
5034
5808
  # resp.distribution_list.items[0].origin_groups.items #=> Array
5035
5809
  # resp.distribution_list.items[0].origin_groups.items[0].id #=> String
@@ -5155,11 +5929,12 @@ module Aws::CloudFront
5155
5929
  # resp.distribution_list.items[0].restrictions.geo_restriction.items #=> Array
5156
5930
  # resp.distribution_list.items[0].restrictions.geo_restriction.items[0] #=> String
5157
5931
  # resp.distribution_list.items[0].web_acl_id #=> String
5158
- # resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2"
5932
+ # resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
5159
5933
  # resp.distribution_list.items[0].is_ipv6_enabled #=> Boolean
5160
5934
  # resp.distribution_list.items[0].alias_icp_recordals #=> Array
5161
5935
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
5162
5936
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
5937
+ # resp.distribution_list.items[0].staging #=> Boolean
5163
5938
  #
5164
5939
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfig AWS API Documentation
5165
5940
  #
@@ -5171,7 +5946,8 @@ module Aws::CloudFront
5171
5946
  end
5172
5947
 
5173
5948
  # Gets a list of distribution IDs for distributions that have a cache
5174
- # behavior thats associated with the specified response headers policy.
5949
+ # behavior that's associated with the specified response headers
5950
+ # policy.
5175
5951
  #
5176
5952
  # You can optionally specify the maximum number of items to receive in
5177
5953
  # the response. If the total number of items in the list exceeds the
@@ -5184,8 +5960,8 @@ module Aws::CloudFront
5184
5960
  # Use this field when paginating results to indicate where to begin in
5185
5961
  # your list of distribution IDs. The response includes distribution IDs
5186
5962
  # in the list that occur after the marker. To get the next page of the
5187
- # list, set this fields value to the value of `NextMarker` from the
5188
- # current pages response.
5963
+ # list, set this field's value to the value of `NextMarker` from the
5964
+ # current page's response.
5189
5965
  #
5190
5966
  # @option params [Integer] :max_items
5191
5967
  # The maximum number of distribution IDs that you want to get in the
@@ -5296,6 +6072,7 @@ module Aws::CloudFront
5296
6072
  # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
5297
6073
  # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
5298
6074
  # resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
6075
+ # resp.distribution_list.items[0].origins.items[0].origin_access_control_id #=> String
5299
6076
  # resp.distribution_list.items[0].origin_groups.quantity #=> Integer
5300
6077
  # resp.distribution_list.items[0].origin_groups.items #=> Array
5301
6078
  # resp.distribution_list.items[0].origin_groups.items[0].id #=> String
@@ -5421,11 +6198,12 @@ module Aws::CloudFront
5421
6198
  # resp.distribution_list.items[0].restrictions.geo_restriction.items #=> Array
5422
6199
  # resp.distribution_list.items[0].restrictions.geo_restriction.items[0] #=> String
5423
6200
  # resp.distribution_list.items[0].web_acl_id #=> String
5424
- # resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2"
6201
+ # resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
5425
6202
  # resp.distribution_list.items[0].is_ipv6_enabled #=> Boolean
5426
6203
  # resp.distribution_list.items[0].alias_icp_recordals #=> Array
5427
6204
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
5428
6205
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6206
+ # resp.distribution_list.items[0].staging #=> Boolean
5429
6207
  #
5430
6208
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId AWS API Documentation
5431
6209
  #
@@ -5561,8 +6339,8 @@ module Aws::CloudFront
5561
6339
  # Use this field when paginating results to indicate where to begin in
5562
6340
  # your list of functions. The response includes functions in the list
5563
6341
  # that occur after the marker. To get the next page of the list, set
5564
- # this fields value to the value of `NextMarker` from the current
5565
- # pages response.
6342
+ # this field's value to the value of `NextMarker` from the current
6343
+ # page's response.
5566
6344
  #
5567
6345
  # @option params [Integer] :max_items
5568
6346
  # The maximum number of functions that you want in the response.
@@ -5592,7 +6370,7 @@ module Aws::CloudFront
5592
6370
  # resp.function_list.items[0].name #=> String
5593
6371
  # resp.function_list.items[0].status #=> String
5594
6372
  # resp.function_list.items[0].function_config.comment #=> String
5595
- # resp.function_list.items[0].function_config.runtime #=> String, one of "cloudfront-js-1.0"
6373
+ # resp.function_list.items[0].function_config.runtime #=> String, one of "cloudfront-js-1.0", "cloudfront-js-2.0"
5596
6374
  # resp.function_list.items[0].function_metadata.function_arn #=> String
5597
6375
  # resp.function_list.items[0].function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
5598
6376
  # resp.function_list.items[0].function_metadata.created_time #=> Time
@@ -5674,8 +6452,8 @@ module Aws::CloudFront
5674
6452
  # Use this field when paginating results to indicate where to begin in
5675
6453
  # your list of key groups. The response includes key groups in the list
5676
6454
  # that occur after the marker. To get the next page of the list, set
5677
- # this fields value to the value of `NextMarker` from the current
5678
- # pages response.
6455
+ # this field's value to the value of `NextMarker` from the current
6456
+ # page's response.
5679
6457
  #
5680
6458
  # @option params [Integer] :max_items
5681
6459
  # The maximum number of key groups that you want in the response.
@@ -5713,6 +6491,62 @@ module Aws::CloudFront
5713
6491
  req.send_request(options)
5714
6492
  end
5715
6493
 
6494
+ # Gets the list of CloudFront origin access controls in this Amazon Web
6495
+ # Services account.
6496
+ #
6497
+ # You can optionally specify the maximum number of items to receive in
6498
+ # the response. If the total number of items in the list exceeds the
6499
+ # maximum that you specify, or the default maximum, the response is
6500
+ # paginated. To get the next page of items, send another request that
6501
+ # specifies the `NextMarker` value from the current response as the
6502
+ # `Marker` value in the next request.
6503
+ #
6504
+ # @option params [String] :marker
6505
+ # Use this field when paginating results to indicate where to begin in
6506
+ # your list of origin access controls. The response includes the items
6507
+ # in the list that occur after the marker. To get the next page of the
6508
+ # list, set this field's value to the value of `NextMarker` from the
6509
+ # current page's response.
6510
+ #
6511
+ # @option params [Integer] :max_items
6512
+ # The maximum number of origin access controls that you want in the
6513
+ # response.
6514
+ #
6515
+ # @return [Types::ListOriginAccessControlsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6516
+ #
6517
+ # * {Types::ListOriginAccessControlsResult#origin_access_control_list #origin_access_control_list} => Types::OriginAccessControlList
6518
+ #
6519
+ # @example Request syntax with placeholder values
6520
+ #
6521
+ # resp = client.list_origin_access_controls({
6522
+ # marker: "string",
6523
+ # max_items: 1,
6524
+ # })
6525
+ #
6526
+ # @example Response structure
6527
+ #
6528
+ # resp.origin_access_control_list.marker #=> String
6529
+ # resp.origin_access_control_list.next_marker #=> String
6530
+ # resp.origin_access_control_list.max_items #=> Integer
6531
+ # resp.origin_access_control_list.is_truncated #=> Boolean
6532
+ # resp.origin_access_control_list.quantity #=> Integer
6533
+ # resp.origin_access_control_list.items #=> Array
6534
+ # resp.origin_access_control_list.items[0].id #=> String
6535
+ # resp.origin_access_control_list.items[0].description #=> String
6536
+ # resp.origin_access_control_list.items[0].name #=> String
6537
+ # resp.origin_access_control_list.items[0].signing_protocol #=> String, one of "sigv4"
6538
+ # resp.origin_access_control_list.items[0].signing_behavior #=> String, one of "never", "always", "no-override"
6539
+ # resp.origin_access_control_list.items[0].origin_access_control_origin_type #=> String, one of "s3", "mediastore"
6540
+ #
6541
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginAccessControls AWS API Documentation
6542
+ #
6543
+ # @overload list_origin_access_controls(params = {})
6544
+ # @param [Hash] params ({})
6545
+ def list_origin_access_controls(params = {}, options = {})
6546
+ req = build_request(:list_origin_access_controls, params)
6547
+ req.send_request(options)
6548
+ end
6549
+
5716
6550
  # Gets a list of origin request policies.
5717
6551
  #
5718
6552
  # You can optionally apply a filter to return only the managed policies
@@ -5740,8 +6574,8 @@ module Aws::CloudFront
5740
6574
  # Use this field when paginating results to indicate where to begin in
5741
6575
  # your list of origin request policies. The response includes origin
5742
6576
  # request policies in the list that occur after the marker. To get the
5743
- # next page of the list, set this fields value to the value of
5744
- # `NextMarker` from the current pages response.
6577
+ # next page of the list, set this field's value to the value of
6578
+ # `NextMarker` from the current page's response.
5745
6579
  #
5746
6580
  # @option params [Integer] :max_items
5747
6581
  # The maximum number of origin request policies that you want in the
@@ -5770,15 +6604,15 @@ module Aws::CloudFront
5770
6604
  # resp.origin_request_policy_list.items[0].origin_request_policy.last_modified_time #=> Time
5771
6605
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.comment #=> String
5772
6606
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.name #=> String
5773
- # 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"
6607
+ # 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", "allExcept"
5774
6608
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.headers_config.headers.quantity #=> Integer
5775
6609
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.headers_config.headers.items #=> Array
5776
6610
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.headers_config.headers.items[0] #=> String
5777
- # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
6611
+ # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all", "allExcept"
5778
6612
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
5779
6613
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.cookies_config.cookies.items #=> Array
5780
6614
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
5781
- # 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"
6615
+ # 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", "allExcept"
5782
6616
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
5783
6617
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
5784
6618
  # resp.origin_request_policy_list.items[0].origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String
@@ -5854,8 +6688,8 @@ module Aws::CloudFront
5854
6688
  # Use this field when paginating results to indicate where to begin in
5855
6689
  # your list of real-time log configurations. The response includes
5856
6690
  # real-time log configurations in the list that occur after the marker.
5857
- # To get the next page of the list, set this fields value to the value
5858
- # of `NextMarker` from the current pages response.
6691
+ # To get the next page of the list, set this field's value to the value
6692
+ # of `NextMarker` from the current page's response.
5859
6693
  #
5860
6694
  # @return [Types::ListRealtimeLogConfigsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5861
6695
  #
@@ -5921,8 +6755,8 @@ module Aws::CloudFront
5921
6755
  # Use this field when paginating results to indicate where to begin in
5922
6756
  # your list of response headers policies. The response includes response
5923
6757
  # headers policies in the list that occur after the marker. To get the
5924
- # next page of the list, set this fields value to the value of
5925
- # `NextMarker` from the current pages response.
6758
+ # next page of the list, set this field's value to the value of
6759
+ # `NextMarker` from the current page's response.
5926
6760
  #
5927
6761
  # @option params [Integer] :max_items
5928
6762
  # The maximum number of response headers policies that you want to get
@@ -5981,11 +6815,16 @@ module Aws::CloudFront
5981
6815
  # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.include_subdomains #=> Boolean
5982
6816
  # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.preload #=> Boolean
5983
6817
  # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.access_control_max_age_sec #=> Integer
6818
+ # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.server_timing_headers_config.enabled #=> Boolean
6819
+ # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.server_timing_headers_config.sampling_rate #=> Float
5984
6820
  # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.custom_headers_config.quantity #=> Integer
5985
6821
  # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.custom_headers_config.items #=> Array
5986
6822
  # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].header #=> String
5987
6823
  # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].value #=> String
5988
6824
  # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].override #=> Boolean
6825
+ # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.remove_headers_config.quantity #=> Integer
6826
+ # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.remove_headers_config.items #=> Array
6827
+ # resp.response_headers_policy_list.items[0].response_headers_policy.response_headers_policy_config.remove_headers_config.items[0].header #=> String
5989
6828
  #
5990
6829
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListResponseHeadersPolicies AWS API Documentation
5991
6830
  #
@@ -6088,10 +6927,10 @@ module Aws::CloudFront
6088
6927
  # in the `LIVE` stage.
6089
6928
  #
6090
6929
  # When a function is published to the `LIVE` stage, you can attach the
6091
- # function to a distributions cache behavior, using the functions
6930
+ # function to a distribution's cache behavior, using the function's
6092
6931
  # Amazon Resource Name (ARN).
6093
6932
  #
6094
- # To publish a function, you must provide the functions name and
6933
+ # To publish a function, you must provide the function's name and
6095
6934
  # version (`ETag` value). To get these values, you can use
6096
6935
  # `ListFunctions` and `DescribeFunction`.
6097
6936
  #
@@ -6118,7 +6957,7 @@ module Aws::CloudFront
6118
6957
  # resp.function_summary.name #=> String
6119
6958
  # resp.function_summary.status #=> String
6120
6959
  # resp.function_summary.function_config.comment #=> String
6121
- # resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
6960
+ # resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0", "cloudfront-js-2.0"
6122
6961
  # resp.function_summary.function_metadata.function_arn #=> String
6123
6962
  # resp.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
6124
6963
  # resp.function_summary.function_metadata.created_time #=> Time
@@ -6171,15 +7010,15 @@ module Aws::CloudFront
6171
7010
  # To test a function, you provide an *event object* that represents an
6172
7011
  # HTTP request or response that your CloudFront distribution could
6173
7012
  # receive in production. CloudFront runs the function, passing it the
6174
- # event object that you provided, and returns the functions result (the
6175
- # modified event object) in the response. The response also contains
6176
- # function logs and error messages, if any exist. For more information
6177
- # about testing functions, see [Testing functions][1] in the *Amazon
6178
- # CloudFront Developer Guide*.
7013
+ # event object that you provided, and returns the function's result
7014
+ # (the modified event object) in the response. The response also
7015
+ # contains function logs and error messages, if any exist. For more
7016
+ # information about testing functions, see [Testing functions][1] in the
7017
+ # *Amazon CloudFront Developer Guide*.
6179
7018
  #
6180
- # To test a function, you provide the functions name and version
6181
- # (`ETag` value) along with the event object. To get the functions name
6182
- # and version, you can use `ListFunctions` and `DescribeFunction`.
7019
+ # To test a function, you provide the function's name and version
7020
+ # (`ETag` value) along with the event object. To get the function's
7021
+ # name and version, you can use `ListFunctions` and `DescribeFunction`.
6183
7022
  #
6184
7023
  #
6185
7024
  #
@@ -6223,7 +7062,7 @@ module Aws::CloudFront
6223
7062
  # resp.test_result.function_summary.name #=> String
6224
7063
  # resp.test_result.function_summary.status #=> String
6225
7064
  # resp.test_result.function_summary.function_config.comment #=> String
6226
- # resp.test_result.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
7065
+ # resp.test_result.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0", "cloudfront-js-2.0"
6227
7066
  # resp.test_result.function_summary.function_metadata.function_arn #=> String
6228
7067
  # resp.test_result.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
6229
7068
  # resp.test_result.function_summary.function_metadata.created_time #=> Time
@@ -6285,19 +7124,19 @@ module Aws::CloudFront
6285
7124
  #
6286
7125
  # 3. Call `UpdateCachePolicy` by providing the entire cache policy
6287
7126
  # configuration, including the fields that you modified and those
6288
- # that you didnt.
7127
+ # that you didn't.
6289
7128
  #
6290
7129
  # @option params [required, Types::CachePolicyConfig] :cache_policy_config
6291
7130
  # A cache policy configuration.
6292
7131
  #
6293
7132
  # @option params [required, String] :id
6294
7133
  # The unique identifier for the cache policy that you are updating. The
6295
- # identifier is returned in a cache behaviors `CachePolicyId` field in
7134
+ # identifier is returned in a cache behavior's `CachePolicyId` field in
6296
7135
  # the response to `GetDistributionConfig`.
6297
7136
  #
6298
7137
  # @option params [String] :if_match
6299
7138
  # The version of the cache policy that you are updating. The version is
6300
- # returned in the cache policys `ETag` field in the response to
7139
+ # returned in the cache policy's `ETag` field in the response to
6301
7140
  # `GetCachePolicyConfig`.
6302
7141
  #
6303
7142
  # @return [Types::UpdateCachePolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -6423,82 +7262,122 @@ module Aws::CloudFront
6423
7262
  req.send_request(options)
6424
7263
  end
6425
7264
 
6426
- # Updates the configuration for a web distribution.
6427
- #
6428
- # When you update a distribution, there are more required fields than
6429
- # when you create a distribution. When you update your distribution by
6430
- # using this API action, follow the steps here to get the current
6431
- # configuration and then make your updates, to make sure that you
6432
- # include all of the required fields. To view a summary, see [Required
6433
- # Fields for Create Distribution and Update Distribution][1] in the
6434
- # *Amazon CloudFront Developer Guide*.
7265
+ # Updates a continuous deployment policy. You can update a continuous
7266
+ # deployment policy to enable or disable it, to change the percentage of
7267
+ # traffic that it sends to the staging distribution, or to change the
7268
+ # staging distribution that it sends traffic to.
6435
7269
  #
6436
- # The update process includes getting the current distribution
6437
- # configuration, updating the XML document that is returned to make your
6438
- # changes, and then submitting an `UpdateDistribution` request to make
6439
- # the updates.
7270
+ # When you update a continuous deployment policy configuration, all the
7271
+ # fields are updated with the values that are provided in the request.
7272
+ # You cannot update some fields independent of others. To update a
7273
+ # continuous deployment policy configuration:
6440
7274
  #
6441
- # For information about updating a distribution using the CloudFront
6442
- # console instead, see [Creating a Distribution][2] in the *Amazon
6443
- # CloudFront Developer Guide*.
7275
+ # 1. Use `GetContinuousDeploymentPolicyConfig` to get the current
7276
+ # configuration.
6444
7277
  #
6445
- # **To update a web distribution using the CloudFront API**
7278
+ # 2. Locally modify the fields in the continuous deployment policy
7279
+ # configuration that you want to update.
7280
+ #
7281
+ # 3. Use `UpdateContinuousDeploymentPolicy`, providing the entire
7282
+ # continuous deployment policy configuration, including the fields
7283
+ # that you modified and those that you didn't.
6446
7284
  #
6447
- # 1. Submit a [GetDistributionConfig][3] request to get the current
6448
- # configuration and an `Etag` header for the distribution.
7285
+ # @option params [required, Types::ContinuousDeploymentPolicyConfig] :continuous_deployment_policy_config
7286
+ # The continuous deployment policy configuration.
7287
+ #
7288
+ # @option params [required, String] :id
7289
+ # The identifier of the continuous deployment policy that you are
7290
+ # updating.
6449
7291
  #
6450
- # <note markdown="1"> If you update the distribution again, you must get a new `Etag`
6451
- # header.
7292
+ # @option params [String] :if_match
7293
+ # The current version (`ETag` value) of the continuous deployment policy
7294
+ # that you are updating.
6452
7295
  #
6453
- # </note>
7296
+ # @return [Types::UpdateContinuousDeploymentPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6454
7297
  #
6455
- # 2. Update the XML document that was returned in the response to your
6456
- # `GetDistributionConfig` request to include your changes.
7298
+ # * {Types::UpdateContinuousDeploymentPolicyResult#continuous_deployment_policy #continuous_deployment_policy} => Types::ContinuousDeploymentPolicy
7299
+ # * {Types::UpdateContinuousDeploymentPolicyResult#etag #etag} => String
6457
7300
  #
6458
- # When you edit the XML file, be aware of the following:
7301
+ # @example Request syntax with placeholder values
6459
7302
  #
6460
- # * You must strip out the ETag parameter that is returned.
7303
+ # resp = client.update_continuous_deployment_policy({
7304
+ # continuous_deployment_policy_config: { # required
7305
+ # staging_distribution_dns_names: { # required
7306
+ # quantity: 1, # required
7307
+ # items: ["string"],
7308
+ # },
7309
+ # enabled: false, # required
7310
+ # traffic_config: {
7311
+ # single_weight_config: {
7312
+ # weight: 1.0, # required
7313
+ # session_stickiness_config: {
7314
+ # idle_ttl: 1, # required
7315
+ # maximum_ttl: 1, # required
7316
+ # },
7317
+ # },
7318
+ # single_header_config: {
7319
+ # header: "string", # required
7320
+ # value: "string", # required
7321
+ # },
7322
+ # type: "SingleWeight", # required, accepts SingleWeight, SingleHeader
7323
+ # },
7324
+ # },
7325
+ # id: "string", # required
7326
+ # if_match: "string",
7327
+ # })
6461
7328
  #
6462
- # * Additional fields are required when you update a distribution.
6463
- # There may be fields included in the XML file for features that
6464
- # you haven't configured for your distribution. This is expected
6465
- # and required to successfully update the distribution.
7329
+ # @example Response structure
6466
7330
  #
6467
- # * You can't change the value of `CallerReference`. If you try to
6468
- # change this value, CloudFront returns an `IllegalUpdate` error.
7331
+ # resp.continuous_deployment_policy.id #=> String
7332
+ # resp.continuous_deployment_policy.last_modified_time #=> Time
7333
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
7334
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
7335
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
7336
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.enabled #=> Boolean
7337
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
7338
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.idle_ttl #=> Integer
7339
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.maximum_ttl #=> Integer
7340
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
7341
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
7342
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
7343
+ # resp.etag #=> String
6469
7344
  #
6470
- # * The new configuration replaces the existing configuration; the
6471
- # values that you specify in an `UpdateDistribution` request are
6472
- # not merged into your existing configuration. When you add,
6473
- # delete, or replace values in an element that allows multiple
6474
- # values (for example, `CNAME`), you must specify all of the
6475
- # values that you want to appear in the updated distribution. In
6476
- # addition, you must update the corresponding `Quantity` element.
7345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateContinuousDeploymentPolicy AWS API Documentation
6477
7346
  #
6478
- # 3. Submit an `UpdateDistribution` request to update the configuration
6479
- # for your distribution:
7347
+ # @overload update_continuous_deployment_policy(params = {})
7348
+ # @param [Hash] params ({})
7349
+ def update_continuous_deployment_policy(params = {}, options = {})
7350
+ req = build_request(:update_continuous_deployment_policy, params)
7351
+ req.send_request(options)
7352
+ end
7353
+
7354
+ # Updates the configuration for a CloudFront distribution.
6480
7355
  #
6481
- # * In the request body, include the XML document that you updated
6482
- # in Step 2. The request body must include an XML document with a
6483
- # `DistributionConfig` element.
7356
+ # The update process includes getting the current distribution
7357
+ # configuration, updating it to make your changes, and then submitting
7358
+ # an `UpdateDistribution` request to make the updates.
6484
7359
  #
6485
- # * Set the value of the HTTP `If-Match` header to the value of the
6486
- # `ETag` header that CloudFront returned when you submitted the
6487
- # `GetDistributionConfig` request in Step 1.
7360
+ # **To update a web distribution using the CloudFront API**
6488
7361
  #
6489
- # 4. Review the response to the `UpdateDistribution` request to confirm
6490
- # that the configuration was successfully updated.
7362
+ # 1. Use `GetDistributionConfig` to get the current configuration,
7363
+ # including the version identifier (`ETag`).
6491
7364
  #
6492
- # 5. Optional: Submit a [GetDistribution][4] request to confirm that
6493
- # your changes have propagated. When propagation is complete, the
6494
- # value of `Status` is `Deployed`.
7365
+ # 2. Update the distribution configuration that was returned in the
7366
+ # response. Note the following important requirements and
7367
+ # restrictions:
6495
7368
  #
7369
+ # * You must rename the `ETag` field to `IfMatch`, leaving the value
7370
+ # unchanged. (Set the value of `IfMatch` to the value of `ETag`,
7371
+ # then remove the `ETag` field.)
6496
7372
  #
7373
+ # * You can't change the value of `CallerReference`.
6497
7374
  #
6498
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html
6499
- # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html
6500
- # [3]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html
6501
- # [4]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html
7375
+ # 3. Submit an `UpdateDistribution` request, providing the distribution
7376
+ # configuration. The new configuration replaces the existing
7377
+ # configuration. The values that you specify in an
7378
+ # `UpdateDistribution` request are not merged into your existing
7379
+ # configuration. Make sure to include all fields: the ones that you
7380
+ # modified and also the ones that you didn't.
6502
7381
  #
6503
7382
  # @option params [required, Types::DistributionConfig] :distribution_config
6504
7383
  # The distribution's configuration information.
@@ -6561,6 +7440,7 @@ module Aws::CloudFront
6561
7440
  # enabled: false, # required
6562
7441
  # origin_shield_region: "OriginShieldRegion",
6563
7442
  # },
7443
+ # origin_access_control_id: "string",
6564
7444
  # },
6565
7445
  # ],
6566
7446
  # },
@@ -6767,8 +7647,10 @@ module Aws::CloudFront
6767
7647
  # },
6768
7648
  # },
6769
7649
  # web_acl_id: "string",
6770
- # http_version: "http1.1", # accepts http1.1, http2
7650
+ # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
6771
7651
  # is_ipv6_enabled: false,
7652
+ # continuous_deployment_policy_id: "string",
7653
+ # staging: false,
6772
7654
  # },
6773
7655
  # id: "string", # required
6774
7656
  # if_match: "string",
@@ -6823,6 +7705,7 @@ module Aws::CloudFront
6823
7705
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
6824
7706
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
6825
7707
  # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
7708
+ # resp.distribution.distribution_config.origins.items[0].origin_access_control_id #=> String
6826
7709
  # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
6827
7710
  # resp.distribution.distribution_config.origin_groups.items #=> Array
6828
7711
  # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
@@ -6952,8 +7835,10 @@ module Aws::CloudFront
6952
7835
  # resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
6953
7836
  # resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
6954
7837
  # resp.distribution.distribution_config.web_acl_id #=> String
6955
- # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2"
7838
+ # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
6956
7839
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
7840
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
7841
+ # resp.distribution.distribution_config.staging #=> Boolean
6957
7842
  # resp.distribution.alias_icp_recordals #=> Array
6958
7843
  # resp.distribution.alias_icp_recordals[0].cname #=> String
6959
7844
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -6968,6 +7853,256 @@ module Aws::CloudFront
6968
7853
  req.send_request(options)
6969
7854
  end
6970
7855
 
7856
+ # Copies the staging distribution's configuration to its corresponding
7857
+ # primary distribution. The primary distribution retains its `Aliases`
7858
+ # (also known as alternate domain names or CNAMEs) and
7859
+ # `ContinuousDeploymentPolicyId` value, but otherwise its configuration
7860
+ # is overwritten to match the staging distribution.
7861
+ #
7862
+ # You can use this operation in a continuous deployment workflow after
7863
+ # you have tested configuration changes on the staging distribution.
7864
+ # After using a continuous deployment policy to move a portion of your
7865
+ # domain name's traffic to the staging distribution and verifying that
7866
+ # it works as intended, you can use this operation to copy the staging
7867
+ # distribution's configuration to the primary distribution. This action
7868
+ # will disable the continuous deployment policy and move your domain's
7869
+ # traffic back to the primary distribution.
7870
+ #
7871
+ # This API operation requires the following IAM permissions:
7872
+ #
7873
+ # * [GetDistribution][1]
7874
+ #
7875
+ # * [UpdateDistribution][2]
7876
+ #
7877
+ #
7878
+ #
7879
+ # [1]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html
7880
+ # [2]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html
7881
+ #
7882
+ # @option params [required, String] :id
7883
+ # The identifier of the primary distribution to which you are copying a
7884
+ # staging distribution's configuration.
7885
+ #
7886
+ # @option params [String] :staging_distribution_id
7887
+ # The identifier of the staging distribution whose configuration you are
7888
+ # copying to the primary distribution.
7889
+ #
7890
+ # @option params [String] :if_match
7891
+ # The current versions (`ETag` values) of both primary and staging
7892
+ # distributions. Provide these in the following format:
7893
+ #
7894
+ # `<primary ETag>, <staging ETag>`
7895
+ #
7896
+ # @return [Types::UpdateDistributionWithStagingConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7897
+ #
7898
+ # * {Types::UpdateDistributionWithStagingConfigResult#distribution #distribution} => Types::Distribution
7899
+ # * {Types::UpdateDistributionWithStagingConfigResult#etag #etag} => String
7900
+ #
7901
+ # @example Request syntax with placeholder values
7902
+ #
7903
+ # resp = client.update_distribution_with_staging_config({
7904
+ # id: "string", # required
7905
+ # staging_distribution_id: "string",
7906
+ # if_match: "string",
7907
+ # })
7908
+ #
7909
+ # @example Response structure
7910
+ #
7911
+ # resp.distribution.id #=> String
7912
+ # resp.distribution.arn #=> String
7913
+ # resp.distribution.status #=> String
7914
+ # resp.distribution.last_modified_time #=> Time
7915
+ # resp.distribution.in_progress_invalidation_batches #=> Integer
7916
+ # resp.distribution.domain_name #=> String
7917
+ # resp.distribution.active_trusted_signers.enabled #=> Boolean
7918
+ # resp.distribution.active_trusted_signers.quantity #=> Integer
7919
+ # resp.distribution.active_trusted_signers.items #=> Array
7920
+ # resp.distribution.active_trusted_signers.items[0].aws_account_number #=> String
7921
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
7922
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
7923
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
7924
+ # resp.distribution.active_trusted_key_groups.enabled #=> Boolean
7925
+ # resp.distribution.active_trusted_key_groups.quantity #=> Integer
7926
+ # resp.distribution.active_trusted_key_groups.items #=> Array
7927
+ # resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
7928
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
7929
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
7930
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items[0] #=> String
7931
+ # resp.distribution.distribution_config.caller_reference #=> String
7932
+ # resp.distribution.distribution_config.aliases.quantity #=> Integer
7933
+ # resp.distribution.distribution_config.aliases.items #=> Array
7934
+ # resp.distribution.distribution_config.aliases.items[0] #=> String
7935
+ # resp.distribution.distribution_config.default_root_object #=> String
7936
+ # resp.distribution.distribution_config.origins.quantity #=> Integer
7937
+ # resp.distribution.distribution_config.origins.items #=> Array
7938
+ # resp.distribution.distribution_config.origins.items[0].id #=> String
7939
+ # resp.distribution.distribution_config.origins.items[0].domain_name #=> String
7940
+ # resp.distribution.distribution_config.origins.items[0].origin_path #=> String
7941
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.quantity #=> Integer
7942
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items #=> Array
7943
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_name #=> String
7944
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_value #=> String
7945
+ # resp.distribution.distribution_config.origins.items[0].s3_origin_config.origin_access_identity #=> String
7946
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.http_port #=> Integer
7947
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.https_port #=> Integer
7948
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
7949
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
7950
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
7951
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
7952
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
7953
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
7954
+ # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
7955
+ # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
7956
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
7957
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
7958
+ # resp.distribution.distribution_config.origins.items[0].origin_access_control_id #=> String
7959
+ # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
7960
+ # resp.distribution.distribution_config.origin_groups.items #=> Array
7961
+ # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
7962
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
7963
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items #=> Array
7964
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
7965
+ # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
7966
+ # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
7967
+ # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
7968
+ # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
7969
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
7970
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
7971
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
7972
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
7973
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.enabled #=> Boolean
7974
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
7975
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
7976
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items[0] #=> String
7977
+ # resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
7978
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
7979
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
7980
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7981
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
7982
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items #=> Array
7983
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7984
+ # resp.distribution.distribution_config.default_cache_behavior.smooth_streaming #=> Boolean
7985
+ # resp.distribution.distribution_config.default_cache_behavior.compress #=> Boolean
7986
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.quantity #=> Integer
7987
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items #=> Array
7988
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
7989
+ # 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"
7990
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
7991
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.quantity #=> Integer
7992
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items #=> Array
7993
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].function_arn #=> String
7994
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
7995
+ # resp.distribution.distribution_config.default_cache_behavior.field_level_encryption_id #=> String
7996
+ # resp.distribution.distribution_config.default_cache_behavior.realtime_log_config_arn #=> String
7997
+ # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
7998
+ # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
7999
+ # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
8000
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
8001
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
8002
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
8003
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
8004
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
8005
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.quantity #=> Integer
8006
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items #=> Array
8007
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items[0] #=> String
8008
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
8009
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
8010
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
8011
+ # resp.distribution.distribution_config.default_cache_behavior.min_ttl #=> Integer
8012
+ # resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
8013
+ # resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
8014
+ # resp.distribution.distribution_config.cache_behaviors.quantity #=> Integer
8015
+ # resp.distribution.distribution_config.cache_behaviors.items #=> Array
8016
+ # resp.distribution.distribution_config.cache_behaviors.items[0].path_pattern #=> String
8017
+ # resp.distribution.distribution_config.cache_behaviors.items[0].target_origin_id #=> String
8018
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
8019
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
8020
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
8021
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
8022
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
8023
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
8024
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
8025
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
8026
+ # resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
8027
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
8028
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
8029
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
8030
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
8031
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
8032
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
8033
+ # resp.distribution.distribution_config.cache_behaviors.items[0].smooth_streaming #=> Boolean
8034
+ # resp.distribution.distribution_config.cache_behaviors.items[0].compress #=> Boolean
8035
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
8036
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items #=> Array
8037
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
8038
+ # 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"
8039
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
8040
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.quantity #=> Integer
8041
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items #=> Array
8042
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
8043
+ # 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"
8044
+ # resp.distribution.distribution_config.cache_behaviors.items[0].field_level_encryption_id #=> String
8045
+ # resp.distribution.distribution_config.cache_behaviors.items[0].realtime_log_config_arn #=> String
8046
+ # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
8047
+ # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
8048
+ # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
8049
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
8050
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
8051
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
8052
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
8053
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
8054
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
8055
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items #=> Array
8056
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
8057
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
8058
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
8059
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
8060
+ # resp.distribution.distribution_config.cache_behaviors.items[0].min_ttl #=> Integer
8061
+ # resp.distribution.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
8062
+ # resp.distribution.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
8063
+ # resp.distribution.distribution_config.custom_error_responses.quantity #=> Integer
8064
+ # resp.distribution.distribution_config.custom_error_responses.items #=> Array
8065
+ # resp.distribution.distribution_config.custom_error_responses.items[0].error_code #=> Integer
8066
+ # resp.distribution.distribution_config.custom_error_responses.items[0].response_page_path #=> String
8067
+ # resp.distribution.distribution_config.custom_error_responses.items[0].response_code #=> String
8068
+ # resp.distribution.distribution_config.custom_error_responses.items[0].error_caching_min_ttl #=> Integer
8069
+ # resp.distribution.distribution_config.comment #=> String
8070
+ # resp.distribution.distribution_config.logging.enabled #=> Boolean
8071
+ # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
8072
+ # resp.distribution.distribution_config.logging.bucket #=> String
8073
+ # resp.distribution.distribution_config.logging.prefix #=> String
8074
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
8075
+ # resp.distribution.distribution_config.enabled #=> Boolean
8076
+ # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
8077
+ # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
8078
+ # resp.distribution.distribution_config.viewer_certificate.acm_certificate_arn #=> String
8079
+ # resp.distribution.distribution_config.viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip", "static-ip"
8080
+ # 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"
8081
+ # resp.distribution.distribution_config.viewer_certificate.certificate #=> String
8082
+ # resp.distribution.distribution_config.viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
8083
+ # resp.distribution.distribution_config.restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
8084
+ # resp.distribution.distribution_config.restrictions.geo_restriction.quantity #=> Integer
8085
+ # resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
8086
+ # resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
8087
+ # resp.distribution.distribution_config.web_acl_id #=> String
8088
+ # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
8089
+ # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
8090
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
8091
+ # resp.distribution.distribution_config.staging #=> Boolean
8092
+ # resp.distribution.alias_icp_recordals #=> Array
8093
+ # resp.distribution.alias_icp_recordals[0].cname #=> String
8094
+ # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
8095
+ # resp.etag #=> String
8096
+ #
8097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistributionWithStagingConfig AWS API Documentation
8098
+ #
8099
+ # @overload update_distribution_with_staging_config(params = {})
8100
+ # @param [Hash] params ({})
8101
+ def update_distribution_with_staging_config(params = {}, options = {})
8102
+ req = build_request(:update_distribution_with_staging_config, params)
8103
+ req.send_request(options)
8104
+ end
8105
+
6971
8106
  # Update a field-level encryption configuration.
6972
8107
  #
6973
8108
  # @option params [required, Types::FieldLevelEncryptionConfig] :field_level_encryption_config
@@ -7118,10 +8253,10 @@ module Aws::CloudFront
7118
8253
 
7119
8254
  # Updates a CloudFront function.
7120
8255
  #
7121
- # You can update a functions code or the comment that describes the
7122
- # function. You cannot update a functions name.
8256
+ # You can update a function's code or the comment that describes the
8257
+ # function. You cannot update a function's name.
7123
8258
  #
7124
- # To update a function, you provide the functions name and version
8259
+ # To update a function, you provide the function's name and version
7125
8260
  # (`ETag` value) along with the updated function code. To get the name
7126
8261
  # and version, you can use `ListFunctions` and `DescribeFunction`.
7127
8262
  #
@@ -7156,7 +8291,7 @@ module Aws::CloudFront
7156
8291
  # if_match: "string", # required
7157
8292
  # function_config: { # required
7158
8293
  # comment: "string", # required
7159
- # runtime: "cloudfront-js-1.0", # required, accepts cloudfront-js-1.0
8294
+ # runtime: "cloudfront-js-1.0", # required, accepts cloudfront-js-1.0, cloudfront-js-2.0
7160
8295
  # },
7161
8296
  # function_code: "data", # required
7162
8297
  # })
@@ -7166,7 +8301,7 @@ module Aws::CloudFront
7166
8301
  # resp.function_summary.name #=> String
7167
8302
  # resp.function_summary.status #=> String
7168
8303
  # resp.function_summary.function_config.comment #=> String
7169
- # resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0"
8304
+ # resp.function_summary.function_config.runtime #=> String, one of "cloudfront-js-1.0", "cloudfront-js-2.0"
7170
8305
  # resp.function_summary.function_metadata.function_arn #=> String
7171
8306
  # resp.function_summary.function_metadata.stage #=> String, one of "DEVELOPMENT", "LIVE"
7172
8307
  # resp.function_summary.function_metadata.created_time #=> Time
@@ -7195,7 +8330,7 @@ module Aws::CloudFront
7195
8330
  # update. For example, add or remove public key IDs.
7196
8331
  #
7197
8332
  # 3. Call `UpdateKeyGroup` with the entire key group object, including
7198
- # the fields that you modified and those that you didnt.
8333
+ # the fields that you modified and those that you didn't.
7199
8334
  #
7200
8335
  # @option params [required, Types::KeyGroupConfig] :key_group_config
7201
8336
  # The key group configuration.
@@ -7205,7 +8340,7 @@ module Aws::CloudFront
7205
8340
  #
7206
8341
  # @option params [String] :if_match
7207
8342
  # The version of the key group that you are updating. The version is the
7208
- # key groups `ETag` value.
8343
+ # key group's `ETag` value.
7209
8344
  #
7210
8345
  # @return [Types::UpdateKeyGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7211
8346
  #
@@ -7243,6 +8378,57 @@ module Aws::CloudFront
7243
8378
  req.send_request(options)
7244
8379
  end
7245
8380
 
8381
+ # Updates a CloudFront origin access control.
8382
+ #
8383
+ # @option params [required, Types::OriginAccessControlConfig] :origin_access_control_config
8384
+ # An origin access control.
8385
+ #
8386
+ # @option params [required, String] :id
8387
+ # The unique identifier of the origin access control that you are
8388
+ # updating.
8389
+ #
8390
+ # @option params [String] :if_match
8391
+ # The current version (`ETag` value) of the origin access control that
8392
+ # you are updating.
8393
+ #
8394
+ # @return [Types::UpdateOriginAccessControlResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8395
+ #
8396
+ # * {Types::UpdateOriginAccessControlResult#origin_access_control #origin_access_control} => Types::OriginAccessControl
8397
+ # * {Types::UpdateOriginAccessControlResult#etag #etag} => String
8398
+ #
8399
+ # @example Request syntax with placeholder values
8400
+ #
8401
+ # resp = client.update_origin_access_control({
8402
+ # origin_access_control_config: { # required
8403
+ # name: "string", # required
8404
+ # description: "string",
8405
+ # signing_protocol: "sigv4", # required, accepts sigv4
8406
+ # signing_behavior: "never", # required, accepts never, always, no-override
8407
+ # origin_access_control_origin_type: "s3", # required, accepts s3, mediastore
8408
+ # },
8409
+ # id: "string", # required
8410
+ # if_match: "string",
8411
+ # })
8412
+ #
8413
+ # @example Response structure
8414
+ #
8415
+ # resp.origin_access_control.id #=> String
8416
+ # resp.origin_access_control.origin_access_control_config.name #=> String
8417
+ # resp.origin_access_control.origin_access_control_config.description #=> String
8418
+ # resp.origin_access_control.origin_access_control_config.signing_protocol #=> String, one of "sigv4"
8419
+ # resp.origin_access_control.origin_access_control_config.signing_behavior #=> String, one of "never", "always", "no-override"
8420
+ # resp.origin_access_control.origin_access_control_config.origin_access_control_origin_type #=> String, one of "s3", "mediastore"
8421
+ # resp.etag #=> String
8422
+ #
8423
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginAccessControl AWS API Documentation
8424
+ #
8425
+ # @overload update_origin_access_control(params = {})
8426
+ # @param [Hash] params ({})
8427
+ def update_origin_access_control(params = {}, options = {})
8428
+ req = build_request(:update_origin_access_control, params)
8429
+ req.send_request(options)
8430
+ end
8431
+
7246
8432
  # Updates an origin request policy configuration.
7247
8433
  #
7248
8434
  # When you update an origin request policy configuration, all the fields
@@ -7258,21 +8444,21 @@ module Aws::CloudFront
7258
8444
  #
7259
8445
  # 3. Call `UpdateOriginRequestPolicy` by providing the entire origin
7260
8446
  # request policy configuration, including the fields that you
7261
- # modified and those that you didnt.
8447
+ # modified and those that you didn't.
7262
8448
  #
7263
8449
  # @option params [required, Types::OriginRequestPolicyConfig] :origin_request_policy_config
7264
8450
  # An origin request policy configuration.
7265
8451
  #
7266
8452
  # @option params [required, String] :id
7267
8453
  # The unique identifier for the origin request policy that you are
7268
- # updating. The identifier is returned in a cache behaviors
8454
+ # updating. The identifier is returned in a cache behavior's
7269
8455
  # `OriginRequestPolicyId` field in the response to
7270
8456
  # `GetDistributionConfig`.
7271
8457
  #
7272
8458
  # @option params [String] :if_match
7273
8459
  # The version of the origin request policy that you are updating. The
7274
- # version is returned in the origin request policys `ETag` field in the
7275
- # response to `GetOriginRequestPolicyConfig`.
8460
+ # version is returned in the origin request policy's `ETag` field in
8461
+ # the response to `GetOriginRequestPolicyConfig`.
7276
8462
  #
7277
8463
  # @return [Types::UpdateOriginRequestPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7278
8464
  #
@@ -7286,21 +8472,21 @@ module Aws::CloudFront
7286
8472
  # comment: "string",
7287
8473
  # name: "string", # required
7288
8474
  # headers_config: { # required
7289
- # header_behavior: "none", # required, accepts none, whitelist, allViewer, allViewerAndWhitelistCloudFront
8475
+ # header_behavior: "none", # required, accepts none, whitelist, allViewer, allViewerAndWhitelistCloudFront, allExcept
7290
8476
  # headers: {
7291
8477
  # quantity: 1, # required
7292
8478
  # items: ["string"],
7293
8479
  # },
7294
8480
  # },
7295
8481
  # cookies_config: { # required
7296
- # cookie_behavior: "none", # required, accepts none, whitelist, all
8482
+ # cookie_behavior: "none", # required, accepts none, whitelist, all, allExcept
7297
8483
  # cookies: {
7298
8484
  # quantity: 1, # required
7299
8485
  # items: ["string"],
7300
8486
  # },
7301
8487
  # },
7302
8488
  # query_strings_config: { # required
7303
- # query_string_behavior: "none", # required, accepts none, whitelist, all
8489
+ # query_string_behavior: "none", # required, accepts none, whitelist, all, allExcept
7304
8490
  # query_strings: {
7305
8491
  # quantity: 1, # required
7306
8492
  # items: ["string"],
@@ -7317,15 +8503,15 @@ module Aws::CloudFront
7317
8503
  # resp.origin_request_policy.last_modified_time #=> Time
7318
8504
  # resp.origin_request_policy.origin_request_policy_config.comment #=> String
7319
8505
  # resp.origin_request_policy.origin_request_policy_config.name #=> String
7320
- # resp.origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront"
8506
+ # resp.origin_request_policy.origin_request_policy_config.headers_config.header_behavior #=> String, one of "none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront", "allExcept"
7321
8507
  # resp.origin_request_policy.origin_request_policy_config.headers_config.headers.quantity #=> Integer
7322
8508
  # resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items #=> Array
7323
8509
  # resp.origin_request_policy.origin_request_policy_config.headers_config.headers.items[0] #=> String
7324
- # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all"
8510
+ # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookie_behavior #=> String, one of "none", "whitelist", "all", "allExcept"
7325
8511
  # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.quantity #=> Integer
7326
8512
  # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items #=> Array
7327
8513
  # resp.origin_request_policy.origin_request_policy_config.cookies_config.cookies.items[0] #=> String
7328
- # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all"
8514
+ # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_string_behavior #=> String, one of "none", "whitelist", "all", "allExcept"
7329
8515
  # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.quantity #=> Integer
7330
8516
  # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items #=> Array
7331
8517
  # resp.origin_request_policy.origin_request_policy_config.query_strings_config.query_strings.items[0] #=> String
@@ -7405,9 +8591,9 @@ module Aws::CloudFront
7405
8591
  #
7406
8592
  # 3. Call this API (`UpdateRealtimeLogConfig`) by providing the entire
7407
8593
  # real-time log configuration, including the parameters that you
7408
- # modified and those that you didnt.
8594
+ # modified and those that you didn't.
7409
8595
  #
7410
- # You cannot update a real-time log configurations `Name` or `ARN`.
8596
+ # You cannot update a real-time log configuration's `Name` or `ARN`.
7411
8597
  #
7412
8598
  # @option params [Array<Types::EndPoint>] :end_points
7413
8599
  # Contains information about the Amazon Kinesis data stream where you
@@ -7484,7 +8670,7 @@ module Aws::CloudFront
7484
8670
  # replaced. You cannot update some policy fields independent of others.
7485
8671
  # To update a response headers policy configuration:
7486
8672
  #
7487
- # 1. Use `GetResponseHeadersPolicyConfig` to get the current policys
8673
+ # 1. Use `GetResponseHeadersPolicyConfig` to get the current policy's
7488
8674
  # configuration.
7489
8675
  #
7490
8676
  # 2. Modify the fields in the response headers policy configuration
@@ -7492,7 +8678,7 @@ module Aws::CloudFront
7492
8678
  #
7493
8679
  # 3. Call `UpdateResponseHeadersPolicy`, providing the entire response
7494
8680
  # headers policy configuration, including the fields that you
7495
- # modified and those that you didnt.
8681
+ # modified and those that you didn't.
7496
8682
  #
7497
8683
  # @option params [required, Types::ResponseHeadersPolicyConfig] :response_headers_policy_config
7498
8684
  # A response headers policy configuration.
@@ -7503,7 +8689,7 @@ module Aws::CloudFront
7503
8689
  # @option params [String] :if_match
7504
8690
  # The version of the response headers policy that you are updating.
7505
8691
  #
7506
- # The version is returned in the cache policys `ETag` field in the
8692
+ # The version is returned in the cache policy's `ETag` field in the
7507
8693
  # response to `GetResponseHeadersPolicyConfig`.
7508
8694
  #
7509
8695
  # @return [Types::UpdateResponseHeadersPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -7567,6 +8753,10 @@ module Aws::CloudFront
7567
8753
  # access_control_max_age_sec: 1, # required
7568
8754
  # },
7569
8755
  # },
8756
+ # server_timing_headers_config: {
8757
+ # enabled: false, # required
8758
+ # sampling_rate: 1.0,
8759
+ # },
7570
8760
  # custom_headers_config: {
7571
8761
  # quantity: 1, # required
7572
8762
  # items: [
@@ -7577,6 +8767,14 @@ module Aws::CloudFront
7577
8767
  # },
7578
8768
  # ],
7579
8769
  # },
8770
+ # remove_headers_config: {
8771
+ # quantity: 1, # required
8772
+ # items: [
8773
+ # {
8774
+ # header: "string", # required
8775
+ # },
8776
+ # ],
8777
+ # },
7580
8778
  # },
7581
8779
  # id: "string", # required
7582
8780
  # if_match: "string",
@@ -7618,11 +8816,16 @@ module Aws::CloudFront
7618
8816
  # resp.response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.include_subdomains #=> Boolean
7619
8817
  # resp.response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.preload #=> Boolean
7620
8818
  # resp.response_headers_policy.response_headers_policy_config.security_headers_config.strict_transport_security.access_control_max_age_sec #=> Integer
8819
+ # resp.response_headers_policy.response_headers_policy_config.server_timing_headers_config.enabled #=> Boolean
8820
+ # resp.response_headers_policy.response_headers_policy_config.server_timing_headers_config.sampling_rate #=> Float
7621
8821
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.quantity #=> Integer
7622
8822
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items #=> Array
7623
8823
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].header #=> String
7624
8824
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].value #=> String
7625
8825
  # resp.response_headers_policy.response_headers_policy_config.custom_headers_config.items[0].override #=> Boolean
8826
+ # resp.response_headers_policy.response_headers_policy_config.remove_headers_config.quantity #=> Integer
8827
+ # resp.response_headers_policy.response_headers_policy_config.remove_headers_config.items #=> Array
8828
+ # resp.response_headers_policy.response_headers_policy_config.remove_headers_config.items[0].header #=> String
7626
8829
  # resp.etag #=> String
7627
8830
  #
7628
8831
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateResponseHeadersPolicy AWS API Documentation
@@ -7737,7 +8940,7 @@ module Aws::CloudFront
7737
8940
  params: params,
7738
8941
  config: config)
7739
8942
  context[:gem_name] = 'aws-sdk-cloudfront'
7740
- context[:gem_version] = '1.60.0'
8943
+ context[:gem_version] = '1.83.0'
7741
8944
  Seahorse::Client::Request.new(handlers, context)
7742
8945
  end
7743
8946