aws-sdk-cloudfront 1.60.0 → 1.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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