aws-sdk-cloudfront 1.69.0 → 1.71.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.
@@ -412,6 +412,248 @@ module Aws::CloudFront
412
412
  req.send_request(options)
413
413
  end
414
414
 
415
+ # Creates a staging distribution using the configuration of the provided
416
+ # primary distribution. A staging distribution is a copy of an existing
417
+ # distribution (called the primary distribution) that you can use in a
418
+ # continuous deployment workflow.
419
+ #
420
+ # After you create a staging distribution, you can use
421
+ # `UpdateDistribution` to modify the staging distribution’s
422
+ # configuration. Then you can use `CreateContinuousDeploymentPolicy` to
423
+ # incrementally move traffic to the staging distribution.
424
+ #
425
+ # @option params [required, String] :primary_distribution_id
426
+ # The identifier of the primary distribution whose configuration you are
427
+ # copying. To get a distribution ID, use `ListDistributions`.
428
+ #
429
+ # @option params [Boolean] :staging
430
+ # The type of distribution that your primary distribution will be copied
431
+ # to. The only valid value is `True`, indicating that you are copying to
432
+ # a staging distribution.
433
+ #
434
+ # @option params [String] :if_match
435
+ # The version identifier of the primary distribution whose configuration
436
+ # you are copying. This is the `ETag` value returned in the response to
437
+ # `GetDistribution` and `GetDistributionConfig`.
438
+ #
439
+ # @option params [required, String] :caller_reference
440
+ # A value that uniquely identifies a request to create a resource. This
441
+ # helps to prevent CloudFront from creating a duplicate resource if you
442
+ # accidentally resubmit an identical request.
443
+ #
444
+ # @return [Types::CopyDistributionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
445
+ #
446
+ # * {Types::CopyDistributionResult#distribution #distribution} => Types::Distribution
447
+ # * {Types::CopyDistributionResult#location #location} => String
448
+ # * {Types::CopyDistributionResult#etag #etag} => String
449
+ #
450
+ # @example Request syntax with placeholder values
451
+ #
452
+ # resp = client.copy_distribution({
453
+ # primary_distribution_id: "string", # required
454
+ # staging: false,
455
+ # if_match: "string",
456
+ # caller_reference: "string", # required
457
+ # })
458
+ #
459
+ # @example Response structure
460
+ #
461
+ # resp.distribution.id #=> String
462
+ # resp.distribution.arn #=> String
463
+ # resp.distribution.status #=> String
464
+ # resp.distribution.last_modified_time #=> Time
465
+ # resp.distribution.in_progress_invalidation_batches #=> Integer
466
+ # resp.distribution.domain_name #=> String
467
+ # resp.distribution.active_trusted_signers.enabled #=> Boolean
468
+ # resp.distribution.active_trusted_signers.quantity #=> Integer
469
+ # resp.distribution.active_trusted_signers.items #=> Array
470
+ # resp.distribution.active_trusted_signers.items[0].aws_account_number #=> String
471
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
472
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
473
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
474
+ # resp.distribution.active_trusted_key_groups.enabled #=> Boolean
475
+ # resp.distribution.active_trusted_key_groups.quantity #=> Integer
476
+ # resp.distribution.active_trusted_key_groups.items #=> Array
477
+ # resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
478
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
479
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
480
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items[0] #=> String
481
+ # resp.distribution.distribution_config.caller_reference #=> String
482
+ # resp.distribution.distribution_config.aliases.quantity #=> Integer
483
+ # resp.distribution.distribution_config.aliases.items #=> Array
484
+ # resp.distribution.distribution_config.aliases.items[0] #=> String
485
+ # resp.distribution.distribution_config.default_root_object #=> String
486
+ # resp.distribution.distribution_config.origins.quantity #=> Integer
487
+ # resp.distribution.distribution_config.origins.items #=> Array
488
+ # resp.distribution.distribution_config.origins.items[0].id #=> String
489
+ # resp.distribution.distribution_config.origins.items[0].domain_name #=> String
490
+ # resp.distribution.distribution_config.origins.items[0].origin_path #=> String
491
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.quantity #=> Integer
492
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items #=> Array
493
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_name #=> String
494
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_value #=> String
495
+ # resp.distribution.distribution_config.origins.items[0].s3_origin_config.origin_access_identity #=> String
496
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.http_port #=> Integer
497
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.https_port #=> Integer
498
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
499
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
500
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
501
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
502
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
503
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
504
+ # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
505
+ # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
506
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
507
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
508
+ # resp.distribution.distribution_config.origins.items[0].origin_access_control_id #=> String
509
+ # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
510
+ # resp.distribution.distribution_config.origin_groups.items #=> Array
511
+ # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
512
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
513
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items #=> Array
514
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
515
+ # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
516
+ # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
517
+ # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
518
+ # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
519
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
520
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
521
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
522
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
523
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.enabled #=> Boolean
524
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
525
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
526
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items[0] #=> String
527
+ # resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
528
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
529
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
530
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
531
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
532
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items #=> Array
533
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
534
+ # resp.distribution.distribution_config.default_cache_behavior.smooth_streaming #=> Boolean
535
+ # resp.distribution.distribution_config.default_cache_behavior.compress #=> Boolean
536
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.quantity #=> Integer
537
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items #=> Array
538
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
539
+ # 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"
540
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
541
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.quantity #=> Integer
542
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items #=> Array
543
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].function_arn #=> String
544
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
545
+ # resp.distribution.distribution_config.default_cache_behavior.field_level_encryption_id #=> String
546
+ # resp.distribution.distribution_config.default_cache_behavior.realtime_log_config_arn #=> String
547
+ # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
548
+ # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
549
+ # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
550
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
551
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
552
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
553
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
554
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
555
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.quantity #=> Integer
556
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items #=> Array
557
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items[0] #=> String
558
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
559
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
560
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
561
+ # resp.distribution.distribution_config.default_cache_behavior.min_ttl #=> Integer
562
+ # resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
563
+ # resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
564
+ # resp.distribution.distribution_config.cache_behaviors.quantity #=> Integer
565
+ # resp.distribution.distribution_config.cache_behaviors.items #=> Array
566
+ # resp.distribution.distribution_config.cache_behaviors.items[0].path_pattern #=> String
567
+ # resp.distribution.distribution_config.cache_behaviors.items[0].target_origin_id #=> String
568
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
569
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
570
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
571
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
572
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
573
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
574
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
575
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
576
+ # resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
577
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
578
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
579
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
580
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
581
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
582
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
583
+ # resp.distribution.distribution_config.cache_behaviors.items[0].smooth_streaming #=> Boolean
584
+ # resp.distribution.distribution_config.cache_behaviors.items[0].compress #=> Boolean
585
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
586
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items #=> Array
587
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
588
+ # 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"
589
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
590
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.quantity #=> Integer
591
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items #=> Array
592
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
593
+ # 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"
594
+ # resp.distribution.distribution_config.cache_behaviors.items[0].field_level_encryption_id #=> String
595
+ # resp.distribution.distribution_config.cache_behaviors.items[0].realtime_log_config_arn #=> String
596
+ # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
597
+ # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
598
+ # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
599
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
600
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
601
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
602
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
603
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
604
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
605
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items #=> Array
606
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
607
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
608
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
609
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
610
+ # resp.distribution.distribution_config.cache_behaviors.items[0].min_ttl #=> Integer
611
+ # resp.distribution.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
612
+ # resp.distribution.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
613
+ # resp.distribution.distribution_config.custom_error_responses.quantity #=> Integer
614
+ # resp.distribution.distribution_config.custom_error_responses.items #=> Array
615
+ # resp.distribution.distribution_config.custom_error_responses.items[0].error_code #=> Integer
616
+ # resp.distribution.distribution_config.custom_error_responses.items[0].response_page_path #=> String
617
+ # resp.distribution.distribution_config.custom_error_responses.items[0].response_code #=> String
618
+ # resp.distribution.distribution_config.custom_error_responses.items[0].error_caching_min_ttl #=> Integer
619
+ # resp.distribution.distribution_config.comment #=> String
620
+ # resp.distribution.distribution_config.logging.enabled #=> Boolean
621
+ # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
622
+ # resp.distribution.distribution_config.logging.bucket #=> String
623
+ # resp.distribution.distribution_config.logging.prefix #=> String
624
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
625
+ # resp.distribution.distribution_config.enabled #=> Boolean
626
+ # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
627
+ # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
628
+ # resp.distribution.distribution_config.viewer_certificate.acm_certificate_arn #=> String
629
+ # resp.distribution.distribution_config.viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip", "static-ip"
630
+ # 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"
631
+ # resp.distribution.distribution_config.viewer_certificate.certificate #=> String
632
+ # resp.distribution.distribution_config.viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
633
+ # resp.distribution.distribution_config.restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
634
+ # resp.distribution.distribution_config.restrictions.geo_restriction.quantity #=> Integer
635
+ # resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
636
+ # resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
637
+ # resp.distribution.distribution_config.web_acl_id #=> String
638
+ # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
639
+ # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
640
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
641
+ # resp.distribution.distribution_config.staging #=> Boolean
642
+ # resp.distribution.alias_icp_recordals #=> Array
643
+ # resp.distribution.alias_icp_recordals[0].cname #=> String
644
+ # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
645
+ # resp.location #=> String
646
+ # resp.etag #=> String
647
+ #
648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CopyDistribution AWS API Documentation
649
+ #
650
+ # @overload copy_distribution(params = {})
651
+ # @param [Hash] params ({})
652
+ def copy_distribution(params = {}, options = {})
653
+ req = build_request(:copy_distribution, params)
654
+ req.send_request(options)
655
+ end
656
+
415
657
  # Creates a cache policy.
416
658
  #
417
659
  # After you create a cache policy, you can attach it to one or more
@@ -568,25 +810,81 @@ module Aws::CloudFront
568
810
  req.send_request(options)
569
811
  end
570
812
 
571
- # Creates a new web distribution. You create a CloudFront distribution
572
- # to tell CloudFront where you want content to be delivered from, and
573
- # the details about how to track and manage content delivery. Send a
574
- # `POST` request to the `/CloudFront API
575
- # version/distribution`/`distribution ID` resource.
576
- #
577
- # When you update a distribution, there are more required fields than
578
- # when you create a distribution. When you update your distribution by
579
- # using [UpdateDistribution][1], follow the steps included in the
580
- # documentation to get the current configuration and then make your
581
- # updates. This helps to make sure that you include all of the required
582
- # fields. To view a summary, see [Required Fields for Create
583
- # Distribution and Update Distribution][2] in the *Amazon CloudFront
584
- # Developer Guide*.
813
+ # Creates a continuous deployment policy that distributes traffic for a
814
+ # custom domain name to two different CloudFront distributions.
815
+ #
816
+ # To use a continuous deployment policy, first use `CopyDistribution` to
817
+ # create a staging distribution, then use `UpdateDistribution` to modify
818
+ # the staging distribution’s configuration.
819
+ #
820
+ # After you create and update a staging distribution, you can use a
821
+ # continuous deployment policy to incrementally move traffic to the
822
+ # staging distribution. This workflow enables you to test changes to a
823
+ # distribution’s configuration before moving all of your domain’s
824
+ # production traffic to the new configuration.
825
+ #
826
+ # @option params [required, Types::ContinuousDeploymentPolicyConfig] :continuous_deployment_policy_config
827
+ # Contains the configuration for a continuous deployment policy.
828
+ #
829
+ # @return [Types::CreateContinuousDeploymentPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
830
+ #
831
+ # * {Types::CreateContinuousDeploymentPolicyResult#continuous_deployment_policy #continuous_deployment_policy} => Types::ContinuousDeploymentPolicy
832
+ # * {Types::CreateContinuousDeploymentPolicyResult#location #location} => String
833
+ # * {Types::CreateContinuousDeploymentPolicyResult#etag #etag} => String
834
+ #
835
+ # @example Request syntax with placeholder values
836
+ #
837
+ # resp = client.create_continuous_deployment_policy({
838
+ # continuous_deployment_policy_config: { # required
839
+ # staging_distribution_dns_names: { # required
840
+ # quantity: 1, # required
841
+ # items: ["string"],
842
+ # },
843
+ # enabled: false, # required
844
+ # traffic_config: {
845
+ # single_weight_config: {
846
+ # weight: 1.0, # required
847
+ # session_stickiness_config: {
848
+ # idle_ttl: 1, # required
849
+ # maximum_ttl: 1, # required
850
+ # },
851
+ # },
852
+ # single_header_config: {
853
+ # header: "string", # required
854
+ # value: "string", # required
855
+ # },
856
+ # type: "SingleWeight", # required, accepts SingleWeight, SingleHeader
857
+ # },
858
+ # },
859
+ # })
860
+ #
861
+ # @example Response structure
585
862
  #
863
+ # resp.continuous_deployment_policy.id #=> String
864
+ # resp.continuous_deployment_policy.last_modified_time #=> Time
865
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
866
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
867
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
868
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.enabled #=> Boolean
869
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
870
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.idle_ttl #=> Integer
871
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.maximum_ttl #=> Integer
872
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
873
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
874
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
875
+ # resp.location #=> String
876
+ # resp.etag #=> String
586
877
  #
878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateContinuousDeploymentPolicy AWS API Documentation
587
879
  #
588
- # [1]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html
589
- # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html
880
+ # @overload create_continuous_deployment_policy(params = {})
881
+ # @param [Hash] params ({})
882
+ def create_continuous_deployment_policy(params = {}, options = {})
883
+ req = build_request(:create_continuous_deployment_policy, params)
884
+ req.send_request(options)
885
+ end
886
+
887
+ # Creates a CloudFront distribution.
590
888
  #
591
889
  # @option params [required, Types::DistributionConfig] :distribution_config
592
890
  # The distribution's configuration information.
@@ -852,6 +1150,8 @@ module Aws::CloudFront
852
1150
  # web_acl_id: "string",
853
1151
  # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
854
1152
  # is_ipv6_enabled: false,
1153
+ # continuous_deployment_policy_id: "string",
1154
+ # staging: false,
855
1155
  # },
856
1156
  # })
857
1157
  #
@@ -1036,6 +1336,8 @@ module Aws::CloudFront
1036
1336
  # resp.distribution.distribution_config.web_acl_id #=> String
1037
1337
  # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
1038
1338
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
1339
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
1340
+ # resp.distribution.distribution_config.staging #=> Boolean
1039
1341
  # resp.distribution.alias_icp_recordals #=> Array
1040
1342
  # resp.distribution.alias_icp_recordals[0].cname #=> String
1041
1343
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -1318,6 +1620,8 @@ module Aws::CloudFront
1318
1620
  # web_acl_id: "string",
1319
1621
  # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
1320
1622
  # is_ipv6_enabled: false,
1623
+ # continuous_deployment_policy_id: "string",
1624
+ # staging: false,
1321
1625
  # },
1322
1626
  # tags: { # required
1323
1627
  # items: [
@@ -1511,6 +1815,8 @@ module Aws::CloudFront
1511
1815
  # resp.distribution.distribution_config.web_acl_id #=> String
1512
1816
  # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
1513
1817
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
1818
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
1819
+ # resp.distribution.distribution_config.staging #=> Boolean
1514
1820
  # resp.distribution.alias_icp_recordals #=> Array
1515
1821
  # resp.distribution.alias_icp_recordals[0].cname #=> String
1516
1822
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -1910,7 +2216,7 @@ module Aws::CloudFront
1910
2216
  # resp = client.create_origin_access_control({
1911
2217
  # origin_access_control_config: { # required
1912
2218
  # name: "string", # required
1913
- # description: "string", # required
2219
+ # description: "string",
1914
2220
  # signing_protocol: "sigv4", # required, accepts sigv4
1915
2221
  # signing_behavior: "never", # required, accepts never, always, no-override
1916
2222
  # origin_access_control_origin_type: "s3", # required, accepts s3
@@ -2565,6 +2871,38 @@ module Aws::CloudFront
2565
2871
  req.send_request(options)
2566
2872
  end
2567
2873
 
2874
+ # Deletes a continuous deployment policy.
2875
+ #
2876
+ # You cannot delete a continuous deployment policy that’s attached to a
2877
+ # primary distribution. First update your distribution to remove the
2878
+ # continuous deployment policy, then you can delete the policy.
2879
+ #
2880
+ # @option params [required, String] :id
2881
+ # The identifier of the continuous deployment policy that you are
2882
+ # deleting.
2883
+ #
2884
+ # @option params [String] :if_match
2885
+ # The current version (`ETag` value) of the continuous deployment policy
2886
+ # that you are deleting.
2887
+ #
2888
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2889
+ #
2890
+ # @example Request syntax with placeholder values
2891
+ #
2892
+ # resp = client.delete_continuous_deployment_policy({
2893
+ # id: "string", # required
2894
+ # if_match: "string",
2895
+ # })
2896
+ #
2897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteContinuousDeploymentPolicy AWS API Documentation
2898
+ #
2899
+ # @overload delete_continuous_deployment_policy(params = {})
2900
+ # @param [Hash] params ({})
2901
+ def delete_continuous_deployment_policy(params = {}, options = {})
2902
+ req = build_request(:delete_continuous_deployment_policy, params)
2903
+ req.send_request(options)
2904
+ end
2905
+
2568
2906
  # Delete a distribution.
2569
2907
  #
2570
2908
  # @option params [required, String] :id
@@ -3222,10 +3560,93 @@ module Aws::CloudFront
3222
3560
  req.send_request(options)
3223
3561
  end
3224
3562
 
3225
- # Get the information about a distribution.
3563
+ # Gets a continuous deployment policy, including metadata (the policy’s
3564
+ # identifier and the date and time when the policy was last modified).
3226
3565
  #
3227
3566
  # @option params [required, String] :id
3228
- # The distribution's ID. If the ID is empty, an empty distribution
3567
+ # The identifier of the continuous deployment policy that you are
3568
+ # getting.
3569
+ #
3570
+ # @return [Types::GetContinuousDeploymentPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3571
+ #
3572
+ # * {Types::GetContinuousDeploymentPolicyResult#continuous_deployment_policy #continuous_deployment_policy} => Types::ContinuousDeploymentPolicy
3573
+ # * {Types::GetContinuousDeploymentPolicyResult#etag #etag} => String
3574
+ #
3575
+ # @example Request syntax with placeholder values
3576
+ #
3577
+ # resp = client.get_continuous_deployment_policy({
3578
+ # id: "string", # required
3579
+ # })
3580
+ #
3581
+ # @example Response structure
3582
+ #
3583
+ # resp.continuous_deployment_policy.id #=> String
3584
+ # resp.continuous_deployment_policy.last_modified_time #=> Time
3585
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
3586
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
3587
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
3588
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.enabled #=> Boolean
3589
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
3590
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.idle_ttl #=> Integer
3591
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.maximum_ttl #=> Integer
3592
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
3593
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
3594
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
3595
+ # resp.etag #=> String
3596
+ #
3597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetContinuousDeploymentPolicy AWS API Documentation
3598
+ #
3599
+ # @overload get_continuous_deployment_policy(params = {})
3600
+ # @param [Hash] params ({})
3601
+ def get_continuous_deployment_policy(params = {}, options = {})
3602
+ req = build_request(:get_continuous_deployment_policy, params)
3603
+ req.send_request(options)
3604
+ end
3605
+
3606
+ # Gets configuration information about a continuous deployment policy.
3607
+ #
3608
+ # @option params [required, String] :id
3609
+ # The identifier of the continuous deployment policy whose configuration
3610
+ # you are getting.
3611
+ #
3612
+ # @return [Types::GetContinuousDeploymentPolicyConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3613
+ #
3614
+ # * {Types::GetContinuousDeploymentPolicyConfigResult#continuous_deployment_policy_config #continuous_deployment_policy_config} => Types::ContinuousDeploymentPolicyConfig
3615
+ # * {Types::GetContinuousDeploymentPolicyConfigResult#etag #etag} => String
3616
+ #
3617
+ # @example Request syntax with placeholder values
3618
+ #
3619
+ # resp = client.get_continuous_deployment_policy_config({
3620
+ # id: "string", # required
3621
+ # })
3622
+ #
3623
+ # @example Response structure
3624
+ #
3625
+ # resp.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
3626
+ # resp.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
3627
+ # resp.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
3628
+ # resp.continuous_deployment_policy_config.enabled #=> Boolean
3629
+ # resp.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
3630
+ # resp.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.idle_ttl #=> Integer
3631
+ # resp.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.maximum_ttl #=> Integer
3632
+ # resp.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
3633
+ # resp.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
3634
+ # resp.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
3635
+ # resp.etag #=> String
3636
+ #
3637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetContinuousDeploymentPolicyConfig AWS API Documentation
3638
+ #
3639
+ # @overload get_continuous_deployment_policy_config(params = {})
3640
+ # @param [Hash] params ({})
3641
+ def get_continuous_deployment_policy_config(params = {}, options = {})
3642
+ req = build_request(:get_continuous_deployment_policy_config, params)
3643
+ req.send_request(options)
3644
+ end
3645
+
3646
+ # Get the information about a distribution.
3647
+ #
3648
+ # @option params [required, String] :id
3649
+ # The distribution's ID. If the ID is empty, an empty distribution
3229
3650
  # configuration is returned.
3230
3651
  #
3231
3652
  # @return [Types::GetDistributionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -3420,6 +3841,8 @@ module Aws::CloudFront
3420
3841
  # resp.distribution.distribution_config.web_acl_id #=> String
3421
3842
  # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
3422
3843
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
3844
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
3845
+ # resp.distribution.distribution_config.staging #=> Boolean
3423
3846
  # resp.distribution.alias_icp_recordals #=> Array
3424
3847
  # resp.distribution.alias_icp_recordals[0].cname #=> String
3425
3848
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -3617,6 +4040,8 @@ module Aws::CloudFront
3617
4040
  # resp.distribution_config.web_acl_id #=> String
3618
4041
  # resp.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
3619
4042
  # resp.distribution_config.is_ipv6_enabled #=> Boolean
4043
+ # resp.distribution_config.continuous_deployment_policy_id #=> String
4044
+ # resp.distribution_config.staging #=> Boolean
3620
4045
  # resp.etag #=> String
3621
4046
  #
3622
4047
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig AWS API Documentation
@@ -4784,6 +5209,66 @@ module Aws::CloudFront
4784
5209
  req.send_request(options)
4785
5210
  end
4786
5211
 
5212
+ # Gets a list of the continuous deployment policies in your Amazon Web
5213
+ # Services account.
5214
+ #
5215
+ # You can optionally specify the maximum number of items to receive in
5216
+ # the response. If the total number of items in the list exceeds the
5217
+ # maximum that you specify, or the default maximum, the response is
5218
+ # paginated. To get the next page of items, send a subsequent request
5219
+ # that specifies the `NextMarker` value from the current response as the
5220
+ # `Marker` value in the subsequent request.
5221
+ #
5222
+ # @option params [String] :marker
5223
+ # Use this field when paginating results to indicate where to begin in
5224
+ # your list of continuous deployment policies. The response includes
5225
+ # policies in the list that occur after the marker. To get the next page
5226
+ # of the list, set this field’s value to the value of `NextMarker` from
5227
+ # the current page’s response.
5228
+ #
5229
+ # @option params [Integer] :max_items
5230
+ # The maximum number of continuous deployment policies that you want
5231
+ # returned in the response.
5232
+ #
5233
+ # @return [Types::ListContinuousDeploymentPoliciesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5234
+ #
5235
+ # * {Types::ListContinuousDeploymentPoliciesResult#continuous_deployment_policy_list #continuous_deployment_policy_list} => Types::ContinuousDeploymentPolicyList
5236
+ #
5237
+ # @example Request syntax with placeholder values
5238
+ #
5239
+ # resp = client.list_continuous_deployment_policies({
5240
+ # marker: "string",
5241
+ # max_items: 1,
5242
+ # })
5243
+ #
5244
+ # @example Response structure
5245
+ #
5246
+ # resp.continuous_deployment_policy_list.next_marker #=> String
5247
+ # resp.continuous_deployment_policy_list.max_items #=> Integer
5248
+ # resp.continuous_deployment_policy_list.quantity #=> Integer
5249
+ # resp.continuous_deployment_policy_list.items #=> Array
5250
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.id #=> String
5251
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.last_modified_time #=> Time
5252
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
5253
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
5254
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
5255
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.enabled #=> Boolean
5256
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
5257
+ # 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
5258
+ # 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
5259
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
5260
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
5261
+ # resp.continuous_deployment_policy_list.items[0].continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
5262
+ #
5263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListContinuousDeploymentPolicies AWS API Documentation
5264
+ #
5265
+ # @overload list_continuous_deployment_policies(params = {})
5266
+ # @param [Hash] params ({})
5267
+ def list_continuous_deployment_policies(params = {}, options = {})
5268
+ req = build_request(:list_continuous_deployment_policies, params)
5269
+ req.send_request(options)
5270
+ end
5271
+
4787
5272
  # List CloudFront distributions.
4788
5273
  #
4789
5274
  # @option params [String] :marker
@@ -4978,6 +5463,7 @@ module Aws::CloudFront
4978
5463
  # resp.distribution_list.items[0].alias_icp_recordals #=> Array
4979
5464
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
4980
5465
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
5466
+ # resp.distribution_list.items[0].staging #=> Boolean
4981
5467
  #
4982
5468
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions AWS API Documentation
4983
5469
  #
@@ -5368,6 +5854,7 @@ module Aws::CloudFront
5368
5854
  # resp.distribution_list.items[0].alias_icp_recordals #=> Array
5369
5855
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
5370
5856
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
5857
+ # resp.distribution_list.items[0].staging #=> Boolean
5371
5858
  #
5372
5859
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfig AWS API Documentation
5373
5860
  #
@@ -5635,6 +6122,7 @@ module Aws::CloudFront
5635
6122
  # resp.distribution_list.items[0].alias_icp_recordals #=> Array
5636
6123
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
5637
6124
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6125
+ # resp.distribution_list.items[0].staging #=> Boolean
5638
6126
  #
5639
6127
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId AWS API Documentation
5640
6128
  #
@@ -6690,82 +7178,122 @@ module Aws::CloudFront
6690
7178
  req.send_request(options)
6691
7179
  end
6692
7180
 
6693
- # Updates the configuration for a web distribution.
6694
- #
6695
- # When you update a distribution, there are more required fields than
6696
- # when you create a distribution. When you update your distribution by
6697
- # using this API action, follow the steps here to get the current
6698
- # configuration and then make your updates, to make sure that you
6699
- # include all of the required fields. To view a summary, see [Required
6700
- # Fields for Create Distribution and Update Distribution][1] in the
6701
- # *Amazon CloudFront Developer Guide*.
7181
+ # Updates a continuous deployment policy. You can update a continuous
7182
+ # deployment policy to enable or disable it, to change the percentage of
7183
+ # traffic that it sends to the staging distribution, or to change the
7184
+ # staging distribution that it sends traffic to.
6702
7185
  #
6703
- # The update process includes getting the current distribution
6704
- # configuration, updating the XML document that is returned to make your
6705
- # changes, and then submitting an `UpdateDistribution` request to make
6706
- # the updates.
7186
+ # When you update a continuous deployment policy configuration, all the
7187
+ # fields are updated with the values that are provided in the request.
7188
+ # You cannot update some fields independent of others. To update a
7189
+ # continuous deployment policy configuration:
6707
7190
  #
6708
- # For information about updating a distribution using the CloudFront
6709
- # console instead, see [Creating a Distribution][2] in the *Amazon
6710
- # CloudFront Developer Guide*.
7191
+ # 1. Use `GetContinuousDeploymentPolicyConfig` to get the current
7192
+ # configuration.
6711
7193
  #
6712
- # **To update a web distribution using the CloudFront API**
7194
+ # 2. Locally modify the fields in the continuous deployment policy
7195
+ # configuration that you want to update.
7196
+ #
7197
+ # 3. Use `UpdateContinuousDeploymentPolicy`, providing the entire
7198
+ # continuous deployment policy configuration, including the fields
7199
+ # that you modified and those that you didn’t.
6713
7200
  #
6714
- # 1. Submit a [GetDistributionConfig][3] request to get the current
6715
- # configuration and an `Etag` header for the distribution.
7201
+ # @option params [required, Types::ContinuousDeploymentPolicyConfig] :continuous_deployment_policy_config
7202
+ # The continuous deployment policy configuration.
6716
7203
  #
6717
- # <note markdown="1"> If you update the distribution again, you must get a new `Etag`
6718
- # header.
7204
+ # @option params [required, String] :id
7205
+ # The identifier of the continuous deployment policy that you are
7206
+ # updating.
6719
7207
  #
6720
- # </note>
7208
+ # @option params [String] :if_match
7209
+ # The current version (`ETag` value) of the continuous deployment policy
7210
+ # that you are updating.
6721
7211
  #
6722
- # 2. Update the XML document that was returned in the response to your
6723
- # `GetDistributionConfig` request to include your changes.
7212
+ # @return [Types::UpdateContinuousDeploymentPolicyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6724
7213
  #
6725
- # When you edit the XML file, be aware of the following:
7214
+ # * {Types::UpdateContinuousDeploymentPolicyResult#continuous_deployment_policy #continuous_deployment_policy} => Types::ContinuousDeploymentPolicy
7215
+ # * {Types::UpdateContinuousDeploymentPolicyResult#etag #etag} => String
6726
7216
  #
6727
- # * You must strip out the ETag parameter that is returned.
7217
+ # @example Request syntax with placeholder values
6728
7218
  #
6729
- # * Additional fields are required when you update a distribution.
6730
- # There may be fields included in the XML file for features that
6731
- # you haven't configured for your distribution. This is expected
6732
- # and required to successfully update the distribution.
7219
+ # resp = client.update_continuous_deployment_policy({
7220
+ # continuous_deployment_policy_config: { # required
7221
+ # staging_distribution_dns_names: { # required
7222
+ # quantity: 1, # required
7223
+ # items: ["string"],
7224
+ # },
7225
+ # enabled: false, # required
7226
+ # traffic_config: {
7227
+ # single_weight_config: {
7228
+ # weight: 1.0, # required
7229
+ # session_stickiness_config: {
7230
+ # idle_ttl: 1, # required
7231
+ # maximum_ttl: 1, # required
7232
+ # },
7233
+ # },
7234
+ # single_header_config: {
7235
+ # header: "string", # required
7236
+ # value: "string", # required
7237
+ # },
7238
+ # type: "SingleWeight", # required, accepts SingleWeight, SingleHeader
7239
+ # },
7240
+ # },
7241
+ # id: "string", # required
7242
+ # if_match: "string",
7243
+ # })
6733
7244
  #
6734
- # * You can't change the value of `CallerReference`. If you try to
6735
- # change this value, CloudFront returns an `IllegalUpdate` error.
7245
+ # @example Response structure
6736
7246
  #
6737
- # * The new configuration replaces the existing configuration; the
6738
- # values that you specify in an `UpdateDistribution` request are
6739
- # not merged into your existing configuration. When you add,
6740
- # delete, or replace values in an element that allows multiple
6741
- # values (for example, `CNAME`), you must specify all of the
6742
- # values that you want to appear in the updated distribution. In
6743
- # addition, you must update the corresponding `Quantity` element.
7247
+ # resp.continuous_deployment_policy.id #=> String
7248
+ # resp.continuous_deployment_policy.last_modified_time #=> Time
7249
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.quantity #=> Integer
7250
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items #=> Array
7251
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.staging_distribution_dns_names.items[0] #=> String
7252
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.enabled #=> Boolean
7253
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.weight #=> Float
7254
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.idle_ttl #=> Integer
7255
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_weight_config.session_stickiness_config.maximum_ttl #=> Integer
7256
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.header #=> String
7257
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.single_header_config.value #=> String
7258
+ # resp.continuous_deployment_policy.continuous_deployment_policy_config.traffic_config.type #=> String, one of "SingleWeight", "SingleHeader"
7259
+ # resp.etag #=> String
6744
7260
  #
6745
- # 3. Submit an `UpdateDistribution` request to update the configuration
6746
- # for your distribution:
7261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateContinuousDeploymentPolicy AWS API Documentation
6747
7262
  #
6748
- # * In the request body, include the XML document that you updated
6749
- # in Step 2. The request body must include an XML document with a
6750
- # `DistributionConfig` element.
7263
+ # @overload update_continuous_deployment_policy(params = {})
7264
+ # @param [Hash] params ({})
7265
+ def update_continuous_deployment_policy(params = {}, options = {})
7266
+ req = build_request(:update_continuous_deployment_policy, params)
7267
+ req.send_request(options)
7268
+ end
7269
+
7270
+ # Updates the configuration for a CloudFront distribution.
6751
7271
  #
6752
- # * Set the value of the HTTP `If-Match` header to the value of the
6753
- # `ETag` header that CloudFront returned when you submitted the
6754
- # `GetDistributionConfig` request in Step 1.
7272
+ # The update process includes getting the current distribution
7273
+ # configuration, updating it to make your changes, and then submitting
7274
+ # an `UpdateDistribution` request to make the updates.
7275
+ #
7276
+ # **To update a web distribution using the CloudFront API**
6755
7277
  #
6756
- # 4. Review the response to the `UpdateDistribution` request to confirm
6757
- # that the configuration was successfully updated.
7278
+ # 1. Use `GetDistributionConfig` to get the current configuration,
7279
+ # including the version identifier (`ETag`).
6758
7280
  #
6759
- # 5. Optional: Submit a [GetDistribution][4] request to confirm that
6760
- # your changes have propagated. When propagation is complete, the
6761
- # value of `Status` is `Deployed`.
7281
+ # 2. Update the distribution configuration that was returned in the
7282
+ # response. Note the following important requirements and
7283
+ # restrictions:
6762
7284
  #
7285
+ # * You must rename the `ETag` field to `IfMatch`, leaving the value
7286
+ # unchanged. (Set the value of `IfMatch` to the value of `ETag`,
7287
+ # then remove the `ETag` field.)
6763
7288
  #
7289
+ # * You can’t change the value of `CallerReference`.
6764
7290
  #
6765
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html
6766
- # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html
6767
- # [3]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html
6768
- # [4]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html
7291
+ # 3. Submit an `UpdateDistribution` request, providing the distribution
7292
+ # configuration. The new configuration replaces the existing
7293
+ # configuration. The values that you specify in an
7294
+ # `UpdateDistribution` request are not merged into your existing
7295
+ # configuration. Make sure to include all fields: the ones that you
7296
+ # modified and also the ones that you didn’t.
6769
7297
  #
6770
7298
  # @option params [required, Types::DistributionConfig] :distribution_config
6771
7299
  # The distribution's configuration information.
@@ -7037,6 +7565,8 @@ module Aws::CloudFront
7037
7565
  # web_acl_id: "string",
7038
7566
  # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
7039
7567
  # is_ipv6_enabled: false,
7568
+ # continuous_deployment_policy_id: "string",
7569
+ # staging: false,
7040
7570
  # },
7041
7571
  # id: "string", # required
7042
7572
  # if_match: "string",
@@ -7223,6 +7753,8 @@ module Aws::CloudFront
7223
7753
  # resp.distribution.distribution_config.web_acl_id #=> String
7224
7754
  # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
7225
7755
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
7756
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
7757
+ # resp.distribution.distribution_config.staging #=> Boolean
7226
7758
  # resp.distribution.alias_icp_recordals #=> Array
7227
7759
  # resp.distribution.alias_icp_recordals[0].cname #=> String
7228
7760
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -7237,6 +7769,245 @@ module Aws::CloudFront
7237
7769
  req.send_request(options)
7238
7770
  end
7239
7771
 
7772
+ # Copies the staging distribution's configuration to its corresponding
7773
+ # primary distribution. The primary distribution retains its `Aliases`
7774
+ # (also known as alternate domain names or CNAMEs) and
7775
+ # `ContinuousDeploymentPolicyId` value, but otherwise its configuration
7776
+ # is overwritten to match the staging distribution.
7777
+ #
7778
+ # You can use this operation in a continuous deployment workflow after
7779
+ # you have tested configuration changes on the staging distribution.
7780
+ # After using a continuous deployment policy to move a portion of your
7781
+ # domain name’s traffic to the staging distribution and verifying that
7782
+ # it works as intended, you can use this operation to copy the staging
7783
+ # distribution’s configuration to the primary distribution. This action
7784
+ # will disable the continuous deployment policy and move your domain’s
7785
+ # traffic back to the primary distribution.
7786
+ #
7787
+ # @option params [required, String] :id
7788
+ # The identifier of the primary distribution to which you are copying a
7789
+ # staging distribution's configuration.
7790
+ #
7791
+ # @option params [String] :staging_distribution_id
7792
+ # The identifier of the staging distribution whose configuration you are
7793
+ # copying to the primary distribution.
7794
+ #
7795
+ # @option params [String] :if_match
7796
+ # The current versions (`ETag` values) of both primary and staging
7797
+ # distributions. Provide these in the following format:
7798
+ #
7799
+ # `<primary ETag>, <staging ETag>`
7800
+ #
7801
+ # @return [Types::UpdateDistributionWithStagingConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7802
+ #
7803
+ # * {Types::UpdateDistributionWithStagingConfigResult#distribution #distribution} => Types::Distribution
7804
+ # * {Types::UpdateDistributionWithStagingConfigResult#etag #etag} => String
7805
+ #
7806
+ # @example Request syntax with placeholder values
7807
+ #
7808
+ # resp = client.update_distribution_with_staging_config({
7809
+ # id: "string", # required
7810
+ # staging_distribution_id: "string",
7811
+ # if_match: "string",
7812
+ # })
7813
+ #
7814
+ # @example Response structure
7815
+ #
7816
+ # resp.distribution.id #=> String
7817
+ # resp.distribution.arn #=> String
7818
+ # resp.distribution.status #=> String
7819
+ # resp.distribution.last_modified_time #=> Time
7820
+ # resp.distribution.in_progress_invalidation_batches #=> Integer
7821
+ # resp.distribution.domain_name #=> String
7822
+ # resp.distribution.active_trusted_signers.enabled #=> Boolean
7823
+ # resp.distribution.active_trusted_signers.quantity #=> Integer
7824
+ # resp.distribution.active_trusted_signers.items #=> Array
7825
+ # resp.distribution.active_trusted_signers.items[0].aws_account_number #=> String
7826
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
7827
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
7828
+ # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
7829
+ # resp.distribution.active_trusted_key_groups.enabled #=> Boolean
7830
+ # resp.distribution.active_trusted_key_groups.quantity #=> Integer
7831
+ # resp.distribution.active_trusted_key_groups.items #=> Array
7832
+ # resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
7833
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
7834
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
7835
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items[0] #=> String
7836
+ # resp.distribution.distribution_config.caller_reference #=> String
7837
+ # resp.distribution.distribution_config.aliases.quantity #=> Integer
7838
+ # resp.distribution.distribution_config.aliases.items #=> Array
7839
+ # resp.distribution.distribution_config.aliases.items[0] #=> String
7840
+ # resp.distribution.distribution_config.default_root_object #=> String
7841
+ # resp.distribution.distribution_config.origins.quantity #=> Integer
7842
+ # resp.distribution.distribution_config.origins.items #=> Array
7843
+ # resp.distribution.distribution_config.origins.items[0].id #=> String
7844
+ # resp.distribution.distribution_config.origins.items[0].domain_name #=> String
7845
+ # resp.distribution.distribution_config.origins.items[0].origin_path #=> String
7846
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.quantity #=> Integer
7847
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items #=> Array
7848
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_name #=> String
7849
+ # resp.distribution.distribution_config.origins.items[0].custom_headers.items[0].header_value #=> String
7850
+ # resp.distribution.distribution_config.origins.items[0].s3_origin_config.origin_access_identity #=> String
7851
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.http_port #=> Integer
7852
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.https_port #=> Integer
7853
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
7854
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
7855
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
7856
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
7857
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
7858
+ # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
7859
+ # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
7860
+ # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
7861
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
7862
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
7863
+ # resp.distribution.distribution_config.origins.items[0].origin_access_control_id #=> String
7864
+ # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
7865
+ # resp.distribution.distribution_config.origin_groups.items #=> Array
7866
+ # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
7867
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
7868
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items #=> Array
7869
+ # resp.distribution.distribution_config.origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
7870
+ # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
7871
+ # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
7872
+ # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
7873
+ # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
7874
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
7875
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
7876
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
7877
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
7878
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.enabled #=> Boolean
7879
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
7880
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
7881
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items[0] #=> String
7882
+ # resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
7883
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
7884
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
7885
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7886
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
7887
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items #=> Array
7888
+ # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7889
+ # resp.distribution.distribution_config.default_cache_behavior.smooth_streaming #=> Boolean
7890
+ # resp.distribution.distribution_config.default_cache_behavior.compress #=> Boolean
7891
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.quantity #=> Integer
7892
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items #=> Array
7893
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
7894
+ # 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"
7895
+ # resp.distribution.distribution_config.default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
7896
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.quantity #=> Integer
7897
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items #=> Array
7898
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].function_arn #=> String
7899
+ # resp.distribution.distribution_config.default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
7900
+ # resp.distribution.distribution_config.default_cache_behavior.field_level_encryption_id #=> String
7901
+ # resp.distribution.distribution_config.default_cache_behavior.realtime_log_config_arn #=> String
7902
+ # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
7903
+ # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
7904
+ # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
7905
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
7906
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
7907
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
7908
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
7909
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
7910
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.quantity #=> Integer
7911
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items #=> Array
7912
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.headers.items[0] #=> String
7913
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
7914
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
7915
+ # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
7916
+ # resp.distribution.distribution_config.default_cache_behavior.min_ttl #=> Integer
7917
+ # resp.distribution.distribution_config.default_cache_behavior.default_ttl #=> Integer
7918
+ # resp.distribution.distribution_config.default_cache_behavior.max_ttl #=> Integer
7919
+ # resp.distribution.distribution_config.cache_behaviors.quantity #=> Integer
7920
+ # resp.distribution.distribution_config.cache_behaviors.items #=> Array
7921
+ # resp.distribution.distribution_config.cache_behaviors.items[0].path_pattern #=> String
7922
+ # resp.distribution.distribution_config.cache_behaviors.items[0].target_origin_id #=> String
7923
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
7924
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
7925
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
7926
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
7927
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
7928
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
7929
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
7930
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
7931
+ # resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
7932
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
7933
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
7934
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7935
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
7936
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
7937
+ # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7938
+ # resp.distribution.distribution_config.cache_behaviors.items[0].smooth_streaming #=> Boolean
7939
+ # resp.distribution.distribution_config.cache_behaviors.items[0].compress #=> Boolean
7940
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
7941
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items #=> Array
7942
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
7943
+ # 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"
7944
+ # resp.distribution.distribution_config.cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
7945
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.quantity #=> Integer
7946
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items #=> Array
7947
+ # resp.distribution.distribution_config.cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
7948
+ # 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"
7949
+ # resp.distribution.distribution_config.cache_behaviors.items[0].field_level_encryption_id #=> String
7950
+ # resp.distribution.distribution_config.cache_behaviors.items[0].realtime_log_config_arn #=> String
7951
+ # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
7952
+ # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
7953
+ # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
7954
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
7955
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
7956
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
7957
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
7958
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
7959
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
7960
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items #=> Array
7961
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
7962
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
7963
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
7964
+ # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
7965
+ # resp.distribution.distribution_config.cache_behaviors.items[0].min_ttl #=> Integer
7966
+ # resp.distribution.distribution_config.cache_behaviors.items[0].default_ttl #=> Integer
7967
+ # resp.distribution.distribution_config.cache_behaviors.items[0].max_ttl #=> Integer
7968
+ # resp.distribution.distribution_config.custom_error_responses.quantity #=> Integer
7969
+ # resp.distribution.distribution_config.custom_error_responses.items #=> Array
7970
+ # resp.distribution.distribution_config.custom_error_responses.items[0].error_code #=> Integer
7971
+ # resp.distribution.distribution_config.custom_error_responses.items[0].response_page_path #=> String
7972
+ # resp.distribution.distribution_config.custom_error_responses.items[0].response_code #=> String
7973
+ # resp.distribution.distribution_config.custom_error_responses.items[0].error_caching_min_ttl #=> Integer
7974
+ # resp.distribution.distribution_config.comment #=> String
7975
+ # resp.distribution.distribution_config.logging.enabled #=> Boolean
7976
+ # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
7977
+ # resp.distribution.distribution_config.logging.bucket #=> String
7978
+ # resp.distribution.distribution_config.logging.prefix #=> String
7979
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
7980
+ # resp.distribution.distribution_config.enabled #=> Boolean
7981
+ # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
7982
+ # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
7983
+ # resp.distribution.distribution_config.viewer_certificate.acm_certificate_arn #=> String
7984
+ # resp.distribution.distribution_config.viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip", "static-ip"
7985
+ # 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"
7986
+ # resp.distribution.distribution_config.viewer_certificate.certificate #=> String
7987
+ # resp.distribution.distribution_config.viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
7988
+ # resp.distribution.distribution_config.restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
7989
+ # resp.distribution.distribution_config.restrictions.geo_restriction.quantity #=> Integer
7990
+ # resp.distribution.distribution_config.restrictions.geo_restriction.items #=> Array
7991
+ # resp.distribution.distribution_config.restrictions.geo_restriction.items[0] #=> String
7992
+ # resp.distribution.distribution_config.web_acl_id #=> String
7993
+ # resp.distribution.distribution_config.http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
7994
+ # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
7995
+ # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
7996
+ # resp.distribution.distribution_config.staging #=> Boolean
7997
+ # resp.distribution.alias_icp_recordals #=> Array
7998
+ # resp.distribution.alias_icp_recordals[0].cname #=> String
7999
+ # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
8000
+ # resp.etag #=> String
8001
+ #
8002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistributionWithStagingConfig AWS API Documentation
8003
+ #
8004
+ # @overload update_distribution_with_staging_config(params = {})
8005
+ # @param [Hash] params ({})
8006
+ def update_distribution_with_staging_config(params = {}, options = {})
8007
+ req = build_request(:update_distribution_with_staging_config, params)
8008
+ req.send_request(options)
8009
+ end
8010
+
7240
8011
  # Update a field-level encryption configuration.
7241
8012
  #
7242
8013
  # @option params [required, Types::FieldLevelEncryptionConfig] :field_level_encryption_config
@@ -7535,7 +8306,7 @@ module Aws::CloudFront
7535
8306
  # resp = client.update_origin_access_control({
7536
8307
  # origin_access_control_config: { # required
7537
8308
  # name: "string", # required
7538
- # description: "string", # required
8309
+ # description: "string",
7539
8310
  # signing_protocol: "sigv4", # required, accepts sigv4
7540
8311
  # signing_behavior: "never", # required, accepts never, always, no-override
7541
8312
  # origin_access_control_origin_type: "s3", # required, accepts s3
@@ -8063,7 +8834,7 @@ module Aws::CloudFront
8063
8834
  params: params,
8064
8835
  config: config)
8065
8836
  context[:gem_name] = 'aws-sdk-cloudfront'
8066
- context[:gem_version] = '1.69.0'
8837
+ context[:gem_version] = '1.71.0'
8067
8838
  Seahorse::Client::Request.new(handlers, context)
8068
8839
  end
8069
8840