aws-sdk-cloudfront 1.105.0 → 1.107.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.
@@ -603,6 +603,7 @@ module Aws::CloudFront
603
603
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
604
604
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
605
605
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
606
+ # resp.distribution.distribution_config.origins.items[0].vpc_origin_config.vpc_origin_id #=> String
606
607
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
607
608
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
608
609
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
@@ -617,6 +618,7 @@ module Aws::CloudFront
617
618
  # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
618
619
  # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
619
620
  # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
621
+ # resp.distribution.distribution_config.origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
620
622
  # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
621
623
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
622
624
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -649,6 +651,7 @@ module Aws::CloudFront
649
651
  # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
650
652
  # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
651
653
  # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
654
+ # resp.distribution.distribution_config.default_cache_behavior.grpc_config.enabled #=> Boolean
652
655
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
653
656
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
654
657
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -698,6 +701,7 @@ module Aws::CloudFront
698
701
  # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
699
702
  # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
700
703
  # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
704
+ # resp.distribution.distribution_config.cache_behaviors.items[0].grpc_config.enabled #=> Boolean
701
705
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
702
706
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
703
707
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -741,6 +745,7 @@ module Aws::CloudFront
741
745
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
742
746
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
743
747
  # resp.distribution.distribution_config.staging #=> Boolean
748
+ # resp.distribution.distribution_config.anycast_ip_list_id #=> String
744
749
  # resp.distribution.alias_icp_recordals #=> Array
745
750
  # resp.distribution.alias_icp_recordals[0].cname #=> String
746
751
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -756,6 +761,59 @@ module Aws::CloudFront
756
761
  req.send_request(options)
757
762
  end
758
763
 
764
+ # Creates an Anycast static IP list.
765
+ #
766
+ # @option params [required, String] :name
767
+ # Name of the Anycast static IP list.
768
+ #
769
+ # @option params [required, Integer] :ip_count
770
+ # The number of static IP addresses that are allocated to the Anycast
771
+ # static IP list.
772
+ #
773
+ # @option params [Types::Tags] :tags
774
+ # A complex type that contains zero or more `Tag` elements.
775
+ #
776
+ # @return [Types::CreateAnycastIpListResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
777
+ #
778
+ # * {Types::CreateAnycastIpListResult#anycast_ip_list #anycast_ip_list} => Types::AnycastIpList
779
+ # * {Types::CreateAnycastIpListResult#etag #etag} => String
780
+ #
781
+ # @example Request syntax with placeholder values
782
+ #
783
+ # resp = client.create_anycast_ip_list({
784
+ # name: "AnycastIpListName", # required
785
+ # ip_count: 1, # required
786
+ # tags: {
787
+ # items: [
788
+ # {
789
+ # key: "TagKey", # required
790
+ # value: "TagValue",
791
+ # },
792
+ # ],
793
+ # },
794
+ # })
795
+ #
796
+ # @example Response structure
797
+ #
798
+ # resp.anycast_ip_list.id #=> String
799
+ # resp.anycast_ip_list.name #=> String
800
+ # resp.anycast_ip_list.status #=> String
801
+ # resp.anycast_ip_list.arn #=> String
802
+ # resp.anycast_ip_list.anycast_ips #=> Array
803
+ # resp.anycast_ip_list.anycast_ips[0] #=> String
804
+ # resp.anycast_ip_list.ip_count #=> Integer
805
+ # resp.anycast_ip_list.last_modified_time #=> Time
806
+ # resp.etag #=> String
807
+ #
808
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateAnycastIpList AWS API Documentation
809
+ #
810
+ # @overload create_anycast_ip_list(params = {})
811
+ # @param [Hash] params ({})
812
+ def create_anycast_ip_list(params = {}, options = {})
813
+ req = build_request(:create_anycast_ip_list, params)
814
+ req.send_request(options)
815
+ end
816
+
759
817
  # Creates a cache policy.
760
818
  #
761
819
  # After you create a cache policy, you can attach it to one or more
@@ -1037,6 +1095,9 @@ module Aws::CloudFront
1037
1095
  # origin_read_timeout: 1,
1038
1096
  # origin_keepalive_timeout: 1,
1039
1097
  # },
1098
+ # vpc_origin_config: {
1099
+ # vpc_origin_id: "string", # required
1100
+ # },
1040
1101
  # connection_attempts: 1,
1041
1102
  # connection_timeout: 1,
1042
1103
  # origin_shield: {
@@ -1066,6 +1127,7 @@ module Aws::CloudFront
1066
1127
  # },
1067
1128
  # ],
1068
1129
  # },
1130
+ # selection_criteria: "default", # accepts default, media-quality-based
1069
1131
  # },
1070
1132
  # ],
1071
1133
  # },
@@ -1116,6 +1178,9 @@ module Aws::CloudFront
1116
1178
  # cache_policy_id: "string",
1117
1179
  # origin_request_policy_id: "string",
1118
1180
  # response_headers_policy_id: "string",
1181
+ # grpc_config: {
1182
+ # enabled: false, # required
1183
+ # },
1119
1184
  # forwarded_values: {
1120
1185
  # query_string: false, # required
1121
1186
  # cookies: { # required
@@ -1189,6 +1254,9 @@ module Aws::CloudFront
1189
1254
  # cache_policy_id: "string",
1190
1255
  # origin_request_policy_id: "string",
1191
1256
  # response_headers_policy_id: "string",
1257
+ # grpc_config: {
1258
+ # enabled: false, # required
1259
+ # },
1192
1260
  # forwarded_values: {
1193
1261
  # query_string: false, # required
1194
1262
  # cookies: { # required
@@ -1226,10 +1294,10 @@ module Aws::CloudFront
1226
1294
  # },
1227
1295
  # comment: "CommentType", # required
1228
1296
  # logging: {
1229
- # enabled: false, # required
1230
- # include_cookies: false, # required
1231
- # bucket: "string", # required
1232
- # prefix: "string", # required
1297
+ # enabled: false,
1298
+ # include_cookies: false,
1299
+ # bucket: "string",
1300
+ # prefix: "string",
1233
1301
  # },
1234
1302
  # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
1235
1303
  # enabled: false, # required
@@ -1254,6 +1322,7 @@ module Aws::CloudFront
1254
1322
  # is_ipv6_enabled: false,
1255
1323
  # continuous_deployment_policy_id: "string",
1256
1324
  # staging: false,
1325
+ # anycast_ip_list_id: "string",
1257
1326
  # },
1258
1327
  # })
1259
1328
  #
@@ -1302,6 +1371,7 @@ module Aws::CloudFront
1302
1371
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
1303
1372
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
1304
1373
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
1374
+ # resp.distribution.distribution_config.origins.items[0].vpc_origin_config.vpc_origin_id #=> String
1305
1375
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
1306
1376
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
1307
1377
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
@@ -1316,6 +1386,7 @@ module Aws::CloudFront
1316
1386
  # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
1317
1387
  # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
1318
1388
  # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
1389
+ # resp.distribution.distribution_config.origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
1319
1390
  # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
1320
1391
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
1321
1392
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -1348,6 +1419,7 @@ module Aws::CloudFront
1348
1419
  # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
1349
1420
  # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
1350
1421
  # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
1422
+ # resp.distribution.distribution_config.default_cache_behavior.grpc_config.enabled #=> Boolean
1351
1423
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
1352
1424
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
1353
1425
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -1397,6 +1469,7 @@ module Aws::CloudFront
1397
1469
  # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
1398
1470
  # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
1399
1471
  # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
1472
+ # resp.distribution.distribution_config.cache_behaviors.items[0].grpc_config.enabled #=> Boolean
1400
1473
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
1401
1474
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
1402
1475
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -1440,6 +1513,7 @@ module Aws::CloudFront
1440
1513
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
1441
1514
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
1442
1515
  # resp.distribution.distribution_config.staging #=> Boolean
1516
+ # resp.distribution.distribution_config.anycast_ip_list_id #=> String
1443
1517
  # resp.distribution.alias_icp_recordals #=> Array
1444
1518
  # resp.distribution.alias_icp_recordals[0].cname #=> String
1445
1519
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -1517,6 +1591,9 @@ module Aws::CloudFront
1517
1591
  # origin_read_timeout: 1,
1518
1592
  # origin_keepalive_timeout: 1,
1519
1593
  # },
1594
+ # vpc_origin_config: {
1595
+ # vpc_origin_id: "string", # required
1596
+ # },
1520
1597
  # connection_attempts: 1,
1521
1598
  # connection_timeout: 1,
1522
1599
  # origin_shield: {
@@ -1546,6 +1623,7 @@ module Aws::CloudFront
1546
1623
  # },
1547
1624
  # ],
1548
1625
  # },
1626
+ # selection_criteria: "default", # accepts default, media-quality-based
1549
1627
  # },
1550
1628
  # ],
1551
1629
  # },
@@ -1596,6 +1674,9 @@ module Aws::CloudFront
1596
1674
  # cache_policy_id: "string",
1597
1675
  # origin_request_policy_id: "string",
1598
1676
  # response_headers_policy_id: "string",
1677
+ # grpc_config: {
1678
+ # enabled: false, # required
1679
+ # },
1599
1680
  # forwarded_values: {
1600
1681
  # query_string: false, # required
1601
1682
  # cookies: { # required
@@ -1669,6 +1750,9 @@ module Aws::CloudFront
1669
1750
  # cache_policy_id: "string",
1670
1751
  # origin_request_policy_id: "string",
1671
1752
  # response_headers_policy_id: "string",
1753
+ # grpc_config: {
1754
+ # enabled: false, # required
1755
+ # },
1672
1756
  # forwarded_values: {
1673
1757
  # query_string: false, # required
1674
1758
  # cookies: { # required
@@ -1706,10 +1790,10 @@ module Aws::CloudFront
1706
1790
  # },
1707
1791
  # comment: "CommentType", # required
1708
1792
  # logging: {
1709
- # enabled: false, # required
1710
- # include_cookies: false, # required
1711
- # bucket: "string", # required
1712
- # prefix: "string", # required
1793
+ # enabled: false,
1794
+ # include_cookies: false,
1795
+ # bucket: "string",
1796
+ # prefix: "string",
1713
1797
  # },
1714
1798
  # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
1715
1799
  # enabled: false, # required
@@ -1734,6 +1818,7 @@ module Aws::CloudFront
1734
1818
  # is_ipv6_enabled: false,
1735
1819
  # continuous_deployment_policy_id: "string",
1736
1820
  # staging: false,
1821
+ # anycast_ip_list_id: "string",
1737
1822
  # },
1738
1823
  # tags: { # required
1739
1824
  # items: [
@@ -1791,6 +1876,7 @@ module Aws::CloudFront
1791
1876
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
1792
1877
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
1793
1878
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
1879
+ # resp.distribution.distribution_config.origins.items[0].vpc_origin_config.vpc_origin_id #=> String
1794
1880
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
1795
1881
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
1796
1882
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
@@ -1805,6 +1891,7 @@ module Aws::CloudFront
1805
1891
  # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
1806
1892
  # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
1807
1893
  # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
1894
+ # resp.distribution.distribution_config.origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
1808
1895
  # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
1809
1896
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
1810
1897
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -1837,6 +1924,7 @@ module Aws::CloudFront
1837
1924
  # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
1838
1925
  # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
1839
1926
  # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
1927
+ # resp.distribution.distribution_config.default_cache_behavior.grpc_config.enabled #=> Boolean
1840
1928
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
1841
1929
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
1842
1930
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -1886,6 +1974,7 @@ module Aws::CloudFront
1886
1974
  # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
1887
1975
  # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
1888
1976
  # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
1977
+ # resp.distribution.distribution_config.cache_behaviors.items[0].grpc_config.enabled #=> Boolean
1889
1978
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
1890
1979
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
1891
1980
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -1929,6 +2018,7 @@ module Aws::CloudFront
1929
2018
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
1930
2019
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
1931
2020
  # resp.distribution.distribution_config.staging #=> Boolean
2021
+ # resp.distribution.distribution_config.anycast_ip_list_id #=> String
1932
2022
  # resp.distribution.alias_icp_recordals #=> Array
1933
2023
  # resp.distribution.alias_icp_recordals[0].cname #=> String
1934
2024
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -2348,7 +2438,7 @@ module Aws::CloudFront
2348
2438
  # resp = client.create_key_value_store({
2349
2439
  # comment: "my-key-valuestore-comment",
2350
2440
  # import_source: {
2351
- # source_arn: "arn:aws:s3:::my-bucket/validJSON.json",
2441
+ # source_arn: "arn:aws:s3:::amzn-s3-demo-bucket/validJSON.json",
2352
2442
  # source_type: "S3",
2353
2443
  # },
2354
2444
  # name: "my-keyvaluestore-name",
@@ -3087,6 +3177,147 @@ module Aws::CloudFront
3087
3177
  req.send_request(options)
3088
3178
  end
3089
3179
 
3180
+ # Create an Amazon CloudFront VPC origin.
3181
+ #
3182
+ # @option params [required, Types::VpcOriginEndpointConfig] :vpc_origin_endpoint_config
3183
+ # The VPC origin endpoint configuration.
3184
+ #
3185
+ # @option params [Types::Tags] :tags
3186
+ # A complex type that contains zero or more `Tag` elements.
3187
+ #
3188
+ # @return [Types::CreateVpcOriginResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3189
+ #
3190
+ # * {Types::CreateVpcOriginResult#vpc_origin #vpc_origin} => Types::VpcOrigin
3191
+ # * {Types::CreateVpcOriginResult#location #location} => String
3192
+ # * {Types::CreateVpcOriginResult#etag #etag} => String
3193
+ #
3194
+ #
3195
+ # @example Example: To create a VPC origin
3196
+ #
3197
+ # # The following command creates a VPC origin:
3198
+ #
3199
+ # resp = client.create_vpc_origin({
3200
+ # vpc_origin_endpoint_config: {
3201
+ # arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d",
3202
+ # http_port: 80,
3203
+ # https_port: 443,
3204
+ # name: "my-vpcorigin-name",
3205
+ # origin_protocol_policy: "match-viewer",
3206
+ # origin_ssl_protocols: {
3207
+ # items: [
3208
+ # "TLSv1.1",
3209
+ # "TLSv1.2",
3210
+ # ],
3211
+ # quantity: 2,
3212
+ # },
3213
+ # },
3214
+ # })
3215
+ #
3216
+ # resp.to_h outputs the following:
3217
+ # {
3218
+ # etag: "E23ZP02F085DFQ",
3219
+ # location: "https://cloudfront.amazonaws.com/2020-05-31/vpc-origin/vo_BQwjxxQxjCaBcQLzJUFkDM",
3220
+ # vpc_origin: {
3221
+ # arn: "arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM",
3222
+ # created_time: Time.parse("2024-10-15T17:19:42.318Z"),
3223
+ # id: "vo_BQwjxxQxjCaBcQLzJUFkDM",
3224
+ # last_modified_time: Time.parse("2024-10-15T17:19:42.318Z"),
3225
+ # status: "Deploying",
3226
+ # vpc_origin_endpoint_config: {
3227
+ # arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d",
3228
+ # http_port: 80,
3229
+ # https_port: 443,
3230
+ # name: "my-vpcorigin-name",
3231
+ # origin_protocol_policy: "match-viewer",
3232
+ # origin_ssl_protocols: {
3233
+ # items: [
3234
+ # "TLSv1.1",
3235
+ # "TLSv1.2",
3236
+ # ],
3237
+ # quantity: 2,
3238
+ # },
3239
+ # },
3240
+ # },
3241
+ # }
3242
+ #
3243
+ # @example Request syntax with placeholder values
3244
+ #
3245
+ # resp = client.create_vpc_origin({
3246
+ # vpc_origin_endpoint_config: { # required
3247
+ # name: "string", # required
3248
+ # arn: "string", # required
3249
+ # http_port: 1, # required
3250
+ # https_port: 1, # required
3251
+ # origin_protocol_policy: "http-only", # required, accepts http-only, match-viewer, https-only
3252
+ # origin_ssl_protocols: {
3253
+ # quantity: 1, # required
3254
+ # items: ["SSLv3"], # required, accepts SSLv3, TLSv1, TLSv1.1, TLSv1.2
3255
+ # },
3256
+ # },
3257
+ # tags: {
3258
+ # items: [
3259
+ # {
3260
+ # key: "TagKey", # required
3261
+ # value: "TagValue",
3262
+ # },
3263
+ # ],
3264
+ # },
3265
+ # })
3266
+ #
3267
+ # @example Response structure
3268
+ #
3269
+ # resp.vpc_origin.id #=> String
3270
+ # resp.vpc_origin.arn #=> String
3271
+ # resp.vpc_origin.status #=> String
3272
+ # resp.vpc_origin.created_time #=> Time
3273
+ # resp.vpc_origin.last_modified_time #=> Time
3274
+ # resp.vpc_origin.vpc_origin_endpoint_config.name #=> String
3275
+ # resp.vpc_origin.vpc_origin_endpoint_config.arn #=> String
3276
+ # resp.vpc_origin.vpc_origin_endpoint_config.http_port #=> Integer
3277
+ # resp.vpc_origin.vpc_origin_endpoint_config.https_port #=> Integer
3278
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
3279
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.quantity #=> Integer
3280
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.items #=> Array
3281
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
3282
+ # resp.location #=> String
3283
+ # resp.etag #=> String
3284
+ #
3285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateVpcOrigin AWS API Documentation
3286
+ #
3287
+ # @overload create_vpc_origin(params = {})
3288
+ # @param [Hash] params ({})
3289
+ def create_vpc_origin(params = {}, options = {})
3290
+ req = build_request(:create_vpc_origin, params)
3291
+ req.send_request(options)
3292
+ end
3293
+
3294
+ # Deletes an Anycast static IP list.
3295
+ #
3296
+ # @option params [required, String] :id
3297
+ # The ID of the Anycast static IP list.
3298
+ #
3299
+ # @option params [required, String] :if_match
3300
+ # The current version (`ETag` value) of the Anycast static IP list that
3301
+ # you are deleting.
3302
+ #
3303
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3304
+ #
3305
+ # @example Request syntax with placeholder values
3306
+ #
3307
+ # resp = client.delete_anycast_ip_list({
3308
+ # id: "string", # required
3309
+ # if_match: "string", # required
3310
+ # })
3311
+ #
3312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteAnycastIpList AWS API Documentation
3313
+ #
3314
+ # @overload delete_anycast_ip_list(params = {})
3315
+ # @param [Hash] params ({})
3316
+ def delete_anycast_ip_list(params = {}, options = {})
3317
+ req = build_request(:delete_anycast_ip_list, params)
3318
+ req.send_request(options)
3319
+ end
3320
+
3090
3321
  # Deletes a cache policy.
3091
3322
  #
3092
3323
  # You cannot delete a cache policy if it's attached to a cache
@@ -3642,6 +3873,88 @@ module Aws::CloudFront
3642
3873
  req.send_request(options)
3643
3874
  end
3644
3875
 
3876
+ # Delete an Amazon CloudFront VPC origin.
3877
+ #
3878
+ # @option params [required, String] :id
3879
+ # The VPC origin ID.
3880
+ #
3881
+ # @option params [required, String] :if_match
3882
+ # The VPC origin to delete, if a match occurs.
3883
+ #
3884
+ # @return [Types::DeleteVpcOriginResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3885
+ #
3886
+ # * {Types::DeleteVpcOriginResult#vpc_origin #vpc_origin} => Types::VpcOrigin
3887
+ # * {Types::DeleteVpcOriginResult#etag #etag} => String
3888
+ #
3889
+ #
3890
+ # @example Example: To delete a VPC origin
3891
+ #
3892
+ # # The following command deletes a VPC origin:
3893
+ #
3894
+ # resp = client.delete_vpc_origin({
3895
+ # id: "vo_BQwjxxQxjCaBcQLzJUFkDM",
3896
+ # if_match: "E1F83G8C2ARO7P",
3897
+ # })
3898
+ #
3899
+ # resp.to_h outputs the following:
3900
+ # {
3901
+ # etag: "E1PA6795UKMFR9",
3902
+ # vpc_origin: {
3903
+ # arn: "arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM",
3904
+ # created_time: Time.parse("2024-10-15T17:19:42.318Z"),
3905
+ # id: "vo_BQwjxxQxjCaBcQLzJUFkDM",
3906
+ # last_modified_time: Time.parse("2024-10-15T17:57:08.965Z"),
3907
+ # status: "Deploying",
3908
+ # vpc_origin_endpoint_config: {
3909
+ # arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d",
3910
+ # http_port: 80,
3911
+ # https_port: 443,
3912
+ # name: "my-vpcorigin-name",
3913
+ # origin_protocol_policy: "match-viewer",
3914
+ # origin_ssl_protocols: {
3915
+ # items: [
3916
+ # "TLSv1.1",
3917
+ # "TLSv1.2",
3918
+ # ],
3919
+ # quantity: 2,
3920
+ # },
3921
+ # },
3922
+ # },
3923
+ # }
3924
+ #
3925
+ # @example Request syntax with placeholder values
3926
+ #
3927
+ # resp = client.delete_vpc_origin({
3928
+ # id: "string", # required
3929
+ # if_match: "string", # required
3930
+ # })
3931
+ #
3932
+ # @example Response structure
3933
+ #
3934
+ # resp.vpc_origin.id #=> String
3935
+ # resp.vpc_origin.arn #=> String
3936
+ # resp.vpc_origin.status #=> String
3937
+ # resp.vpc_origin.created_time #=> Time
3938
+ # resp.vpc_origin.last_modified_time #=> Time
3939
+ # resp.vpc_origin.vpc_origin_endpoint_config.name #=> String
3940
+ # resp.vpc_origin.vpc_origin_endpoint_config.arn #=> String
3941
+ # resp.vpc_origin.vpc_origin_endpoint_config.http_port #=> Integer
3942
+ # resp.vpc_origin.vpc_origin_endpoint_config.https_port #=> Integer
3943
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
3944
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.quantity #=> Integer
3945
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.items #=> Array
3946
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
3947
+ # resp.etag #=> String
3948
+ #
3949
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteVpcOrigin AWS API Documentation
3950
+ #
3951
+ # @overload delete_vpc_origin(params = {})
3952
+ # @param [Hash] params ({})
3953
+ def delete_vpc_origin(params = {}, options = {})
3954
+ req = build_request(:delete_vpc_origin, params)
3955
+ req.send_request(options)
3956
+ end
3957
+
3645
3958
  # Gets configuration information and metadata about a CloudFront
3646
3959
  # function, but not the function's code. To get a function's code, use
3647
3960
  # `GetFunction`.
@@ -3749,6 +4062,43 @@ module Aws::CloudFront
3749
4062
  req.send_request(options)
3750
4063
  end
3751
4064
 
4065
+ # Gets an Anycast static IP list.
4066
+ #
4067
+ # @option params [required, String] :id
4068
+ # The ID of the Anycast static IP list.
4069
+ #
4070
+ # @return [Types::GetAnycastIpListResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4071
+ #
4072
+ # * {Types::GetAnycastIpListResult#anycast_ip_list #anycast_ip_list} => Types::AnycastIpList
4073
+ # * {Types::GetAnycastIpListResult#etag #etag} => String
4074
+ #
4075
+ # @example Request syntax with placeholder values
4076
+ #
4077
+ # resp = client.get_anycast_ip_list({
4078
+ # id: "string", # required
4079
+ # })
4080
+ #
4081
+ # @example Response structure
4082
+ #
4083
+ # resp.anycast_ip_list.id #=> String
4084
+ # resp.anycast_ip_list.name #=> String
4085
+ # resp.anycast_ip_list.status #=> String
4086
+ # resp.anycast_ip_list.arn #=> String
4087
+ # resp.anycast_ip_list.anycast_ips #=> Array
4088
+ # resp.anycast_ip_list.anycast_ips[0] #=> String
4089
+ # resp.anycast_ip_list.ip_count #=> Integer
4090
+ # resp.anycast_ip_list.last_modified_time #=> Time
4091
+ # resp.etag #=> String
4092
+ #
4093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetAnycastIpList AWS API Documentation
4094
+ #
4095
+ # @overload get_anycast_ip_list(params = {})
4096
+ # @param [Hash] params ({})
4097
+ def get_anycast_ip_list(params = {}, options = {})
4098
+ req = build_request(:get_anycast_ip_list, params)
4099
+ req.send_request(options)
4100
+ end
4101
+
3752
4102
  # Gets a cache policy, including the following metadata:
3753
4103
  #
3754
4104
  # * The policy's identifier.
@@ -4081,6 +4431,7 @@ module Aws::CloudFront
4081
4431
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
4082
4432
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
4083
4433
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
4434
+ # resp.distribution.distribution_config.origins.items[0].vpc_origin_config.vpc_origin_id #=> String
4084
4435
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
4085
4436
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
4086
4437
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
@@ -4095,6 +4446,7 @@ module Aws::CloudFront
4095
4446
  # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
4096
4447
  # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
4097
4448
  # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
4449
+ # resp.distribution.distribution_config.origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
4098
4450
  # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
4099
4451
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
4100
4452
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -4127,6 +4479,7 @@ module Aws::CloudFront
4127
4479
  # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
4128
4480
  # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
4129
4481
  # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
4482
+ # resp.distribution.distribution_config.default_cache_behavior.grpc_config.enabled #=> Boolean
4130
4483
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
4131
4484
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
4132
4485
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -4176,6 +4529,7 @@ module Aws::CloudFront
4176
4529
  # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
4177
4530
  # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
4178
4531
  # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
4532
+ # resp.distribution.distribution_config.cache_behaviors.items[0].grpc_config.enabled #=> Boolean
4179
4533
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
4180
4534
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
4181
4535
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -4219,6 +4573,7 @@ module Aws::CloudFront
4219
4573
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
4220
4574
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
4221
4575
  # resp.distribution.distribution_config.staging #=> Boolean
4576
+ # resp.distribution.distribution_config.anycast_ip_list_id #=> String
4222
4577
  # resp.distribution.alias_icp_recordals #=> Array
4223
4578
  # resp.distribution.alias_icp_recordals[0].cname #=> String
4224
4579
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -4280,6 +4635,7 @@ module Aws::CloudFront
4280
4635
  # resp.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
4281
4636
  # resp.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
4282
4637
  # resp.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
4638
+ # resp.distribution_config.origins.items[0].vpc_origin_config.vpc_origin_id #=> String
4283
4639
  # resp.distribution_config.origins.items[0].connection_attempts #=> Integer
4284
4640
  # resp.distribution_config.origins.items[0].connection_timeout #=> Integer
4285
4641
  # resp.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
@@ -4294,6 +4650,7 @@ module Aws::CloudFront
4294
4650
  # resp.distribution_config.origin_groups.items[0].members.quantity #=> Integer
4295
4651
  # resp.distribution_config.origin_groups.items[0].members.items #=> Array
4296
4652
  # resp.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
4653
+ # resp.distribution_config.origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
4297
4654
  # resp.distribution_config.default_cache_behavior.target_origin_id #=> String
4298
4655
  # resp.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
4299
4656
  # resp.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -4326,6 +4683,7 @@ module Aws::CloudFront
4326
4683
  # resp.distribution_config.default_cache_behavior.cache_policy_id #=> String
4327
4684
  # resp.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
4328
4685
  # resp.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
4686
+ # resp.distribution_config.default_cache_behavior.grpc_config.enabled #=> Boolean
4329
4687
  # resp.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
4330
4688
  # resp.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
4331
4689
  # resp.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -4375,6 +4733,7 @@ module Aws::CloudFront
4375
4733
  # resp.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
4376
4734
  # resp.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
4377
4735
  # resp.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
4736
+ # resp.distribution_config.cache_behaviors.items[0].grpc_config.enabled #=> Boolean
4378
4737
  # resp.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
4379
4738
  # resp.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
4380
4739
  # resp.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -4418,6 +4777,7 @@ module Aws::CloudFront
4418
4777
  # resp.distribution_config.is_ipv6_enabled #=> Boolean
4419
4778
  # resp.distribution_config.continuous_deployment_policy_id #=> String
4420
4779
  # resp.distribution_config.staging #=> Boolean
4780
+ # resp.distribution_config.anycast_ip_list_id #=> String
4421
4781
  # resp.etag #=> String
4422
4782
  #
4423
4783
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig AWS API Documentation
@@ -5375,6 +5735,130 @@ module Aws::CloudFront
5375
5735
  req.send_request(options)
5376
5736
  end
5377
5737
 
5738
+ # Get the details of an Amazon CloudFront VPC origin.
5739
+ #
5740
+ # @option params [required, String] :id
5741
+ # The VPC origin ID.
5742
+ #
5743
+ # @return [Types::GetVpcOriginResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5744
+ #
5745
+ # * {Types::GetVpcOriginResult#vpc_origin #vpc_origin} => Types::VpcOrigin
5746
+ # * {Types::GetVpcOriginResult#etag #etag} => String
5747
+ #
5748
+ #
5749
+ # @example Example: To get a VPC origin
5750
+ #
5751
+ # # The following command gets a VPC origin:
5752
+ #
5753
+ # resp = client.get_vpc_origin({
5754
+ # id: "vo_BQwjxxQxjCaBcQLzJUFkDM",
5755
+ # })
5756
+ #
5757
+ # resp.to_h outputs the following:
5758
+ # {
5759
+ # etag: "ETVPDKIKX0DER",
5760
+ # vpc_origin: {
5761
+ # arn: "arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM",
5762
+ # created_time: Time.parse("2024-10-15T17:19:42.318Z"),
5763
+ # id: "vo_BQwjxxQxjCaBcQLzJUFkDM",
5764
+ # last_modified_time: Time.parse("2024-10-15T17:24:35.188Z"),
5765
+ # status: "Deployed",
5766
+ # vpc_origin_endpoint_config: {
5767
+ # arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d",
5768
+ # http_port: 80,
5769
+ # https_port: 443,
5770
+ # name: "my-vpcorigin-name",
5771
+ # origin_protocol_policy: "match-viewer",
5772
+ # origin_ssl_protocols: {
5773
+ # items: [
5774
+ # "TLSv1.1",
5775
+ # "TLSv1.2",
5776
+ # ],
5777
+ # quantity: 2,
5778
+ # },
5779
+ # },
5780
+ # },
5781
+ # }
5782
+ #
5783
+ # @example Request syntax with placeholder values
5784
+ #
5785
+ # resp = client.get_vpc_origin({
5786
+ # id: "string", # required
5787
+ # })
5788
+ #
5789
+ # @example Response structure
5790
+ #
5791
+ # resp.vpc_origin.id #=> String
5792
+ # resp.vpc_origin.arn #=> String
5793
+ # resp.vpc_origin.status #=> String
5794
+ # resp.vpc_origin.created_time #=> Time
5795
+ # resp.vpc_origin.last_modified_time #=> Time
5796
+ # resp.vpc_origin.vpc_origin_endpoint_config.name #=> String
5797
+ # resp.vpc_origin.vpc_origin_endpoint_config.arn #=> String
5798
+ # resp.vpc_origin.vpc_origin_endpoint_config.http_port #=> Integer
5799
+ # resp.vpc_origin.vpc_origin_endpoint_config.https_port #=> Integer
5800
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
5801
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.quantity #=> Integer
5802
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.items #=> Array
5803
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
5804
+ # resp.etag #=> String
5805
+ #
5806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetVpcOrigin AWS API Documentation
5807
+ #
5808
+ # @overload get_vpc_origin(params = {})
5809
+ # @param [Hash] params ({})
5810
+ def get_vpc_origin(params = {}, options = {})
5811
+ req = build_request(:get_vpc_origin, params)
5812
+ req.send_request(options)
5813
+ end
5814
+
5815
+ # Lists your Anycast static IP lists.
5816
+ #
5817
+ # @option params [String] :marker
5818
+ # Use this field when paginating results to indicate where to begin in
5819
+ # your list. The response includes items in the list that occur after
5820
+ # the marker. To get the next page of the list, set this field's value
5821
+ # to the value of `NextMarker` from the current page's response.
5822
+ #
5823
+ # @option params [Integer] :max_items
5824
+ # The maximum number of Anycast static IP lists that you want returned
5825
+ # in the response.
5826
+ #
5827
+ # @return [Types::ListAnycastIpListsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5828
+ #
5829
+ # * {Types::ListAnycastIpListsResult#anycast_ip_lists #anycast_ip_lists} => Types::AnycastIpListCollection
5830
+ #
5831
+ # @example Request syntax with placeholder values
5832
+ #
5833
+ # resp = client.list_anycast_ip_lists({
5834
+ # marker: "string",
5835
+ # max_items: 1,
5836
+ # })
5837
+ #
5838
+ # @example Response structure
5839
+ #
5840
+ # resp.anycast_ip_lists.items #=> Array
5841
+ # resp.anycast_ip_lists.items[0].id #=> String
5842
+ # resp.anycast_ip_lists.items[0].name #=> String
5843
+ # resp.anycast_ip_lists.items[0].status #=> String
5844
+ # resp.anycast_ip_lists.items[0].arn #=> String
5845
+ # resp.anycast_ip_lists.items[0].ip_count #=> Integer
5846
+ # resp.anycast_ip_lists.items[0].last_modified_time #=> Time
5847
+ # resp.anycast_ip_lists.marker #=> String
5848
+ # resp.anycast_ip_lists.next_marker #=> String
5849
+ # resp.anycast_ip_lists.max_items #=> Integer
5850
+ # resp.anycast_ip_lists.is_truncated #=> Boolean
5851
+ # resp.anycast_ip_lists.quantity #=> Integer
5852
+ #
5853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListAnycastIpLists AWS API Documentation
5854
+ #
5855
+ # @overload list_anycast_ip_lists(params = {})
5856
+ # @param [Hash] params ({})
5857
+ def list_anycast_ip_lists(params = {}, options = {})
5858
+ req = build_request(:list_anycast_ip_lists, params)
5859
+ req.send_request(options)
5860
+ end
5861
+
5378
5862
  # Gets a list of cache policies.
5379
5863
  #
5380
5864
  # You can optionally apply a filter to return only the managed policies
@@ -5710,6 +6194,7 @@ module Aws::CloudFront
5710
6194
  # 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"
5711
6195
  # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
5712
6196
  # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
6197
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.vpc_origin_id #=> String
5713
6198
  # resp.distribution_list.items[0].origins.items[0].connection_attempts #=> Integer
5714
6199
  # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
5715
6200
  # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
@@ -5724,6 +6209,7 @@ module Aws::CloudFront
5724
6209
  # resp.distribution_list.items[0].origin_groups.items[0].members.quantity #=> Integer
5725
6210
  # resp.distribution_list.items[0].origin_groups.items[0].members.items #=> Array
5726
6211
  # resp.distribution_list.items[0].origin_groups.items[0].members.items[0].origin_id #=> String
6212
+ # resp.distribution_list.items[0].origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
5727
6213
  # resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> String
5728
6214
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.enabled #=> Boolean
5729
6215
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -5756,6 +6242,7 @@ module Aws::CloudFront
5756
6242
  # resp.distribution_list.items[0].default_cache_behavior.cache_policy_id #=> String
5757
6243
  # resp.distribution_list.items[0].default_cache_behavior.origin_request_policy_id #=> String
5758
6244
  # resp.distribution_list.items[0].default_cache_behavior.response_headers_policy_id #=> String
6245
+ # resp.distribution_list.items[0].default_cache_behavior.grpc_config.enabled #=> Boolean
5759
6246
  # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string #=> Boolean
5760
6247
  # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
5761
6248
  # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -5805,6 +6292,7 @@ module Aws::CloudFront
5805
6292
  # resp.distribution_list.items[0].cache_behaviors.items[0].cache_policy_id #=> String
5806
6293
  # resp.distribution_list.items[0].cache_behaviors.items[0].origin_request_policy_id #=> String
5807
6294
  # resp.distribution_list.items[0].cache_behaviors.items[0].response_headers_policy_id #=> String
6295
+ # resp.distribution_list.items[0].cache_behaviors.items[0].grpc_config.enabled #=> Boolean
5808
6296
  # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
5809
6297
  # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
5810
6298
  # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -5846,6 +6334,7 @@ module Aws::CloudFront
5846
6334
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
5847
6335
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
5848
6336
  # resp.distribution_list.items[0].staging #=> Boolean
6337
+ # resp.distribution_list.items[0].anycast_ip_list_id #=> String
5849
6338
  #
5850
6339
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions AWS API Documentation
5851
6340
  #
@@ -5856,56 +6345,269 @@ module Aws::CloudFront
5856
6345
  req.send_request(options)
5857
6346
  end
5858
6347
 
5859
- # Gets a list of distribution IDs for distributions that have a cache
5860
- # behavior that's associated with the specified cache policy.
5861
- #
5862
- # You can optionally specify the maximum number of items to receive in
5863
- # the response. If the total number of items in the list exceeds the
5864
- # maximum that you specify, or the default maximum, the response is
5865
- # paginated. To get the next page of items, send a subsequent request
5866
- # that specifies the `NextMarker` value from the current response as the
5867
- # `Marker` value in the subsequent request.
6348
+ # Lists the distributions in your account that are associated with the
6349
+ # specified `AnycastIpListId`.
5868
6350
  #
5869
6351
  # @option params [String] :marker
5870
6352
  # Use this field when paginating results to indicate where to begin in
5871
- # your list of distribution IDs. The response includes distribution IDs
5872
- # in the list that occur after the marker. To get the next page of the
5873
- # list, set this field's value to the value of `NextMarker` from the
5874
- # current page's response.
6353
+ # your list. The response includes items in the list that occur after
6354
+ # the marker. To get the next page of the list, set this field's value
6355
+ # to the value of `NextMarker` from the current page's response.
5875
6356
  #
5876
6357
  # @option params [Integer] :max_items
5877
- # The maximum number of distribution IDs that you want in the response.
6358
+ # The maximum number of distributions that you want returned in the
6359
+ # response.
5878
6360
  #
5879
- # @option params [required, String] :cache_policy_id
5880
- # The ID of the cache policy whose associated distribution IDs you want
5881
- # to list.
6361
+ # @option params [required, String] :anycast_ip_list_id
6362
+ # The ID of the Anycast static IP list.
5882
6363
  #
5883
- # @return [Types::ListDistributionsByCachePolicyIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6364
+ # @return [Types::ListDistributionsByAnycastIpListIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5884
6365
  #
5885
- # * {Types::ListDistributionsByCachePolicyIdResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList
6366
+ # * {Types::ListDistributionsByAnycastIpListIdResult#distribution_list #distribution_list} => Types::DistributionList
5886
6367
  #
5887
6368
  # @example Request syntax with placeholder values
5888
6369
  #
5889
- # resp = client.list_distributions_by_cache_policy_id({
6370
+ # resp = client.list_distributions_by_anycast_ip_list_id({
5890
6371
  # marker: "string",
5891
6372
  # max_items: 1,
5892
- # cache_policy_id: "string", # required
6373
+ # anycast_ip_list_id: "string", # required
5893
6374
  # })
5894
6375
  #
5895
6376
  # @example Response structure
5896
6377
  #
5897
- # resp.distribution_id_list.marker #=> String
5898
- # resp.distribution_id_list.next_marker #=> String
5899
- # resp.distribution_id_list.max_items #=> Integer
5900
- # resp.distribution_id_list.is_truncated #=> Boolean
5901
- # resp.distribution_id_list.quantity #=> Integer
5902
- # resp.distribution_id_list.items #=> Array
5903
- # resp.distribution_id_list.items[0] #=> String
5904
- #
5905
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId AWS API Documentation
5906
- #
5907
- # @overload list_distributions_by_cache_policy_id(params = {})
5908
- # @param [Hash] params ({})
6378
+ # resp.distribution_list.marker #=> String
6379
+ # resp.distribution_list.next_marker #=> String
6380
+ # resp.distribution_list.max_items #=> Integer
6381
+ # resp.distribution_list.is_truncated #=> Boolean
6382
+ # resp.distribution_list.quantity #=> Integer
6383
+ # resp.distribution_list.items #=> Array
6384
+ # resp.distribution_list.items[0].id #=> String
6385
+ # resp.distribution_list.items[0].arn #=> String
6386
+ # resp.distribution_list.items[0].status #=> String
6387
+ # resp.distribution_list.items[0].last_modified_time #=> Time
6388
+ # resp.distribution_list.items[0].domain_name #=> String
6389
+ # resp.distribution_list.items[0].aliases.quantity #=> Integer
6390
+ # resp.distribution_list.items[0].aliases.items #=> Array
6391
+ # resp.distribution_list.items[0].aliases.items[0] #=> String
6392
+ # resp.distribution_list.items[0].origins.quantity #=> Integer
6393
+ # resp.distribution_list.items[0].origins.items #=> Array
6394
+ # resp.distribution_list.items[0].origins.items[0].id #=> String
6395
+ # resp.distribution_list.items[0].origins.items[0].domain_name #=> String
6396
+ # resp.distribution_list.items[0].origins.items[0].origin_path #=> String
6397
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.quantity #=> Integer
6398
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.items #=> Array
6399
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_name #=> String
6400
+ # resp.distribution_list.items[0].origins.items[0].custom_headers.items[0].header_value #=> String
6401
+ # resp.distribution_list.items[0].origins.items[0].s3_origin_config.origin_access_identity #=> String
6402
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.http_port #=> Integer
6403
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.https_port #=> Integer
6404
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
6405
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.quantity #=> Integer
6406
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_ssl_protocols.items #=> Array
6407
+ # 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"
6408
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
6409
+ # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
6410
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.vpc_origin_id #=> String
6411
+ # resp.distribution_list.items[0].origins.items[0].connection_attempts #=> Integer
6412
+ # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
6413
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
6414
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
6415
+ # resp.distribution_list.items[0].origins.items[0].origin_access_control_id #=> String
6416
+ # resp.distribution_list.items[0].origin_groups.quantity #=> Integer
6417
+ # resp.distribution_list.items[0].origin_groups.items #=> Array
6418
+ # resp.distribution_list.items[0].origin_groups.items[0].id #=> String
6419
+ # resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.quantity #=> Integer
6420
+ # resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items #=> Array
6421
+ # resp.distribution_list.items[0].origin_groups.items[0].failover_criteria.status_codes.items[0] #=> Integer
6422
+ # resp.distribution_list.items[0].origin_groups.items[0].members.quantity #=> Integer
6423
+ # resp.distribution_list.items[0].origin_groups.items[0].members.items #=> Array
6424
+ # resp.distribution_list.items[0].origin_groups.items[0].members.items[0].origin_id #=> String
6425
+ # resp.distribution_list.items[0].origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
6426
+ # resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> String
6427
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.enabled #=> Boolean
6428
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
6429
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items #=> Array
6430
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items[0] #=> String
6431
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.enabled #=> Boolean
6432
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.quantity #=> Integer
6433
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items #=> Array
6434
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items[0] #=> String
6435
+ # resp.distribution_list.items[0].default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
6436
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.quantity #=> Integer
6437
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items #=> Array
6438
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
6439
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.quantity #=> Integer
6440
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items #=> Array
6441
+ # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.cached_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
6442
+ # resp.distribution_list.items[0].default_cache_behavior.smooth_streaming #=> Boolean
6443
+ # resp.distribution_list.items[0].default_cache_behavior.compress #=> Boolean
6444
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.quantity #=> Integer
6445
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items #=> Array
6446
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].lambda_function_arn #=> String
6447
+ # 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"
6448
+ # resp.distribution_list.items[0].default_cache_behavior.lambda_function_associations.items[0].include_body #=> Boolean
6449
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.quantity #=> Integer
6450
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.items #=> Array
6451
+ # resp.distribution_list.items[0].default_cache_behavior.function_associations.items[0].function_arn #=> String
6452
+ # 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"
6453
+ # resp.distribution_list.items[0].default_cache_behavior.field_level_encryption_id #=> String
6454
+ # resp.distribution_list.items[0].default_cache_behavior.realtime_log_config_arn #=> String
6455
+ # resp.distribution_list.items[0].default_cache_behavior.cache_policy_id #=> String
6456
+ # resp.distribution_list.items[0].default_cache_behavior.origin_request_policy_id #=> String
6457
+ # resp.distribution_list.items[0].default_cache_behavior.response_headers_policy_id #=> String
6458
+ # resp.distribution_list.items[0].default_cache_behavior.grpc_config.enabled #=> Boolean
6459
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string #=> Boolean
6460
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
6461
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
6462
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items #=> Array
6463
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.items[0] #=> String
6464
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.quantity #=> Integer
6465
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items #=> Array
6466
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.headers.items[0] #=> String
6467
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.quantity #=> Integer
6468
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items #=> Array
6469
+ # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string_cache_keys.items[0] #=> String
6470
+ # resp.distribution_list.items[0].default_cache_behavior.min_ttl #=> Integer
6471
+ # resp.distribution_list.items[0].default_cache_behavior.default_ttl #=> Integer
6472
+ # resp.distribution_list.items[0].default_cache_behavior.max_ttl #=> Integer
6473
+ # resp.distribution_list.items[0].cache_behaviors.quantity #=> Integer
6474
+ # resp.distribution_list.items[0].cache_behaviors.items #=> Array
6475
+ # resp.distribution_list.items[0].cache_behaviors.items[0].path_pattern #=> String
6476
+ # resp.distribution_list.items[0].cache_behaviors.items[0].target_origin_id #=> String
6477
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.enabled #=> Boolean
6478
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.quantity #=> Integer
6479
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items #=> Array
6480
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items[0] #=> String
6481
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
6482
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
6483
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items #=> Array
6484
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
6485
+ # resp.distribution_list.items[0].cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
6486
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.quantity #=> Integer
6487
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items #=> Array
6488
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items[0] #=> String, one of "GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"
6489
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.quantity #=> Integer
6490
+ # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.cached_methods.items #=> Array
6491
+ # 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"
6492
+ # resp.distribution_list.items[0].cache_behaviors.items[0].smooth_streaming #=> Boolean
6493
+ # resp.distribution_list.items[0].cache_behaviors.items[0].compress #=> Boolean
6494
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.quantity #=> Integer
6495
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items #=> Array
6496
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].lambda_function_arn #=> String
6497
+ # 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"
6498
+ # resp.distribution_list.items[0].cache_behaviors.items[0].lambda_function_associations.items[0].include_body #=> Boolean
6499
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.quantity #=> Integer
6500
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items #=> Array
6501
+ # resp.distribution_list.items[0].cache_behaviors.items[0].function_associations.items[0].function_arn #=> String
6502
+ # 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"
6503
+ # resp.distribution_list.items[0].cache_behaviors.items[0].field_level_encryption_id #=> String
6504
+ # resp.distribution_list.items[0].cache_behaviors.items[0].realtime_log_config_arn #=> String
6505
+ # resp.distribution_list.items[0].cache_behaviors.items[0].cache_policy_id #=> String
6506
+ # resp.distribution_list.items[0].cache_behaviors.items[0].origin_request_policy_id #=> String
6507
+ # resp.distribution_list.items[0].cache_behaviors.items[0].response_headers_policy_id #=> String
6508
+ # resp.distribution_list.items[0].cache_behaviors.items[0].grpc_config.enabled #=> Boolean
6509
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
6510
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
6511
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
6512
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items #=> Array
6513
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.items[0] #=> String
6514
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.quantity #=> Integer
6515
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items #=> Array
6516
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.headers.items[0] #=> String
6517
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.quantity #=> Integer
6518
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items #=> Array
6519
+ # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string_cache_keys.items[0] #=> String
6520
+ # resp.distribution_list.items[0].cache_behaviors.items[0].min_ttl #=> Integer
6521
+ # resp.distribution_list.items[0].cache_behaviors.items[0].default_ttl #=> Integer
6522
+ # resp.distribution_list.items[0].cache_behaviors.items[0].max_ttl #=> Integer
6523
+ # resp.distribution_list.items[0].custom_error_responses.quantity #=> Integer
6524
+ # resp.distribution_list.items[0].custom_error_responses.items #=> Array
6525
+ # resp.distribution_list.items[0].custom_error_responses.items[0].error_code #=> Integer
6526
+ # resp.distribution_list.items[0].custom_error_responses.items[0].response_page_path #=> String
6527
+ # resp.distribution_list.items[0].custom_error_responses.items[0].response_code #=> String
6528
+ # resp.distribution_list.items[0].custom_error_responses.items[0].error_caching_min_ttl #=> Integer
6529
+ # resp.distribution_list.items[0].comment #=> String
6530
+ # resp.distribution_list.items[0].price_class #=> String, one of "PriceClass_100", "PriceClass_200", "PriceClass_All"
6531
+ # resp.distribution_list.items[0].enabled #=> Boolean
6532
+ # resp.distribution_list.items[0].viewer_certificate.cloud_front_default_certificate #=> Boolean
6533
+ # resp.distribution_list.items[0].viewer_certificate.iam_certificate_id #=> String
6534
+ # resp.distribution_list.items[0].viewer_certificate.acm_certificate_arn #=> String
6535
+ # resp.distribution_list.items[0].viewer_certificate.ssl_support_method #=> String, one of "sni-only", "vip", "static-ip"
6536
+ # 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"
6537
+ # resp.distribution_list.items[0].viewer_certificate.certificate #=> String
6538
+ # resp.distribution_list.items[0].viewer_certificate.certificate_source #=> String, one of "cloudfront", "iam", "acm"
6539
+ # resp.distribution_list.items[0].restrictions.geo_restriction.restriction_type #=> String, one of "blacklist", "whitelist", "none"
6540
+ # resp.distribution_list.items[0].restrictions.geo_restriction.quantity #=> Integer
6541
+ # resp.distribution_list.items[0].restrictions.geo_restriction.items #=> Array
6542
+ # resp.distribution_list.items[0].restrictions.geo_restriction.items[0] #=> String
6543
+ # resp.distribution_list.items[0].web_acl_id #=> String
6544
+ # resp.distribution_list.items[0].http_version #=> String, one of "http1.1", "http2", "http3", "http2and3"
6545
+ # resp.distribution_list.items[0].is_ipv6_enabled #=> Boolean
6546
+ # resp.distribution_list.items[0].alias_icp_recordals #=> Array
6547
+ # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6548
+ # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6549
+ # resp.distribution_list.items[0].staging #=> Boolean
6550
+ # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6551
+ #
6552
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByAnycastIpListId AWS API Documentation
6553
+ #
6554
+ # @overload list_distributions_by_anycast_ip_list_id(params = {})
6555
+ # @param [Hash] params ({})
6556
+ def list_distributions_by_anycast_ip_list_id(params = {}, options = {})
6557
+ req = build_request(:list_distributions_by_anycast_ip_list_id, params)
6558
+ req.send_request(options)
6559
+ end
6560
+
6561
+ # Gets a list of distribution IDs for distributions that have a cache
6562
+ # behavior that's associated with the specified cache policy.
6563
+ #
6564
+ # You can optionally specify the maximum number of items to receive in
6565
+ # the response. If the total number of items in the list exceeds the
6566
+ # maximum that you specify, or the default maximum, the response is
6567
+ # paginated. To get the next page of items, send a subsequent request
6568
+ # that specifies the `NextMarker` value from the current response as the
6569
+ # `Marker` value in the subsequent request.
6570
+ #
6571
+ # @option params [String] :marker
6572
+ # Use this field when paginating results to indicate where to begin in
6573
+ # your list of distribution IDs. The response includes distribution IDs
6574
+ # in the list that occur after the marker. To get the next page of the
6575
+ # list, set this field's value to the value of `NextMarker` from the
6576
+ # current page's response.
6577
+ #
6578
+ # @option params [Integer] :max_items
6579
+ # The maximum number of distribution IDs that you want in the response.
6580
+ #
6581
+ # @option params [required, String] :cache_policy_id
6582
+ # The ID of the cache policy whose associated distribution IDs you want
6583
+ # to list.
6584
+ #
6585
+ # @return [Types::ListDistributionsByCachePolicyIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6586
+ #
6587
+ # * {Types::ListDistributionsByCachePolicyIdResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList
6588
+ #
6589
+ # @example Request syntax with placeholder values
6590
+ #
6591
+ # resp = client.list_distributions_by_cache_policy_id({
6592
+ # marker: "string",
6593
+ # max_items: 1,
6594
+ # cache_policy_id: "string", # required
6595
+ # })
6596
+ #
6597
+ # @example Response structure
6598
+ #
6599
+ # resp.distribution_id_list.marker #=> String
6600
+ # resp.distribution_id_list.next_marker #=> String
6601
+ # resp.distribution_id_list.max_items #=> Integer
6602
+ # resp.distribution_id_list.is_truncated #=> Boolean
6603
+ # resp.distribution_id_list.quantity #=> Integer
6604
+ # resp.distribution_id_list.items #=> Array
6605
+ # resp.distribution_id_list.items[0] #=> String
6606
+ #
6607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId AWS API Documentation
6608
+ #
6609
+ # @overload list_distributions_by_cache_policy_id(params = {})
6610
+ # @param [Hash] params ({})
5909
6611
  def list_distributions_by_cache_policy_id(params = {}, options = {})
5910
6612
  req = build_request(:list_distributions_by_cache_policy_id, params)
5911
6613
  req.send_request(options)
@@ -6101,6 +6803,7 @@ module Aws::CloudFront
6101
6803
  # 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"
6102
6804
  # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
6103
6805
  # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
6806
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.vpc_origin_id #=> String
6104
6807
  # resp.distribution_list.items[0].origins.items[0].connection_attempts #=> Integer
6105
6808
  # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
6106
6809
  # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
@@ -6115,6 +6818,7 @@ module Aws::CloudFront
6115
6818
  # resp.distribution_list.items[0].origin_groups.items[0].members.quantity #=> Integer
6116
6819
  # resp.distribution_list.items[0].origin_groups.items[0].members.items #=> Array
6117
6820
  # resp.distribution_list.items[0].origin_groups.items[0].members.items[0].origin_id #=> String
6821
+ # resp.distribution_list.items[0].origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
6118
6822
  # resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> String
6119
6823
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.enabled #=> Boolean
6120
6824
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -6147,6 +6851,7 @@ module Aws::CloudFront
6147
6851
  # resp.distribution_list.items[0].default_cache_behavior.cache_policy_id #=> String
6148
6852
  # resp.distribution_list.items[0].default_cache_behavior.origin_request_policy_id #=> String
6149
6853
  # resp.distribution_list.items[0].default_cache_behavior.response_headers_policy_id #=> String
6854
+ # resp.distribution_list.items[0].default_cache_behavior.grpc_config.enabled #=> Boolean
6150
6855
  # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string #=> Boolean
6151
6856
  # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
6152
6857
  # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -6196,6 +6901,7 @@ module Aws::CloudFront
6196
6901
  # resp.distribution_list.items[0].cache_behaviors.items[0].cache_policy_id #=> String
6197
6902
  # resp.distribution_list.items[0].cache_behaviors.items[0].origin_request_policy_id #=> String
6198
6903
  # resp.distribution_list.items[0].cache_behaviors.items[0].response_headers_policy_id #=> String
6904
+ # resp.distribution_list.items[0].cache_behaviors.items[0].grpc_config.enabled #=> Boolean
6199
6905
  # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
6200
6906
  # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
6201
6907
  # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -6237,6 +6943,7 @@ module Aws::CloudFront
6237
6943
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6238
6944
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6239
6945
  # resp.distribution_list.items[0].staging #=> Boolean
6946
+ # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6240
6947
  #
6241
6948
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfig AWS API Documentation
6242
6949
  #
@@ -6304,6 +7011,69 @@ module Aws::CloudFront
6304
7011
  req.send_request(options)
6305
7012
  end
6306
7013
 
7014
+ # List CloudFront distributions by their VPC origin ID.
7015
+ #
7016
+ # @option params [String] :marker
7017
+ # The marker associated with the VPC origin distributions list.
7018
+ #
7019
+ # @option params [Integer] :max_items
7020
+ # The maximum number of items included in the list.
7021
+ #
7022
+ # @option params [required, String] :vpc_origin_id
7023
+ # The VPC origin ID.
7024
+ #
7025
+ # @return [Types::ListDistributionsByVpcOriginIdResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7026
+ #
7027
+ # * {Types::ListDistributionsByVpcOriginIdResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList
7028
+ #
7029
+ #
7030
+ # @example Example: To list distributions by VPC origin ID
7031
+ #
7032
+ # # The following command lists distributions by VPC origin ID:
7033
+ #
7034
+ # resp = client.list_distributions_by_vpc_origin_id({
7035
+ # vpc_origin_id: "vo_BQwjxxQxjCaBcQLzJUFkDM",
7036
+ # })
7037
+ #
7038
+ # resp.to_h outputs the following:
7039
+ # {
7040
+ # distribution_id_list: {
7041
+ # is_truncated: false,
7042
+ # items: [
7043
+ # ],
7044
+ # marker: "a",
7045
+ # max_items: 100,
7046
+ # quantity: 0,
7047
+ # },
7048
+ # }
7049
+ #
7050
+ # @example Request syntax with placeholder values
7051
+ #
7052
+ # resp = client.list_distributions_by_vpc_origin_id({
7053
+ # marker: "string",
7054
+ # max_items: 1,
7055
+ # vpc_origin_id: "string", # required
7056
+ # })
7057
+ #
7058
+ # @example Response structure
7059
+ #
7060
+ # resp.distribution_id_list.marker #=> String
7061
+ # resp.distribution_id_list.next_marker #=> String
7062
+ # resp.distribution_id_list.max_items #=> Integer
7063
+ # resp.distribution_id_list.is_truncated #=> Boolean
7064
+ # resp.distribution_id_list.quantity #=> Integer
7065
+ # resp.distribution_id_list.items #=> Array
7066
+ # resp.distribution_id_list.items[0] #=> String
7067
+ #
7068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByVpcOriginId AWS API Documentation
7069
+ #
7070
+ # @overload list_distributions_by_vpc_origin_id(params = {})
7071
+ # @param [Hash] params ({})
7072
+ def list_distributions_by_vpc_origin_id(params = {}, options = {})
7073
+ req = build_request(:list_distributions_by_vpc_origin_id, params)
7074
+ req.send_request(options)
7075
+ end
7076
+
6307
7077
  # List the distributions that are associated with a specified WAF web
6308
7078
  # ACL.
6309
7079
  #
@@ -6376,6 +7146,7 @@ module Aws::CloudFront
6376
7146
  # 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"
6377
7147
  # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
6378
7148
  # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
7149
+ # resp.distribution_list.items[0].origins.items[0].vpc_origin_config.vpc_origin_id #=> String
6379
7150
  # resp.distribution_list.items[0].origins.items[0].connection_attempts #=> Integer
6380
7151
  # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
6381
7152
  # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
@@ -6390,6 +7161,7 @@ module Aws::CloudFront
6390
7161
  # resp.distribution_list.items[0].origin_groups.items[0].members.quantity #=> Integer
6391
7162
  # resp.distribution_list.items[0].origin_groups.items[0].members.items #=> Array
6392
7163
  # resp.distribution_list.items[0].origin_groups.items[0].members.items[0].origin_id #=> String
7164
+ # resp.distribution_list.items[0].origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
6393
7165
  # resp.distribution_list.items[0].default_cache_behavior.target_origin_id #=> String
6394
7166
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.enabled #=> Boolean
6395
7167
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -6422,6 +7194,7 @@ module Aws::CloudFront
6422
7194
  # resp.distribution_list.items[0].default_cache_behavior.cache_policy_id #=> String
6423
7195
  # resp.distribution_list.items[0].default_cache_behavior.origin_request_policy_id #=> String
6424
7196
  # resp.distribution_list.items[0].default_cache_behavior.response_headers_policy_id #=> String
7197
+ # resp.distribution_list.items[0].default_cache_behavior.grpc_config.enabled #=> Boolean
6425
7198
  # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.query_string #=> Boolean
6426
7199
  # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
6427
7200
  # resp.distribution_list.items[0].default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -6471,6 +7244,7 @@ module Aws::CloudFront
6471
7244
  # resp.distribution_list.items[0].cache_behaviors.items[0].cache_policy_id #=> String
6472
7245
  # resp.distribution_list.items[0].cache_behaviors.items[0].origin_request_policy_id #=> String
6473
7246
  # resp.distribution_list.items[0].cache_behaviors.items[0].response_headers_policy_id #=> String
7247
+ # resp.distribution_list.items[0].cache_behaviors.items[0].grpc_config.enabled #=> Boolean
6474
7248
  # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
6475
7249
  # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
6476
7250
  # resp.distribution_list.items[0].cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -6512,6 +7286,7 @@ module Aws::CloudFront
6512
7286
  # resp.distribution_list.items[0].alias_icp_recordals[0].cname #=> String
6513
7287
  # resp.distribution_list.items[0].alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
6514
7288
  # resp.distribution_list.items[0].staging #=> Boolean
7289
+ # resp.distribution_list.items[0].anycast_ip_list_id #=> String
6515
7290
  #
6516
7291
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId AWS API Documentation
6517
7292
  #
@@ -7321,6 +8096,79 @@ module Aws::CloudFront
7321
8096
  req.send_request(options)
7322
8097
  end
7323
8098
 
8099
+ # List the CloudFront VPC origins in your account.
8100
+ #
8101
+ # @option params [String] :marker
8102
+ # The marker associated with the VPC origins list.
8103
+ #
8104
+ # @option params [Integer] :max_items
8105
+ # The maximum number of items included in the list.
8106
+ #
8107
+ # @return [Types::ListVpcOriginsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8108
+ #
8109
+ # * {Types::ListVpcOriginsResult#vpc_origin_list #vpc_origin_list} => Types::VpcOriginList
8110
+ #
8111
+ #
8112
+ # @example Example: To list VPC origins
8113
+ #
8114
+ # # The following command lists VPC origins:
8115
+ #
8116
+ # resp = client.list_vpc_origins({
8117
+ # })
8118
+ #
8119
+ # resp.to_h outputs the following:
8120
+ # {
8121
+ # vpc_origin_list: {
8122
+ # is_truncated: true,
8123
+ # items: [
8124
+ # {
8125
+ # arn: "arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM",
8126
+ # created_time: Time.parse("2024-10-15T17:19:42.318Z"),
8127
+ # id: "vo_BQwjxxQxjCaBcQLzJUFkDM",
8128
+ # last_modified_time: Time.parse("2024-10-15T17:24:35.188Z"),
8129
+ # name: "my-vpcorigin-name",
8130
+ # origin_endpoint_arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d",
8131
+ # status: "Deployed",
8132
+ # },
8133
+ # ],
8134
+ # marker: "a",
8135
+ # max_items: 100,
8136
+ # quantity: 1,
8137
+ # },
8138
+ # }
8139
+ #
8140
+ # @example Request syntax with placeholder values
8141
+ #
8142
+ # resp = client.list_vpc_origins({
8143
+ # marker: "string",
8144
+ # max_items: 1,
8145
+ # })
8146
+ #
8147
+ # @example Response structure
8148
+ #
8149
+ # resp.vpc_origin_list.marker #=> String
8150
+ # resp.vpc_origin_list.next_marker #=> String
8151
+ # resp.vpc_origin_list.max_items #=> Integer
8152
+ # resp.vpc_origin_list.is_truncated #=> Boolean
8153
+ # resp.vpc_origin_list.quantity #=> Integer
8154
+ # resp.vpc_origin_list.items #=> Array
8155
+ # resp.vpc_origin_list.items[0].id #=> String
8156
+ # resp.vpc_origin_list.items[0].name #=> String
8157
+ # resp.vpc_origin_list.items[0].status #=> String
8158
+ # resp.vpc_origin_list.items[0].created_time #=> Time
8159
+ # resp.vpc_origin_list.items[0].last_modified_time #=> Time
8160
+ # resp.vpc_origin_list.items[0].arn #=> String
8161
+ # resp.vpc_origin_list.items[0].origin_endpoint_arn #=> String
8162
+ #
8163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListVpcOrigins AWS API Documentation
8164
+ #
8165
+ # @overload list_vpc_origins(params = {})
8166
+ # @param [Hash] params ({})
8167
+ def list_vpc_origins(params = {}, options = {})
8168
+ req = build_request(:list_vpc_origins, params)
8169
+ req.send_request(options)
8170
+ end
8171
+
7324
8172
  # Publishes a CloudFront function by copying the function code from the
7325
8173
  # `DEVELOPMENT` stage to `LIVE`. This automatically updates all cache
7326
8174
  # behaviors that are using this function to use the newly published copy
@@ -7850,6 +8698,9 @@ module Aws::CloudFront
7850
8698
  # origin_read_timeout: 1,
7851
8699
  # origin_keepalive_timeout: 1,
7852
8700
  # },
8701
+ # vpc_origin_config: {
8702
+ # vpc_origin_id: "string", # required
8703
+ # },
7853
8704
  # connection_attempts: 1,
7854
8705
  # connection_timeout: 1,
7855
8706
  # origin_shield: {
@@ -7879,6 +8730,7 @@ module Aws::CloudFront
7879
8730
  # },
7880
8731
  # ],
7881
8732
  # },
8733
+ # selection_criteria: "default", # accepts default, media-quality-based
7882
8734
  # },
7883
8735
  # ],
7884
8736
  # },
@@ -7929,6 +8781,9 @@ module Aws::CloudFront
7929
8781
  # cache_policy_id: "string",
7930
8782
  # origin_request_policy_id: "string",
7931
8783
  # response_headers_policy_id: "string",
8784
+ # grpc_config: {
8785
+ # enabled: false, # required
8786
+ # },
7932
8787
  # forwarded_values: {
7933
8788
  # query_string: false, # required
7934
8789
  # cookies: { # required
@@ -8002,6 +8857,9 @@ module Aws::CloudFront
8002
8857
  # cache_policy_id: "string",
8003
8858
  # origin_request_policy_id: "string",
8004
8859
  # response_headers_policy_id: "string",
8860
+ # grpc_config: {
8861
+ # enabled: false, # required
8862
+ # },
8005
8863
  # forwarded_values: {
8006
8864
  # query_string: false, # required
8007
8865
  # cookies: { # required
@@ -8039,10 +8897,10 @@ module Aws::CloudFront
8039
8897
  # },
8040
8898
  # comment: "CommentType", # required
8041
8899
  # logging: {
8042
- # enabled: false, # required
8043
- # include_cookies: false, # required
8044
- # bucket: "string", # required
8045
- # prefix: "string", # required
8900
+ # enabled: false,
8901
+ # include_cookies: false,
8902
+ # bucket: "string",
8903
+ # prefix: "string",
8046
8904
  # },
8047
8905
  # price_class: "PriceClass_100", # accepts PriceClass_100, PriceClass_200, PriceClass_All
8048
8906
  # enabled: false, # required
@@ -8067,6 +8925,7 @@ module Aws::CloudFront
8067
8925
  # is_ipv6_enabled: false,
8068
8926
  # continuous_deployment_policy_id: "string",
8069
8927
  # staging: false,
8928
+ # anycast_ip_list_id: "string",
8070
8929
  # },
8071
8930
  # id: "string", # required
8072
8931
  # if_match: "string",
@@ -8117,6 +8976,7 @@ module Aws::CloudFront
8117
8976
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
8118
8977
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
8119
8978
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
8979
+ # resp.distribution.distribution_config.origins.items[0].vpc_origin_config.vpc_origin_id #=> String
8120
8980
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
8121
8981
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
8122
8982
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
@@ -8131,6 +8991,7 @@ module Aws::CloudFront
8131
8991
  # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
8132
8992
  # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
8133
8993
  # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
8994
+ # resp.distribution.distribution_config.origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
8134
8995
  # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
8135
8996
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
8136
8997
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -8163,6 +9024,7 @@ module Aws::CloudFront
8163
9024
  # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
8164
9025
  # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
8165
9026
  # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
9027
+ # resp.distribution.distribution_config.default_cache_behavior.grpc_config.enabled #=> Boolean
8166
9028
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
8167
9029
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
8168
9030
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -8212,6 +9074,7 @@ module Aws::CloudFront
8212
9074
  # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
8213
9075
  # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
8214
9076
  # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
9077
+ # resp.distribution.distribution_config.cache_behaviors.items[0].grpc_config.enabled #=> Boolean
8215
9078
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
8216
9079
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
8217
9080
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -8255,6 +9118,7 @@ module Aws::CloudFront
8255
9118
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
8256
9119
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
8257
9120
  # resp.distribution.distribution_config.staging #=> Boolean
9121
+ # resp.distribution.distribution_config.anycast_ip_list_id #=> String
8258
9122
  # resp.distribution.alias_icp_recordals #=> Array
8259
9123
  # resp.distribution.alias_icp_recordals[0].cname #=> String
8260
9124
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -8367,6 +9231,7 @@ module Aws::CloudFront
8367
9231
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
8368
9232
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_read_timeout #=> Integer
8369
9233
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
9234
+ # resp.distribution.distribution_config.origins.items[0].vpc_origin_config.vpc_origin_id #=> String
8370
9235
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
8371
9236
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
8372
9237
  # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
@@ -8381,6 +9246,7 @@ module Aws::CloudFront
8381
9246
  # resp.distribution.distribution_config.origin_groups.items[0].members.quantity #=> Integer
8382
9247
  # resp.distribution.distribution_config.origin_groups.items[0].members.items #=> Array
8383
9248
  # resp.distribution.distribution_config.origin_groups.items[0].members.items[0].origin_id #=> String
9249
+ # resp.distribution.distribution_config.origin_groups.items[0].selection_criteria #=> String, one of "default", "media-quality-based"
8384
9250
  # resp.distribution.distribution_config.default_cache_behavior.target_origin_id #=> String
8385
9251
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.enabled #=> Boolean
8386
9252
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
@@ -8413,6 +9279,7 @@ module Aws::CloudFront
8413
9279
  # resp.distribution.distribution_config.default_cache_behavior.cache_policy_id #=> String
8414
9280
  # resp.distribution.distribution_config.default_cache_behavior.origin_request_policy_id #=> String
8415
9281
  # resp.distribution.distribution_config.default_cache_behavior.response_headers_policy_id #=> String
9282
+ # resp.distribution.distribution_config.default_cache_behavior.grpc_config.enabled #=> Boolean
8416
9283
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.query_string #=> Boolean
8417
9284
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
8418
9285
  # resp.distribution.distribution_config.default_cache_behavior.forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -8462,6 +9329,7 @@ module Aws::CloudFront
8462
9329
  # resp.distribution.distribution_config.cache_behaviors.items[0].cache_policy_id #=> String
8463
9330
  # resp.distribution.distribution_config.cache_behaviors.items[0].origin_request_policy_id #=> String
8464
9331
  # resp.distribution.distribution_config.cache_behaviors.items[0].response_headers_policy_id #=> String
9332
+ # resp.distribution.distribution_config.cache_behaviors.items[0].grpc_config.enabled #=> Boolean
8465
9333
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.query_string #=> Boolean
8466
9334
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.forward #=> String, one of "none", "whitelist", "all"
8467
9335
  # resp.distribution.distribution_config.cache_behaviors.items[0].forwarded_values.cookies.whitelisted_names.quantity #=> Integer
@@ -8505,6 +9373,7 @@ module Aws::CloudFront
8505
9373
  # resp.distribution.distribution_config.is_ipv6_enabled #=> Boolean
8506
9374
  # resp.distribution.distribution_config.continuous_deployment_policy_id #=> String
8507
9375
  # resp.distribution.distribution_config.staging #=> Boolean
9376
+ # resp.distribution.distribution_config.anycast_ip_list_id #=> String
8508
9377
  # resp.distribution.alias_icp_recordals #=> Array
8509
9378
  # resp.distribution.alias_icp_recordals[0].cname #=> String
8510
9379
  # resp.distribution.alias_icp_recordals[0].icp_recordal_status #=> String, one of "APPROVED", "SUSPENDED", "PENDING"
@@ -9471,6 +10340,116 @@ module Aws::CloudFront
9471
10340
  req.send_request(options)
9472
10341
  end
9473
10342
 
10343
+ # Update an Amazon CloudFront VPC origin in your account.
10344
+ #
10345
+ # @option params [required, Types::VpcOriginEndpointConfig] :vpc_origin_endpoint_config
10346
+ # The VPC origin endpoint configuration.
10347
+ #
10348
+ # @option params [required, String] :id
10349
+ # The VPC origin ID.
10350
+ #
10351
+ # @option params [required, String] :if_match
10352
+ # The VPC origin to update, if a match occurs.
10353
+ #
10354
+ # @return [Types::UpdateVpcOriginResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10355
+ #
10356
+ # * {Types::UpdateVpcOriginResult#vpc_origin #vpc_origin} => Types::VpcOrigin
10357
+ # * {Types::UpdateVpcOriginResult#etag #etag} => String
10358
+ #
10359
+ #
10360
+ # @example Example: To update a VPC origin
10361
+ #
10362
+ # # The following command updates a VPC origin:
10363
+ #
10364
+ # resp = client.update_vpc_origin({
10365
+ # id: "vo_BQwjxxQxjCaBcQLzJUFkDM",
10366
+ # if_match: "ETVPDKIKX0DER",
10367
+ # vpc_origin_endpoint_config: {
10368
+ # arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d",
10369
+ # http_port: 80,
10370
+ # https_port: 443,
10371
+ # name: "my-vpcorigin-name",
10372
+ # origin_protocol_policy: "match-viewer",
10373
+ # origin_ssl_protocols: {
10374
+ # items: [
10375
+ # "TLSv1.1",
10376
+ # "TLSv1.2",
10377
+ # ],
10378
+ # quantity: 2,
10379
+ # },
10380
+ # },
10381
+ # })
10382
+ #
10383
+ # resp.to_h outputs the following:
10384
+ # {
10385
+ # etag: "E3UN6WX5RRO2AG",
10386
+ # vpc_origin: {
10387
+ # arn: "arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM",
10388
+ # created_time: Time.parse("2024-10-15T17:19:42.318Z"),
10389
+ # id: "vo_BQwjxxQxjCaBcQLzJUFkDM",
10390
+ # last_modified_time: Time.parse("2024-10-15T17:47:08.133Z"),
10391
+ # status: "Deploying",
10392
+ # vpc_origin_endpoint_config: {
10393
+ # arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d",
10394
+ # http_port: 80,
10395
+ # https_port: 443,
10396
+ # name: "my-vpcorigin-name",
10397
+ # origin_protocol_policy: "match-viewer",
10398
+ # origin_ssl_protocols: {
10399
+ # items: [
10400
+ # "TLSv1.1",
10401
+ # "TLSv1.2",
10402
+ # ],
10403
+ # quantity: 2,
10404
+ # },
10405
+ # },
10406
+ # },
10407
+ # }
10408
+ #
10409
+ # @example Request syntax with placeholder values
10410
+ #
10411
+ # resp = client.update_vpc_origin({
10412
+ # vpc_origin_endpoint_config: { # required
10413
+ # name: "string", # required
10414
+ # arn: "string", # required
10415
+ # http_port: 1, # required
10416
+ # https_port: 1, # required
10417
+ # origin_protocol_policy: "http-only", # required, accepts http-only, match-viewer, https-only
10418
+ # origin_ssl_protocols: {
10419
+ # quantity: 1, # required
10420
+ # items: ["SSLv3"], # required, accepts SSLv3, TLSv1, TLSv1.1, TLSv1.2
10421
+ # },
10422
+ # },
10423
+ # id: "string", # required
10424
+ # if_match: "string", # required
10425
+ # })
10426
+ #
10427
+ # @example Response structure
10428
+ #
10429
+ # resp.vpc_origin.id #=> String
10430
+ # resp.vpc_origin.arn #=> String
10431
+ # resp.vpc_origin.status #=> String
10432
+ # resp.vpc_origin.created_time #=> Time
10433
+ # resp.vpc_origin.last_modified_time #=> Time
10434
+ # resp.vpc_origin.vpc_origin_endpoint_config.name #=> String
10435
+ # resp.vpc_origin.vpc_origin_endpoint_config.arn #=> String
10436
+ # resp.vpc_origin.vpc_origin_endpoint_config.http_port #=> Integer
10437
+ # resp.vpc_origin.vpc_origin_endpoint_config.https_port #=> Integer
10438
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_protocol_policy #=> String, one of "http-only", "match-viewer", "https-only"
10439
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.quantity #=> Integer
10440
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.items #=> Array
10441
+ # resp.vpc_origin.vpc_origin_endpoint_config.origin_ssl_protocols.items[0] #=> String, one of "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
10442
+ # resp.etag #=> String
10443
+ #
10444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateVpcOrigin AWS API Documentation
10445
+ #
10446
+ # @overload update_vpc_origin(params = {})
10447
+ # @param [Hash] params ({})
10448
+ def update_vpc_origin(params = {}, options = {})
10449
+ req = build_request(:update_vpc_origin, params)
10450
+ req.send_request(options)
10451
+ end
10452
+
9474
10453
  # @!endgroup
9475
10454
 
9476
10455
  # @param params ({})
@@ -9489,7 +10468,7 @@ module Aws::CloudFront
9489
10468
  tracer: tracer
9490
10469
  )
9491
10470
  context[:gem_name] = 'aws-sdk-cloudfront'
9492
- context[:gem_version] = '1.105.0'
10471
+ context[:gem_version] = '1.107.0'
9493
10472
  Seahorse::Client::Request.new(handlers, context)
9494
10473
  end
9495
10474