aws-sdk-cloudfront 1.113.0 → 1.115.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.
@@ -514,6 +514,88 @@ module Aws::CloudFront
514
514
  req.send_request(options)
515
515
  end
516
516
 
517
+ # Associates the WAF web ACL with a distribution tenant.
518
+ #
519
+ # @option params [required, String] :id
520
+ # The ID of the distribution tenant.
521
+ #
522
+ # @option params [required, String] :web_acl_arn
523
+ # The Amazon Resource Name (ARN) of the WAF web ACL to associate.
524
+ #
525
+ # @option params [String] :if_match
526
+ # The current `ETag` of the distribution tenant. This value is returned
527
+ # in the response of the `GetDistributionTenant` API operation.
528
+ #
529
+ # @return [Types::AssociateDistributionTenantWebACLResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
530
+ #
531
+ # * {Types::AssociateDistributionTenantWebACLResult#id #id} => String
532
+ # * {Types::AssociateDistributionTenantWebACLResult#web_acl_arn #web_acl_arn} => String
533
+ # * {Types::AssociateDistributionTenantWebACLResult#etag #etag} => String
534
+ #
535
+ # @example Request syntax with placeholder values
536
+ #
537
+ # resp = client.associate_distribution_tenant_web_acl({
538
+ # id: "string", # required
539
+ # web_acl_arn: "string", # required
540
+ # if_match: "string",
541
+ # })
542
+ #
543
+ # @example Response structure
544
+ #
545
+ # resp.id #=> String
546
+ # resp.web_acl_arn #=> String
547
+ # resp.etag #=> String
548
+ #
549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/AssociateDistributionTenantWebACL AWS API Documentation
550
+ #
551
+ # @overload associate_distribution_tenant_web_acl(params = {})
552
+ # @param [Hash] params ({})
553
+ def associate_distribution_tenant_web_acl(params = {}, options = {})
554
+ req = build_request(:associate_distribution_tenant_web_acl, params)
555
+ req.send_request(options)
556
+ end
557
+
558
+ # Associates the WAF web ACL with a distribution.
559
+ #
560
+ # @option params [required, String] :id
561
+ # The ID of the distribution.
562
+ #
563
+ # @option params [required, String] :web_acl_arn
564
+ # The Amazon Resource Name (ARN) of the WAF web ACL to associate.
565
+ #
566
+ # @option params [String] :if_match
567
+ # The value of the `ETag` header that you received when retrieving the
568
+ # distribution that you're associating with the WAF web ACL.
569
+ #
570
+ # @return [Types::AssociateDistributionWebACLResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
571
+ #
572
+ # * {Types::AssociateDistributionWebACLResult#id #id} => String
573
+ # * {Types::AssociateDistributionWebACLResult#web_acl_arn #web_acl_arn} => String
574
+ # * {Types::AssociateDistributionWebACLResult#etag #etag} => String
575
+ #
576
+ # @example Request syntax with placeholder values
577
+ #
578
+ # resp = client.associate_distribution_web_acl({
579
+ # id: "string", # required
580
+ # web_acl_arn: "string", # required
581
+ # if_match: "string",
582
+ # })
583
+ #
584
+ # @example Response structure
585
+ #
586
+ # resp.id #=> String
587
+ # resp.web_acl_arn #=> String
588
+ # resp.etag #=> String
589
+ #
590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/AssociateDistributionWebACL AWS API Documentation
591
+ #
592
+ # @overload associate_distribution_web_acl(params = {})
593
+ # @param [Hash] params ({})
594
+ def associate_distribution_web_acl(params = {}, options = {})
595
+ req = build_request(:associate_distribution_web_acl, params)
596
+ req.send_request(options)
597
+ end
598
+
517
599
  # Creates a staging distribution using the configuration of the provided
518
600
  # primary distribution. A staging distribution is a copy of an existing
519
601
  # distribution (called the primary distribution) that you can use in a
@@ -752,7 +834,7 @@ module Aws::CloudFront
752
834
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
753
835
  # resp.distribution.distribution_config.logging.bucket #=> String
754
836
  # resp.distribution.distribution_config.logging.prefix #=> String
755
- # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
837
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
756
838
  # resp.distribution.distribution_config.enabled #=> Boolean
757
839
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
758
840
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -771,6 +853,12 @@ module Aws::CloudFront
771
853
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
772
854
  # resp.distribution.distribution_config.staging #=> Boolean
773
855
  # resp.distribution.distribution_config.anycast_ip_list_id #=> String
856
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions #=> Array
857
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].name #=> String
858
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.comment #=> String
859
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.default_value #=> String
860
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.required #=> Boolean
861
+ # resp.distribution.distribution_config.connection_mode #=> String, one of "direct", "tenant-only"
774
862
  # resp.distribution.alias_icp_recordals #=> Array
775
863
  # resp.distribution.alias_icp_recordals[0].cname #=> String
776
864
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -793,7 +881,7 @@ module Aws::CloudFront
793
881
  #
794
882
  # @option params [required, Integer] :ip_count
795
883
  # The number of static IP addresses that are allocated to the Anycast
796
- # static IP list.
884
+ # static IP list. Valid values: 21 or 3.
797
885
  #
798
886
  # @option params [Types::Tags] :tags
799
887
  # A complex type that contains zero or more `Tag` elements.
@@ -995,6 +1083,80 @@ module Aws::CloudFront
995
1083
  req.send_request(options)
996
1084
  end
997
1085
 
1086
+ # Creates a connection group.
1087
+ #
1088
+ # @option params [required, String] :name
1089
+ # The name of the connection group. Enter a friendly identifier that is
1090
+ # unique within your Amazon Web Services account. This name can't be
1091
+ # updated after you create the connection group.
1092
+ #
1093
+ # @option params [Boolean] :ipv_6_enabled
1094
+ # Enable IPv6 for the connection group. The default is `true`. For more
1095
+ # information, see [Enable IPv6][1] in the *Amazon CloudFront Developer
1096
+ # Guide*.
1097
+ #
1098
+ #
1099
+ #
1100
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesEnableIPv6
1101
+ #
1102
+ # @option params [Types::Tags] :tags
1103
+ # A complex type that contains zero or more `Tag` elements.
1104
+ #
1105
+ # @option params [String] :anycast_ip_list_id
1106
+ # The ID of the Anycast static IP list.
1107
+ #
1108
+ # @option params [Boolean] :enabled
1109
+ # Enable the connection group.
1110
+ #
1111
+ # @return [Types::CreateConnectionGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1112
+ #
1113
+ # * {Types::CreateConnectionGroupResult#connection_group #connection_group} => Types::ConnectionGroup
1114
+ # * {Types::CreateConnectionGroupResult#etag #etag} => String
1115
+ #
1116
+ # @example Request syntax with placeholder values
1117
+ #
1118
+ # resp = client.create_connection_group({
1119
+ # name: "string", # required
1120
+ # ipv_6_enabled: false,
1121
+ # tags: {
1122
+ # items: [
1123
+ # {
1124
+ # key: "TagKey", # required
1125
+ # value: "TagValue",
1126
+ # },
1127
+ # ],
1128
+ # },
1129
+ # anycast_ip_list_id: "string",
1130
+ # enabled: false,
1131
+ # })
1132
+ #
1133
+ # @example Response structure
1134
+ #
1135
+ # resp.connection_group.id #=> String
1136
+ # resp.connection_group.name #=> String
1137
+ # resp.connection_group.arn #=> String
1138
+ # resp.connection_group.created_time #=> Time
1139
+ # resp.connection_group.last_modified_time #=> Time
1140
+ # resp.connection_group.tags.items #=> Array
1141
+ # resp.connection_group.tags.items[0].key #=> String
1142
+ # resp.connection_group.tags.items[0].value #=> String
1143
+ # resp.connection_group.ipv_6_enabled #=> Boolean
1144
+ # resp.connection_group.routing_endpoint #=> String
1145
+ # resp.connection_group.anycast_ip_list_id #=> String
1146
+ # resp.connection_group.status #=> String
1147
+ # resp.connection_group.enabled #=> Boolean
1148
+ # resp.connection_group.is_default #=> Boolean
1149
+ # resp.etag #=> String
1150
+ #
1151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateConnectionGroup AWS API Documentation
1152
+ #
1153
+ # @overload create_connection_group(params = {})
1154
+ # @param [Hash] params ({})
1155
+ def create_connection_group(params = {}, options = {})
1156
+ req = build_request(:create_connection_group, params)
1157
+ req.send_request(options)
1158
+ end
1159
+
998
1160
  # Creates a continuous deployment policy that distributes traffic for a
999
1161
  # custom domain name to two different CloudFront distributions.
1000
1162
  #
@@ -1326,7 +1488,7 @@ module Aws::CloudFront
1326
1488
  # bucket: "string",
1327
1489
  # prefix: "string",
1328
1490
  # },
1329
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
1491
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
1330
1492
  # enabled: false, # required
1331
1493
  # viewer_certificate: {
1332
1494
  # cloud_front_default_certificate: false,
@@ -1350,6 +1512,21 @@ module Aws::CloudFront
1350
1512
  # continuous_deployment_policy_id: "string",
1351
1513
  # staging: false,
1352
1514
  # anycast_ip_list_id: "string",
1515
+ # tenant_config: {
1516
+ # parameter_definitions: [
1517
+ # {
1518
+ # name: "ParameterName", # required
1519
+ # definition: { # required
1520
+ # string_schema: {
1521
+ # comment: "string",
1522
+ # default_value: "ParameterValue",
1523
+ # required: false, # required
1524
+ # },
1525
+ # },
1526
+ # },
1527
+ # ],
1528
+ # },
1529
+ # connection_mode: "direct", # accepts direct, tenant-only
1353
1530
  # },
1354
1531
  # })
1355
1532
  #
@@ -1524,7 +1701,7 @@ module Aws::CloudFront
1524
1701
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
1525
1702
  # resp.distribution.distribution_config.logging.bucket #=> String
1526
1703
  # resp.distribution.distribution_config.logging.prefix #=> String
1527
- # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
1704
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
1528
1705
  # resp.distribution.distribution_config.enabled #=> Boolean
1529
1706
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
1530
1707
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -1543,6 +1720,12 @@ module Aws::CloudFront
1543
1720
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
1544
1721
  # resp.distribution.distribution_config.staging #=> Boolean
1545
1722
  # resp.distribution.distribution_config.anycast_ip_list_id #=> String
1723
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions #=> Array
1724
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].name #=> String
1725
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.comment #=> String
1726
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.default_value #=> String
1727
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.required #=> Boolean
1728
+ # resp.distribution.distribution_config.connection_mode #=> String, one of "direct", "tenant-only"
1546
1729
  # resp.distribution.alias_icp_recordals #=> Array
1547
1730
  # resp.distribution.alias_icp_recordals[0].cname #=> String
1548
1731
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -1558,6 +1741,138 @@ module Aws::CloudFront
1558
1741
  req.send_request(options)
1559
1742
  end
1560
1743
 
1744
+ # Creates a distribution tenant.
1745
+ #
1746
+ # @option params [required, String] :distribution_id
1747
+ # The ID of the multi-tenant distribution to use for creating the
1748
+ # distribution tenant.
1749
+ #
1750
+ # @option params [required, String] :name
1751
+ # The name of the distribution tenant. Enter a friendly identifier that
1752
+ # is unique within your Amazon Web Services account. This name can't be
1753
+ # updated after you create the distribution tenant.
1754
+ #
1755
+ # @option params [required, Array<Types::DomainItem>] :domains
1756
+ # The domains associated with the distribution tenant. You must specify
1757
+ # at least one domain in the request.
1758
+ #
1759
+ # @option params [Types::Tags] :tags
1760
+ # A complex type that contains zero or more `Tag` elements.
1761
+ #
1762
+ # @option params [Types::Customizations] :customizations
1763
+ # Customizations for the distribution tenant. For each distribution
1764
+ # tenant, you can specify the geographic restrictions, and the Amazon
1765
+ # Resource Names (ARNs) for the ACM certificate and WAF web ACL. These
1766
+ # are specific values that you can override or disable from the
1767
+ # multi-tenant distribution that was used to create the distribution
1768
+ # tenant.
1769
+ #
1770
+ # @option params [Array<Types::Parameter>] :parameters
1771
+ # A list of parameter values to add to the resource. A parameter is
1772
+ # specified as a key-value pair. A valid parameter value must exist for
1773
+ # any parameter that is marked as required in the multi-tenant
1774
+ # distribution.
1775
+ #
1776
+ # @option params [String] :connection_group_id
1777
+ # The ID of the connection group to associate with the distribution
1778
+ # tenant.
1779
+ #
1780
+ # @option params [Types::ManagedCertificateRequest] :managed_certificate_request
1781
+ # The configuration for the CloudFront managed ACM certificate request.
1782
+ #
1783
+ # @option params [Boolean] :enabled
1784
+ # Indicates whether the distribution tenant should be enabled when
1785
+ # created. If the distribution tenant is disabled, the distribution
1786
+ # tenant won't serve traffic.
1787
+ #
1788
+ # @return [Types::CreateDistributionTenantResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1789
+ #
1790
+ # * {Types::CreateDistributionTenantResult#distribution_tenant #distribution_tenant} => Types::DistributionTenant
1791
+ # * {Types::CreateDistributionTenantResult#etag #etag} => String
1792
+ #
1793
+ # @example Request syntax with placeholder values
1794
+ #
1795
+ # resp = client.create_distribution_tenant({
1796
+ # distribution_id: "string", # required
1797
+ # name: "CreateDistributionTenantRequestNameString", # required
1798
+ # domains: [ # required
1799
+ # {
1800
+ # domain: "string", # required
1801
+ # },
1802
+ # ],
1803
+ # tags: {
1804
+ # items: [
1805
+ # {
1806
+ # key: "TagKey", # required
1807
+ # value: "TagValue",
1808
+ # },
1809
+ # ],
1810
+ # },
1811
+ # customizations: {
1812
+ # web_acl: {
1813
+ # action: "override", # required, accepts override, disable
1814
+ # arn: "string",
1815
+ # },
1816
+ # certificate: {
1817
+ # arn: "string", # required
1818
+ # },
1819
+ # geo_restrictions: {
1820
+ # restriction_type: "blacklist", # required, accepts blacklist, whitelist, none
1821
+ # locations: ["string"],
1822
+ # },
1823
+ # },
1824
+ # parameters: [
1825
+ # {
1826
+ # name: "ParameterName", # required
1827
+ # value: "ParameterValue", # required
1828
+ # },
1829
+ # ],
1830
+ # connection_group_id: "string",
1831
+ # managed_certificate_request: {
1832
+ # validation_token_host: "cloudfront", # required, accepts cloudfront, self-hosted
1833
+ # primary_domain_name: "string",
1834
+ # certificate_transparency_logging_preference: "enabled", # accepts enabled, disabled
1835
+ # },
1836
+ # enabled: false,
1837
+ # })
1838
+ #
1839
+ # @example Response structure
1840
+ #
1841
+ # resp.distribution_tenant.id #=> String
1842
+ # resp.distribution_tenant.distribution_id #=> String
1843
+ # resp.distribution_tenant.name #=> String
1844
+ # resp.distribution_tenant.arn #=> String
1845
+ # resp.distribution_tenant.domains #=> Array
1846
+ # resp.distribution_tenant.domains[0].domain #=> String
1847
+ # resp.distribution_tenant.domains[0].status #=> String, one of "active", "inactive"
1848
+ # resp.distribution_tenant.tags.items #=> Array
1849
+ # resp.distribution_tenant.tags.items[0].key #=> String
1850
+ # resp.distribution_tenant.tags.items[0].value #=> String
1851
+ # resp.distribution_tenant.customizations.web_acl.action #=> String, one of "override", "disable"
1852
+ # resp.distribution_tenant.customizations.web_acl.arn #=> String
1853
+ # resp.distribution_tenant.customizations.certificate.arn #=> String
1854
+ # resp.distribution_tenant.customizations.geo_restrictions.restriction_type #=> String, one of "blacklist", "whitelist", "none"
1855
+ # resp.distribution_tenant.customizations.geo_restrictions.locations #=> Array
1856
+ # resp.distribution_tenant.customizations.geo_restrictions.locations[0] #=> String
1857
+ # resp.distribution_tenant.parameters #=> Array
1858
+ # resp.distribution_tenant.parameters[0].name #=> String
1859
+ # resp.distribution_tenant.parameters[0].value #=> String
1860
+ # resp.distribution_tenant.connection_group_id #=> String
1861
+ # resp.distribution_tenant.created_time #=> Time
1862
+ # resp.distribution_tenant.last_modified_time #=> Time
1863
+ # resp.distribution_tenant.enabled #=> Boolean
1864
+ # resp.distribution_tenant.status #=> String
1865
+ # resp.etag #=> String
1866
+ #
1867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistributionTenant AWS API Documentation
1868
+ #
1869
+ # @overload create_distribution_tenant(params = {})
1870
+ # @param [Hash] params ({})
1871
+ def create_distribution_tenant(params = {}, options = {})
1872
+ req = build_request(:create_distribution_tenant, params)
1873
+ req.send_request(options)
1874
+ end
1875
+
1561
1876
  # Create a new distribution with tags. This API operation requires the
1562
1877
  # following IAM permissions:
1563
1878
  #
@@ -1826,7 +2141,7 @@ module Aws::CloudFront
1826
2141
  # bucket: "string",
1827
2142
  # prefix: "string",
1828
2143
  # },
1829
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
2144
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
1830
2145
  # enabled: false, # required
1831
2146
  # viewer_certificate: {
1832
2147
  # cloud_front_default_certificate: false,
@@ -1850,6 +2165,21 @@ module Aws::CloudFront
1850
2165
  # continuous_deployment_policy_id: "string",
1851
2166
  # staging: false,
1852
2167
  # anycast_ip_list_id: "string",
2168
+ # tenant_config: {
2169
+ # parameter_definitions: [
2170
+ # {
2171
+ # name: "ParameterName", # required
2172
+ # definition: { # required
2173
+ # string_schema: {
2174
+ # comment: "string",
2175
+ # default_value: "ParameterValue",
2176
+ # required: false, # required
2177
+ # },
2178
+ # },
2179
+ # },
2180
+ # ],
2181
+ # },
2182
+ # connection_mode: "direct", # accepts direct, tenant-only
1853
2183
  # },
1854
2184
  # tags: { # required
1855
2185
  # items: [
@@ -2033,7 +2363,7 @@ module Aws::CloudFront
2033
2363
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
2034
2364
  # resp.distribution.distribution_config.logging.bucket #=> String
2035
2365
  # resp.distribution.distribution_config.logging.prefix #=> String
2036
- # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
2366
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
2037
2367
  # resp.distribution.distribution_config.enabled #=> Boolean
2038
2368
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
2039
2369
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -2052,6 +2382,12 @@ module Aws::CloudFront
2052
2382
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
2053
2383
  # resp.distribution.distribution_config.staging #=> Boolean
2054
2384
  # resp.distribution.distribution_config.anycast_ip_list_id #=> String
2385
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions #=> Array
2386
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].name #=> String
2387
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.comment #=> String
2388
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.default_value #=> String
2389
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.required #=> Boolean
2390
+ # resp.distribution.distribution_config.connection_mode #=> String, one of "direct", "tenant-only"
2055
2391
  # resp.distribution.alias_icp_recordals #=> Array
2056
2392
  # resp.distribution.alias_icp_recordals[0].cname #=> String
2057
2393
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -2384,6 +2720,58 @@ module Aws::CloudFront
2384
2720
  req.send_request(options)
2385
2721
  end
2386
2722
 
2723
+ # Creates an invalidation for a distribution tenant. For more
2724
+ # information, see [Invalidating files][1] in the *Amazon CloudFront
2725
+ # Developer Guide*.
2726
+ #
2727
+ #
2728
+ #
2729
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html
2730
+ #
2731
+ # @option params [required, String] :id
2732
+ # The ID of the distribution tenant.
2733
+ #
2734
+ # @option params [required, Types::InvalidationBatch] :invalidation_batch
2735
+ # An invalidation batch.
2736
+ #
2737
+ # @return [Types::CreateInvalidationForDistributionTenantResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2738
+ #
2739
+ # * {Types::CreateInvalidationForDistributionTenantResult#location #location} => String
2740
+ # * {Types::CreateInvalidationForDistributionTenantResult#invalidation #invalidation} => Types::Invalidation
2741
+ #
2742
+ # @example Request syntax with placeholder values
2743
+ #
2744
+ # resp = client.create_invalidation_for_distribution_tenant({
2745
+ # id: "string", # required
2746
+ # invalidation_batch: { # required
2747
+ # paths: { # required
2748
+ # quantity: 1, # required
2749
+ # items: ["string"],
2750
+ # },
2751
+ # caller_reference: "string", # required
2752
+ # },
2753
+ # })
2754
+ #
2755
+ # @example Response structure
2756
+ #
2757
+ # resp.location #=> String
2758
+ # resp.invalidation.id #=> String
2759
+ # resp.invalidation.status #=> String
2760
+ # resp.invalidation.create_time #=> Time
2761
+ # resp.invalidation.invalidation_batch.paths.quantity #=> Integer
2762
+ # resp.invalidation.invalidation_batch.paths.items #=> Array
2763
+ # resp.invalidation.invalidation_batch.paths.items[0] #=> String
2764
+ # resp.invalidation.invalidation_batch.caller_reference #=> String
2765
+ #
2766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateInvalidationForDistributionTenant AWS API Documentation
2767
+ #
2768
+ # @overload create_invalidation_for_distribution_tenant(params = {})
2769
+ # @param [Hash] params ({})
2770
+ def create_invalidation_for_distribution_tenant(params = {}, options = {})
2771
+ req = build_request(:create_invalidation_for_distribution_tenant, params)
2772
+ req.send_request(options)
2773
+ end
2774
+
2387
2775
  # Creates a key group that you can use with [CloudFront signed URLs and
2388
2776
  # signed cookies][1].
2389
2777
  #
@@ -2522,8 +2910,9 @@ module Aws::CloudFront
2522
2910
  req.send_request(options)
2523
2911
  end
2524
2912
 
2525
- # Enables additional CloudWatch metrics for the specified CloudFront
2526
- # distribution. The additional metrics incur an additional cost.
2913
+ # Enables or disables additional Amazon CloudWatch metrics for the
2914
+ # specified CloudFront distribution. The additional metrics incur an
2915
+ # additional cost.
2527
2916
  #
2528
2917
  # For more information, see [Viewing additional CloudFront distribution
2529
2918
  # metrics][1] in the *Amazon CloudFront Developer Guide*.
@@ -3064,7 +3453,7 @@ module Aws::CloudFront
3064
3453
  # quantity: 1, # required
3065
3454
  # items: ["string"],
3066
3455
  # },
3067
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
3456
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
3068
3457
  # enabled: false, # required
3069
3458
  # },
3070
3459
  # })
@@ -3097,7 +3486,7 @@ module Aws::CloudFront
3097
3486
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
3098
3487
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
3099
3488
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
3100
- # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
3489
+ # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
3101
3490
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
3102
3491
  # resp.location #=> String
3103
3492
  # resp.etag #=> String
@@ -3154,7 +3543,7 @@ module Aws::CloudFront
3154
3543
  # quantity: 1, # required
3155
3544
  # items: ["string"],
3156
3545
  # },
3157
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
3546
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
3158
3547
  # enabled: false, # required
3159
3548
  # },
3160
3549
  # tags: { # required
@@ -3196,7 +3585,7 @@ module Aws::CloudFront
3196
3585
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
3197
3586
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
3198
3587
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
3199
- # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
3588
+ # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
3200
3589
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
3201
3590
  # resp.location #=> String
3202
3591
  # resp.etag #=> String
@@ -3415,6 +3804,33 @@ module Aws::CloudFront
3415
3804
  req.send_request(options)
3416
3805
  end
3417
3806
 
3807
+ # Deletes a connection group.
3808
+ #
3809
+ # @option params [required, String] :id
3810
+ # The ID of the connection group to delete.
3811
+ #
3812
+ # @option params [required, String] :if_match
3813
+ # The value of the `ETag` header that you received when retrieving the
3814
+ # connection group to delete.
3815
+ #
3816
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3817
+ #
3818
+ # @example Request syntax with placeholder values
3819
+ #
3820
+ # resp = client.delete_connection_group({
3821
+ # id: "string", # required
3822
+ # if_match: "string", # required
3823
+ # })
3824
+ #
3825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteConnectionGroup AWS API Documentation
3826
+ #
3827
+ # @overload delete_connection_group(params = {})
3828
+ # @param [Hash] params ({})
3829
+ def delete_connection_group(params = {}, options = {})
3830
+ req = build_request(:delete_connection_group, params)
3831
+ req.send_request(options)
3832
+ end
3833
+
3418
3834
  # Deletes a continuous deployment policy.
3419
3835
  #
3420
3836
  # You cannot delete a continuous deployment policy that's attached to a
@@ -3474,6 +3890,40 @@ module Aws::CloudFront
3474
3890
  req.send_request(options)
3475
3891
  end
3476
3892
 
3893
+ # Deletes a distribution tenant. If you use this API operation to delete
3894
+ # a distribution tenant that is currently enabled, the request will
3895
+ # fail.
3896
+ #
3897
+ # To delete a distribution tenant, you must first disable the
3898
+ # distribution tenant by using the `UpdateDistributionTenant` API
3899
+ # operation.
3900
+ #
3901
+ # @option params [required, String] :id
3902
+ # The ID of the distribution tenant to delete.
3903
+ #
3904
+ # @option params [required, String] :if_match
3905
+ # The value of the `ETag` header that you received when retrieving the
3906
+ # distribution tenant. This value is returned in the response of the
3907
+ # `GetDistributionTenant` API operation.
3908
+ #
3909
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3910
+ #
3911
+ # @example Request syntax with placeholder values
3912
+ #
3913
+ # resp = client.delete_distribution_tenant({
3914
+ # id: "string", # required
3915
+ # if_match: "string", # required
3916
+ # })
3917
+ #
3918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteDistributionTenant AWS API Documentation
3919
+ #
3920
+ # @overload delete_distribution_tenant(params = {})
3921
+ # @param [Hash] params ({})
3922
+ def delete_distribution_tenant(params = {}, options = {})
3923
+ req = build_request(:delete_distribution_tenant, params)
3924
+ req.send_request(options)
3925
+ end
3926
+
3477
3927
  # Remove a field-level encryption configuration.
3478
3928
  #
3479
3929
  # @option params [required, String] :id
@@ -4096,50 +4546,121 @@ module Aws::CloudFront
4096
4546
  req.send_request(options)
4097
4547
  end
4098
4548
 
4099
- # Gets an Anycast static IP list.
4549
+ # Disassociates a distribution tenant from the WAF web ACL.
4100
4550
  #
4101
4551
  # @option params [required, String] :id
4102
- # The ID of the Anycast static IP list.
4552
+ # The ID of the distribution tenant.
4103
4553
  #
4104
- # @return [Types::GetAnycastIpListResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4554
+ # @option params [String] :if_match
4555
+ # The current version of the distribution tenant that you're
4556
+ # disassociating from the WAF web ACL. This is the `ETag` value returned
4557
+ # in the response to the `GetDistributionTenant` API operation.
4105
4558
  #
4106
- # * {Types::GetAnycastIpListResult#anycast_ip_list #anycast_ip_list} => Types::AnycastIpList
4107
- # * {Types::GetAnycastIpListResult#etag #etag} => String
4559
+ # @return [Types::DisassociateDistributionTenantWebACLResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4560
+ #
4561
+ # * {Types::DisassociateDistributionTenantWebACLResult#id #id} => String
4562
+ # * {Types::DisassociateDistributionTenantWebACLResult#etag #etag} => String
4108
4563
  #
4109
4564
  # @example Request syntax with placeholder values
4110
4565
  #
4111
- # resp = client.get_anycast_ip_list({
4566
+ # resp = client.disassociate_distribution_tenant_web_acl({
4112
4567
  # id: "string", # required
4568
+ # if_match: "string",
4113
4569
  # })
4114
4570
  #
4115
4571
  # @example Response structure
4116
4572
  #
4117
- # resp.anycast_ip_list.id #=> String
4118
- # resp.anycast_ip_list.name #=> String
4119
- # resp.anycast_ip_list.status #=> String
4120
- # resp.anycast_ip_list.arn #=> String
4121
- # resp.anycast_ip_list.anycast_ips #=> Array
4122
- # resp.anycast_ip_list.anycast_ips[0] #=> String
4123
- # resp.anycast_ip_list.ip_count #=> Integer
4124
- # resp.anycast_ip_list.last_modified_time #=> Time
4573
+ # resp.id #=> String
4125
4574
  # resp.etag #=> String
4126
4575
  #
4127
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetAnycastIpList AWS API Documentation
4576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DisassociateDistributionTenantWebACL AWS API Documentation
4128
4577
  #
4129
- # @overload get_anycast_ip_list(params = {})
4578
+ # @overload disassociate_distribution_tenant_web_acl(params = {})
4130
4579
  # @param [Hash] params ({})
4131
- def get_anycast_ip_list(params = {}, options = {})
4132
- req = build_request(:get_anycast_ip_list, params)
4580
+ def disassociate_distribution_tenant_web_acl(params = {}, options = {})
4581
+ req = build_request(:disassociate_distribution_tenant_web_acl, params)
4133
4582
  req.send_request(options)
4134
4583
  end
4135
4584
 
4136
- # Gets a cache policy, including the following metadata:
4585
+ # Disassociates a distribution from the WAF web ACL.
4137
4586
  #
4138
- # * The policy's identifier.
4587
+ # @option params [required, String] :id
4588
+ # The ID of the distribution.
4139
4589
  #
4140
- # * The date and time when the policy was last modified.
4590
+ # @option params [String] :if_match
4591
+ # The value of the `ETag` header that you received when retrieving the
4592
+ # distribution that you're disassociating from the WAF web ACL.
4141
4593
  #
4142
- # To get a cache policy, you must provide the policy's identifier. If
4594
+ # @return [Types::DisassociateDistributionWebACLResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4595
+ #
4596
+ # * {Types::DisassociateDistributionWebACLResult#id #id} => String
4597
+ # * {Types::DisassociateDistributionWebACLResult#etag #etag} => String
4598
+ #
4599
+ # @example Request syntax with placeholder values
4600
+ #
4601
+ # resp = client.disassociate_distribution_web_acl({
4602
+ # id: "string", # required
4603
+ # if_match: "string",
4604
+ # })
4605
+ #
4606
+ # @example Response structure
4607
+ #
4608
+ # resp.id #=> String
4609
+ # resp.etag #=> String
4610
+ #
4611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DisassociateDistributionWebACL AWS API Documentation
4612
+ #
4613
+ # @overload disassociate_distribution_web_acl(params = {})
4614
+ # @param [Hash] params ({})
4615
+ def disassociate_distribution_web_acl(params = {}, options = {})
4616
+ req = build_request(:disassociate_distribution_web_acl, params)
4617
+ req.send_request(options)
4618
+ end
4619
+
4620
+ # Gets an Anycast static IP list.
4621
+ #
4622
+ # @option params [required, String] :id
4623
+ # The ID of the Anycast static IP list.
4624
+ #
4625
+ # @return [Types::GetAnycastIpListResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4626
+ #
4627
+ # * {Types::GetAnycastIpListResult#anycast_ip_list #anycast_ip_list} => Types::AnycastIpList
4628
+ # * {Types::GetAnycastIpListResult#etag #etag} => String
4629
+ #
4630
+ # @example Request syntax with placeholder values
4631
+ #
4632
+ # resp = client.get_anycast_ip_list({
4633
+ # id: "string", # required
4634
+ # })
4635
+ #
4636
+ # @example Response structure
4637
+ #
4638
+ # resp.anycast_ip_list.id #=> String
4639
+ # resp.anycast_ip_list.name #=> String
4640
+ # resp.anycast_ip_list.status #=> String
4641
+ # resp.anycast_ip_list.arn #=> String
4642
+ # resp.anycast_ip_list.anycast_ips #=> Array
4643
+ # resp.anycast_ip_list.anycast_ips[0] #=> String
4644
+ # resp.anycast_ip_list.ip_count #=> Integer
4645
+ # resp.anycast_ip_list.last_modified_time #=> Time
4646
+ # resp.etag #=> String
4647
+ #
4648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetAnycastIpList AWS API Documentation
4649
+ #
4650
+ # @overload get_anycast_ip_list(params = {})
4651
+ # @param [Hash] params ({})
4652
+ def get_anycast_ip_list(params = {}, options = {})
4653
+ req = build_request(:get_anycast_ip_list, params)
4654
+ req.send_request(options)
4655
+ end
4656
+
4657
+ # Gets a cache policy, including the following metadata:
4658
+ #
4659
+ # * The policy's identifier.
4660
+ #
4661
+ # * The date and time when the policy was last modified.
4662
+ #
4663
+ # To get a cache policy, you must provide the policy's identifier. If
4143
4664
  # the cache policy is attached to a distribution's cache behavior, you
4144
4665
  # can get the policy's identifier using `ListDistributions` or
4145
4666
  # `GetDistribution`. If the cache policy is not attached to a cache
@@ -4320,6 +4841,94 @@ module Aws::CloudFront
4320
4841
  req.send_request(options)
4321
4842
  end
4322
4843
 
4844
+ # Gets information about a connection group.
4845
+ #
4846
+ # @option params [required, String] :identifier
4847
+ # The ID, name, or Amazon Resource Name (ARN) of the connection group.
4848
+ #
4849
+ # @return [Types::GetConnectionGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4850
+ #
4851
+ # * {Types::GetConnectionGroupResult#connection_group #connection_group} => Types::ConnectionGroup
4852
+ # * {Types::GetConnectionGroupResult#etag #etag} => String
4853
+ #
4854
+ # @example Request syntax with placeholder values
4855
+ #
4856
+ # resp = client.get_connection_group({
4857
+ # identifier: "string", # required
4858
+ # })
4859
+ #
4860
+ # @example Response structure
4861
+ #
4862
+ # resp.connection_group.id #=> String
4863
+ # resp.connection_group.name #=> String
4864
+ # resp.connection_group.arn #=> String
4865
+ # resp.connection_group.created_time #=> Time
4866
+ # resp.connection_group.last_modified_time #=> Time
4867
+ # resp.connection_group.tags.items #=> Array
4868
+ # resp.connection_group.tags.items[0].key #=> String
4869
+ # resp.connection_group.tags.items[0].value #=> String
4870
+ # resp.connection_group.ipv_6_enabled #=> Boolean
4871
+ # resp.connection_group.routing_endpoint #=> String
4872
+ # resp.connection_group.anycast_ip_list_id #=> String
4873
+ # resp.connection_group.status #=> String
4874
+ # resp.connection_group.enabled #=> Boolean
4875
+ # resp.connection_group.is_default #=> Boolean
4876
+ # resp.etag #=> String
4877
+ #
4878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetConnectionGroup AWS API Documentation
4879
+ #
4880
+ # @overload get_connection_group(params = {})
4881
+ # @param [Hash] params ({})
4882
+ def get_connection_group(params = {}, options = {})
4883
+ req = build_request(:get_connection_group, params)
4884
+ req.send_request(options)
4885
+ end
4886
+
4887
+ # Gets information about a connection group by using the endpoint that
4888
+ # you specify.
4889
+ #
4890
+ # @option params [required, String] :routing_endpoint
4891
+ # The routing endpoint for the target connection group, such as
4892
+ # d111111abcdef8.cloudfront.net.
4893
+ #
4894
+ # @return [Types::GetConnectionGroupByRoutingEndpointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4895
+ #
4896
+ # * {Types::GetConnectionGroupByRoutingEndpointResult#connection_group #connection_group} => Types::ConnectionGroup
4897
+ # * {Types::GetConnectionGroupByRoutingEndpointResult#etag #etag} => String
4898
+ #
4899
+ # @example Request syntax with placeholder values
4900
+ #
4901
+ # resp = client.get_connection_group_by_routing_endpoint({
4902
+ # routing_endpoint: "string", # required
4903
+ # })
4904
+ #
4905
+ # @example Response structure
4906
+ #
4907
+ # resp.connection_group.id #=> String
4908
+ # resp.connection_group.name #=> String
4909
+ # resp.connection_group.arn #=> String
4910
+ # resp.connection_group.created_time #=> Time
4911
+ # resp.connection_group.last_modified_time #=> Time
4912
+ # resp.connection_group.tags.items #=> Array
4913
+ # resp.connection_group.tags.items[0].key #=> String
4914
+ # resp.connection_group.tags.items[0].value #=> String
4915
+ # resp.connection_group.ipv_6_enabled #=> Boolean
4916
+ # resp.connection_group.routing_endpoint #=> String
4917
+ # resp.connection_group.anycast_ip_list_id #=> String
4918
+ # resp.connection_group.status #=> String
4919
+ # resp.connection_group.enabled #=> Boolean
4920
+ # resp.connection_group.is_default #=> Boolean
4921
+ # resp.etag #=> String
4922
+ #
4923
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetConnectionGroupByRoutingEndpoint AWS API Documentation
4924
+ #
4925
+ # @overload get_connection_group_by_routing_endpoint(params = {})
4926
+ # @param [Hash] params ({})
4927
+ def get_connection_group_by_routing_endpoint(params = {}, options = {})
4928
+ req = build_request(:get_connection_group_by_routing_endpoint, params)
4929
+ req.send_request(options)
4930
+ end
4931
+
4323
4932
  # Gets a continuous deployment policy, including metadata (the policy's
4324
4933
  # identifier and the date and time when the policy was last modified).
4325
4934
  #
@@ -4591,7 +5200,7 @@ module Aws::CloudFront
4591
5200
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
4592
5201
  # resp.distribution.distribution_config.logging.bucket #=> String
4593
5202
  # resp.distribution.distribution_config.logging.prefix #=> String
4594
- # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
5203
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
4595
5204
  # resp.distribution.distribution_config.enabled #=> Boolean
4596
5205
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
4597
5206
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -4610,6 +5219,12 @@ module Aws::CloudFront
4610
5219
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
4611
5220
  # resp.distribution.distribution_config.staging #=> Boolean
4612
5221
  # resp.distribution.distribution_config.anycast_ip_list_id #=> String
5222
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions #=> Array
5223
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].name #=> String
5224
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.comment #=> String
5225
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.default_value #=> String
5226
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.required #=> Boolean
5227
+ # resp.distribution.distribution_config.connection_mode #=> String, one of "direct", "tenant-only"
4613
5228
  # resp.distribution.alias_icp_recordals #=> Array
4614
5229
  # resp.distribution.alias_icp_recordals[0].cname #=> String
4615
5230
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -4797,7 +5412,7 @@ module Aws::CloudFront
4797
5412
  # resp.distribution_config.logging.include_cookies #=> Boolean
4798
5413
  # resp.distribution_config.logging.bucket #=> String
4799
5414
  # resp.distribution_config.logging.prefix #=> String
4800
- # resp.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
5415
+ # resp.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
4801
5416
  # resp.distribution_config.enabled #=> Boolean
4802
5417
  # resp.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
4803
5418
  # resp.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -4816,6 +5431,12 @@ module Aws::CloudFront
4816
5431
  # resp.distribution_config.continuous_deployment_policy_id #=> String
4817
5432
  # resp.distribution_config.staging #=> Boolean
4818
5433
  # resp.distribution_config.anycast_ip_list_id #=> String
5434
+ # resp.distribution_config.tenant_config.parameter_definitions #=> Array
5435
+ # resp.distribution_config.tenant_config.parameter_definitions[0].name #=> String
5436
+ # resp.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.comment #=> String
5437
+ # resp.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.default_value #=> String
5438
+ # resp.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.required #=> Boolean
5439
+ # resp.distribution_config.connection_mode #=> String, one of "direct", "tenant-only"
4819
5440
  # resp.etag #=> String
4820
5441
  #
4821
5442
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig AWS API Documentation
@@ -4827,6 +5448,113 @@ module Aws::CloudFront
4827
5448
  req.send_request(options)
4828
5449
  end
4829
5450
 
5451
+ # Gets information about a distribution tenant.
5452
+ #
5453
+ # @option params [required, String] :identifier
5454
+ # The ID of the distribution tenant. You can specify the ARN ID, or name
5455
+ # of the distribution tenant.
5456
+ #
5457
+ # @return [Types::GetDistributionTenantResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5458
+ #
5459
+ # * {Types::GetDistributionTenantResult#distribution_tenant #distribution_tenant} => Types::DistributionTenant
5460
+ # * {Types::GetDistributionTenantResult#etag #etag} => String
5461
+ #
5462
+ # @example Request syntax with placeholder values
5463
+ #
5464
+ # resp = client.get_distribution_tenant({
5465
+ # identifier: "string", # required
5466
+ # })
5467
+ #
5468
+ # @example Response structure
5469
+ #
5470
+ # resp.distribution_tenant.id #=> String
5471
+ # resp.distribution_tenant.distribution_id #=> String
5472
+ # resp.distribution_tenant.name #=> String
5473
+ # resp.distribution_tenant.arn #=> String
5474
+ # resp.distribution_tenant.domains #=> Array
5475
+ # resp.distribution_tenant.domains[0].domain #=> String
5476
+ # resp.distribution_tenant.domains[0].status #=> String, one of "active", "inactive"
5477
+ # resp.distribution_tenant.tags.items #=> Array
5478
+ # resp.distribution_tenant.tags.items[0].key #=> String
5479
+ # resp.distribution_tenant.tags.items[0].value #=> String
5480
+ # resp.distribution_tenant.customizations.web_acl.action #=> String, one of "override", "disable"
5481
+ # resp.distribution_tenant.customizations.web_acl.arn #=> String
5482
+ # resp.distribution_tenant.customizations.certificate.arn #=> String
5483
+ # resp.distribution_tenant.customizations.geo_restrictions.restriction_type #=> String, one of "blacklist", "whitelist", "none"
5484
+ # resp.distribution_tenant.customizations.geo_restrictions.locations #=> Array
5485
+ # resp.distribution_tenant.customizations.geo_restrictions.locations[0] #=> String
5486
+ # resp.distribution_tenant.parameters #=> Array
5487
+ # resp.distribution_tenant.parameters[0].name #=> String
5488
+ # resp.distribution_tenant.parameters[0].value #=> String
5489
+ # resp.distribution_tenant.connection_group_id #=> String
5490
+ # resp.distribution_tenant.created_time #=> Time
5491
+ # resp.distribution_tenant.last_modified_time #=> Time
5492
+ # resp.distribution_tenant.enabled #=> Boolean
5493
+ # resp.distribution_tenant.status #=> String
5494
+ # resp.etag #=> String
5495
+ #
5496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionTenant AWS API Documentation
5497
+ #
5498
+ # @overload get_distribution_tenant(params = {})
5499
+ # @param [Hash] params ({})
5500
+ def get_distribution_tenant(params = {}, options = {})
5501
+ req = build_request(:get_distribution_tenant, params)
5502
+ req.send_request(options)
5503
+ end
5504
+
5505
+ # Gets information about a distribution tenant by the associated domain.
5506
+ #
5507
+ # @option params [required, String] :domain
5508
+ # A domain name associated with the target distribution tenant.
5509
+ #
5510
+ # @return [Types::GetDistributionTenantByDomainResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5511
+ #
5512
+ # * {Types::GetDistributionTenantByDomainResult#distribution_tenant #distribution_tenant} => Types::DistributionTenant
5513
+ # * {Types::GetDistributionTenantByDomainResult#etag #etag} => String
5514
+ #
5515
+ # @example Request syntax with placeholder values
5516
+ #
5517
+ # resp = client.get_distribution_tenant_by_domain({
5518
+ # domain: "string", # required
5519
+ # })
5520
+ #
5521
+ # @example Response structure
5522
+ #
5523
+ # resp.distribution_tenant.id #=> String
5524
+ # resp.distribution_tenant.distribution_id #=> String
5525
+ # resp.distribution_tenant.name #=> String
5526
+ # resp.distribution_tenant.arn #=> String
5527
+ # resp.distribution_tenant.domains #=> Array
5528
+ # resp.distribution_tenant.domains[0].domain #=> String
5529
+ # resp.distribution_tenant.domains[0].status #=> String, one of "active", "inactive"
5530
+ # resp.distribution_tenant.tags.items #=> Array
5531
+ # resp.distribution_tenant.tags.items[0].key #=> String
5532
+ # resp.distribution_tenant.tags.items[0].value #=> String
5533
+ # resp.distribution_tenant.customizations.web_acl.action #=> String, one of "override", "disable"
5534
+ # resp.distribution_tenant.customizations.web_acl.arn #=> String
5535
+ # resp.distribution_tenant.customizations.certificate.arn #=> String
5536
+ # resp.distribution_tenant.customizations.geo_restrictions.restriction_type #=> String, one of "blacklist", "whitelist", "none"
5537
+ # resp.distribution_tenant.customizations.geo_restrictions.locations #=> Array
5538
+ # resp.distribution_tenant.customizations.geo_restrictions.locations[0] #=> String
5539
+ # resp.distribution_tenant.parameters #=> Array
5540
+ # resp.distribution_tenant.parameters[0].name #=> String
5541
+ # resp.distribution_tenant.parameters[0].value #=> String
5542
+ # resp.distribution_tenant.connection_group_id #=> String
5543
+ # resp.distribution_tenant.created_time #=> Time
5544
+ # resp.distribution_tenant.last_modified_time #=> Time
5545
+ # resp.distribution_tenant.enabled #=> Boolean
5546
+ # resp.distribution_tenant.status #=> String
5547
+ # resp.etag #=> String
5548
+ #
5549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionTenantByDomain AWS API Documentation
5550
+ #
5551
+ # @overload get_distribution_tenant_by_domain(params = {})
5552
+ # @param [Hash] params ({})
5553
+ def get_distribution_tenant_by_domain(params = {}, options = {})
5554
+ req = build_request(:get_distribution_tenant_by_domain, params)
5555
+ req.send_request(options)
5556
+ end
5557
+
4830
5558
  # Get the field-level encryption configuration information.
4831
5559
  #
4832
5560
  # @option params [required, String] :id
@@ -5080,6 +5808,50 @@ module Aws::CloudFront
5080
5808
  req.send_request(options)
5081
5809
  end
5082
5810
 
5811
+ # Gets information about a specific invalidation for a distribution
5812
+ # tenant.
5813
+ #
5814
+ # @option params [required, String] :distribution_tenant_id
5815
+ # The ID of the distribution tenant.
5816
+ #
5817
+ # @option params [required, String] :id
5818
+ # The ID of the invalidation to retrieve.
5819
+ #
5820
+ # @return [Types::GetInvalidationForDistributionTenantResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5821
+ #
5822
+ # * {Types::GetInvalidationForDistributionTenantResult#invalidation #invalidation} => Types::Invalidation
5823
+ #
5824
+ # @example Request syntax with placeholder values
5825
+ #
5826
+ # resp = client.get_invalidation_for_distribution_tenant({
5827
+ # distribution_tenant_id: "string", # required
5828
+ # id: "string", # required
5829
+ # })
5830
+ #
5831
+ # @example Response structure
5832
+ #
5833
+ # resp.invalidation.id #=> String
5834
+ # resp.invalidation.status #=> String
5835
+ # resp.invalidation.create_time #=> Time
5836
+ # resp.invalidation.invalidation_batch.paths.quantity #=> Integer
5837
+ # resp.invalidation.invalidation_batch.paths.items #=> Array
5838
+ # resp.invalidation.invalidation_batch.paths.items[0] #=> String
5839
+ # resp.invalidation.invalidation_batch.caller_reference #=> String
5840
+ #
5841
+ #
5842
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
5843
+ #
5844
+ # * invalidation_for_distribution_tenant_completed
5845
+ #
5846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidationForDistributionTenant AWS API Documentation
5847
+ #
5848
+ # @overload get_invalidation_for_distribution_tenant(params = {})
5849
+ # @param [Hash] params ({})
5850
+ def get_invalidation_for_distribution_tenant(params = {}, options = {})
5851
+ req = build_request(:get_invalidation_for_distribution_tenant, params)
5852
+ req.send_request(options)
5853
+ end
5854
+
5083
5855
  # Gets a key group, including the date and time when the key group was
5084
5856
  # last modified.
5085
5857
  #
@@ -5164,6 +5936,40 @@ module Aws::CloudFront
5164
5936
  req.send_request(options)
5165
5937
  end
5166
5938
 
5939
+ # Gets details about the CloudFront managed ACM certificate.
5940
+ #
5941
+ # @option params [required, String] :identifier
5942
+ # The identifier of the multi-tenant distribution.
5943
+ #
5944
+ # @return [Types::GetManagedCertificateDetailsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5945
+ #
5946
+ # * {Types::GetManagedCertificateDetailsResult#managed_certificate_details #managed_certificate_details} => Types::ManagedCertificateDetails
5947
+ #
5948
+ # @example Request syntax with placeholder values
5949
+ #
5950
+ # resp = client.get_managed_certificate_details({
5951
+ # identifier: "string", # required
5952
+ # })
5953
+ #
5954
+ # @example Response structure
5955
+ #
5956
+ # resp.managed_certificate_details.certificate_arn #=> String
5957
+ # resp.managed_certificate_details.certificate_status #=> String, one of "pending-validation", "issued", "inactive", "expired", "validation-timed-out", "revoked", "failed"
5958
+ # resp.managed_certificate_details.validation_token_host #=> String, one of "cloudfront", "self-hosted"
5959
+ # resp.managed_certificate_details.validation_token_details #=> Array
5960
+ # resp.managed_certificate_details.validation_token_details[0].domain #=> String
5961
+ # resp.managed_certificate_details.validation_token_details[0].redirect_to #=> String
5962
+ # resp.managed_certificate_details.validation_token_details[0].redirect_from #=> String
5963
+ #
5964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetManagedCertificateDetails AWS API Documentation
5965
+ #
5966
+ # @overload get_managed_certificate_details(params = {})
5967
+ # @param [Hash] params ({})
5968
+ def get_managed_certificate_details(params = {}, options = {})
5969
+ req = build_request(:get_managed_certificate_details, params)
5970
+ req.send_request(options)
5971
+ end
5972
+
5167
5973
  # Gets information about whether additional CloudWatch metrics are
5168
5974
  # enabled for the specified CloudFront distribution.
5169
5975
  #
@@ -5710,7 +6516,7 @@ module Aws::CloudFront
5710
6516
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
5711
6517
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
5712
6518
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
5713
- # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
6519
+ # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
5714
6520
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
5715
6521
  # resp.etag #=> String
5716
6522
  #
@@ -5760,7 +6566,7 @@ module Aws::CloudFront
5760
6566
  # resp.streaming_distribution_config.trusted_signers.quantity #=> Integer
5761
6567
  # resp.streaming_distribution_config.trusted_signers.items #=> Array
5762
6568
  # resp.streaming_distribution_config.trusted_signers.items[0] #=> String
5763
- # resp.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
6569
+ # resp.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
5764
6570
  # resp.streaming_distribution_config.enabled #=> Boolean
5765
6571
  # resp.etag #=> String
5766
6572
  #
@@ -6113,6 +6919,59 @@ module Aws::CloudFront
6113
6919
  req.send_request(options)
6114
6920
  end
6115
6921
 
6922
+ # Lists the connection groups in your Amazon Web Services account.
6923
+ #
6924
+ # @option params [Types::ConnectionGroupAssociationFilter] :association_filter
6925
+ # Filter by associated Anycast IP list ID.
6926
+ #
6927
+ # @option params [String] :marker
6928
+ # The marker for the next set of connection groups to retrieve.
6929
+ #
6930
+ # @option params [Integer] :max_items
6931
+ # The maximum number of connection groups to return.
6932
+ #
6933
+ # @return [Types::ListConnectionGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6934
+ #
6935
+ # * {Types::ListConnectionGroupsResult#next_marker #next_marker} => String
6936
+ # * {Types::ListConnectionGroupsResult#connection_groups #connection_groups} => Array&lt;Types::ConnectionGroupSummary&gt;
6937
+ #
6938
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6939
+ #
6940
+ # @example Request syntax with placeholder values
6941
+ #
6942
+ # resp = client.list_connection_groups({
6943
+ # association_filter: {
6944
+ # anycast_ip_list_id: "string",
6945
+ # },
6946
+ # marker: "string",
6947
+ # max_items: 1,
6948
+ # })
6949
+ #
6950
+ # @example Response structure
6951
+ #
6952
+ # resp.next_marker #=> String
6953
+ # resp.connection_groups #=> Array
6954
+ # resp.connection_groups[0].id #=> String
6955
+ # resp.connection_groups[0].name #=> String
6956
+ # resp.connection_groups[0].arn #=> String
6957
+ # resp.connection_groups[0].routing_endpoint #=> String
6958
+ # resp.connection_groups[0].created_time #=> Time
6959
+ # resp.connection_groups[0].last_modified_time #=> Time
6960
+ # resp.connection_groups[0].etag #=> String
6961
+ # resp.connection_groups[0].anycast_ip_list_id #=> String
6962
+ # resp.connection_groups[0].enabled #=> Boolean
6963
+ # resp.connection_groups[0].status #=> String
6964
+ # resp.connection_groups[0].is_default #=> Boolean
6965
+ #
6966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListConnectionGroups AWS API Documentation
6967
+ #
6968
+ # @overload list_connection_groups(params = {})
6969
+ # @param [Hash] params ({})
6970
+ def list_connection_groups(params = {}, options = {})
6971
+ req = build_request(:list_connection_groups, params)
6972
+ req.send_request(options)
6973
+ end
6974
+
6116
6975
  # Gets a list of the continuous deployment policies in your Amazon Web
6117
6976
  # Services account.
6118
6977
  #
@@ -6173,6 +7032,135 @@ module Aws::CloudFront
6173
7032
  req.send_request(options)
6174
7033
  end
6175
7034
 
7035
+ # Lists the distribution tenants in your Amazon Web Services account.
7036
+ #
7037
+ # @option params [Types::DistributionTenantAssociationFilter] :association_filter
7038
+ # Filter by the associated distribution ID or connection group ID.
7039
+ #
7040
+ # @option params [String] :marker
7041
+ # The marker for the next set of results.
7042
+ #
7043
+ # @option params [Integer] :max_items
7044
+ # The maximum number of distribution tenants to return.
7045
+ #
7046
+ # @return [Types::ListDistributionTenantsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7047
+ #
7048
+ # * {Types::ListDistributionTenantsResult#next_marker #next_marker} => String
7049
+ # * {Types::ListDistributionTenantsResult#distribution_tenant_list #distribution_tenant_list} => Array&lt;Types::DistributionTenantSummary&gt;
7050
+ #
7051
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7052
+ #
7053
+ # @example Request syntax with placeholder values
7054
+ #
7055
+ # resp = client.list_distribution_tenants({
7056
+ # association_filter: {
7057
+ # distribution_id: "string",
7058
+ # connection_group_id: "string",
7059
+ # },
7060
+ # marker: "string",
7061
+ # max_items: 1,
7062
+ # })
7063
+ #
7064
+ # @example Response structure
7065
+ #
7066
+ # resp.next_marker #=> String
7067
+ # resp.distribution_tenant_list #=> Array
7068
+ # resp.distribution_tenant_list[0].id #=> String
7069
+ # resp.distribution_tenant_list[0].distribution_id #=> String
7070
+ # resp.distribution_tenant_list[0].name #=> String
7071
+ # resp.distribution_tenant_list[0].arn #=> String
7072
+ # resp.distribution_tenant_list[0].domains #=> Array
7073
+ # resp.distribution_tenant_list[0].domains[0].domain #=> String
7074
+ # resp.distribution_tenant_list[0].domains[0].status #=> String, one of "active", "inactive"
7075
+ # resp.distribution_tenant_list[0].connection_group_id #=> String
7076
+ # resp.distribution_tenant_list[0].customizations.web_acl.action #=> String, one of "override", "disable"
7077
+ # resp.distribution_tenant_list[0].customizations.web_acl.arn #=> String
7078
+ # resp.distribution_tenant_list[0].customizations.certificate.arn #=> String
7079
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.restriction_type #=> String, one of "blacklist", "whitelist", "none"
7080
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.locations #=> Array
7081
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.locations[0] #=> String
7082
+ # resp.distribution_tenant_list[0].created_time #=> Time
7083
+ # resp.distribution_tenant_list[0].last_modified_time #=> Time
7084
+ # resp.distribution_tenant_list[0].etag #=> String
7085
+ # resp.distribution_tenant_list[0].enabled #=> Boolean
7086
+ # resp.distribution_tenant_list[0].status #=> String
7087
+ #
7088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionTenants AWS API Documentation
7089
+ #
7090
+ # @overload list_distribution_tenants(params = {})
7091
+ # @param [Hash] params ({})
7092
+ def list_distribution_tenants(params = {}, options = {})
7093
+ req = build_request(:list_distribution_tenants, params)
7094
+ req.send_request(options)
7095
+ end
7096
+
7097
+ # Lists distribution tenants by the customization that you specify.
7098
+ #
7099
+ # You must specify either the `CertificateArn` parameter or `WebACLArn`
7100
+ # parameter, but not both in the same request.
7101
+ #
7102
+ # @option params [String] :web_acl_arn
7103
+ # Filter by the ARN of the associated WAF web ACL.
7104
+ #
7105
+ # @option params [String] :certificate_arn
7106
+ # Filter by the ARN of the associated ACM certificate.
7107
+ #
7108
+ # @option params [String] :marker
7109
+ # The marker for the next set of results.
7110
+ #
7111
+ # @option params [Integer] :max_items
7112
+ # The maximum number of distribution tenants to return by the specified
7113
+ # customization.
7114
+ #
7115
+ # @return [Types::ListDistributionTenantsByCustomizationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7116
+ #
7117
+ # * {Types::ListDistributionTenantsByCustomizationResult#next_marker #next_marker} => String
7118
+ # * {Types::ListDistributionTenantsByCustomizationResult#distribution_tenant_list #distribution_tenant_list} => Array&lt;Types::DistributionTenantSummary&gt;
7119
+ #
7120
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7121
+ #
7122
+ # @example Request syntax with placeholder values
7123
+ #
7124
+ # resp = client.list_distribution_tenants_by_customization({
7125
+ # web_acl_arn: "string",
7126
+ # certificate_arn: "string",
7127
+ # marker: "string",
7128
+ # max_items: 1,
7129
+ # })
7130
+ #
7131
+ # @example Response structure
7132
+ #
7133
+ # resp.next_marker #=> String
7134
+ # resp.distribution_tenant_list #=> Array
7135
+ # resp.distribution_tenant_list[0].id #=> String
7136
+ # resp.distribution_tenant_list[0].distribution_id #=> String
7137
+ # resp.distribution_tenant_list[0].name #=> String
7138
+ # resp.distribution_tenant_list[0].arn #=> String
7139
+ # resp.distribution_tenant_list[0].domains #=> Array
7140
+ # resp.distribution_tenant_list[0].domains[0].domain #=> String
7141
+ # resp.distribution_tenant_list[0].domains[0].status #=> String, one of "active", "inactive"
7142
+ # resp.distribution_tenant_list[0].connection_group_id #=> String
7143
+ # resp.distribution_tenant_list[0].customizations.web_acl.action #=> String, one of "override", "disable"
7144
+ # resp.distribution_tenant_list[0].customizations.web_acl.arn #=> String
7145
+ # resp.distribution_tenant_list[0].customizations.certificate.arn #=> String
7146
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.restriction_type #=> String, one of "blacklist", "whitelist", "none"
7147
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.locations #=> Array
7148
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.locations[0] #=> String
7149
+ # resp.distribution_tenant_list[0].created_time #=> Time
7150
+ # resp.distribution_tenant_list[0].last_modified_time #=> Time
7151
+ # resp.distribution_tenant_list[0].etag #=> String
7152
+ # resp.distribution_tenant_list[0].enabled #=> Boolean
7153
+ # resp.distribution_tenant_list[0].status #=> String
7154
+ #
7155
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionTenantsByCustomization AWS API Documentation
7156
+ #
7157
+ # @overload list_distribution_tenants_by_customization(params = {})
7158
+ # @param [Hash] params ({})
7159
+ def list_distribution_tenants_by_customization(params = {}, options = {})
7160
+ req = build_request(:list_distribution_tenants_by_customization, params)
7161
+ req.send_request(options)
7162
+ end
7163
+
6176
7164
  # List CloudFront distributions.
6177
7165
  #
6178
7166
  # @option params [String] :marker
@@ -6208,6 +7196,7 @@ module Aws::CloudFront
6208
7196
  # resp.distribution_list.items #=> Array
6209
7197
  # resp.distribution_list.items[0].id #=> String
6210
7198
  # resp.distribution_list.items[0].arn #=> String
7199
+ # resp.distribution_list.items[0].etag #=> String
6211
7200
  # resp.distribution_list.items[0].status #=> String
6212
7201
  # resp.distribution_list.items[0].last_modified_time #=> Time
6213
7202
  # resp.distribution_list.items[0].domain_name #=> String
@@ -6354,7 +7343,7 @@ module Aws::CloudFront
6354
7343
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6355
7344
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6356
7345
  # resp.distribution_list.items[0].comment #=> String
6357
- # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
7346
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
6358
7347
  # resp.distribution_list.items[0].enabled #=> Boolean
6359
7348
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6360
7349
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -6374,6 +7363,7 @@ module Aws::CloudFront
6374
7363
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6375
7364
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6376
7365
  # resp.distribution_list.items[0].staging #=> Boolean
7366
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
6377
7367
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6378
7368
  #
6379
7369
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions AWS API Documentation
@@ -6398,19 +7388,288 @@ module Aws::CloudFront
6398
7388
  # The maximum number of distributions that you want returned in the
6399
7389
  # response.
6400
7390
  #
6401
- # @option params [required, String] :anycast_ip_list_id
6402
- # The ID of the Anycast static IP list.
7391
+ # @option params [required, String] :anycast_ip_list_id
7392
+ # The ID of the Anycast static IP list.
7393
+ #
7394
+ # @return [Types::ListDistributionsByAnycastIpListIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7395
+ #
7396
+ # * {Types::ListDistributionsByAnycastIpListIdResult#distribution_list #distribution_list} => Types::DistributionList
7397
+ #
7398
+ # @example Request syntax with placeholder values
7399
+ #
7400
+ # resp = client.list_distributions_by_anycast_ip_list_id({
7401
+ # marker: "string",
7402
+ # max_items: 1,
7403
+ # anycast_ip_list_id: "string", # required
7404
+ # })
7405
+ #
7406
+ # @example Response structure
7407
+ #
7408
+ # resp.distribution_list.marker #=> String
7409
+ # resp.distribution_list.next_marker #=> String
7410
+ # resp.distribution_list.max_items #=> Integer
7411
+ # resp.distribution_list.is_truncated #=> Boolean
7412
+ # resp.distribution_list.quantity #=> Integer
7413
+ # resp.distribution_list.items #=> Array
7414
+ # resp.distribution_list.items[0].id #=> String
7415
+ # resp.distribution_list.items[0].arn #=> String
7416
+ # resp.distribution_list.items[0].etag #=> String
7417
+ # resp.distribution_list.items[0].status #=> String
7418
+ # resp.distribution_list.items[0].last_modified_time #=> Time
7419
+ # resp.distribution_list.items[0].domain_name #=> String
7420
+ # resp.distribution_list.items[0].aliases.quantity #=> Integer
7421
+ # resp.distribution_list.items[0].aliases.items #=> Array
7422
+ # resp.distribution_list.items[0].aliases.items[0] #=> String
7423
+ # resp.distribution_list.items[0].origins.quantity #=> Integer
7424
+ # resp.distribution_list.items[0].origins.items #=> Array
7425
+ # resp.distribution_list.items[0].origins.items[0].id #=> String
7426
+ # resp.distribution_list.items[0].origins.items[0].domain_name #=> String
7427
+ # resp.distribution_list.items[0].origins.items[0].origin_path #=> String
7428
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.quantity #=> Integer
7429
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.items #=> Array
7430
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_name #=> String
7431
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_value #=> String
7432
+ # resp.distribution_list.items[0].origins.items[0].s3_origin_config.origin_access_identity #=> String
7433
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.http_port #=> Integer
7434
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.https_port #=> Integer
7435
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
7436
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
7437
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
7438
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
7439
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
7440
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
7441
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.vpc_origin_id #=> String
7442
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.origin_read_timeout #=> Integer
7443
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.origin_keepalive_timeout #=> Integer
7444
+ # resp.distribution_list.items[0].origins.items[0].connection_attempts #=> Integer
7445
+ # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
7446
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
7447
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
7448
+ # resp.distribution_list.items[0].origins.items[0].origin_access_control_id #=> String
7449
+ # resp.distribution_list.items[0].origin_groups.quantity #=> Integer
7450
+ # resp.distribution_list.items[0].origin_groups.items #=> Array
7451
+ # resp.distribution_list.items[0].origin_groups.items[0].id #=> String
7452
+ # resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
7453
+ # resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items #=> Array
7454
+ # resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
7455
+ # resp.distribution_list.items[0].origin_groups.items[0].members.quantity #=> Integer
7456
+ # resp.distribution_list.items[0].origin_groups.items[0].members.items #=> Array
7457
+ # resp.distribution_list.items[0].origin_groups.items[0].members.items[0].origin_id #=> String
7458
+ # resp.distribution_list.items[0].origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
7459
+ # resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> String
7460
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.enabled #=> Boolean
7461
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
7462
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items #=> Array
7463
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items[0] #=> String
7464
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.enabled #=> Boolean
7465
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.quantity #=> Integer
7466
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items #=> Array
7467
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items[0] #=> String
7468
+ # resp.distribution_list.items[0].default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
7469
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.quantity #=> Integer
7470
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items #=> Array
7471
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7472
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
7473
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items #=> Array
7474
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7475
+ # resp.distribution_list.items[0].default_cache_behavior.smooth_streaming #=> Boolean
7476
+ # resp.distribution_list.items[0].default_cache_behavior.compress #=> Boolean
7477
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.quantity #=> Integer
7478
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items #=> Array
7479
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
7480
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
7481
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
7482
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.quantity #=> Integer
7483
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.items #=> Array
7484
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].function_arn #=> String
7485
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
7486
+ # resp.distribution_list.items[0].default_cache_behavior.field_level_encryption_id #=> String
7487
+ # resp.distribution_list.items[0].default_cache_behavior.realtime_log_config_arn #=> String
7488
+ # resp.distribution_list.items[0].default_cache_behavior.cache_policy_id #=> String
7489
+ # resp.distribution_list.items[0].default_cache_behavior.origin_request_policy_id #=> String
7490
+ # resp.distribution_list.items[0].default_cache_behavior.response_headers_policy_id #=> String
7491
+ # resp.distribution_list.items[0].default_cache_behavior.grpc_config.enabled #=> Boolean
7492
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string #=> Boolean
7493
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
7494
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
7495
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
7496
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
7497
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.quantity #=> Integer
7498
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items #=> Array
7499
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items[0] #=> String
7500
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
7501
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
7502
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
7503
+ # resp.distribution_list.items[0].default_cache_behavior.min_ttl #=> Integer
7504
+ # resp.distribution_list.items[0].default_cache_behavior.default_ttl #=> Integer
7505
+ # resp.distribution_list.items[0].default_cache_behavior.max_ttl #=> Integer
7506
+ # resp.distribution_list.items[0].cache_behaviors.quantity #=> Integer
7507
+ # resp.distribution_list.items[0].cache_behaviors.items #=> Array
7508
+ # resp.distribution_list.items[0].cache_behaviors.items[0].path_pattern #=> String
7509
+ # resp.distribution_list.items[0].cache_behaviors.items[0].target_origin_id #=> String
7510
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
7511
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.quantity #=> Integer
7512
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items #=> Array
7513
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items[0] #=> String
7514
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
7515
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
7516
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items #=> Array
7517
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
7518
+ # resp.distribution_list.items[0].cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
7519
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.quantity #=> Integer
7520
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items #=> Array
7521
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7522
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
7523
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
7524
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7525
+ # resp.distribution_list.items[0].cache_behaviors.items[0].smooth_streaming #=> Boolean
7526
+ # resp.distribution_list.items[0].cache_behaviors.items[0].compress #=> Boolean
7527
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
7528
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items #=> Array
7529
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
7530
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
7531
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
7532
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.quantity #=> Integer
7533
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items #=> Array
7534
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
7535
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].event_type #=> String, one of "viewer-request", "viewer-response", "origin-request", "origin-response"
7536
+ # resp.distribution_list.items[0].cache_behaviors.items[0].field_level_encryption_id #=> String
7537
+ # resp.distribution_list.items[0].cache_behaviors.items[0].realtime_log_config_arn #=> String
7538
+ # resp.distribution_list.items[0].cache_behaviors.items[0].cache_policy_id #=> String
7539
+ # resp.distribution_list.items[0].cache_behaviors.items[0].origin_request_policy_id #=> String
7540
+ # resp.distribution_list.items[0].cache_behaviors.items[0].response_headers_policy_id #=> String
7541
+ # resp.distribution_list.items[0].cache_behaviors.items[0].grpc_config.enabled #=> Boolean
7542
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
7543
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
7544
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
7545
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
7546
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
7547
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
7548
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items #=> Array
7549
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
7550
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
7551
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
7552
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
7553
+ # resp.distribution_list.items[0].cache_behaviors.items[0].min_ttl #=> Integer
7554
+ # resp.distribution_list.items[0].cache_behaviors.items[0].default_ttl #=> Integer
7555
+ # resp.distribution_list.items[0].cache_behaviors.items[0].max_ttl #=> Integer
7556
+ # resp.distribution_list.items[0].custom_error_responses.quantity #=> Integer
7557
+ # resp.distribution_list.items[0].custom_error_responses.items #=> Array
7558
+ # resp.distribution_list.items[0].custom_error_responses.items[0].error_code #=> Integer
7559
+ # resp.distribution_list.items[0].custom_error_responses.items[0].response_page_path #=> String
7560
+ # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
7561
+ # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
7562
+ # resp.distribution_list.items[0].comment #=> String
7563
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
7564
+ # resp.distribution_list.items[0].enabled #=> Boolean
7565
+ # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
7566
+ # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
7567
+ # resp.distribution_list.items[0].viewer_certificate.acm_certificate_arn #=> String
7568
+ # resp.distribution_list.items[0].viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip", "static-ip"
7569
+ # resp.distribution_list.items[0].viewer_certificate.minimum_protocol_version #=> String, one of "SSLv3", "TLSv1", "TLSv1_2016", "TLSv1.1_2016", "TLSv1.2_2018", "TLSv1.2_2019", "TLSv1.2_2021"
7570
+ # resp.distribution_list.items[0].viewer_certificate.certificate #=> String
7571
+ # resp.distribution_list.items[0].viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
7572
+ # resp.distribution_list.items[0].restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
7573
+ # resp.distribution_list.items[0].restrictions.geo_restriction.quantity #=> Integer
7574
+ # resp.distribution_list.items[0].restrictions.geo_restriction.items #=> Array
7575
+ # resp.distribution_list.items[0].restrictions.geo_restriction.items[0] #=> String
7576
+ # resp.distribution_list.items[0].web_acl_id #=> String
7577
+ # resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
7578
+ # resp.distribution_list.items[0].is_ipv6_enabled #=> Boolean
7579
+ # resp.distribution_list.items[0].alias_icp_recordals #=> Array
7580
+ # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
7581
+ # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
7582
+ # resp.distribution_list.items[0].staging #=> Boolean
7583
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
7584
+ # resp.distribution_list.items[0].anycast_ip_list_id #=> String
7585
+ #
7586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByAnycastIpListId AWS API Documentation
7587
+ #
7588
+ # @overload list_distributions_by_anycast_ip_list_id(params = {})
7589
+ # @param [Hash] params ({})
7590
+ def list_distributions_by_anycast_ip_list_id(params = {}, options = {})
7591
+ req = build_request(:list_distributions_by_anycast_ip_list_id, params)
7592
+ req.send_request(options)
7593
+ end
7594
+
7595
+ # Gets a list of distribution IDs for distributions that have a cache
7596
+ # behavior that's associated with the specified cache policy.
7597
+ #
7598
+ # You can optionally specify the maximum number of items to receive in
7599
+ # the response. If the total number of items in the list exceeds the
7600
+ # maximum that you specify, or the default maximum, the response is
7601
+ # paginated. To get the next page of items, send a subsequent request
7602
+ # that specifies the `NextMarker` value from the current response as the
7603
+ # `Marker` value in the subsequent request.
7604
+ #
7605
+ # @option params [String] :marker
7606
+ # Use this field when paginating results to indicate where to begin in
7607
+ # your list of distribution IDs. The response includes distribution IDs
7608
+ # in the list that occur after the marker. To get the next page of the
7609
+ # list, set this field's value to the value of `NextMarker` from the
7610
+ # current page's response.
7611
+ #
7612
+ # @option params [Integer] :max_items
7613
+ # The maximum number of distribution IDs that you want in the response.
7614
+ #
7615
+ # @option params [required, String] :cache_policy_id
7616
+ # The ID of the cache policy whose associated distribution IDs you want
7617
+ # to list.
7618
+ #
7619
+ # @return [Types::ListDistributionsByCachePolicyIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7620
+ #
7621
+ # * {Types::ListDistributionsByCachePolicyIdResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList
7622
+ #
7623
+ # @example Request syntax with placeholder values
7624
+ #
7625
+ # resp = client.list_distributions_by_cache_policy_id({
7626
+ # marker: "string",
7627
+ # max_items: 1,
7628
+ # cache_policy_id: "string", # required
7629
+ # })
7630
+ #
7631
+ # @example Response structure
7632
+ #
7633
+ # resp.distribution_id_list.marker #=> String
7634
+ # resp.distribution_id_list.next_marker #=> String
7635
+ # resp.distribution_id_list.max_items #=> Integer
7636
+ # resp.distribution_id_list.is_truncated #=> Boolean
7637
+ # resp.distribution_id_list.quantity #=> Integer
7638
+ # resp.distribution_id_list.items #=> Array
7639
+ # resp.distribution_id_list.items[0] #=> String
7640
+ #
7641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId AWS API Documentation
7642
+ #
7643
+ # @overload list_distributions_by_cache_policy_id(params = {})
7644
+ # @param [Hash] params ({})
7645
+ def list_distributions_by_cache_policy_id(params = {}, options = {})
7646
+ req = build_request(:list_distributions_by_cache_policy_id, params)
7647
+ req.send_request(options)
7648
+ end
7649
+
7650
+ # Lists the distributions by the connection mode that you specify.
7651
+ #
7652
+ # @option params [String] :marker
7653
+ # The marker for the next set of distributions to retrieve.
7654
+ #
7655
+ # @option params [Integer] :max_items
7656
+ # The maximum number of distributions to return.
7657
+ #
7658
+ # @option params [required, String] :connection_mode
7659
+ # The connection mode to filter distributions by.
7660
+ #
7661
+ # @return [Types::ListDistributionsByConnectionModeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6403
7662
  #
6404
- # @return [Types::ListDistributionsByAnycastIpListIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7663
+ # * {Types::ListDistributionsByConnectionModeResult#distribution_list #distribution_list} => Types::DistributionList
6405
7664
  #
6406
- # * {Types::ListDistributionsByAnycastIpListIdResult#distribution_list #distribution_list} => Types::DistributionList
7665
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6407
7666
  #
6408
7667
  # @example Request syntax with placeholder values
6409
7668
  #
6410
- # resp = client.list_distributions_by_anycast_ip_list_id({
7669
+ # resp = client.list_distributions_by_connection_mode({
6411
7670
  # marker: "string",
6412
7671
  # max_items: 1,
6413
- # anycast_ip_list_id: "string", # required
7672
+ # connection_mode: "direct", # required, accepts direct, tenant-only
6414
7673
  # })
6415
7674
  #
6416
7675
  # @example Response structure
@@ -6423,6 +7682,7 @@ module Aws::CloudFront
6423
7682
  # resp.distribution_list.items #=> Array
6424
7683
  # resp.distribution_list.items[0].id #=> String
6425
7684
  # resp.distribution_list.items[0].arn #=> String
7685
+ # resp.distribution_list.items[0].etag #=> String
6426
7686
  # resp.distribution_list.items[0].status #=> String
6427
7687
  # resp.distribution_list.items[0].last_modified_time #=> Time
6428
7688
  # resp.distribution_list.items[0].domain_name #=> String
@@ -6569,7 +7829,7 @@ module Aws::CloudFront
6569
7829
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6570
7830
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6571
7831
  # resp.distribution_list.items[0].comment #=> String
6572
- # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
7832
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
6573
7833
  # resp.distribution_list.items[0].enabled #=> Boolean
6574
7834
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6575
7835
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -6589,69 +7849,15 @@ module Aws::CloudFront
6589
7849
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6590
7850
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6591
7851
  # resp.distribution_list.items[0].staging #=> Boolean
7852
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
6592
7853
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6593
7854
  #
6594
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByAnycastIpListId AWS API Documentation
6595
- #
6596
- # @overload list_distributions_by_anycast_ip_list_id(params = {})
6597
- # @param [Hash] params ({})
6598
- def list_distributions_by_anycast_ip_list_id(params = {}, options = {})
6599
- req = build_request(:list_distributions_by_anycast_ip_list_id, params)
6600
- req.send_request(options)
6601
- end
6602
-
6603
- # Gets a list of distribution IDs for distributions that have a cache
6604
- # behavior that's associated with the specified cache policy.
6605
- #
6606
- # You can optionally specify the maximum number of items to receive in
6607
- # the response. If the total number of items in the list exceeds the
6608
- # maximum that you specify, or the default maximum, the response is
6609
- # paginated. To get the next page of items, send a subsequent request
6610
- # that specifies the `NextMarker` value from the current response as the
6611
- # `Marker` value in the subsequent request.
6612
- #
6613
- # @option params [String] :marker
6614
- # Use this field when paginating results to indicate where to begin in
6615
- # your list of distribution IDs. The response includes distribution IDs
6616
- # in the list that occur after the marker. To get the next page of the
6617
- # list, set this field's value to the value of `NextMarker` from the
6618
- # current page's response.
6619
- #
6620
- # @option params [Integer] :max_items
6621
- # The maximum number of distribution IDs that you want in the response.
6622
- #
6623
- # @option params [required, String] :cache_policy_id
6624
- # The ID of the cache policy whose associated distribution IDs you want
6625
- # to list.
6626
- #
6627
- # @return [Types::ListDistributionsByCachePolicyIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6628
- #
6629
- # * {Types::ListDistributionsByCachePolicyIdResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList
6630
- #
6631
- # @example Request syntax with placeholder values
6632
- #
6633
- # resp = client.list_distributions_by_cache_policy_id({
6634
- # marker: "string",
6635
- # max_items: 1,
6636
- # cache_policy_id: "string", # required
6637
- # })
6638
- #
6639
- # @example Response structure
6640
- #
6641
- # resp.distribution_id_list.marker #=> String
6642
- # resp.distribution_id_list.next_marker #=> String
6643
- # resp.distribution_id_list.max_items #=> Integer
6644
- # resp.distribution_id_list.is_truncated #=> Boolean
6645
- # resp.distribution_id_list.quantity #=> Integer
6646
- # resp.distribution_id_list.items #=> Array
6647
- # resp.distribution_id_list.items[0] #=> String
6648
- #
6649
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId AWS API Documentation
7855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByConnectionMode AWS API Documentation
6650
7856
  #
6651
- # @overload list_distributions_by_cache_policy_id(params = {})
7857
+ # @overload list_distributions_by_connection_mode(params = {})
6652
7858
  # @param [Hash] params ({})
6653
- def list_distributions_by_cache_policy_id(params = {}, options = {})
6654
- req = build_request(:list_distributions_by_cache_policy_id, params)
7859
+ def list_distributions_by_connection_mode(params = {}, options = {})
7860
+ req = build_request(:list_distributions_by_connection_mode, params)
6655
7861
  req.send_request(options)
6656
7862
  end
6657
7863
 
@@ -6821,6 +8027,7 @@ module Aws::CloudFront
6821
8027
  # resp.distribution_list.items #=> Array
6822
8028
  # resp.distribution_list.items[0].id #=> String
6823
8029
  # resp.distribution_list.items[0].arn #=> String
8030
+ # resp.distribution_list.items[0].etag #=> String
6824
8031
  # resp.distribution_list.items[0].status #=> String
6825
8032
  # resp.distribution_list.items[0].last_modified_time #=> Time
6826
8033
  # resp.distribution_list.items[0].domain_name #=> String
@@ -6967,7 +8174,7 @@ module Aws::CloudFront
6967
8174
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6968
8175
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6969
8176
  # resp.distribution_list.items[0].comment #=> String
6970
- # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
8177
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
6971
8178
  # resp.distribution_list.items[0].enabled #=> Boolean
6972
8179
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6973
8180
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -6987,6 +8194,7 @@ module Aws::CloudFront
6987
8194
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6988
8195
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6989
8196
  # resp.distribution_list.items[0].staging #=> Boolean
8197
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
6990
8198
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6991
8199
  #
6992
8200
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfig AWS API Documentation
@@ -7166,6 +8374,7 @@ module Aws::CloudFront
7166
8374
  # resp.distribution_list.items #=> Array
7167
8375
  # resp.distribution_list.items[0].id #=> String
7168
8376
  # resp.distribution_list.items[0].arn #=> String
8377
+ # resp.distribution_list.items[0].etag #=> String
7169
8378
  # resp.distribution_list.items[0].status #=> String
7170
8379
  # resp.distribution_list.items[0].last_modified_time #=> Time
7171
8380
  # resp.distribution_list.items[0].domain_name #=> String
@@ -7312,7 +8521,7 @@ module Aws::CloudFront
7312
8521
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
7313
8522
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
7314
8523
  # resp.distribution_list.items[0].comment #=> String
7315
- # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
8524
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
7316
8525
  # resp.distribution_list.items[0].enabled #=> Boolean
7317
8526
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
7318
8527
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -7332,6 +8541,7 @@ module Aws::CloudFront
7332
8541
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
7333
8542
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
7334
8543
  # resp.distribution_list.items[0].staging #=> Boolean
8544
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
7335
8545
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
7336
8546
  #
7337
8547
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId AWS API Documentation
@@ -7343,6 +8553,64 @@ module Aws::CloudFront
7343
8553
  req.send_request(options)
7344
8554
  end
7345
8555
 
8556
+ # Lists existing domain associations that conflict with the domain that
8557
+ # you specify.
8558
+ #
8559
+ # You can use this API operation when transferring domains to identify
8560
+ # potential domain conflicts. Domain conflicts must be resolved first
8561
+ # before they can be moved.
8562
+ #
8563
+ # @option params [required, String] :domain
8564
+ # The domain to check for conflicts.
8565
+ #
8566
+ # @option params [required, Types::DistributionResourceId] :domain_control_validation_resource
8567
+ # The distribution resource identifier. This can be the distribution or
8568
+ # distribution tenant that has a valid certificate, which covers the
8569
+ # domain that you specify.
8570
+ #
8571
+ # @option params [Integer] :max_items
8572
+ # The maximum number of domain conflicts to return.
8573
+ #
8574
+ # @option params [String] :marker
8575
+ # The marker for the next set of domain conflicts.
8576
+ #
8577
+ # @return [Types::ListDomainConflictsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8578
+ #
8579
+ # * {Types::ListDomainConflictsResult#domain_conflicts #domain_conflicts} => Array&lt;Types::DomainConflict&gt;
8580
+ # * {Types::ListDomainConflictsResult#next_marker #next_marker} => String
8581
+ #
8582
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8583
+ #
8584
+ # @example Request syntax with placeholder values
8585
+ #
8586
+ # resp = client.list_domain_conflicts({
8587
+ # domain: "string", # required
8588
+ # domain_control_validation_resource: { # required
8589
+ # distribution_id: "string",
8590
+ # distribution_tenant_id: "string",
8591
+ # },
8592
+ # max_items: 1,
8593
+ # marker: "string",
8594
+ # })
8595
+ #
8596
+ # @example Response structure
8597
+ #
8598
+ # resp.domain_conflicts #=> Array
8599
+ # resp.domain_conflicts[0].domain #=> String
8600
+ # resp.domain_conflicts[0].resource_type #=> String, one of "distribution", "distribution-tenant"
8601
+ # resp.domain_conflicts[0].resource_id #=> String
8602
+ # resp.domain_conflicts[0].account_id #=> String
8603
+ # resp.next_marker #=> String
8604
+ #
8605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDomainConflicts AWS API Documentation
8606
+ #
8607
+ # @overload list_domain_conflicts(params = {})
8608
+ # @param [Hash] params ({})
8609
+ def list_domain_conflicts(params = {}, options = {})
8610
+ req = build_request(:list_domain_conflicts, params)
8611
+ req.send_request(options)
8612
+ end
8613
+
7346
8614
  # List all field-level encryption configurations that have been created
7347
8615
  # in CloudFront for this account.
7348
8616
  #
@@ -7571,6 +8839,60 @@ module Aws::CloudFront
7571
8839
  req.send_request(options)
7572
8840
  end
7573
8841
 
8842
+ # Lists the invalidations for a distribution tenant.
8843
+ #
8844
+ # @option params [required, String] :id
8845
+ # The ID of the distribution tenant.
8846
+ #
8847
+ # @option params [String] :marker
8848
+ # Use this parameter when paginating results to indicate where to begin
8849
+ # in your list of invalidation batches. Because the results are returned
8850
+ # in decreasing order from most recent to oldest, the most recent
8851
+ # results are on the first page, the second page will contain earlier
8852
+ # results, and so on. To get the next page of results, set `Marker` to
8853
+ # the value of the `NextMarker` from the current page's response. This
8854
+ # value is the same as the ID of the last invalidation batch on that
8855
+ # page.
8856
+ #
8857
+ # @option params [Integer] :max_items
8858
+ # The maximum number of invalidations to return for the distribution
8859
+ # tenant.
8860
+ #
8861
+ # @return [Types::ListInvalidationsForDistributionTenantResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8862
+ #
8863
+ # * {Types::ListInvalidationsForDistributionTenantResult#invalidation_list #invalidation_list} => Types::InvalidationList
8864
+ #
8865
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8866
+ #
8867
+ # @example Request syntax with placeholder values
8868
+ #
8869
+ # resp = client.list_invalidations_for_distribution_tenant({
8870
+ # id: "string", # required
8871
+ # marker: "string",
8872
+ # max_items: 1,
8873
+ # })
8874
+ #
8875
+ # @example Response structure
8876
+ #
8877
+ # resp.invalidation_list.marker #=> String
8878
+ # resp.invalidation_list.next_marker #=> String
8879
+ # resp.invalidation_list.max_items #=> Integer
8880
+ # resp.invalidation_list.is_truncated #=> Boolean
8881
+ # resp.invalidation_list.quantity #=> Integer
8882
+ # resp.invalidation_list.items #=> Array
8883
+ # resp.invalidation_list.items[0].id #=> String
8884
+ # resp.invalidation_list.items[0].create_time #=> Time
8885
+ # resp.invalidation_list.items[0].status #=> String
8886
+ #
8887
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListInvalidationsForDistributionTenant AWS API Documentation
8888
+ #
8889
+ # @overload list_invalidations_for_distribution_tenant(params = {})
8890
+ # @param [Hash] params ({})
8891
+ def list_invalidations_for_distribution_tenant(params = {}, options = {})
8892
+ req = build_request(:list_invalidations_for_distribution_tenant, params)
8893
+ req.send_request(options)
8894
+ end
8895
+
7574
8896
  # Gets a list of key groups.
7575
8897
  #
7576
8898
  # You can optionally specify the maximum number of items to receive in
@@ -8094,7 +9416,7 @@ module Aws::CloudFront
8094
9416
  # resp.streaming_distribution_list.items[0].trusted_signers.items #=> Array
8095
9417
  # resp.streaming_distribution_list.items[0].trusted_signers.items[0] #=> String
8096
9418
  # resp.streaming_distribution_list.items[0].comment #=> String
8097
- # resp.streaming_distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
9419
+ # resp.streaming_distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
8098
9420
  # resp.streaming_distribution_list.items[0].enabled #=> Boolean
8099
9421
  #
8100
9422
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions AWS API Documentation
@@ -8573,6 +9895,71 @@ module Aws::CloudFront
8573
9895
  req.send_request(options)
8574
9896
  end
8575
9897
 
9898
+ # Updates a connection group.
9899
+ #
9900
+ # @option params [required, String] :id
9901
+ # The ID of the connection group.
9902
+ #
9903
+ # @option params [Boolean] :ipv_6_enabled
9904
+ # Enable IPv6 for the connection group. For more information, see
9905
+ # [Enable IPv6][1] in the *Amazon CloudFront Developer Guide*.
9906
+ #
9907
+ #
9908
+ #
9909
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesEnableIPv6
9910
+ #
9911
+ # @option params [required, String] :if_match
9912
+ # The value of the `ETag` header that you received when retrieving the
9913
+ # connection group that you're updating.
9914
+ #
9915
+ # @option params [String] :anycast_ip_list_id
9916
+ # The ID of the Anycast static IP list.
9917
+ #
9918
+ # @option params [Boolean] :enabled
9919
+ # Whether the connection group is enabled.
9920
+ #
9921
+ # @return [Types::UpdateConnectionGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9922
+ #
9923
+ # * {Types::UpdateConnectionGroupResult#connection_group #connection_group} => Types::ConnectionGroup
9924
+ # * {Types::UpdateConnectionGroupResult#etag #etag} => String
9925
+ #
9926
+ # @example Request syntax with placeholder values
9927
+ #
9928
+ # resp = client.update_connection_group({
9929
+ # id: "string", # required
9930
+ # ipv_6_enabled: false,
9931
+ # if_match: "string", # required
9932
+ # anycast_ip_list_id: "string",
9933
+ # enabled: false,
9934
+ # })
9935
+ #
9936
+ # @example Response structure
9937
+ #
9938
+ # resp.connection_group.id #=> String
9939
+ # resp.connection_group.name #=> String
9940
+ # resp.connection_group.arn #=> String
9941
+ # resp.connection_group.created_time #=> Time
9942
+ # resp.connection_group.last_modified_time #=> Time
9943
+ # resp.connection_group.tags.items #=> Array
9944
+ # resp.connection_group.tags.items[0].key #=> String
9945
+ # resp.connection_group.tags.items[0].value #=> String
9946
+ # resp.connection_group.ipv_6_enabled #=> Boolean
9947
+ # resp.connection_group.routing_endpoint #=> String
9948
+ # resp.connection_group.anycast_ip_list_id #=> String
9949
+ # resp.connection_group.status #=> String
9950
+ # resp.connection_group.enabled #=> Boolean
9951
+ # resp.connection_group.is_default #=> Boolean
9952
+ # resp.etag #=> String
9953
+ #
9954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateConnectionGroup AWS API Documentation
9955
+ #
9956
+ # @overload update_connection_group(params = {})
9957
+ # @param [Hash] params ({})
9958
+ def update_connection_group(params = {}, options = {})
9959
+ req = build_request(:update_connection_group, params)
9960
+ req.send_request(options)
9961
+ end
9962
+
8576
9963
  # Updates a continuous deployment policy. You can update a continuous
8577
9964
  # deployment policy to enable or disable it, to change the percentage of
8578
9965
  # traffic that it sends to the staging distribution, or to change the
@@ -8950,7 +10337,7 @@ module Aws::CloudFront
8950
10337
  # bucket: "string",
8951
10338
  # prefix: "string",
8952
10339
  # },
8953
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
10340
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
8954
10341
  # enabled: false, # required
8955
10342
  # viewer_certificate: {
8956
10343
  # cloud_front_default_certificate: false,
@@ -8974,6 +10361,21 @@ module Aws::CloudFront
8974
10361
  # continuous_deployment_policy_id: "string",
8975
10362
  # staging: false,
8976
10363
  # anycast_ip_list_id: "string",
10364
+ # tenant_config: {
10365
+ # parameter_definitions: [
10366
+ # {
10367
+ # name: "ParameterName", # required
10368
+ # definition: { # required
10369
+ # string_schema: {
10370
+ # comment: "string",
10371
+ # default_value: "ParameterValue",
10372
+ # required: false, # required
10373
+ # },
10374
+ # },
10375
+ # },
10376
+ # ],
10377
+ # },
10378
+ # connection_mode: "direct", # accepts direct, tenant-only
8977
10379
  # },
8978
10380
  # id: "string", # required
8979
10381
  # if_match: "string",
@@ -9150,7 +10552,7 @@ module Aws::CloudFront
9150
10552
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
9151
10553
  # resp.distribution.distribution_config.logging.bucket #=> String
9152
10554
  # resp.distribution.distribution_config.logging.prefix #=> String
9153
- # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
10555
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
9154
10556
  # resp.distribution.distribution_config.enabled #=> Boolean
9155
10557
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
9156
10558
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -9169,6 +10571,12 @@ module Aws::CloudFront
9169
10571
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
9170
10572
  # resp.distribution.distribution_config.staging #=> Boolean
9171
10573
  # resp.distribution.distribution_config.anycast_ip_list_id #=> String
10574
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions #=> Array
10575
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].name #=> String
10576
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.comment #=> String
10577
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.default_value #=> String
10578
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.required #=> Boolean
10579
+ # resp.distribution.distribution_config.connection_mode #=> String, one of "direct", "tenant-only"
9172
10580
  # resp.distribution.alias_icp_recordals #=> Array
9173
10581
  # resp.distribution.alias_icp_recordals[0].cname #=> String
9174
10582
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -9183,6 +10591,131 @@ module Aws::CloudFront
9183
10591
  req.send_request(options)
9184
10592
  end
9185
10593
 
10594
+ # Updates a distribution tenant.
10595
+ #
10596
+ # @option params [required, String] :id
10597
+ # The ID of the distribution tenant.
10598
+ #
10599
+ # @option params [String] :distribution_id
10600
+ # The ID for the multi-tenant distribution.
10601
+ #
10602
+ # @option params [Array<Types::DomainItem>] :domains
10603
+ # The domains to update for the distribution tenant. A domain object can
10604
+ # contain only a domain property. You must specify at least one domain.
10605
+ # Each distribution tenant can have up to 5 domains.
10606
+ #
10607
+ # @option params [Types::Customizations] :customizations
10608
+ # Customizations for the distribution tenant. For each distribution
10609
+ # tenant, you can specify the geographic restrictions, and the Amazon
10610
+ # Resource Names (ARNs) for the ACM certificate and WAF web ACL. These
10611
+ # are specific values that you can override or disable from the
10612
+ # multi-tenant distribution that was used to create the distribution
10613
+ # tenant.
10614
+ #
10615
+ # @option params [Array<Types::Parameter>] :parameters
10616
+ # A list of parameter values to add to the resource. A parameter is
10617
+ # specified as a key-value pair. A valid parameter value must exist for
10618
+ # any parameter that is marked as required in the multi-tenant
10619
+ # distribution.
10620
+ #
10621
+ # @option params [String] :connection_group_id
10622
+ # The ID of the target connection group.
10623
+ #
10624
+ # @option params [required, String] :if_match
10625
+ # The value of the `ETag` header that you received when retrieving the
10626
+ # distribution tenant to update. This value is returned in the response
10627
+ # of the `GetDistributionTenant` API operation.
10628
+ #
10629
+ # @option params [Types::ManagedCertificateRequest] :managed_certificate_request
10630
+ # An object that contains the CloudFront managed ACM certificate
10631
+ # request.
10632
+ #
10633
+ # @option params [Boolean] :enabled
10634
+ # Indicates whether the distribution tenant should be updated to an
10635
+ # enabled state. If you update the distribution tenant and it's not
10636
+ # enabled, the distribution tenant won't serve traffic.
10637
+ #
10638
+ # @return [Types::UpdateDistributionTenantResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10639
+ #
10640
+ # * {Types::UpdateDistributionTenantResult#distribution_tenant #distribution_tenant} => Types::DistributionTenant
10641
+ # * {Types::UpdateDistributionTenantResult#etag #etag} => String
10642
+ #
10643
+ # @example Request syntax with placeholder values
10644
+ #
10645
+ # resp = client.update_distribution_tenant({
10646
+ # id: "string", # required
10647
+ # distribution_id: "string",
10648
+ # domains: [
10649
+ # {
10650
+ # domain: "string", # required
10651
+ # },
10652
+ # ],
10653
+ # customizations: {
10654
+ # web_acl: {
10655
+ # action: "override", # required, accepts override, disable
10656
+ # arn: "string",
10657
+ # },
10658
+ # certificate: {
10659
+ # arn: "string", # required
10660
+ # },
10661
+ # geo_restrictions: {
10662
+ # restriction_type: "blacklist", # required, accepts blacklist, whitelist, none
10663
+ # locations: ["string"],
10664
+ # },
10665
+ # },
10666
+ # parameters: [
10667
+ # {
10668
+ # name: "ParameterName", # required
10669
+ # value: "ParameterValue", # required
10670
+ # },
10671
+ # ],
10672
+ # connection_group_id: "string",
10673
+ # if_match: "string", # required
10674
+ # managed_certificate_request: {
10675
+ # validation_token_host: "cloudfront", # required, accepts cloudfront, self-hosted
10676
+ # primary_domain_name: "string",
10677
+ # certificate_transparency_logging_preference: "enabled", # accepts enabled, disabled
10678
+ # },
10679
+ # enabled: false,
10680
+ # })
10681
+ #
10682
+ # @example Response structure
10683
+ #
10684
+ # resp.distribution_tenant.id #=> String
10685
+ # resp.distribution_tenant.distribution_id #=> String
10686
+ # resp.distribution_tenant.name #=> String
10687
+ # resp.distribution_tenant.arn #=> String
10688
+ # resp.distribution_tenant.domains #=> Array
10689
+ # resp.distribution_tenant.domains[0].domain #=> String
10690
+ # resp.distribution_tenant.domains[0].status #=> String, one of "active", "inactive"
10691
+ # resp.distribution_tenant.tags.items #=> Array
10692
+ # resp.distribution_tenant.tags.items[0].key #=> String
10693
+ # resp.distribution_tenant.tags.items[0].value #=> String
10694
+ # resp.distribution_tenant.customizations.web_acl.action #=> String, one of "override", "disable"
10695
+ # resp.distribution_tenant.customizations.web_acl.arn #=> String
10696
+ # resp.distribution_tenant.customizations.certificate.arn #=> String
10697
+ # resp.distribution_tenant.customizations.geo_restrictions.restriction_type #=> String, one of "blacklist", "whitelist", "none"
10698
+ # resp.distribution_tenant.customizations.geo_restrictions.locations #=> Array
10699
+ # resp.distribution_tenant.customizations.geo_restrictions.locations[0] #=> String
10700
+ # resp.distribution_tenant.parameters #=> Array
10701
+ # resp.distribution_tenant.parameters[0].name #=> String
10702
+ # resp.distribution_tenant.parameters[0].value #=> String
10703
+ # resp.distribution_tenant.connection_group_id #=> String
10704
+ # resp.distribution_tenant.created_time #=> Time
10705
+ # resp.distribution_tenant.last_modified_time #=> Time
10706
+ # resp.distribution_tenant.enabled #=> Boolean
10707
+ # resp.distribution_tenant.status #=> String
10708
+ # resp.etag #=> String
10709
+ #
10710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistributionTenant AWS API Documentation
10711
+ #
10712
+ # @overload update_distribution_tenant(params = {})
10713
+ # @param [Hash] params ({})
10714
+ def update_distribution_tenant(params = {}, options = {})
10715
+ req = build_request(:update_distribution_tenant, params)
10716
+ req.send_request(options)
10717
+ end
10718
+
9186
10719
  # Copies the staging distribution's configuration to its corresponding
9187
10720
  # primary distribution. The primary distribution retains its `Aliases`
9188
10721
  # (also known as alternate domain names or CNAMEs) and
@@ -9407,7 +10940,7 @@ module Aws::CloudFront
9407
10940
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
9408
10941
  # resp.distribution.distribution_config.logging.bucket #=> String
9409
10942
  # resp.distribution.distribution_config.logging.prefix #=> String
9410
- # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
10943
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
9411
10944
  # resp.distribution.distribution_config.enabled #=> Boolean
9412
10945
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
9413
10946
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -9426,6 +10959,12 @@ module Aws::CloudFront
9426
10959
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
9427
10960
  # resp.distribution.distribution_config.staging #=> Boolean
9428
10961
  # resp.distribution.distribution_config.anycast_ip_list_id #=> String
10962
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions #=> Array
10963
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].name #=> String
10964
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.comment #=> String
10965
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.default_value #=> String
10966
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.required #=> Boolean
10967
+ # resp.distribution.distribution_config.connection_mode #=> String, one of "direct", "tenant-only"
9429
10968
  # resp.distribution.alias_icp_recordals #=> Array
9430
10969
  # resp.distribution.alias_icp_recordals[0].cname #=> String
9431
10970
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -9440,6 +10979,52 @@ module Aws::CloudFront
9440
10979
  req.send_request(options)
9441
10980
  end
9442
10981
 
10982
+ # Moves a domain from its current distribution or distribution tenant to
10983
+ # another one.
10984
+ #
10985
+ # @option params [required, String] :domain
10986
+ # The domain to update.
10987
+ #
10988
+ # @option params [required, Types::DistributionResourceId] :target_resource
10989
+ # The target distribution resource for the domain. You can specify
10990
+ # either `DistributionId` or `DistributionTenantId`, but not both.
10991
+ #
10992
+ # @option params [String] :if_match
10993
+ # The value of the `ETag` identifier for the distribution or
10994
+ # distribution tenant that will be associated with the domain.
10995
+ #
10996
+ # @return [Types::UpdateDomainAssociationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10997
+ #
10998
+ # * {Types::UpdateDomainAssociationResult#domain #domain} => String
10999
+ # * {Types::UpdateDomainAssociationResult#resource_id #resource_id} => String
11000
+ # * {Types::UpdateDomainAssociationResult#etag #etag} => String
11001
+ #
11002
+ # @example Request syntax with placeholder values
11003
+ #
11004
+ # resp = client.update_domain_association({
11005
+ # domain: "string", # required
11006
+ # target_resource: { # required
11007
+ # distribution_id: "string",
11008
+ # distribution_tenant_id: "string",
11009
+ # },
11010
+ # if_match: "string",
11011
+ # })
11012
+ #
11013
+ # @example Response structure
11014
+ #
11015
+ # resp.domain #=> String
11016
+ # resp.resource_id #=> String
11017
+ # resp.etag #=> String
11018
+ #
11019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDomainAssociation AWS API Documentation
11020
+ #
11021
+ # @overload update_domain_association(params = {})
11022
+ # @param [Hash] params ({})
11023
+ def update_domain_association(params = {}, options = {})
11024
+ req = build_request(:update_domain_association, params)
11025
+ req.send_request(options)
11026
+ end
11027
+
9443
11028
  # Update a field-level encryption configuration.
9444
11029
  #
9445
11030
  # @option params [required, Types::FieldLevelEncryptionConfig] :field_level_encryption_config
@@ -10344,7 +11929,7 @@ module Aws::CloudFront
10344
11929
  # quantity: 1, # required
10345
11930
  # items: ["string"],
10346
11931
  # },
10347
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
11932
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
10348
11933
  # enabled: false, # required
10349
11934
  # },
10350
11935
  # id: "string", # required
@@ -10379,7 +11964,7 @@ module Aws::CloudFront
10379
11964
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
10380
11965
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
10381
11966
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
10382
- # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
11967
+ # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
10383
11968
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
10384
11969
  # resp.etag #=> String
10385
11970
  #
@@ -10502,6 +12087,45 @@ module Aws::CloudFront
10502
12087
  req.send_request(options)
10503
12088
  end
10504
12089
 
12090
+ # Verify the DNS configuration for your domain names. This API operation
12091
+ # checks whether your domain name points to the correct routing endpoint
12092
+ # of the connection group, such as d111111abcdef8.cloudfront.net. You
12093
+ # can use this API operation to troubleshoot and resolve DNS
12094
+ # configuration issues.
12095
+ #
12096
+ # @option params [String] :domain
12097
+ # The domain name that you're verifying.
12098
+ #
12099
+ # @option params [required, String] :identifier
12100
+ # The ID of the distribution tenant.
12101
+ #
12102
+ # @return [Types::VerifyDnsConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12103
+ #
12104
+ # * {Types::VerifyDnsConfigurationResult#dns_configuration_list #dns_configuration_list} => Array&lt;Types::DnsConfiguration&gt;
12105
+ #
12106
+ # @example Request syntax with placeholder values
12107
+ #
12108
+ # resp = client.verify_dns_configuration({
12109
+ # domain: "string",
12110
+ # identifier: "string", # required
12111
+ # })
12112
+ #
12113
+ # @example Response structure
12114
+ #
12115
+ # resp.dns_configuration_list #=> Array
12116
+ # resp.dns_configuration_list[0].domain #=> String
12117
+ # resp.dns_configuration_list[0].status #=> String, one of "valid-configuration", "invalid-configuration", "unknown-configuration"
12118
+ # resp.dns_configuration_list[0].reason #=> String
12119
+ #
12120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/VerifyDnsConfiguration AWS API Documentation
12121
+ #
12122
+ # @overload verify_dns_configuration(params = {})
12123
+ # @param [Hash] params ({})
12124
+ def verify_dns_configuration(params = {}, options = {})
12125
+ req = build_request(:verify_dns_configuration, params)
12126
+ req.send_request(options)
12127
+ end
12128
+
10505
12129
  # @!endgroup
10506
12130
 
10507
12131
  # @param params ({})
@@ -10520,7 +12144,7 @@ module Aws::CloudFront
10520
12144
  tracer: tracer
10521
12145
  )
10522
12146
  context[:gem_name] = 'aws-sdk-cloudfront'
10523
- context[:gem_version] = '1.113.0'
12147
+ context[:gem_version] = '1.115.0'
10524
12148
  Seahorse::Client::Request.new(handlers, context)
10525
12149
  end
10526
12150
 
@@ -10586,11 +12210,12 @@ module Aws::CloudFront
10586
12210
  # The following table lists the valid waiter names, the operations they call,
10587
12211
  # and the default `:delay` and `:max_attempts` values.
10588
12212
  #
10589
- # | waiter_name | params | :delay | :max_attempts |
10590
- # | ------------------------------- | ----------------------------------- | -------- | ------------- |
10591
- # | distribution_deployed | {Client#get_distribution} | 60 | 35 |
10592
- # | invalidation_completed | {Client#get_invalidation} | 20 | 30 |
10593
- # | streaming_distribution_deployed | {Client#get_streaming_distribution} | 60 | 25 |
12213
+ # | waiter_name | params | :delay | :max_attempts |
12214
+ # | ---------------------------------------------- | ------------------------------------------------- | -------- | ------------- |
12215
+ # | distribution_deployed | {Client#get_distribution} | 60 | 35 |
12216
+ # | invalidation_completed | {Client#get_invalidation} | 20 | 30 |
12217
+ # | invalidation_for_distribution_tenant_completed | {Client#get_invalidation_for_distribution_tenant} | 20 | 30 |
12218
+ # | streaming_distribution_deployed | {Client#get_streaming_distribution} | 60 | 25 |
10594
12219
  #
10595
12220
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
10596
12221
  # because the waiter has entered a state that it will not transition
@@ -10643,6 +12268,7 @@ module Aws::CloudFront
10643
12268
  {
10644
12269
  distribution_deployed: Waiters::DistributionDeployed,
10645
12270
  invalidation_completed: Waiters::InvalidationCompleted,
12271
+ invalidation_for_distribution_tenant_completed: Waiters::InvalidationForDistributionTenantCompleted,
10646
12272
  streaming_distribution_deployed: Waiters::StreamingDistributionDeployed
10647
12273
  }
10648
12274
  end