aws-sdk-cloudfront 1.114.0 → 1.117.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 identifier of the distribution tenant. You can specify the ARN,
5455
+ # ID, or name 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,41 @@ 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 distribution tenant. You can specify the ARN,
5943
+ # ID, or name of the distribution tenant.
5944
+ #
5945
+ # @return [Types::GetManagedCertificateDetailsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5946
+ #
5947
+ # * {Types::GetManagedCertificateDetailsResult#managed_certificate_details #managed_certificate_details} => Types::ManagedCertificateDetails
5948
+ #
5949
+ # @example Request syntax with placeholder values
5950
+ #
5951
+ # resp = client.get_managed_certificate_details({
5952
+ # identifier: "string", # required
5953
+ # })
5954
+ #
5955
+ # @example Response structure
5956
+ #
5957
+ # resp.managed_certificate_details.certificate_arn #=> String
5958
+ # resp.managed_certificate_details.certificate_status #=> String, one of "pending-validation", "issued", "inactive", "expired", "validation-timed-out", "revoked", "failed"
5959
+ # resp.managed_certificate_details.validation_token_host #=> String, one of "cloudfront", "self-hosted"
5960
+ # resp.managed_certificate_details.validation_token_details #=> Array
5961
+ # resp.managed_certificate_details.validation_token_details[0].domain #=> String
5962
+ # resp.managed_certificate_details.validation_token_details[0].redirect_to #=> String
5963
+ # resp.managed_certificate_details.validation_token_details[0].redirect_from #=> String
5964
+ #
5965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetManagedCertificateDetails AWS API Documentation
5966
+ #
5967
+ # @overload get_managed_certificate_details(params = {})
5968
+ # @param [Hash] params ({})
5969
+ def get_managed_certificate_details(params = {}, options = {})
5970
+ req = build_request(:get_managed_certificate_details, params)
5971
+ req.send_request(options)
5972
+ end
5973
+
5168
5974
  # Gets information about whether additional CloudWatch metrics are
5169
5975
  # enabled for the specified CloudFront distribution.
5170
5976
  #
@@ -5711,7 +6517,7 @@ module Aws::CloudFront
5711
6517
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
5712
6518
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
5713
6519
  # 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"
6520
+ # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
5715
6521
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
5716
6522
  # resp.etag #=> String
5717
6523
  #
@@ -5761,7 +6567,7 @@ module Aws::CloudFront
5761
6567
  # resp.streaming_distribution_config.trusted_signers.quantity #=> Integer
5762
6568
  # resp.streaming_distribution_config.trusted_signers.items #=> Array
5763
6569
  # 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"
6570
+ # resp.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
5765
6571
  # resp.streaming_distribution_config.enabled #=> Boolean
5766
6572
  # resp.etag #=> String
5767
6573
  #
@@ -6114,6 +6920,59 @@ module Aws::CloudFront
6114
6920
  req.send_request(options)
6115
6921
  end
6116
6922
 
6923
+ # Lists the connection groups in your Amazon Web Services account.
6924
+ #
6925
+ # @option params [Types::ConnectionGroupAssociationFilter] :association_filter
6926
+ # Filter by associated Anycast IP list ID.
6927
+ #
6928
+ # @option params [String] :marker
6929
+ # The marker for the next set of connection groups to retrieve.
6930
+ #
6931
+ # @option params [Integer] :max_items
6932
+ # The maximum number of connection groups to return.
6933
+ #
6934
+ # @return [Types::ListConnectionGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6935
+ #
6936
+ # * {Types::ListConnectionGroupsResult#next_marker #next_marker} => String
6937
+ # * {Types::ListConnectionGroupsResult#connection_groups #connection_groups} => Array&lt;Types::ConnectionGroupSummary&gt;
6938
+ #
6939
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6940
+ #
6941
+ # @example Request syntax with placeholder values
6942
+ #
6943
+ # resp = client.list_connection_groups({
6944
+ # association_filter: {
6945
+ # anycast_ip_list_id: "string",
6946
+ # },
6947
+ # marker: "string",
6948
+ # max_items: 1,
6949
+ # })
6950
+ #
6951
+ # @example Response structure
6952
+ #
6953
+ # resp.next_marker #=> String
6954
+ # resp.connection_groups #=> Array
6955
+ # resp.connection_groups[0].id #=> String
6956
+ # resp.connection_groups[0].name #=> String
6957
+ # resp.connection_groups[0].arn #=> String
6958
+ # resp.connection_groups[0].routing_endpoint #=> String
6959
+ # resp.connection_groups[0].created_time #=> Time
6960
+ # resp.connection_groups[0].last_modified_time #=> Time
6961
+ # resp.connection_groups[0].etag #=> String
6962
+ # resp.connection_groups[0].anycast_ip_list_id #=> String
6963
+ # resp.connection_groups[0].enabled #=> Boolean
6964
+ # resp.connection_groups[0].status #=> String
6965
+ # resp.connection_groups[0].is_default #=> Boolean
6966
+ #
6967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListConnectionGroups AWS API Documentation
6968
+ #
6969
+ # @overload list_connection_groups(params = {})
6970
+ # @param [Hash] params ({})
6971
+ def list_connection_groups(params = {}, options = {})
6972
+ req = build_request(:list_connection_groups, params)
6973
+ req.send_request(options)
6974
+ end
6975
+
6117
6976
  # Gets a list of the continuous deployment policies in your Amazon Web
6118
6977
  # Services account.
6119
6978
  #
@@ -6174,6 +7033,135 @@ module Aws::CloudFront
6174
7033
  req.send_request(options)
6175
7034
  end
6176
7035
 
7036
+ # Lists the distribution tenants in your Amazon Web Services account.
7037
+ #
7038
+ # @option params [Types::DistributionTenantAssociationFilter] :association_filter
7039
+ # Filter by the associated distribution ID or connection group ID.
7040
+ #
7041
+ # @option params [String] :marker
7042
+ # The marker for the next set of results.
7043
+ #
7044
+ # @option params [Integer] :max_items
7045
+ # The maximum number of distribution tenants to return.
7046
+ #
7047
+ # @return [Types::ListDistributionTenantsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7048
+ #
7049
+ # * {Types::ListDistributionTenantsResult#next_marker #next_marker} => String
7050
+ # * {Types::ListDistributionTenantsResult#distribution_tenant_list #distribution_tenant_list} => Array&lt;Types::DistributionTenantSummary&gt;
7051
+ #
7052
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7053
+ #
7054
+ # @example Request syntax with placeholder values
7055
+ #
7056
+ # resp = client.list_distribution_tenants({
7057
+ # association_filter: {
7058
+ # distribution_id: "string",
7059
+ # connection_group_id: "string",
7060
+ # },
7061
+ # marker: "string",
7062
+ # max_items: 1,
7063
+ # })
7064
+ #
7065
+ # @example Response structure
7066
+ #
7067
+ # resp.next_marker #=> String
7068
+ # resp.distribution_tenant_list #=> Array
7069
+ # resp.distribution_tenant_list[0].id #=> String
7070
+ # resp.distribution_tenant_list[0].distribution_id #=> String
7071
+ # resp.distribution_tenant_list[0].name #=> String
7072
+ # resp.distribution_tenant_list[0].arn #=> String
7073
+ # resp.distribution_tenant_list[0].domains #=> Array
7074
+ # resp.distribution_tenant_list[0].domains[0].domain #=> String
7075
+ # resp.distribution_tenant_list[0].domains[0].status #=> String, one of "active", "inactive"
7076
+ # resp.distribution_tenant_list[0].connection_group_id #=> String
7077
+ # resp.distribution_tenant_list[0].customizations.web_acl.action #=> String, one of "override", "disable"
7078
+ # resp.distribution_tenant_list[0].customizations.web_acl.arn #=> String
7079
+ # resp.distribution_tenant_list[0].customizations.certificate.arn #=> String
7080
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.restriction_type #=> String, one of "blacklist", "whitelist", "none"
7081
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.locations #=> Array
7082
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.locations[0] #=> String
7083
+ # resp.distribution_tenant_list[0].created_time #=> Time
7084
+ # resp.distribution_tenant_list[0].last_modified_time #=> Time
7085
+ # resp.distribution_tenant_list[0].etag #=> String
7086
+ # resp.distribution_tenant_list[0].enabled #=> Boolean
7087
+ # resp.distribution_tenant_list[0].status #=> String
7088
+ #
7089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionTenants AWS API Documentation
7090
+ #
7091
+ # @overload list_distribution_tenants(params = {})
7092
+ # @param [Hash] params ({})
7093
+ def list_distribution_tenants(params = {}, options = {})
7094
+ req = build_request(:list_distribution_tenants, params)
7095
+ req.send_request(options)
7096
+ end
7097
+
7098
+ # Lists distribution tenants by the customization that you specify.
7099
+ #
7100
+ # You must specify either the `CertificateArn` parameter or `WebACLArn`
7101
+ # parameter, but not both in the same request.
7102
+ #
7103
+ # @option params [String] :web_acl_arn
7104
+ # Filter by the ARN of the associated WAF web ACL.
7105
+ #
7106
+ # @option params [String] :certificate_arn
7107
+ # Filter by the ARN of the associated ACM certificate.
7108
+ #
7109
+ # @option params [String] :marker
7110
+ # The marker for the next set of results.
7111
+ #
7112
+ # @option params [Integer] :max_items
7113
+ # The maximum number of distribution tenants to return by the specified
7114
+ # customization.
7115
+ #
7116
+ # @return [Types::ListDistributionTenantsByCustomizationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7117
+ #
7118
+ # * {Types::ListDistributionTenantsByCustomizationResult#next_marker #next_marker} => String
7119
+ # * {Types::ListDistributionTenantsByCustomizationResult#distribution_tenant_list #distribution_tenant_list} => Array&lt;Types::DistributionTenantSummary&gt;
7120
+ #
7121
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7122
+ #
7123
+ # @example Request syntax with placeholder values
7124
+ #
7125
+ # resp = client.list_distribution_tenants_by_customization({
7126
+ # web_acl_arn: "string",
7127
+ # certificate_arn: "string",
7128
+ # marker: "string",
7129
+ # max_items: 1,
7130
+ # })
7131
+ #
7132
+ # @example Response structure
7133
+ #
7134
+ # resp.next_marker #=> String
7135
+ # resp.distribution_tenant_list #=> Array
7136
+ # resp.distribution_tenant_list[0].id #=> String
7137
+ # resp.distribution_tenant_list[0].distribution_id #=> String
7138
+ # resp.distribution_tenant_list[0].name #=> String
7139
+ # resp.distribution_tenant_list[0].arn #=> String
7140
+ # resp.distribution_tenant_list[0].domains #=> Array
7141
+ # resp.distribution_tenant_list[0].domains[0].domain #=> String
7142
+ # resp.distribution_tenant_list[0].domains[0].status #=> String, one of "active", "inactive"
7143
+ # resp.distribution_tenant_list[0].connection_group_id #=> String
7144
+ # resp.distribution_tenant_list[0].customizations.web_acl.action #=> String, one of "override", "disable"
7145
+ # resp.distribution_tenant_list[0].customizations.web_acl.arn #=> String
7146
+ # resp.distribution_tenant_list[0].customizations.certificate.arn #=> String
7147
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.restriction_type #=> String, one of "blacklist", "whitelist", "none"
7148
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.locations #=> Array
7149
+ # resp.distribution_tenant_list[0].customizations.geo_restrictions.locations[0] #=> String
7150
+ # resp.distribution_tenant_list[0].created_time #=> Time
7151
+ # resp.distribution_tenant_list[0].last_modified_time #=> Time
7152
+ # resp.distribution_tenant_list[0].etag #=> String
7153
+ # resp.distribution_tenant_list[0].enabled #=> Boolean
7154
+ # resp.distribution_tenant_list[0].status #=> String
7155
+ #
7156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionTenantsByCustomization AWS API Documentation
7157
+ #
7158
+ # @overload list_distribution_tenants_by_customization(params = {})
7159
+ # @param [Hash] params ({})
7160
+ def list_distribution_tenants_by_customization(params = {}, options = {})
7161
+ req = build_request(:list_distribution_tenants_by_customization, params)
7162
+ req.send_request(options)
7163
+ end
7164
+
6177
7165
  # List CloudFront distributions.
6178
7166
  #
6179
7167
  # @option params [String] :marker
@@ -6209,6 +7197,7 @@ module Aws::CloudFront
6209
7197
  # resp.distribution_list.items #=> Array
6210
7198
  # resp.distribution_list.items[0].id #=> String
6211
7199
  # resp.distribution_list.items[0].arn #=> String
7200
+ # resp.distribution_list.items[0].etag #=> String
6212
7201
  # resp.distribution_list.items[0].status #=> String
6213
7202
  # resp.distribution_list.items[0].last_modified_time #=> Time
6214
7203
  # resp.distribution_list.items[0].domain_name #=> String
@@ -6355,7 +7344,7 @@ module Aws::CloudFront
6355
7344
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6356
7345
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6357
7346
  # resp.distribution_list.items[0].comment #=> String
6358
- # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
7347
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
6359
7348
  # resp.distribution_list.items[0].enabled #=> Boolean
6360
7349
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6361
7350
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -6375,6 +7364,7 @@ module Aws::CloudFront
6375
7364
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6376
7365
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6377
7366
  # resp.distribution_list.items[0].staging #=> Boolean
7367
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
6378
7368
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6379
7369
  #
6380
7370
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions AWS API Documentation
@@ -6399,19 +7389,288 @@ module Aws::CloudFront
6399
7389
  # The maximum number of distributions that you want returned in the
6400
7390
  # response.
6401
7391
  #
6402
- # @option params [required, String] :anycast_ip_list_id
6403
- # The ID of the Anycast static IP list.
7392
+ # @option params [required, String] :anycast_ip_list_id
7393
+ # The ID of the Anycast static IP list.
7394
+ #
7395
+ # @return [Types::ListDistributionsByAnycastIpListIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7396
+ #
7397
+ # * {Types::ListDistributionsByAnycastIpListIdResult#distribution_list #distribution_list} => Types::DistributionList
7398
+ #
7399
+ # @example Request syntax with placeholder values
7400
+ #
7401
+ # resp = client.list_distributions_by_anycast_ip_list_id({
7402
+ # marker: "string",
7403
+ # max_items: 1,
7404
+ # anycast_ip_list_id: "string", # required
7405
+ # })
7406
+ #
7407
+ # @example Response structure
7408
+ #
7409
+ # resp.distribution_list.marker #=> String
7410
+ # resp.distribution_list.next_marker #=> String
7411
+ # resp.distribution_list.max_items #=> Integer
7412
+ # resp.distribution_list.is_truncated #=> Boolean
7413
+ # resp.distribution_list.quantity #=> Integer
7414
+ # resp.distribution_list.items #=> Array
7415
+ # resp.distribution_list.items[0].id #=> String
7416
+ # resp.distribution_list.items[0].arn #=> String
7417
+ # resp.distribution_list.items[0].etag #=> String
7418
+ # resp.distribution_list.items[0].status #=> String
7419
+ # resp.distribution_list.items[0].last_modified_time #=> Time
7420
+ # resp.distribution_list.items[0].domain_name #=> String
7421
+ # resp.distribution_list.items[0].aliases.quantity #=> Integer
7422
+ # resp.distribution_list.items[0].aliases.items #=> Array
7423
+ # resp.distribution_list.items[0].aliases.items[0] #=> String
7424
+ # resp.distribution_list.items[0].origins.quantity #=> Integer
7425
+ # resp.distribution_list.items[0].origins.items #=> Array
7426
+ # resp.distribution_list.items[0].origins.items[0].id #=> String
7427
+ # resp.distribution_list.items[0].origins.items[0].domain_name #=> String
7428
+ # resp.distribution_list.items[0].origins.items[0].origin_path #=> String
7429
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.quantity #=> Integer
7430
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.items #=> Array
7431
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_name #=> String
7432
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_value #=> String
7433
+ # resp.distribution_list.items[0].origins.items[0].s3_origin_config.origin_access_identity #=> String
7434
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.http_port #=> Integer
7435
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.https_port #=> Integer
7436
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
7437
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
7438
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
7439
+ # 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"
7440
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
7441
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
7442
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.vpc_origin_id #=> String
7443
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.origin_read_timeout #=> Integer
7444
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.origin_keepalive_timeout #=> Integer
7445
+ # resp.distribution_list.items[0].origins.items[0].connection_attempts #=> Integer
7446
+ # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
7447
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
7448
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
7449
+ # resp.distribution_list.items[0].origins.items[0].origin_access_control_id #=> String
7450
+ # resp.distribution_list.items[0].origin_groups.quantity #=> Integer
7451
+ # resp.distribution_list.items[0].origin_groups.items #=> Array
7452
+ # resp.distribution_list.items[0].origin_groups.items[0].id #=> String
7453
+ # resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
7454
+ # resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items #=> Array
7455
+ # resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
7456
+ # resp.distribution_list.items[0].origin_groups.items[0].members.quantity #=> Integer
7457
+ # resp.distribution_list.items[0].origin_groups.items[0].members.items #=> Array
7458
+ # resp.distribution_list.items[0].origin_groups.items[0].members.items[0].origin_id #=> String
7459
+ # resp.distribution_list.items[0].origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
7460
+ # resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> String
7461
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.enabled #=> Boolean
7462
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
7463
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items #=> Array
7464
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items[0] #=> String
7465
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.enabled #=> Boolean
7466
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.quantity #=> Integer
7467
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items #=> Array
7468
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items[0] #=> String
7469
+ # resp.distribution_list.items[0].default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
7470
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.quantity #=> Integer
7471
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items #=> Array
7472
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7473
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
7474
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items #=> Array
7475
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7476
+ # resp.distribution_list.items[0].default_cache_behavior.smooth_streaming #=> Boolean
7477
+ # resp.distribution_list.items[0].default_cache_behavior.compress #=> Boolean
7478
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.quantity #=> Integer
7479
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items #=> Array
7480
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
7481
+ # 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"
7482
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
7483
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.quantity #=> Integer
7484
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.items #=> Array
7485
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].function_arn #=> String
7486
+ # 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"
7487
+ # resp.distribution_list.items[0].default_cache_behavior.field_level_encryption_id #=> String
7488
+ # resp.distribution_list.items[0].default_cache_behavior.realtime_log_config_arn #=> String
7489
+ # resp.distribution_list.items[0].default_cache_behavior.cache_policy_id #=> String
7490
+ # resp.distribution_list.items[0].default_cache_behavior.origin_request_policy_id #=> String
7491
+ # resp.distribution_list.items[0].default_cache_behavior.response_headers_policy_id #=> String
7492
+ # resp.distribution_list.items[0].default_cache_behavior.grpc_config.enabled #=> Boolean
7493
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string #=> Boolean
7494
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
7495
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
7496
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
7497
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
7498
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.quantity #=> Integer
7499
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items #=> Array
7500
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items[0] #=> String
7501
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
7502
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
7503
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
7504
+ # resp.distribution_list.items[0].default_cache_behavior.min_ttl #=> Integer
7505
+ # resp.distribution_list.items[0].default_cache_behavior.default_ttl #=> Integer
7506
+ # resp.distribution_list.items[0].default_cache_behavior.max_ttl #=> Integer
7507
+ # resp.distribution_list.items[0].cache_behaviors.quantity #=> Integer
7508
+ # resp.distribution_list.items[0].cache_behaviors.items #=> Array
7509
+ # resp.distribution_list.items[0].cache_behaviors.items[0].path_pattern #=> String
7510
+ # resp.distribution_list.items[0].cache_behaviors.items[0].target_origin_id #=> String
7511
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
7512
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.quantity #=> Integer
7513
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items #=> Array
7514
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items[0] #=> String
7515
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
7516
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
7517
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items #=> Array
7518
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
7519
+ # resp.distribution_list.items[0].cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
7520
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.quantity #=> Integer
7521
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items #=> Array
7522
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
7523
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
7524
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
7525
+ # 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"
7526
+ # resp.distribution_list.items[0].cache_behaviors.items[0].smooth_streaming #=> Boolean
7527
+ # resp.distribution_list.items[0].cache_behaviors.items[0].compress #=> Boolean
7528
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
7529
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items #=> Array
7530
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
7531
+ # 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"
7532
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
7533
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.quantity #=> Integer
7534
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items #=> Array
7535
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
7536
+ # 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"
7537
+ # resp.distribution_list.items[0].cache_behaviors.items[0].field_level_encryption_id #=> String
7538
+ # resp.distribution_list.items[0].cache_behaviors.items[0].realtime_log_config_arn #=> String
7539
+ # resp.distribution_list.items[0].cache_behaviors.items[0].cache_policy_id #=> String
7540
+ # resp.distribution_list.items[0].cache_behaviors.items[0].origin_request_policy_id #=> String
7541
+ # resp.distribution_list.items[0].cache_behaviors.items[0].response_headers_policy_id #=> String
7542
+ # resp.distribution_list.items[0].cache_behaviors.items[0].grpc_config.enabled #=> Boolean
7543
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
7544
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
7545
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
7546
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
7547
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
7548
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
7549
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items #=> Array
7550
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
7551
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
7552
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
7553
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
7554
+ # resp.distribution_list.items[0].cache_behaviors.items[0].min_ttl #=> Integer
7555
+ # resp.distribution_list.items[0].cache_behaviors.items[0].default_ttl #=> Integer
7556
+ # resp.distribution_list.items[0].cache_behaviors.items[0].max_ttl #=> Integer
7557
+ # resp.distribution_list.items[0].custom_error_responses.quantity #=> Integer
7558
+ # resp.distribution_list.items[0].custom_error_responses.items #=> Array
7559
+ # resp.distribution_list.items[0].custom_error_responses.items[0].error_code #=> Integer
7560
+ # resp.distribution_list.items[0].custom_error_responses.items[0].response_page_path #=> String
7561
+ # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
7562
+ # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
7563
+ # resp.distribution_list.items[0].comment #=> String
7564
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
7565
+ # resp.distribution_list.items[0].enabled #=> Boolean
7566
+ # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
7567
+ # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
7568
+ # resp.distribution_list.items[0].viewer_certificate.acm_certificate_arn #=> String
7569
+ # resp.distribution_list.items[0].viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip", "static-ip"
7570
+ # 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"
7571
+ # resp.distribution_list.items[0].viewer_certificate.certificate #=> String
7572
+ # resp.distribution_list.items[0].viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
7573
+ # resp.distribution_list.items[0].restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
7574
+ # resp.distribution_list.items[0].restrictions.geo_restriction.quantity #=> Integer
7575
+ # resp.distribution_list.items[0].restrictions.geo_restriction.items #=> Array
7576
+ # resp.distribution_list.items[0].restrictions.geo_restriction.items[0] #=> String
7577
+ # resp.distribution_list.items[0].web_acl_id #=> String
7578
+ # resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
7579
+ # resp.distribution_list.items[0].is_ipv6_enabled #=> Boolean
7580
+ # resp.distribution_list.items[0].alias_icp_recordals #=> Array
7581
+ # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
7582
+ # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
7583
+ # resp.distribution_list.items[0].staging #=> Boolean
7584
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
7585
+ # resp.distribution_list.items[0].anycast_ip_list_id #=> String
7586
+ #
7587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByAnycastIpListId AWS API Documentation
7588
+ #
7589
+ # @overload list_distributions_by_anycast_ip_list_id(params = {})
7590
+ # @param [Hash] params ({})
7591
+ def list_distributions_by_anycast_ip_list_id(params = {}, options = {})
7592
+ req = build_request(:list_distributions_by_anycast_ip_list_id, params)
7593
+ req.send_request(options)
7594
+ end
7595
+
7596
+ # Gets a list of distribution IDs for distributions that have a cache
7597
+ # behavior that's associated with the specified cache policy.
7598
+ #
7599
+ # You can optionally specify the maximum number of items to receive in
7600
+ # the response. If the total number of items in the list exceeds the
7601
+ # maximum that you specify, or the default maximum, the response is
7602
+ # paginated. To get the next page of items, send a subsequent request
7603
+ # that specifies the `NextMarker` value from the current response as the
7604
+ # `Marker` value in the subsequent request.
7605
+ #
7606
+ # @option params [String] :marker
7607
+ # Use this field when paginating results to indicate where to begin in
7608
+ # your list of distribution IDs. The response includes distribution IDs
7609
+ # in the list that occur after the marker. To get the next page of the
7610
+ # list, set this field's value to the value of `NextMarker` from the
7611
+ # current page's response.
7612
+ #
7613
+ # @option params [Integer] :max_items
7614
+ # The maximum number of distribution IDs that you want in the response.
7615
+ #
7616
+ # @option params [required, String] :cache_policy_id
7617
+ # The ID of the cache policy whose associated distribution IDs you want
7618
+ # to list.
7619
+ #
7620
+ # @return [Types::ListDistributionsByCachePolicyIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7621
+ #
7622
+ # * {Types::ListDistributionsByCachePolicyIdResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList
7623
+ #
7624
+ # @example Request syntax with placeholder values
7625
+ #
7626
+ # resp = client.list_distributions_by_cache_policy_id({
7627
+ # marker: "string",
7628
+ # max_items: 1,
7629
+ # cache_policy_id: "string", # required
7630
+ # })
7631
+ #
7632
+ # @example Response structure
7633
+ #
7634
+ # resp.distribution_id_list.marker #=> String
7635
+ # resp.distribution_id_list.next_marker #=> String
7636
+ # resp.distribution_id_list.max_items #=> Integer
7637
+ # resp.distribution_id_list.is_truncated #=> Boolean
7638
+ # resp.distribution_id_list.quantity #=> Integer
7639
+ # resp.distribution_id_list.items #=> Array
7640
+ # resp.distribution_id_list.items[0] #=> String
7641
+ #
7642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId AWS API Documentation
7643
+ #
7644
+ # @overload list_distributions_by_cache_policy_id(params = {})
7645
+ # @param [Hash] params ({})
7646
+ def list_distributions_by_cache_policy_id(params = {}, options = {})
7647
+ req = build_request(:list_distributions_by_cache_policy_id, params)
7648
+ req.send_request(options)
7649
+ end
7650
+
7651
+ # Lists the distributions by the connection mode that you specify.
7652
+ #
7653
+ # @option params [String] :marker
7654
+ # The marker for the next set of distributions to retrieve.
7655
+ #
7656
+ # @option params [Integer] :max_items
7657
+ # The maximum number of distributions to return.
7658
+ #
7659
+ # @option params [required, String] :connection_mode
7660
+ # The connection mode to filter distributions by.
7661
+ #
7662
+ # @return [Types::ListDistributionsByConnectionModeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6404
7663
  #
6405
- # @return [Types::ListDistributionsByAnycastIpListIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7664
+ # * {Types::ListDistributionsByConnectionModeResult#distribution_list #distribution_list} => Types::DistributionList
6406
7665
  #
6407
- # * {Types::ListDistributionsByAnycastIpListIdResult#distribution_list #distribution_list} => Types::DistributionList
7666
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6408
7667
  #
6409
7668
  # @example Request syntax with placeholder values
6410
7669
  #
6411
- # resp = client.list_distributions_by_anycast_ip_list_id({
7670
+ # resp = client.list_distributions_by_connection_mode({
6412
7671
  # marker: "string",
6413
7672
  # max_items: 1,
6414
- # anycast_ip_list_id: "string", # required
7673
+ # connection_mode: "direct", # required, accepts direct, tenant-only
6415
7674
  # })
6416
7675
  #
6417
7676
  # @example Response structure
@@ -6424,6 +7683,7 @@ module Aws::CloudFront
6424
7683
  # resp.distribution_list.items #=> Array
6425
7684
  # resp.distribution_list.items[0].id #=> String
6426
7685
  # resp.distribution_list.items[0].arn #=> String
7686
+ # resp.distribution_list.items[0].etag #=> String
6427
7687
  # resp.distribution_list.items[0].status #=> String
6428
7688
  # resp.distribution_list.items[0].last_modified_time #=> Time
6429
7689
  # resp.distribution_list.items[0].domain_name #=> String
@@ -6570,7 +7830,7 @@ module Aws::CloudFront
6570
7830
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6571
7831
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6572
7832
  # resp.distribution_list.items[0].comment #=> String
6573
- # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
7833
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
6574
7834
  # resp.distribution_list.items[0].enabled #=> Boolean
6575
7835
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6576
7836
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -6590,69 +7850,15 @@ module Aws::CloudFront
6590
7850
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6591
7851
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6592
7852
  # resp.distribution_list.items[0].staging #=> Boolean
7853
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
6593
7854
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6594
7855
  #
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
7856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByConnectionMode AWS API Documentation
6651
7857
  #
6652
- # @overload list_distributions_by_cache_policy_id(params = {})
7858
+ # @overload list_distributions_by_connection_mode(params = {})
6653
7859
  # @param [Hash] params ({})
6654
- def list_distributions_by_cache_policy_id(params = {}, options = {})
6655
- req = build_request(:list_distributions_by_cache_policy_id, params)
7860
+ def list_distributions_by_connection_mode(params = {}, options = {})
7861
+ req = build_request(:list_distributions_by_connection_mode, params)
6656
7862
  req.send_request(options)
6657
7863
  end
6658
7864
 
@@ -6822,6 +8028,7 @@ module Aws::CloudFront
6822
8028
  # resp.distribution_list.items #=> Array
6823
8029
  # resp.distribution_list.items[0].id #=> String
6824
8030
  # resp.distribution_list.items[0].arn #=> String
8031
+ # resp.distribution_list.items[0].etag #=> String
6825
8032
  # resp.distribution_list.items[0].status #=> String
6826
8033
  # resp.distribution_list.items[0].last_modified_time #=> Time
6827
8034
  # resp.distribution_list.items[0].domain_name #=> String
@@ -6968,7 +8175,7 @@ module Aws::CloudFront
6968
8175
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6969
8176
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6970
8177
  # resp.distribution_list.items[0].comment #=> String
6971
- # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
8178
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
6972
8179
  # resp.distribution_list.items[0].enabled #=> Boolean
6973
8180
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6974
8181
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -6988,6 +8195,7 @@ module Aws::CloudFront
6988
8195
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6989
8196
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6990
8197
  # resp.distribution_list.items[0].staging #=> Boolean
8198
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
6991
8199
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6992
8200
  #
6993
8201
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfig AWS API Documentation
@@ -7167,6 +8375,7 @@ module Aws::CloudFront
7167
8375
  # resp.distribution_list.items #=> Array
7168
8376
  # resp.distribution_list.items[0].id #=> String
7169
8377
  # resp.distribution_list.items[0].arn #=> String
8378
+ # resp.distribution_list.items[0].etag #=> String
7170
8379
  # resp.distribution_list.items[0].status #=> String
7171
8380
  # resp.distribution_list.items[0].last_modified_time #=> Time
7172
8381
  # resp.distribution_list.items[0].domain_name #=> String
@@ -7313,7 +8522,7 @@ module Aws::CloudFront
7313
8522
  # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
7314
8523
  # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
7315
8524
  # resp.distribution_list.items[0].comment #=> String
7316
- # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
8525
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
7317
8526
  # resp.distribution_list.items[0].enabled #=> Boolean
7318
8527
  # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
7319
8528
  # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
@@ -7333,6 +8542,7 @@ module Aws::CloudFront
7333
8542
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
7334
8543
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
7335
8544
  # resp.distribution_list.items[0].staging #=> Boolean
8545
+ # resp.distribution_list.items[0].connection_mode #=> String, one of "direct", "tenant-only"
7336
8546
  # resp.distribution_list.items[0].anycast_ip_list_id #=> String
7337
8547
  #
7338
8548
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId AWS API Documentation
@@ -7344,6 +8554,64 @@ module Aws::CloudFront
7344
8554
  req.send_request(options)
7345
8555
  end
7346
8556
 
8557
+ # Lists existing domain associations that conflict with the domain that
8558
+ # you specify.
8559
+ #
8560
+ # You can use this API operation when transferring domains to identify
8561
+ # potential domain conflicts. Domain conflicts must be resolved first
8562
+ # before they can be moved.
8563
+ #
8564
+ # @option params [required, String] :domain
8565
+ # The domain to check for conflicts.
8566
+ #
8567
+ # @option params [required, Types::DistributionResourceId] :domain_control_validation_resource
8568
+ # The distribution resource identifier. This can be the distribution or
8569
+ # distribution tenant that has a valid certificate, which covers the
8570
+ # domain that you specify.
8571
+ #
8572
+ # @option params [Integer] :max_items
8573
+ # The maximum number of domain conflicts to return.
8574
+ #
8575
+ # @option params [String] :marker
8576
+ # The marker for the next set of domain conflicts.
8577
+ #
8578
+ # @return [Types::ListDomainConflictsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8579
+ #
8580
+ # * {Types::ListDomainConflictsResult#domain_conflicts #domain_conflicts} => Array&lt;Types::DomainConflict&gt;
8581
+ # * {Types::ListDomainConflictsResult#next_marker #next_marker} => String
8582
+ #
8583
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8584
+ #
8585
+ # @example Request syntax with placeholder values
8586
+ #
8587
+ # resp = client.list_domain_conflicts({
8588
+ # domain: "string", # required
8589
+ # domain_control_validation_resource: { # required
8590
+ # distribution_id: "string",
8591
+ # distribution_tenant_id: "string",
8592
+ # },
8593
+ # max_items: 1,
8594
+ # marker: "string",
8595
+ # })
8596
+ #
8597
+ # @example Response structure
8598
+ #
8599
+ # resp.domain_conflicts #=> Array
8600
+ # resp.domain_conflicts[0].domain #=> String
8601
+ # resp.domain_conflicts[0].resource_type #=> String, one of "distribution", "distribution-tenant"
8602
+ # resp.domain_conflicts[0].resource_id #=> String
8603
+ # resp.domain_conflicts[0].account_id #=> String
8604
+ # resp.next_marker #=> String
8605
+ #
8606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDomainConflicts AWS API Documentation
8607
+ #
8608
+ # @overload list_domain_conflicts(params = {})
8609
+ # @param [Hash] params ({})
8610
+ def list_domain_conflicts(params = {}, options = {})
8611
+ req = build_request(:list_domain_conflicts, params)
8612
+ req.send_request(options)
8613
+ end
8614
+
7347
8615
  # List all field-level encryption configurations that have been created
7348
8616
  # in CloudFront for this account.
7349
8617
  #
@@ -7572,6 +8840,60 @@ module Aws::CloudFront
7572
8840
  req.send_request(options)
7573
8841
  end
7574
8842
 
8843
+ # Lists the invalidations for a distribution tenant.
8844
+ #
8845
+ # @option params [required, String] :id
8846
+ # The ID of the distribution tenant.
8847
+ #
8848
+ # @option params [String] :marker
8849
+ # Use this parameter when paginating results to indicate where to begin
8850
+ # in your list of invalidation batches. Because the results are returned
8851
+ # in decreasing order from most recent to oldest, the most recent
8852
+ # results are on the first page, the second page will contain earlier
8853
+ # results, and so on. To get the next page of results, set `Marker` to
8854
+ # the value of the `NextMarker` from the current page's response. This
8855
+ # value is the same as the ID of the last invalidation batch on that
8856
+ # page.
8857
+ #
8858
+ # @option params [Integer] :max_items
8859
+ # The maximum number of invalidations to return for the distribution
8860
+ # tenant.
8861
+ #
8862
+ # @return [Types::ListInvalidationsForDistributionTenantResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8863
+ #
8864
+ # * {Types::ListInvalidationsForDistributionTenantResult#invalidation_list #invalidation_list} => Types::InvalidationList
8865
+ #
8866
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8867
+ #
8868
+ # @example Request syntax with placeholder values
8869
+ #
8870
+ # resp = client.list_invalidations_for_distribution_tenant({
8871
+ # id: "string", # required
8872
+ # marker: "string",
8873
+ # max_items: 1,
8874
+ # })
8875
+ #
8876
+ # @example Response structure
8877
+ #
8878
+ # resp.invalidation_list.marker #=> String
8879
+ # resp.invalidation_list.next_marker #=> String
8880
+ # resp.invalidation_list.max_items #=> Integer
8881
+ # resp.invalidation_list.is_truncated #=> Boolean
8882
+ # resp.invalidation_list.quantity #=> Integer
8883
+ # resp.invalidation_list.items #=> Array
8884
+ # resp.invalidation_list.items[0].id #=> String
8885
+ # resp.invalidation_list.items[0].create_time #=> Time
8886
+ # resp.invalidation_list.items[0].status #=> String
8887
+ #
8888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListInvalidationsForDistributionTenant AWS API Documentation
8889
+ #
8890
+ # @overload list_invalidations_for_distribution_tenant(params = {})
8891
+ # @param [Hash] params ({})
8892
+ def list_invalidations_for_distribution_tenant(params = {}, options = {})
8893
+ req = build_request(:list_invalidations_for_distribution_tenant, params)
8894
+ req.send_request(options)
8895
+ end
8896
+
7575
8897
  # Gets a list of key groups.
7576
8898
  #
7577
8899
  # You can optionally specify the maximum number of items to receive in
@@ -8095,7 +9417,7 @@ module Aws::CloudFront
8095
9417
  # resp.streaming_distribution_list.items[0].trusted_signers.items #=> Array
8096
9418
  # resp.streaming_distribution_list.items[0].trusted_signers.items[0] #=> String
8097
9419
  # 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"
9420
+ # resp.streaming_distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
8099
9421
  # resp.streaming_distribution_list.items[0].enabled #=> Boolean
8100
9422
  #
8101
9423
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions AWS API Documentation
@@ -8574,6 +9896,71 @@ module Aws::CloudFront
8574
9896
  req.send_request(options)
8575
9897
  end
8576
9898
 
9899
+ # Updates a connection group.
9900
+ #
9901
+ # @option params [required, String] :id
9902
+ # The ID of the connection group.
9903
+ #
9904
+ # @option params [Boolean] :ipv_6_enabled
9905
+ # Enable IPv6 for the connection group. For more information, see
9906
+ # [Enable IPv6][1] in the *Amazon CloudFront Developer Guide*.
9907
+ #
9908
+ #
9909
+ #
9910
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesEnableIPv6
9911
+ #
9912
+ # @option params [required, String] :if_match
9913
+ # The value of the `ETag` header that you received when retrieving the
9914
+ # connection group that you're updating.
9915
+ #
9916
+ # @option params [String] :anycast_ip_list_id
9917
+ # The ID of the Anycast static IP list.
9918
+ #
9919
+ # @option params [Boolean] :enabled
9920
+ # Whether the connection group is enabled.
9921
+ #
9922
+ # @return [Types::UpdateConnectionGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9923
+ #
9924
+ # * {Types::UpdateConnectionGroupResult#connection_group #connection_group} => Types::ConnectionGroup
9925
+ # * {Types::UpdateConnectionGroupResult#etag #etag} => String
9926
+ #
9927
+ # @example Request syntax with placeholder values
9928
+ #
9929
+ # resp = client.update_connection_group({
9930
+ # id: "string", # required
9931
+ # ipv_6_enabled: false,
9932
+ # if_match: "string", # required
9933
+ # anycast_ip_list_id: "string",
9934
+ # enabled: false,
9935
+ # })
9936
+ #
9937
+ # @example Response structure
9938
+ #
9939
+ # resp.connection_group.id #=> String
9940
+ # resp.connection_group.name #=> String
9941
+ # resp.connection_group.arn #=> String
9942
+ # resp.connection_group.created_time #=> Time
9943
+ # resp.connection_group.last_modified_time #=> Time
9944
+ # resp.connection_group.tags.items #=> Array
9945
+ # resp.connection_group.tags.items[0].key #=> String
9946
+ # resp.connection_group.tags.items[0].value #=> String
9947
+ # resp.connection_group.ipv_6_enabled #=> Boolean
9948
+ # resp.connection_group.routing_endpoint #=> String
9949
+ # resp.connection_group.anycast_ip_list_id #=> String
9950
+ # resp.connection_group.status #=> String
9951
+ # resp.connection_group.enabled #=> Boolean
9952
+ # resp.connection_group.is_default #=> Boolean
9953
+ # resp.etag #=> String
9954
+ #
9955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateConnectionGroup AWS API Documentation
9956
+ #
9957
+ # @overload update_connection_group(params = {})
9958
+ # @param [Hash] params ({})
9959
+ def update_connection_group(params = {}, options = {})
9960
+ req = build_request(:update_connection_group, params)
9961
+ req.send_request(options)
9962
+ end
9963
+
8577
9964
  # Updates a continuous deployment policy. You can update a continuous
8578
9965
  # deployment policy to enable or disable it, to change the percentage of
8579
9966
  # traffic that it sends to the staging distribution, or to change the
@@ -8951,7 +10338,7 @@ module Aws::CloudFront
8951
10338
  # bucket: "string",
8952
10339
  # prefix: "string",
8953
10340
  # },
8954
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
10341
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
8955
10342
  # enabled: false, # required
8956
10343
  # viewer_certificate: {
8957
10344
  # cloud_front_default_certificate: false,
@@ -8975,6 +10362,21 @@ module Aws::CloudFront
8975
10362
  # continuous_deployment_policy_id: "string",
8976
10363
  # staging: false,
8977
10364
  # anycast_ip_list_id: "string",
10365
+ # tenant_config: {
10366
+ # parameter_definitions: [
10367
+ # {
10368
+ # name: "ParameterName", # required
10369
+ # definition: { # required
10370
+ # string_schema: {
10371
+ # comment: "string",
10372
+ # default_value: "ParameterValue",
10373
+ # required: false, # required
10374
+ # },
10375
+ # },
10376
+ # },
10377
+ # ],
10378
+ # },
10379
+ # connection_mode: "direct", # accepts direct, tenant-only
8978
10380
  # },
8979
10381
  # id: "string", # required
8980
10382
  # if_match: "string",
@@ -9151,7 +10553,7 @@ module Aws::CloudFront
9151
10553
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
9152
10554
  # resp.distribution.distribution_config.logging.bucket #=> String
9153
10555
  # resp.distribution.distribution_config.logging.prefix #=> String
9154
- # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
10556
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
9155
10557
  # resp.distribution.distribution_config.enabled #=> Boolean
9156
10558
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
9157
10559
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -9170,6 +10572,12 @@ module Aws::CloudFront
9170
10572
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
9171
10573
  # resp.distribution.distribution_config.staging #=> Boolean
9172
10574
  # resp.distribution.distribution_config.anycast_ip_list_id #=> String
10575
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions #=> Array
10576
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].name #=> String
10577
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.comment #=> String
10578
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.default_value #=> String
10579
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.required #=> Boolean
10580
+ # resp.distribution.distribution_config.connection_mode #=> String, one of "direct", "tenant-only"
9173
10581
  # resp.distribution.alias_icp_recordals #=> Array
9174
10582
  # resp.distribution.alias_icp_recordals[0].cname #=> String
9175
10583
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -9184,6 +10592,131 @@ module Aws::CloudFront
9184
10592
  req.send_request(options)
9185
10593
  end
9186
10594
 
10595
+ # Updates a distribution tenant.
10596
+ #
10597
+ # @option params [required, String] :id
10598
+ # The ID of the distribution tenant.
10599
+ #
10600
+ # @option params [String] :distribution_id
10601
+ # The ID for the multi-tenant distribution.
10602
+ #
10603
+ # @option params [Array<Types::DomainItem>] :domains
10604
+ # The domains to update for the distribution tenant. A domain object can
10605
+ # contain only a domain property. You must specify at least one domain.
10606
+ # Each distribution tenant can have up to 5 domains.
10607
+ #
10608
+ # @option params [Types::Customizations] :customizations
10609
+ # Customizations for the distribution tenant. For each distribution
10610
+ # tenant, you can specify the geographic restrictions, and the Amazon
10611
+ # Resource Names (ARNs) for the ACM certificate and WAF web ACL. These
10612
+ # are specific values that you can override or disable from the
10613
+ # multi-tenant distribution that was used to create the distribution
10614
+ # tenant.
10615
+ #
10616
+ # @option params [Array<Types::Parameter>] :parameters
10617
+ # A list of parameter values to add to the resource. A parameter is
10618
+ # specified as a key-value pair. A valid parameter value must exist for
10619
+ # any parameter that is marked as required in the multi-tenant
10620
+ # distribution.
10621
+ #
10622
+ # @option params [String] :connection_group_id
10623
+ # The ID of the target connection group.
10624
+ #
10625
+ # @option params [required, String] :if_match
10626
+ # The value of the `ETag` header that you received when retrieving the
10627
+ # distribution tenant to update. This value is returned in the response
10628
+ # of the `GetDistributionTenant` API operation.
10629
+ #
10630
+ # @option params [Types::ManagedCertificateRequest] :managed_certificate_request
10631
+ # An object that contains the CloudFront managed ACM certificate
10632
+ # request.
10633
+ #
10634
+ # @option params [Boolean] :enabled
10635
+ # Indicates whether the distribution tenant should be updated to an
10636
+ # enabled state. If you update the distribution tenant and it's not
10637
+ # enabled, the distribution tenant won't serve traffic.
10638
+ #
10639
+ # @return [Types::UpdateDistributionTenantResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10640
+ #
10641
+ # * {Types::UpdateDistributionTenantResult#distribution_tenant #distribution_tenant} => Types::DistributionTenant
10642
+ # * {Types::UpdateDistributionTenantResult#etag #etag} => String
10643
+ #
10644
+ # @example Request syntax with placeholder values
10645
+ #
10646
+ # resp = client.update_distribution_tenant({
10647
+ # id: "string", # required
10648
+ # distribution_id: "string",
10649
+ # domains: [
10650
+ # {
10651
+ # domain: "string", # required
10652
+ # },
10653
+ # ],
10654
+ # customizations: {
10655
+ # web_acl: {
10656
+ # action: "override", # required, accepts override, disable
10657
+ # arn: "string",
10658
+ # },
10659
+ # certificate: {
10660
+ # arn: "string", # required
10661
+ # },
10662
+ # geo_restrictions: {
10663
+ # restriction_type: "blacklist", # required, accepts blacklist, whitelist, none
10664
+ # locations: ["string"],
10665
+ # },
10666
+ # },
10667
+ # parameters: [
10668
+ # {
10669
+ # name: "ParameterName", # required
10670
+ # value: "ParameterValue", # required
10671
+ # },
10672
+ # ],
10673
+ # connection_group_id: "string",
10674
+ # if_match: "string", # required
10675
+ # managed_certificate_request: {
10676
+ # validation_token_host: "cloudfront", # required, accepts cloudfront, self-hosted
10677
+ # primary_domain_name: "string",
10678
+ # certificate_transparency_logging_preference: "enabled", # accepts enabled, disabled
10679
+ # },
10680
+ # enabled: false,
10681
+ # })
10682
+ #
10683
+ # @example Response structure
10684
+ #
10685
+ # resp.distribution_tenant.id #=> String
10686
+ # resp.distribution_tenant.distribution_id #=> String
10687
+ # resp.distribution_tenant.name #=> String
10688
+ # resp.distribution_tenant.arn #=> String
10689
+ # resp.distribution_tenant.domains #=> Array
10690
+ # resp.distribution_tenant.domains[0].domain #=> String
10691
+ # resp.distribution_tenant.domains[0].status #=> String, one of "active", "inactive"
10692
+ # resp.distribution_tenant.tags.items #=> Array
10693
+ # resp.distribution_tenant.tags.items[0].key #=> String
10694
+ # resp.distribution_tenant.tags.items[0].value #=> String
10695
+ # resp.distribution_tenant.customizations.web_acl.action #=> String, one of "override", "disable"
10696
+ # resp.distribution_tenant.customizations.web_acl.arn #=> String
10697
+ # resp.distribution_tenant.customizations.certificate.arn #=> String
10698
+ # resp.distribution_tenant.customizations.geo_restrictions.restriction_type #=> String, one of "blacklist", "whitelist", "none"
10699
+ # resp.distribution_tenant.customizations.geo_restrictions.locations #=> Array
10700
+ # resp.distribution_tenant.customizations.geo_restrictions.locations[0] #=> String
10701
+ # resp.distribution_tenant.parameters #=> Array
10702
+ # resp.distribution_tenant.parameters[0].name #=> String
10703
+ # resp.distribution_tenant.parameters[0].value #=> String
10704
+ # resp.distribution_tenant.connection_group_id #=> String
10705
+ # resp.distribution_tenant.created_time #=> Time
10706
+ # resp.distribution_tenant.last_modified_time #=> Time
10707
+ # resp.distribution_tenant.enabled #=> Boolean
10708
+ # resp.distribution_tenant.status #=> String
10709
+ # resp.etag #=> String
10710
+ #
10711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistributionTenant AWS API Documentation
10712
+ #
10713
+ # @overload update_distribution_tenant(params = {})
10714
+ # @param [Hash] params ({})
10715
+ def update_distribution_tenant(params = {}, options = {})
10716
+ req = build_request(:update_distribution_tenant, params)
10717
+ req.send_request(options)
10718
+ end
10719
+
9187
10720
  # Copies the staging distribution's configuration to its corresponding
9188
10721
  # primary distribution. The primary distribution retains its `Aliases`
9189
10722
  # (also known as alternate domain names or CNAMEs) and
@@ -9408,7 +10941,7 @@ module Aws::CloudFront
9408
10941
  # resp.distribution.distribution_config.logging.include_cookies #=> Boolean
9409
10942
  # resp.distribution.distribution_config.logging.bucket #=> String
9410
10943
  # resp.distribution.distribution_config.logging.prefix #=> String
9411
- # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
10944
+ # resp.distribution.distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
9412
10945
  # resp.distribution.distribution_config.enabled #=> Boolean
9413
10946
  # resp.distribution.distribution_config.viewer_certificate.cloud_front_default_certificate #=> Boolean
9414
10947
  # resp.distribution.distribution_config.viewer_certificate.iam_certificate_id #=> String
@@ -9427,6 +10960,12 @@ module Aws::CloudFront
9427
10960
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
9428
10961
  # resp.distribution.distribution_config.staging #=> Boolean
9429
10962
  # resp.distribution.distribution_config.anycast_ip_list_id #=> String
10963
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions #=> Array
10964
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].name #=> String
10965
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.comment #=> String
10966
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.default_value #=> String
10967
+ # resp.distribution.distribution_config.tenant_config.parameter_definitions[0].definition.string_schema.required #=> Boolean
10968
+ # resp.distribution.distribution_config.connection_mode #=> String, one of "direct", "tenant-only"
9430
10969
  # resp.distribution.alias_icp_recordals #=> Array
9431
10970
  # resp.distribution.alias_icp_recordals[0].cname #=> String
9432
10971
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -9441,6 +10980,52 @@ module Aws::CloudFront
9441
10980
  req.send_request(options)
9442
10981
  end
9443
10982
 
10983
+ # Moves a domain from its current distribution or distribution tenant to
10984
+ # another one.
10985
+ #
10986
+ # @option params [required, String] :domain
10987
+ # The domain to update.
10988
+ #
10989
+ # @option params [required, Types::DistributionResourceId] :target_resource
10990
+ # The target distribution resource for the domain. You can specify
10991
+ # either `DistributionId` or `DistributionTenantId`, but not both.
10992
+ #
10993
+ # @option params [String] :if_match
10994
+ # The value of the `ETag` identifier for the distribution or
10995
+ # distribution tenant that will be associated with the domain.
10996
+ #
10997
+ # @return [Types::UpdateDomainAssociationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10998
+ #
10999
+ # * {Types::UpdateDomainAssociationResult#domain #domain} => String
11000
+ # * {Types::UpdateDomainAssociationResult#resource_id #resource_id} => String
11001
+ # * {Types::UpdateDomainAssociationResult#etag #etag} => String
11002
+ #
11003
+ # @example Request syntax with placeholder values
11004
+ #
11005
+ # resp = client.update_domain_association({
11006
+ # domain: "string", # required
11007
+ # target_resource: { # required
11008
+ # distribution_id: "string",
11009
+ # distribution_tenant_id: "string",
11010
+ # },
11011
+ # if_match: "string",
11012
+ # })
11013
+ #
11014
+ # @example Response structure
11015
+ #
11016
+ # resp.domain #=> String
11017
+ # resp.resource_id #=> String
11018
+ # resp.etag #=> String
11019
+ #
11020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDomainAssociation AWS API Documentation
11021
+ #
11022
+ # @overload update_domain_association(params = {})
11023
+ # @param [Hash] params ({})
11024
+ def update_domain_association(params = {}, options = {})
11025
+ req = build_request(:update_domain_association, params)
11026
+ req.send_request(options)
11027
+ end
11028
+
9444
11029
  # Update a field-level encryption configuration.
9445
11030
  #
9446
11031
  # @option params [required, Types::FieldLevelEncryptionConfig] :field_level_encryption_config
@@ -10345,7 +11930,7 @@ module Aws::CloudFront
10345
11930
  # quantity: 1, # required
10346
11931
  # items: ["string"],
10347
11932
  # },
10348
- # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
11933
+ # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All, None
10349
11934
  # enabled: false, # required
10350
11935
  # },
10351
11936
  # id: "string", # required
@@ -10380,7 +11965,7 @@ module Aws::CloudFront
10380
11965
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.quantity #=> Integer
10381
11966
  # resp.streaming_distribution.streaming_distribution_config.trusted_signers.items #=> Array
10382
11967
  # 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"
11968
+ # resp.streaming_distribution.streaming_distribution_config.price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All", "None"
10384
11969
  # resp.streaming_distribution.streaming_distribution_config.enabled #=> Boolean
10385
11970
  # resp.etag #=> String
10386
11971
  #
@@ -10503,6 +12088,46 @@ module Aws::CloudFront
10503
12088
  req.send_request(options)
10504
12089
  end
10505
12090
 
12091
+ # Verify the DNS configuration for your domain names. This API operation
12092
+ # checks whether your domain name points to the correct routing endpoint
12093
+ # of the connection group, such as d111111abcdef8.cloudfront.net. You
12094
+ # can use this API operation to troubleshoot and resolve DNS
12095
+ # configuration issues.
12096
+ #
12097
+ # @option params [String] :domain
12098
+ # The domain name that you're verifying.
12099
+ #
12100
+ # @option params [required, String] :identifier
12101
+ # The identifier of the distribution tenant. You can specify the ARN,
12102
+ # ID, or name of the distribution tenant.
12103
+ #
12104
+ # @return [Types::VerifyDnsConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12105
+ #
12106
+ # * {Types::VerifyDnsConfigurationResult#dns_configuration_list #dns_configuration_list} => Array&lt;Types::DnsConfiguration&gt;
12107
+ #
12108
+ # @example Request syntax with placeholder values
12109
+ #
12110
+ # resp = client.verify_dns_configuration({
12111
+ # domain: "string",
12112
+ # identifier: "string", # required
12113
+ # })
12114
+ #
12115
+ # @example Response structure
12116
+ #
12117
+ # resp.dns_configuration_list #=> Array
12118
+ # resp.dns_configuration_list[0].domain #=> String
12119
+ # resp.dns_configuration_list[0].status #=> String, one of "valid-configuration", "invalid-configuration", "unknown-configuration"
12120
+ # resp.dns_configuration_list[0].reason #=> String
12121
+ #
12122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/VerifyDnsConfiguration AWS API Documentation
12123
+ #
12124
+ # @overload verify_dns_configuration(params = {})
12125
+ # @param [Hash] params ({})
12126
+ def verify_dns_configuration(params = {}, options = {})
12127
+ req = build_request(:verify_dns_configuration, params)
12128
+ req.send_request(options)
12129
+ end
12130
+
10506
12131
  # @!endgroup
10507
12132
 
10508
12133
  # @param params ({})
@@ -10521,7 +12146,7 @@ module Aws::CloudFront
10521
12146
  tracer: tracer
10522
12147
  )
10523
12148
  context[:gem_name] = 'aws-sdk-cloudfront'
10524
- context[:gem_version] = '1.114.0'
12149
+ context[:gem_version] = '1.117.0'
10525
12150
  Seahorse::Client::Request.new(handlers, context)
10526
12151
  end
10527
12152
 
@@ -10587,11 +12212,12 @@ module Aws::CloudFront
10587
12212
  # The following table lists the valid waiter names, the operations they call,
10588
12213
  # and the default `:delay` and `:max_attempts` values.
10589
12214
  #
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 |
12215
+ # | waiter_name | params | :delay | :max_attempts |
12216
+ # | ---------------------------------------------- | ------------------------------------------------- | -------- | ------------- |
12217
+ # | distribution_deployed | {Client#get_distribution} | 60 | 35 |
12218
+ # | invalidation_completed | {Client#get_invalidation} | 20 | 30 |
12219
+ # | invalidation_for_distribution_tenant_completed | {Client#get_invalidation_for_distribution_tenant} | 20 | 30 |
12220
+ # | streaming_distribution_deployed | {Client#get_streaming_distribution} | 60 | 25 |
10595
12221
  #
10596
12222
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
10597
12223
  # because the waiter has entered a state that it will not transition
@@ -10644,6 +12270,7 @@ module Aws::CloudFront
10644
12270
  {
10645
12271
  distribution_deployed: Waiters::DistributionDeployed,
10646
12272
  invalidation_completed: Waiters::InvalidationCompleted,
12273
+ invalidation_for_distribution_tenant_completed: Waiters::InvalidationForDistributionTenantCompleted,
10647
12274
  streaming_distribution_deployed: Waiters::StreamingDistributionDeployed
10648
12275
  }
10649
12276
  end