aws-sdk-cloudfront 1.114.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
  #
@@ -3065,7 +3453,7 @@ module Aws::CloudFront
3065
3453
  # quantity: 1, # required
3066
3454
  # items: ["string"],
3067
3455
  # },
3068
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
3456
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
3069
3457
  # enabled: false, # required
3070
3458
  # },
3071
3459
  # })
@@ -3098,7 +3486,7 @@ module Aws::CloudFront
3098
3486
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
3099
3487
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
3100
3488
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
3101
- # 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"
3102
3490
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
3103
3491
  # resp.location #=> String
3104
3492
  # resp.etag #=> String
@@ -3155,7 +3543,7 @@ module Aws::CloudFront
3155
3543
  # quantity: 1, # required
3156
3544
  # items: ["string"],
3157
3545
  # },
3158
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
3546
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
3159
3547
  # enabled: false, # required
3160
3548
  # },
3161
3549
  # tags: { # required
@@ -3197,7 +3585,7 @@ module Aws::CloudFront
3197
3585
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
3198
3586
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
3199
3587
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
3200
- # 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"
3201
3589
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
3202
3590
  # resp.location #=> String
3203
3591
  # resp.etag #=> String
@@ -3416,6 +3804,33 @@ module Aws::CloudFront
3416
3804
  req.send_request(options)
3417
3805
  end
3418
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
+
3419
3834
  # Deletes a continuous deployment policy.
3420
3835
  #
3421
3836
  # You cannot delete a continuous deployment policy that's attached to a
@@ -3475,6 +3890,40 @@ module Aws::CloudFront
3475
3890
  req.send_request(options)
3476
3891
  end
3477
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
+
3478
3927
  # Remove a field-level encryption configuration.
3479
3928
  #
3480
3929
  # @option params [required, String] :id
@@ -4097,50 +4546,121 @@ module Aws::CloudFront
4097
4546
  req.send_request(options)
4098
4547
  end
4099
4548
 
4100
- # Gets an Anycast static IP list.
4549
+ # Disassociates a distribution tenant from the WAF web ACL.
4101
4550
  #
4102
4551
  # @option params [required, String] :id
4103
- # The ID of the Anycast static IP list.
4552
+ # The ID of the distribution tenant.
4104
4553
  #
4105
- # @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.
4106
4558
  #
4107
- # * {Types::GetAnycastIpListResult#anycast_ip_list #anycast_ip_list} => Types::AnycastIpList
4108
- # * {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
4109
4563
  #
4110
4564
  # @example Request syntax with placeholder values
4111
4565
  #
4112
- # resp = client.get_anycast_ip_list({
4566
+ # resp = client.disassociate_distribution_tenant_web_acl({
4113
4567
  # id: "string", # required
4568
+ # if_match: "string",
4114
4569
  # })
4115
4570
  #
4116
4571
  # @example Response structure
4117
4572
  #
4118
- # resp.anycast_ip_list.id #=> String
4119
- # resp.anycast_ip_list.name #=> String
4120
- # resp.anycast_ip_list.status #=> String
4121
- # resp.anycast_ip_list.arn #=> String
4122
- # resp.anycast_ip_list.anycast_ips #=> Array
4123
- # resp.anycast_ip_list.anycast_ips[0] #=> String
4124
- # resp.anycast_ip_list.ip_count #=> Integer
4125
- # resp.anycast_ip_list.last_modified_time #=> Time
4573
+ # resp.id #=> String
4126
4574
  # resp.etag #=> String
4127
4575
  #
4128
- # @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
4129
4577
  #
4130
- # @overload get_anycast_ip_list(params = {})
4578
+ # @overload disassociate_distribution_tenant_web_acl(params = {})
4131
4579
  # @param [Hash] params ({})
4132
- def get_anycast_ip_list(params = {}, options = {})
4133
- 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)
4134
4582
  req.send_request(options)
4135
4583
  end
4136
4584
 
4137
- # Gets a cache policy, including the following metadata:
4585
+ # Disassociates a distribution from the WAF web ACL.
4138
4586
  #
4139
- # * The policy's identifier.
4587
+ # @option params [required, String] :id
4588
+ # The ID of the distribution.
4140
4589
  #
4141
- # * 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.
4142
4593
  #
4143
- # 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
4144
4664
  # the cache policy is attached to a distribution's cache behavior, you
4145
4665
  # can get the policy's identifier using `ListDistributions` or
4146
4666
  # `GetDistribution`. If the cache policy is not attached to a cache
@@ -4321,6 +4841,94 @@ module Aws::CloudFront
4321
4841
  req.send_request(options)
4322
4842
  end
4323
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
+
4324
4932
  # Gets a continuous deployment policy, including metadata (the policy's
4325
4933
  # identifier and the date and time when the policy was last modified).
4326
4934
  #
@@ -4592,7 +5200,7 @@ module Aws::CloudFront
4592
5200
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
4593
5201
  # resp.distribution.distribution_config.logging.bucket #=> String
4594
5202
  # resp.distribution.distribution_config.logging.prefix #=> String
4595
- # 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"
4596
5204
  # resp.distribution.distribution_config.enabled #=> Boolean
4597
5205
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
4598
5206
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -4611,6 +5219,12 @@ module Aws::CloudFront
4611
5219
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
4612
5220
  # resp.distribution.distribution_config.staging #=> Boolean
4613
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"
4614
5228
  # resp.distribution.alias_icp_recordals #=> Array
4615
5229
  # resp.distribution.alias_icp_recordals[0].cname #=> String
4616
5230
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -4798,7 +5412,7 @@ module Aws::CloudFront
4798
5412
  # resp.distribution_config.logging.include_cookies #=> Boolean
4799
5413
  # resp.distribution_config.logging.bucket #=> String
4800
5414
  # resp.distribution_config.logging.prefix #=> String
4801
- # 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"
4802
5416
  # resp.distribution_config.enabled #=> Boolean
4803
5417
  # resp.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
4804
5418
  # resp.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -4817,6 +5431,12 @@ module Aws::CloudFront
4817
5431
  # resp.distribution_config.continuous_deployment_policy_id #=> String
4818
5432
  # resp.distribution_config.staging #=> Boolean
4819
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"
4820
5440
  # resp.etag #=> String
4821
5441
  #
4822
5442
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig AWS API Documentation
@@ -4828,6 +5448,113 @@ module Aws::CloudFront
4828
5448
  req.send_request(options)
4829
5449
  end
4830
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
+
4831
5558
  # Get the field-level encryption configuration information.
4832
5559
  #
4833
5560
  # @option params [required, String] :id
@@ -5081,6 +5808,50 @@ module Aws::CloudFront
5081
5808
  req.send_request(options)
5082
5809
  end
5083
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
+
5084
5855
  # Gets a key group, including the date and time when the key group was
5085
5856
  # last modified.
5086
5857
  #
@@ -5165,6 +5936,40 @@ module Aws::CloudFront
5165
5936
  req.send_request(options)
5166
5937
  end
5167
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
+
5168
5973
  # Gets information about whether additional CloudWatch metrics are
5169
5974
  # enabled for the specified CloudFront distribution.
5170
5975
  #
@@ -5711,7 +6516,7 @@ module Aws::CloudFront
5711
6516
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
5712
6517
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
5713
6518
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
5714
- # 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"
5715
6520
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
5716
6521
  # resp.etag #=> String
5717
6522
  #
@@ -5761,7 +6566,7 @@ module Aws::CloudFront
5761
6566
  # resp.streaming_distribution_config.trusted_signers.quantity #=> Integer
5762
6567
  # resp.streaming_distribution_config.trusted_signers.items #=> Array
5763
6568
  # resp.streaming_distribution_config.trusted_signers.items[0] #=> String
5764
- # 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"
5765
6570
  # resp.streaming_distribution_config.enabled #=> Boolean
5766
6571
  # resp.etag #=> String
5767
6572
  #
@@ -6114,6 +6919,59 @@ module Aws::CloudFront
6114
6919
  req.send_request(options)
6115
6920
  end
6116
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
+
6117
6975
  # Gets a list of the continuous deployment policies in your Amazon Web
6118
6976
  # Services account.
6119
6977
  #
@@ -6174,6 +7032,135 @@ module Aws::CloudFront
6174
7032
  req.send_request(options)
6175
7033
  end
6176
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
+
6177
7164
  # List CloudFront distributions.
6178
7165
  #
6179
7166
  # @option params [String] :marker
@@ -6209,6 +7196,7 @@ module Aws::CloudFront
6209
7196
  # resp.distribution_list.items #=> Array
6210
7197
  # resp.distribution_list.items[0].id #=> String
6211
7198
  # resp.distribution_list.items[0].arn #=> String
7199
+ # resp.distribution_list.items[0].etag #=> String
6212
7200
  # resp.distribution_list.items[0].status #=> String
6213
7201
  # resp.distribution_list.items[0].last_modified_time #=> Time
6214
7202
  # resp.distribution_list.items[0].domain_name #=> String
@@ -6355,7 +7343,7 @@ module Aws::CloudFront
6355
7343
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6356
7344
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6357
7345
  # resp.distribution_list.items[0].comment #=> String
6358
- # 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"
6359
7347
  # resp.distribution_list.items[0].enabled #=> Boolean
6360
7348
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6361
7349
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -6375,6 +7363,7 @@ module Aws::CloudFront
6375
7363
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6376
7364
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6377
7365
  # resp.distribution_list.items[0].staging #=> Boolean
7366
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
6378
7367
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6379
7368
  #
6380
7369
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions AWS API Documentation
@@ -6399,19 +7388,288 @@ module Aws::CloudFront
6399
7388
  # The maximum number of distributions that you want returned in the
6400
7389
  # response.
6401
7390
  #
6402
- # @option params [required, String] :anycast_ip_list_id
6403
- # 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:
6404
7662
  #
6405
- # @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
6406
7664
  #
6407
- # * {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}.
6408
7666
  #
6409
7667
  # @example Request syntax with placeholder values
6410
7668
  #
6411
- # resp = client.list_distributions_by_anycast_ip_list_id({
7669
+ # resp = client.list_distributions_by_connection_mode({
6412
7670
  # marker: "string",
6413
7671
  # max_items: 1,
6414
- # anycast_ip_list_id: "string", # required
7672
+ # connection_mode: "direct", # required, accepts direct, tenant-only
6415
7673
  # })
6416
7674
  #
6417
7675
  # @example Response structure
@@ -6424,6 +7682,7 @@ module Aws::CloudFront
6424
7682
  # resp.distribution_list.items #=> Array
6425
7683
  # resp.distribution_list.items[0].id #=> String
6426
7684
  # resp.distribution_list.items[0].arn #=> String
7685
+ # resp.distribution_list.items[0].etag #=> String
6427
7686
  # resp.distribution_list.items[0].status #=> String
6428
7687
  # resp.distribution_list.items[0].last_modified_time #=> Time
6429
7688
  # resp.distribution_list.items[0].domain_name #=> String
@@ -6570,7 +7829,7 @@ module Aws::CloudFront
6570
7829
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6571
7830
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6572
7831
  # resp.distribution_list.items[0].comment #=> String
6573
- # 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"
6574
7833
  # resp.distribution_list.items[0].enabled #=> Boolean
6575
7834
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6576
7835
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -6590,69 +7849,15 @@ module Aws::CloudFront
6590
7849
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6591
7850
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6592
7851
  # resp.distribution_list.items[0].staging #=> Boolean
7852
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
6593
7853
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6594
7854
  #
6595
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByAnycastIpListId AWS API Documentation
6596
- #
6597
- # @overload list_distributions_by_anycast_ip_list_id(params = {})
6598
- # @param [Hash] params ({})
6599
- def list_distributions_by_anycast_ip_list_id(params = {}, options = {})
6600
- req = build_request(:list_distributions_by_anycast_ip_list_id, params)
6601
- req.send_request(options)
6602
- end
6603
-
6604
- # Gets a list of distribution IDs for distributions that have a cache
6605
- # behavior that's associated with the specified cache policy.
6606
- #
6607
- # You can optionally specify the maximum number of items to receive in
6608
- # the response. If the total number of items in the list exceeds the
6609
- # maximum that you specify, or the default maximum, the response is
6610
- # paginated. To get the next page of items, send a subsequent request
6611
- # that specifies the `NextMarker` value from the current response as the
6612
- # `Marker` value in the subsequent request.
6613
- #
6614
- # @option params [String] :marker
6615
- # Use this field when paginating results to indicate where to begin in
6616
- # your list of distribution IDs. The response includes distribution IDs
6617
- # in the list that occur after the marker. To get the next page of the
6618
- # list, set this field's value to the value of `NextMarker` from the
6619
- # current page's response.
6620
- #
6621
- # @option params [Integer] :max_items
6622
- # The maximum number of distribution IDs that you want in the response.
6623
- #
6624
- # @option params [required, String] :cache_policy_id
6625
- # The ID of the cache policy whose associated distribution IDs you want
6626
- # to list.
6627
- #
6628
- # @return [Types::ListDistributionsByCachePolicyIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6629
- #
6630
- # * {Types::ListDistributionsByCachePolicyIdResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList
6631
- #
6632
- # @example Request syntax with placeholder values
6633
- #
6634
- # resp = client.list_distributions_by_cache_policy_id({
6635
- # marker: "string",
6636
- # max_items: 1,
6637
- # cache_policy_id: "string", # required
6638
- # })
6639
- #
6640
- # @example Response structure
6641
- #
6642
- # resp.distribution_id_list.marker #=> String
6643
- # resp.distribution_id_list.next_marker #=> String
6644
- # resp.distribution_id_list.max_items #=> Integer
6645
- # resp.distribution_id_list.is_truncated #=> Boolean
6646
- # resp.distribution_id_list.quantity #=> Integer
6647
- # resp.distribution_id_list.items #=> Array
6648
- # resp.distribution_id_list.items[0] #=> String
6649
- #
6650
- # @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
6651
7856
  #
6652
- # @overload list_distributions_by_cache_policy_id(params = {})
7857
+ # @overload list_distributions_by_connection_mode(params = {})
6653
7858
  # @param [Hash] params ({})
6654
- def list_distributions_by_cache_policy_id(params = {}, options = {})
6655
- 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)
6656
7861
  req.send_request(options)
6657
7862
  end
6658
7863
 
@@ -6822,6 +8027,7 @@ module Aws::CloudFront
6822
8027
  # resp.distribution_list.items #=> Array
6823
8028
  # resp.distribution_list.items[0].id #=> String
6824
8029
  # resp.distribution_list.items[0].arn #=> String
8030
+ # resp.distribution_list.items[0].etag #=> String
6825
8031
  # resp.distribution_list.items[0].status #=> String
6826
8032
  # resp.distribution_list.items[0].last_modified_time #=> Time
6827
8033
  # resp.distribution_list.items[0].domain_name #=> String
@@ -6968,7 +8174,7 @@ module Aws::CloudFront
6968
8174
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6969
8175
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6970
8176
  # resp.distribution_list.items[0].comment #=> String
6971
- # 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"
6972
8178
  # resp.distribution_list.items[0].enabled #=> Boolean
6973
8179
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6974
8180
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -6988,6 +8194,7 @@ module Aws::CloudFront
6988
8194
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6989
8195
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6990
8196
  # resp.distribution_list.items[0].staging #=> Boolean
8197
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
6991
8198
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6992
8199
  #
6993
8200
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfig AWS API Documentation
@@ -7167,6 +8374,7 @@ module Aws::CloudFront
7167
8374
  # resp.distribution_list.items #=> Array
7168
8375
  # resp.distribution_list.items[0].id #=> String
7169
8376
  # resp.distribution_list.items[0].arn #=> String
8377
+ # resp.distribution_list.items[0].etag #=> String
7170
8378
  # resp.distribution_list.items[0].status #=> String
7171
8379
  # resp.distribution_list.items[0].last_modified_time #=> Time
7172
8380
  # resp.distribution_list.items[0].domain_name #=> String
@@ -7313,7 +8521,7 @@ module Aws::CloudFront
7313
8521
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
7314
8522
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
7315
8523
  # resp.distribution_list.items[0].comment #=> String
7316
- # 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"
7317
8525
  # resp.distribution_list.items[0].enabled #=> Boolean
7318
8526
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
7319
8527
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -7333,6 +8541,7 @@ module Aws::CloudFront
7333
8541
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
7334
8542
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
7335
8543
  # resp.distribution_list.items[0].staging #=> Boolean
8544
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
7336
8545
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
7337
8546
  #
7338
8547
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId AWS API Documentation
@@ -7344,6 +8553,64 @@ module Aws::CloudFront
7344
8553
  req.send_request(options)
7345
8554
  end
7346
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
+
7347
8614
  # List all field-level encryption configurations that have been created
7348
8615
  # in CloudFront for this account.
7349
8616
  #
@@ -7572,6 +8839,60 @@ module Aws::CloudFront
7572
8839
  req.send_request(options)
7573
8840
  end
7574
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
+
7575
8896
  # Gets a list of key groups.
7576
8897
  #
7577
8898
  # You can optionally specify the maximum number of items to receive in
@@ -8095,7 +9416,7 @@ module Aws::CloudFront
8095
9416
  # resp.streaming_distribution_list.items[0].trusted_signers.items #=> Array
8096
9417
  # resp.streaming_distribution_list.items[0].trusted_signers.items[0] #=> String
8097
9418
  # resp.streaming_distribution_list.items[0].comment #=> String
8098
- # 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"
8099
9420
  # resp.streaming_distribution_list.items[0].enabled #=> Boolean
8100
9421
  #
8101
9422
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions AWS API Documentation
@@ -8574,6 +9895,71 @@ module Aws::CloudFront
8574
9895
  req.send_request(options)
8575
9896
  end
8576
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
+
8577
9963
  # Updates a continuous deployment policy. You can update a continuous
8578
9964
  # deployment policy to enable or disable it, to change the percentage of
8579
9965
  # traffic that it sends to the staging distribution, or to change the
@@ -8951,7 +10337,7 @@ module Aws::CloudFront
8951
10337
  # bucket: "string",
8952
10338
  # prefix: "string",
8953
10339
  # },
8954
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
10340
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
8955
10341
  # enabled: false, # required
8956
10342
  # viewer_certificate: {
8957
10343
  # cloud_front_default_certificate: false,
@@ -8975,6 +10361,21 @@ module Aws::CloudFront
8975
10361
  # continuous_deployment_policy_id: "string",
8976
10362
  # staging: false,
8977
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
8978
10379
  # },
8979
10380
  # id: "string", # required
8980
10381
  # if_match: "string",
@@ -9151,7 +10552,7 @@ module Aws::CloudFront
9151
10552
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
9152
10553
  # resp.distribution.distribution_config.logging.bucket #=> String
9153
10554
  # resp.distribution.distribution_config.logging.prefix #=> String
9154
- # 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"
9155
10556
  # resp.distribution.distribution_config.enabled #=> Boolean
9156
10557
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
9157
10558
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -9170,6 +10571,12 @@ module Aws::CloudFront
9170
10571
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
9171
10572
  # resp.distribution.distribution_config.staging #=> Boolean
9172
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"
9173
10580
  # resp.distribution.alias_icp_recordals #=> Array
9174
10581
  # resp.distribution.alias_icp_recordals[0].cname #=> String
9175
10582
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -9184,6 +10591,131 @@ module Aws::CloudFront
9184
10591
  req.send_request(options)
9185
10592
  end
9186
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
+
9187
10719
  # Copies the staging distribution's configuration to its corresponding
9188
10720
  # primary distribution. The primary distribution retains its `Aliases`
9189
10721
  # (also known as alternate domain names or CNAMEs) and
@@ -9408,7 +10940,7 @@ module Aws::CloudFront
9408
10940
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
9409
10941
  # resp.distribution.distribution_config.logging.bucket #=> String
9410
10942
  # resp.distribution.distribution_config.logging.prefix #=> String
9411
- # 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"
9412
10944
  # resp.distribution.distribution_config.enabled #=> Boolean
9413
10945
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
9414
10946
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -9427,6 +10959,12 @@ module Aws::CloudFront
9427
10959
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
9428
10960
  # resp.distribution.distribution_config.staging #=> Boolean
9429
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"
9430
10968
  # resp.distribution.alias_icp_recordals #=> Array
9431
10969
  # resp.distribution.alias_icp_recordals[0].cname #=> String
9432
10970
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -9441,6 +10979,52 @@ module Aws::CloudFront
9441
10979
  req.send_request(options)
9442
10980
  end
9443
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
+
9444
11028
  # Update a field-level encryption configuration.
9445
11029
  #
9446
11030
  # @option params [required, Types::FieldLevelEncryptionConfig] :field_level_encryption_config
@@ -10345,7 +11929,7 @@ module Aws::CloudFront
10345
11929
  # quantity: 1, # required
10346
11930
  # items: ["string"],
10347
11931
  # },
10348
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
11932
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
10349
11933
  # enabled: false, # required
10350
11934
  # },
10351
11935
  # id: "string", # required
@@ -10380,7 +11964,7 @@ module Aws::CloudFront
10380
11964
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
10381
11965
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
10382
11966
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items[0] #=> String
10383
- # 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"
10384
11968
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
10385
11969
  # resp.etag #=> String
10386
11970
  #
@@ -10503,6 +12087,45 @@ module Aws::CloudFront
10503
12087
  req.send_request(options)
10504
12088
  end
10505
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
+
10506
12129
  # @!endgroup
10507
12130
 
10508
12131
  # @param params ({})
@@ -10521,7 +12144,7 @@ module Aws::CloudFront
10521
12144
  tracer: tracer
10522
12145
  )
10523
12146
  context[:gem_name] = 'aws-sdk-cloudfront'
10524
- context[:gem_version] = '1.114.0'
12147
+ context[:gem_version] = '1.115.0'
10525
12148
  Seahorse::Client::Request.new(handlers, context)
10526
12149
  end
10527
12150
 
@@ -10587,11 +12210,12 @@ module Aws::CloudFront
10587
12210
  # The following table lists the valid waiter names, the operations they call,
10588
12211
  # and the default `:delay` and `:max_attempts` values.
10589
12212
  #
10590
- # | waiter_name | params | :delay | :max_attempts |
10591
- # | ------------------------------- | ----------------------------------- | -------- | ------------- |
10592
- # | distribution_deployed | {Client#get_distribution} | 60 | 35 |
10593
- # | invalidation_completed | {Client#get_invalidation} | 20 | 30 |
10594
- # | 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 |
10595
12219
  #
10596
12220
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
10597
12221
  # because the waiter has entered a state that it will not transition
@@ -10644,6 +12268,7 @@ module Aws::CloudFront
10644
12268
  {
10645
12269
  distribution_deployed: Waiters::DistributionDeployed,
10646
12270
  invalidation_completed: Waiters::InvalidationCompleted,
12271
+ invalidation_for_distribution_tenant_completed: Waiters::InvalidationForDistributionTenantCompleted,
10647
12272
  streaming_distribution_deployed: Waiters::StreamingDistributionDeployed
10648
12273
  }
10649
12274
  end