aws-sdk-cloudfront 1.105.0 → 1.107.0

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