aws-sdk-cloudfront 1.69.0 → 1.71.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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