aws-sdk-cloudfront 1.42.0 → 1.47.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f38fa18b9d8845e479c8882b2bc44b295eeb6d34bbb26d773462caf49c74ee3
4
- data.tar.gz: d7c783e585883dcc2ff2ee32c52f38fdd8f7346ab3bc84abfe86ca38b24549f8
3
+ metadata.gz: 8e0b3ddf8f5d24e49a4108abc3e6bd2afa98371e7d4f30789d18c279038246ac
4
+ data.tar.gz: 5f3b3a94f77fa775d96800f6dbf2e9034dd466f2b5dfdcfb22b96d325530c658
5
5
  SHA512:
6
- metadata.gz: 5542e62b2ffa403179d4d527dcbad239265a68f9d46401ba3504f5f9c13343451001eac050cd66f5cfcbfb0c6d339e3a221b099a67cde6884ee819699b915433
7
- data.tar.gz: 78a7f8d89a945676e1e8049331e0686b05a8f51a321277c7ed7658a3db4d437b7aa8c9335c6ad1d3e745dcebee0f1c3d138ebd6bbf5b44737233a55208be32ed
6
+ metadata.gz: 508224f203fe3e8c16a216b14418d5cc6cdf838ff96397fb381153d9ec2af4679873c9be49151fe0a305be1a74a8ffc75d894b699dba5d73d540838e51160b92
7
+ data.tar.gz: '0696cdd60e8b0810cb2c391f93dd367b2b8a764b3358c1e9a7cf189f4b78e501d27e867087c2d06003142b764113b9af60b205aaf2d95ebf083abfb497111e92'
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-cloudfront/customizations'
49
49
  # @!group service
50
50
  module Aws::CloudFront
51
51
 
52
- GEM_VERSION = '1.42.0'
52
+ GEM_VERSION = '1.47.0'
53
53
 
54
54
  end
@@ -554,6 +554,10 @@ module Aws::CloudFront
554
554
  # },
555
555
  # connection_attempts: 1,
556
556
  # connection_timeout: 1,
557
+ # origin_shield: {
558
+ # enabled: false, # required
559
+ # origin_shield_region: "OriginShieldRegion",
560
+ # },
557
561
  # },
558
562
  # ],
559
563
  # },
@@ -581,7 +585,12 @@ module Aws::CloudFront
581
585
  # },
582
586
  # default_cache_behavior: { # required
583
587
  # target_origin_id: "string", # required
584
- # trusted_signers: { # required
588
+ # trusted_signers: {
589
+ # enabled: false, # required
590
+ # quantity: 1, # required
591
+ # items: ["string"],
592
+ # },
593
+ # trusted_key_groups: {
585
594
  # enabled: false, # required
586
595
  # quantity: 1, # required
587
596
  # items: ["string"],
@@ -639,7 +648,12 @@ module Aws::CloudFront
639
648
  # {
640
649
  # path_pattern: "string", # required
641
650
  # target_origin_id: "string", # required
642
- # trusted_signers: { # required
651
+ # trusted_signers: {
652
+ # enabled: false, # required
653
+ # quantity: 1, # required
654
+ # items: ["string"],
655
+ # },
656
+ # trusted_key_groups: {
643
657
  # enabled: false, # required
644
658
  # quantity: 1, # required
645
659
  # items: ["string"],
@@ -750,6 +764,13 @@ module Aws::CloudFront
750
764
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
751
765
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
752
766
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
767
+ # resp.distribution.active_trusted_key_groups.enabled #=> Boolean
768
+ # resp.distribution.active_trusted_key_groups.quantity #=> Integer
769
+ # resp.distribution.active_trusted_key_groups.items #=> Array
770
+ # resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
771
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
772
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
773
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items[0] #=> String
753
774
  # resp.distribution.distribution_config.caller_reference #=> String
754
775
  # resp.distribution.distribution_config.aliases.quantity #=> Integer
755
776
  # resp.distribution.distribution_config.aliases.items #=> Array
@@ -775,6 +796,8 @@ module Aws::CloudFront
775
796
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
776
797
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
777
798
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
799
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
800
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
778
801
  # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
779
802
  # resp.distribution.distribution_config.origin_groups.items #=> Array
780
803
  # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
@@ -789,6 +812,10 @@ module Aws::CloudFront
789
812
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
790
813
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
791
814
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
815
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.enabled #=> Boolean
816
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
817
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
818
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items[0] #=> String
792
819
  # resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
793
820
  # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
794
821
  # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
@@ -829,6 +856,10 @@ module Aws::CloudFront
829
856
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
830
857
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
831
858
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
859
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
860
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
861
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
862
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
832
863
  # resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
833
864
  # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
834
865
  # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
@@ -957,6 +988,10 @@ module Aws::CloudFront
957
988
  # },
958
989
  # connection_attempts: 1,
959
990
  # connection_timeout: 1,
991
+ # origin_shield: {
992
+ # enabled: false, # required
993
+ # origin_shield_region: "OriginShieldRegion",
994
+ # },
960
995
  # },
961
996
  # ],
962
997
  # },
@@ -984,7 +1019,12 @@ module Aws::CloudFront
984
1019
  # },
985
1020
  # default_cache_behavior: { # required
986
1021
  # target_origin_id: "string", # required
987
- # trusted_signers: { # required
1022
+ # trusted_signers: {
1023
+ # enabled: false, # required
1024
+ # quantity: 1, # required
1025
+ # items: ["string"],
1026
+ # },
1027
+ # trusted_key_groups: {
988
1028
  # enabled: false, # required
989
1029
  # quantity: 1, # required
990
1030
  # items: ["string"],
@@ -1042,7 +1082,12 @@ module Aws::CloudFront
1042
1082
  # {
1043
1083
  # path_pattern: "string", # required
1044
1084
  # target_origin_id: "string", # required
1045
- # trusted_signers: { # required
1085
+ # trusted_signers: {
1086
+ # enabled: false, # required
1087
+ # quantity: 1, # required
1088
+ # items: ["string"],
1089
+ # },
1090
+ # trusted_key_groups: {
1046
1091
  # enabled: false, # required
1047
1092
  # quantity: 1, # required
1048
1093
  # items: ["string"],
@@ -1162,6 +1207,13 @@ module Aws::CloudFront
1162
1207
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
1163
1208
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
1164
1209
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
1210
+ # resp.distribution.active_trusted_key_groups.enabled #=> Boolean
1211
+ # resp.distribution.active_trusted_key_groups.quantity #=> Integer
1212
+ # resp.distribution.active_trusted_key_groups.items #=> Array
1213
+ # resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
1214
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
1215
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
1216
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items[0] #=> String
1165
1217
  # resp.distribution.distribution_config.caller_reference #=> String
1166
1218
  # resp.distribution.distribution_config.aliases.quantity #=> Integer
1167
1219
  # resp.distribution.distribution_config.aliases.items #=> Array
@@ -1187,6 +1239,8 @@ module Aws::CloudFront
1187
1239
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
1188
1240
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
1189
1241
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
1242
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
1243
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
1190
1244
  # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
1191
1245
  # resp.distribution.distribution_config.origin_groups.items #=> Array
1192
1246
  # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
@@ -1201,6 +1255,10 @@ module Aws::CloudFront
1201
1255
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
1202
1256
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
1203
1257
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
1258
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.enabled #=> Boolean
1259
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
1260
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
1261
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items[0] #=> String
1204
1262
  # resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
1205
1263
  # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
1206
1264
  # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
@@ -1241,6 +1299,10 @@ module Aws::CloudFront
1241
1299
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
1242
1300
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
1243
1301
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
1302
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
1303
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
1304
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
1305
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
1244
1306
  # resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
1245
1307
  # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
1246
1308
  # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
@@ -1495,6 +1557,63 @@ module Aws::CloudFront
1495
1557
  req.send_request(options)
1496
1558
  end
1497
1559
 
1560
+ # Creates a key group that you can use with [CloudFront signed URLs and
1561
+ # signed cookies][1].
1562
+ #
1563
+ # To create a key group, you must specify at least one public key for
1564
+ # the key group. After you create a key group, you can reference it from
1565
+ # one or more cache behaviors. When you reference a key group in a cache
1566
+ # behavior, CloudFront requires signed URLs or signed cookies for all
1567
+ # requests that match the cache behavior. The URLs or cookies must be
1568
+ # signed with a private key whose corresponding public key is in the key
1569
+ # group. The signed URL or cookie contains information about which
1570
+ # public key CloudFront should use to verify the signature. For more
1571
+ # information, see [Serving private content][1] in the *Amazon
1572
+ # CloudFront Developer Guide*.
1573
+ #
1574
+ #
1575
+ #
1576
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
1577
+ #
1578
+ # @option params [required, Types::KeyGroupConfig] :key_group_config
1579
+ # A key group configuration.
1580
+ #
1581
+ # @return [Types::CreateKeyGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1582
+ #
1583
+ # * {Types::CreateKeyGroupResult#key_group #key_group} => Types::KeyGroup
1584
+ # * {Types::CreateKeyGroupResult#location #location} => String
1585
+ # * {Types::CreateKeyGroupResult#etag #etag} => String
1586
+ #
1587
+ # @example Request syntax with placeholder values
1588
+ #
1589
+ # resp = client.create_key_group({
1590
+ # key_group_config: { # required
1591
+ # name: "string", # required
1592
+ # items: ["string"], # required
1593
+ # comment: "string",
1594
+ # },
1595
+ # })
1596
+ #
1597
+ # @example Response structure
1598
+ #
1599
+ # resp.key_group.id #=> String
1600
+ # resp.key_group.last_modified_time #=> Time
1601
+ # resp.key_group.key_group_config.name #=> String
1602
+ # resp.key_group.key_group_config.items #=> Array
1603
+ # resp.key_group.key_group_config.items[0] #=> String
1604
+ # resp.key_group.key_group_config.comment #=> String
1605
+ # resp.location #=> String
1606
+ # resp.etag #=> String
1607
+ #
1608
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateKeyGroup2020_05_31 AWS API Documentation
1609
+ #
1610
+ # @overload create_key_group(params = {})
1611
+ # @param [Hash] params ({})
1612
+ def create_key_group(params = {}, options = {})
1613
+ req = build_request(:create_key_group, params)
1614
+ req.send_request(options)
1615
+ end
1616
+
1498
1617
  # Enables additional CloudWatch metrics for the specified CloudFront
1499
1618
  # distribution. The additional metrics incur an additional cost.
1500
1619
  #
@@ -1640,12 +1759,16 @@ module Aws::CloudFront
1640
1759
  req.send_request(options)
1641
1760
  end
1642
1761
 
1643
- # Add a new public key to CloudFront to use, for example, for
1644
- # field-level encryption. You can add a maximum of 10 public keys with
1645
- # one AWS account.
1762
+ # Uploads a public key to CloudFront that you can use with [signed URLs
1763
+ # and signed cookies][1], or with [field-level encryption][2].
1764
+ #
1765
+ #
1766
+ #
1767
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
1768
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html
1646
1769
  #
1647
1770
  # @option params [required, Types::PublicKeyConfig] :public_key_config
1648
- # The request to add a public key to CloudFront.
1771
+ # A CloudFront public key configuration.
1649
1772
  #
1650
1773
  # @return [Types::CreatePublicKeyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1651
1774
  #
@@ -1762,40 +1885,14 @@ module Aws::CloudFront
1762
1885
  req.send_request(options)
1763
1886
  end
1764
1887
 
1765
- # Creates a new RTMP distribution. An RTMP distribution is similar to a
1766
- # web distribution, but an RTMP distribution streams media files using
1767
- # the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files
1768
- # using HTTP.
1888
+ # This API is deprecated. Amazon CloudFront is deprecating real-time
1889
+ # messaging protocol (RTMP) distributions on December 31, 2020. For more
1890
+ # information, [read the announcement][1] on the Amazon CloudFront
1891
+ # discussion forum.
1769
1892
  #
1770
- # To create a new distribution, submit a `POST` request to the
1771
- # *CloudFront API version*/distribution resource. The request body must
1772
- # include a document with a *StreamingDistributionConfig* element. The
1773
- # response echoes the `StreamingDistributionConfig` element and returns
1774
- # other information about the RTMP distribution.
1775
1893
  #
1776
- # To get the status of your request, use the *GET StreamingDistribution*
1777
- # API action. When the value of `Enabled` is `true` and the value of
1778
- # `Status` is `Deployed`, your distribution is ready. A distribution
1779
- # usually deploys in less than 15 minutes.
1780
1894
  #
1781
- # For more information about web distributions, see [Working with RTMP
1782
- # Distributions][1] in the *Amazon CloudFront Developer Guide*.
1783
- #
1784
- # Beginning with the 2012-05-05 version of the CloudFront API, we made
1785
- # substantial changes to the format of the XML document that you include
1786
- # in the request body when you create or update a web distribution or an
1787
- # RTMP distribution, and when you invalidate objects. With previous
1788
- # versions of the API, we discovered that it was too easy to
1789
- # accidentally delete one or more values for an element that accepts
1790
- # multiple values, for example, CNAMEs and trusted signers. Our changes
1791
- # for the 2012-05-05 release are intended to prevent these accidental
1792
- # deletions and to notify you when there's a mismatch between the
1793
- # number of values you say you're specifying in the `Quantity` element
1794
- # and the number of values specified.
1795
- #
1796
- #
1797
- #
1798
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp.html
1895
+ # [1]: http://forums.aws.amazon.com/ann.jspa?annID=7356
1799
1896
  #
1800
1897
  # @option params [required, Types::StreamingDistributionConfig] :streaming_distribution_config
1801
1898
  # The streaming distribution's configuration information.
@@ -1877,7 +1974,14 @@ module Aws::CloudFront
1877
1974
  req.send_request(options)
1878
1975
  end
1879
1976
 
1880
- # Create a new streaming distribution with tags.
1977
+ # This API is deprecated. Amazon CloudFront is deprecating real-time
1978
+ # messaging protocol (RTMP) distributions on December 31, 2020. For more
1979
+ # information, [read the announcement][1] on the Amazon CloudFront
1980
+ # discussion forum.
1981
+ #
1982
+ #
1983
+ #
1984
+ # [1]: http://forums.aws.amazon.com/ann.jspa?annID=7356
1881
1985
  #
1882
1986
  # @option params [required, Types::StreamingDistributionConfigWithTags] :streaming_distribution_config_with_tags
1883
1987
  # The streaming distribution's configuration information.
@@ -2114,6 +2218,43 @@ module Aws::CloudFront
2114
2218
  req.send_request(options)
2115
2219
  end
2116
2220
 
2221
+ # Deletes a key group.
2222
+ #
2223
+ # You cannot delete a key group that is referenced in a cache behavior.
2224
+ # First update your distributions to remove the key group from all cache
2225
+ # behaviors, then delete the key group.
2226
+ #
2227
+ # To delete a key group, you must provide the key group’s identifier and
2228
+ # version. To get these values, use `ListKeyGroups` followed by
2229
+ # `GetKeyGroup` or `GetKeyGroupConfig`.
2230
+ #
2231
+ # @option params [required, String] :id
2232
+ # The identifier of the key group that you are deleting. To get the
2233
+ # identifier, use `ListKeyGroups`.
2234
+ #
2235
+ # @option params [String] :if_match
2236
+ # The version of the key group that you are deleting. The version is the
2237
+ # key group’s `ETag` value. To get the `ETag`, use `GetKeyGroup` or
2238
+ # `GetKeyGroupConfig`.
2239
+ #
2240
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2241
+ #
2242
+ # @example Request syntax with placeholder values
2243
+ #
2244
+ # resp = client.delete_key_group({
2245
+ # id: "string", # required
2246
+ # if_match: "string",
2247
+ # })
2248
+ #
2249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteKeyGroup2020_05_31 AWS API Documentation
2250
+ #
2251
+ # @overload delete_key_group(params = {})
2252
+ # @param [Hash] params ({})
2253
+ def delete_key_group(params = {}, options = {})
2254
+ req = build_request(:delete_key_group, params)
2255
+ req.send_request(options)
2256
+ end
2257
+
2117
2258
  # Disables additional CloudWatch metrics for the specified CloudFront
2118
2259
  # distribution.
2119
2260
  #
@@ -2530,6 +2671,13 @@ module Aws::CloudFront
2530
2671
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
2531
2672
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
2532
2673
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
2674
+ # resp.distribution.active_trusted_key_groups.enabled #=> Boolean
2675
+ # resp.distribution.active_trusted_key_groups.quantity #=> Integer
2676
+ # resp.distribution.active_trusted_key_groups.items #=> Array
2677
+ # resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
2678
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
2679
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
2680
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items[0] #=> String
2533
2681
  # resp.distribution.distribution_config.caller_reference #=> String
2534
2682
  # resp.distribution.distribution_config.aliases.quantity #=> Integer
2535
2683
  # resp.distribution.distribution_config.aliases.items #=> Array
@@ -2555,6 +2703,8 @@ module Aws::CloudFront
2555
2703
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
2556
2704
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
2557
2705
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
2706
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
2707
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
2558
2708
  # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
2559
2709
  # resp.distribution.distribution_config.origin_groups.items #=> Array
2560
2710
  # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
@@ -2569,6 +2719,10 @@ module Aws::CloudFront
2569
2719
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
2570
2720
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
2571
2721
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
2722
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.enabled #=> Boolean
2723
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
2724
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
2725
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items[0] #=> String
2572
2726
  # resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
2573
2727
  # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
2574
2728
  # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
@@ -2609,6 +2763,10 @@ module Aws::CloudFront
2609
2763
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
2610
2764
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
2611
2765
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
2766
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
2767
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
2768
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
2769
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
2612
2770
  # resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
2613
2771
  # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
2614
2772
  # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
@@ -2731,6 +2889,8 @@ module Aws::CloudFront
2731
2889
  # resp.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
2732
2890
  # resp.distribution_config.origins.items[0].connection_attempts #=> Integer
2733
2891
  # resp.distribution_config.origins.items[0].connection_timeout #=> Integer
2892
+ # resp.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
2893
+ # resp.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
2734
2894
  # resp.distribution_config.origin_groups.quantity #=> Integer
2735
2895
  # resp.distribution_config.origin_groups.items #=> Array
2736
2896
  # resp.distribution_config.origin_groups.items[0].id #=> String
@@ -2745,6 +2905,10 @@ module Aws::CloudFront
2745
2905
  # resp.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
2746
2906
  # resp.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
2747
2907
  # resp.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
2908
+ # resp.distribution_config.default_cache_behavior.trusted_key_groups.enabled #=> Boolean
2909
+ # resp.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
2910
+ # resp.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
2911
+ # resp.distribution_config.default_cache_behavior.trusted_key_groups.items[0] #=> String
2748
2912
  # resp.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
2749
2913
  # resp.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
2750
2914
  # resp.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
@@ -2785,6 +2949,10 @@ module Aws::CloudFront
2785
2949
  # resp.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
2786
2950
  # resp.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
2787
2951
  # resp.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
2952
+ # resp.distribution_config.cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
2953
+ # resp.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
2954
+ # resp.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
2955
+ # resp.distribution_config.cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
2788
2956
  # resp.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
2789
2957
  # resp.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
2790
2958
  # resp.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
@@ -3068,6 +3236,90 @@ module Aws::CloudFront
3068
3236
  req.send_request(options)
3069
3237
  end
3070
3238
 
3239
+ # Gets a key group, including the date and time when the key group was
3240
+ # last modified.
3241
+ #
3242
+ # To get a key group, you must provide the key group’s identifier. If
3243
+ # the key group is referenced in a distribution’s cache behavior, you
3244
+ # can get the key group’s identifier using `ListDistributions` or
3245
+ # `GetDistribution`. If the key group is not referenced in a cache
3246
+ # behavior, you can get the identifier using `ListKeyGroups`.
3247
+ #
3248
+ # @option params [required, String] :id
3249
+ # The identifier of the key group that you are getting. To get the
3250
+ # identifier, use `ListKeyGroups`.
3251
+ #
3252
+ # @return [Types::GetKeyGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3253
+ #
3254
+ # * {Types::GetKeyGroupResult#key_group #key_group} => Types::KeyGroup
3255
+ # * {Types::GetKeyGroupResult#etag #etag} => String
3256
+ #
3257
+ # @example Request syntax with placeholder values
3258
+ #
3259
+ # resp = client.get_key_group({
3260
+ # id: "string", # required
3261
+ # })
3262
+ #
3263
+ # @example Response structure
3264
+ #
3265
+ # resp.key_group.id #=> String
3266
+ # resp.key_group.last_modified_time #=> Time
3267
+ # resp.key_group.key_group_config.name #=> String
3268
+ # resp.key_group.key_group_config.items #=> Array
3269
+ # resp.key_group.key_group_config.items[0] #=> String
3270
+ # resp.key_group.key_group_config.comment #=> String
3271
+ # resp.etag #=> String
3272
+ #
3273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroup2020_05_31 AWS API Documentation
3274
+ #
3275
+ # @overload get_key_group(params = {})
3276
+ # @param [Hash] params ({})
3277
+ def get_key_group(params = {}, options = {})
3278
+ req = build_request(:get_key_group, params)
3279
+ req.send_request(options)
3280
+ end
3281
+
3282
+ # Gets a key group configuration.
3283
+ #
3284
+ # To get a key group configuration, you must provide the key group’s
3285
+ # identifier. If the key group is referenced in a distribution’s cache
3286
+ # behavior, you can get the key group’s identifier using
3287
+ # `ListDistributions` or `GetDistribution`. If the key group is not
3288
+ # referenced in a cache behavior, you can get the identifier using
3289
+ # `ListKeyGroups`.
3290
+ #
3291
+ # @option params [required, String] :id
3292
+ # The identifier of the key group whose configuration you are getting.
3293
+ # To get the identifier, use `ListKeyGroups`.
3294
+ #
3295
+ # @return [Types::GetKeyGroupConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3296
+ #
3297
+ # * {Types::GetKeyGroupConfigResult#key_group_config #key_group_config} => Types::KeyGroupConfig
3298
+ # * {Types::GetKeyGroupConfigResult#etag #etag} => String
3299
+ #
3300
+ # @example Request syntax with placeholder values
3301
+ #
3302
+ # resp = client.get_key_group_config({
3303
+ # id: "string", # required
3304
+ # })
3305
+ #
3306
+ # @example Response structure
3307
+ #
3308
+ # resp.key_group_config.name #=> String
3309
+ # resp.key_group_config.items #=> Array
3310
+ # resp.key_group_config.items[0] #=> String
3311
+ # resp.key_group_config.comment #=> String
3312
+ # resp.etag #=> String
3313
+ #
3314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroupConfig2020_05_31 AWS API Documentation
3315
+ #
3316
+ # @overload get_key_group_config(params = {})
3317
+ # @param [Hash] params ({})
3318
+ def get_key_group_config(params = {}, options = {})
3319
+ req = build_request(:get_key_group_config, params)
3320
+ req.send_request(options)
3321
+ end
3322
+
3071
3323
  # Gets information about whether additional CloudWatch metrics are
3072
3324
  # enabled for the specified CloudFront distribution.
3073
3325
  #
@@ -3214,10 +3466,10 @@ module Aws::CloudFront
3214
3466
  req.send_request(options)
3215
3467
  end
3216
3468
 
3217
- # Get the public key information.
3469
+ # Gets a public key.
3218
3470
  #
3219
3471
  # @option params [required, String] :id
3220
- # Request the ID for the public key.
3472
+ # The identifier of the public key you are getting.
3221
3473
  #
3222
3474
  # @return [Types::GetPublicKeyResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3223
3475
  #
@@ -3249,10 +3501,10 @@ module Aws::CloudFront
3249
3501
  req.send_request(options)
3250
3502
  end
3251
3503
 
3252
- # Return public key configuration informaation
3504
+ # Gets a public key configuration.
3253
3505
  #
3254
3506
  # @option params [required, String] :id
3255
- # Request the ID for the public key configuration.
3507
+ # The identifier of the public key whose configuration you are getting.
3256
3508
  #
3257
3509
  # @return [Types::GetPublicKeyConfigResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3258
3510
  #
@@ -3627,6 +3879,8 @@ module Aws::CloudFront
3627
3879
  # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
3628
3880
  # resp.distribution_list.items[0].origins.items[0].connection_attempts #=> Integer
3629
3881
  # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
3882
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
3883
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
3630
3884
  # resp.distribution_list.items[0].origin_groups.quantity #=> Integer
3631
3885
  # resp.distribution_list.items[0].origin_groups.items #=> Array
3632
3886
  # resp.distribution_list.items[0].origin_groups.items[0].id #=> String
@@ -3641,6 +3895,10 @@ module Aws::CloudFront
3641
3895
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
3642
3896
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items #=> Array
3643
3897
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items[0] #=> String
3898
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.enabled #=> Boolean
3899
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.quantity #=> Integer
3900
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items #=> Array
3901
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items[0] #=> String
3644
3902
  # resp.distribution_list.items[0].default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
3645
3903
  # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.quantity #=> Integer
3646
3904
  # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items #=> Array
@@ -3681,6 +3939,10 @@ module Aws::CloudFront
3681
3939
  # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.quantity #=> Integer
3682
3940
  # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items #=> Array
3683
3941
  # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items[0] #=> String
3942
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
3943
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
3944
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items #=> Array
3945
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
3684
3946
  # resp.distribution_list.items[0].cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
3685
3947
  # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.quantity #=> Integer
3686
3948
  # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items #=> Array
@@ -3804,6 +4066,61 @@ module Aws::CloudFront
3804
4066
  req.send_request(options)
3805
4067
  end
3806
4068
 
4069
+ # Gets a list of distribution IDs for distributions that have a cache
4070
+ # behavior that references the specified key group.
4071
+ #
4072
+ # You can optionally specify the maximum number of items to receive in
4073
+ # the response. If the total number of items in the list exceeds the
4074
+ # maximum that you specify, or the default maximum, the response is
4075
+ # paginated. To get the next page of items, send a subsequent request
4076
+ # that specifies the `NextMarker` value from the current response as the
4077
+ # `Marker` value in the subsequent request.
4078
+ #
4079
+ # @option params [String] :marker
4080
+ # Use this field when paginating results to indicate where to begin in
4081
+ # your list of distribution IDs. The response includes distribution IDs
4082
+ # in the list that occur after the marker. To get the next page of the
4083
+ # list, set this field’s value to the value of `NextMarker` from the
4084
+ # current page’s response.
4085
+ #
4086
+ # @option params [Integer] :max_items
4087
+ # The maximum number of distribution IDs that you want in the response.
4088
+ #
4089
+ # @option params [required, String] :key_group_id
4090
+ # The ID of the key group whose associated distribution IDs you are
4091
+ # listing.
4092
+ #
4093
+ # @return [Types::ListDistributionsByKeyGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4094
+ #
4095
+ # * {Types::ListDistributionsByKeyGroupResult#distribution_id_list #distribution_id_list} => Types::DistributionIdList
4096
+ #
4097
+ # @example Request syntax with placeholder values
4098
+ #
4099
+ # resp = client.list_distributions_by_key_group({
4100
+ # marker: "string",
4101
+ # max_items: 1,
4102
+ # key_group_id: "string", # required
4103
+ # })
4104
+ #
4105
+ # @example Response structure
4106
+ #
4107
+ # resp.distribution_id_list.marker #=> String
4108
+ # resp.distribution_id_list.next_marker #=> String
4109
+ # resp.distribution_id_list.max_items #=> Integer
4110
+ # resp.distribution_id_list.is_truncated #=> Boolean
4111
+ # resp.distribution_id_list.quantity #=> Integer
4112
+ # resp.distribution_id_list.items #=> Array
4113
+ # resp.distribution_id_list.items[0] #=> String
4114
+ #
4115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByKeyGroup2020_05_31 AWS API Documentation
4116
+ #
4117
+ # @overload list_distributions_by_key_group(params = {})
4118
+ # @param [Hash] params ({})
4119
+ def list_distributions_by_key_group(params = {}, options = {})
4120
+ req = build_request(:list_distributions_by_key_group, params)
4121
+ req.send_request(options)
4122
+ end
4123
+
3807
4124
  # Gets a list of distribution IDs for distributions that have a cache
3808
4125
  # behavior that’s associated with the specified origin request policy.
3809
4126
  #
@@ -3941,6 +4258,8 @@ module Aws::CloudFront
3941
4258
  # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
3942
4259
  # resp.distribution_list.items[0].origins.items[0].connection_attempts #=> Integer
3943
4260
  # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
4261
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
4262
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
3944
4263
  # resp.distribution_list.items[0].origin_groups.quantity #=> Integer
3945
4264
  # resp.distribution_list.items[0].origin_groups.items #=> Array
3946
4265
  # resp.distribution_list.items[0].origin_groups.items[0].id #=> String
@@ -3955,6 +4274,10 @@ module Aws::CloudFront
3955
4274
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
3956
4275
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items #=> Array
3957
4276
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items[0] #=> String
4277
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.enabled #=> Boolean
4278
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.quantity #=> Integer
4279
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items #=> Array
4280
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items[0] #=> String
3958
4281
  # resp.distribution_list.items[0].default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
3959
4282
  # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.quantity #=> Integer
3960
4283
  # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items #=> Array
@@ -3995,6 +4318,10 @@ module Aws::CloudFront
3995
4318
  # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.quantity #=> Integer
3996
4319
  # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items #=> Array
3997
4320
  # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items[0] #=> String
4321
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
4322
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
4323
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items #=> Array
4324
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
3998
4325
  # resp.distribution_list.items[0].cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
3999
4326
  # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.quantity #=> Integer
4000
4327
  # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items #=> Array
@@ -4131,6 +4458,8 @@ module Aws::CloudFront
4131
4458
  # resp.distribution_list.items[0].origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
4132
4459
  # resp.distribution_list.items[0].origins.items[0].connection_attempts #=> Integer
4133
4460
  # resp.distribution_list.items[0].origins.items[0].connection_timeout #=> Integer
4461
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.enabled #=> Boolean
4462
+ # resp.distribution_list.items[0].origins.items[0].origin_shield.origin_shield_region #=> String
4134
4463
  # resp.distribution_list.items[0].origin_groups.quantity #=> Integer
4135
4464
  # resp.distribution_list.items[0].origin_groups.items #=> Array
4136
4465
  # resp.distribution_list.items[0].origin_groups.items[0].id #=> String
@@ -4145,6 +4474,10 @@ module Aws::CloudFront
4145
4474
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.quantity #=> Integer
4146
4475
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items #=> Array
4147
4476
  # resp.distribution_list.items[0].default_cache_behavior.trusted_signers.items[0] #=> String
4477
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.enabled #=> Boolean
4478
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.quantity #=> Integer
4479
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items #=> Array
4480
+ # resp.distribution_list.items[0].default_cache_behavior.trusted_key_groups.items[0] #=> String
4148
4481
  # resp.distribution_list.items[0].default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
4149
4482
  # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.quantity #=> Integer
4150
4483
  # resp.distribution_list.items[0].default_cache_behavior.allowed_methods.items #=> Array
@@ -4185,6 +4518,10 @@ module Aws::CloudFront
4185
4518
  # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.quantity #=> Integer
4186
4519
  # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items #=> Array
4187
4520
  # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_signers.items[0] #=> String
4521
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
4522
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
4523
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items #=> Array
4524
+ # resp.distribution_list.items[0].cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
4188
4525
  # resp.distribution_list.items[0].cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
4189
4526
  # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.quantity #=> Integer
4190
4527
  # resp.distribution_list.items[0].cache_behaviors.items[0].allowed_methods.items #=> Array
@@ -4415,6 +4752,58 @@ module Aws::CloudFront
4415
4752
  req.send_request(options)
4416
4753
  end
4417
4754
 
4755
+ # Gets a list of key groups.
4756
+ #
4757
+ # You can optionally specify the maximum number of items to receive in
4758
+ # the response. If the total number of items in the list exceeds the
4759
+ # maximum that you specify, or the default maximum, the response is
4760
+ # paginated. To get the next page of items, send a subsequent request
4761
+ # that specifies the `NextMarker` value from the current response as the
4762
+ # `Marker` value in the subsequent request.
4763
+ #
4764
+ # @option params [String] :marker
4765
+ # Use this field when paginating results to indicate where to begin in
4766
+ # your list of key groups. The response includes key groups in the list
4767
+ # that occur after the marker. To get the next page of the list, set
4768
+ # this field’s value to the value of `NextMarker` from the current
4769
+ # page’s response.
4770
+ #
4771
+ # @option params [Integer] :max_items
4772
+ # The maximum number of key groups that you want in the response.
4773
+ #
4774
+ # @return [Types::ListKeyGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4775
+ #
4776
+ # * {Types::ListKeyGroupsResult#key_group_list #key_group_list} => Types::KeyGroupList
4777
+ #
4778
+ # @example Request syntax with placeholder values
4779
+ #
4780
+ # resp = client.list_key_groups({
4781
+ # marker: "string",
4782
+ # max_items: 1,
4783
+ # })
4784
+ #
4785
+ # @example Response structure
4786
+ #
4787
+ # resp.key_group_list.next_marker #=> String
4788
+ # resp.key_group_list.max_items #=> Integer
4789
+ # resp.key_group_list.quantity #=> Integer
4790
+ # resp.key_group_list.items #=> Array
4791
+ # resp.key_group_list.items[0].key_group.id #=> String
4792
+ # resp.key_group_list.items[0].key_group.last_modified_time #=> Time
4793
+ # resp.key_group_list.items[0].key_group.key_group_config.name #=> String
4794
+ # resp.key_group_list.items[0].key_group.key_group_config.items #=> Array
4795
+ # resp.key_group_list.items[0].key_group.key_group_config.items[0] #=> String
4796
+ # resp.key_group_list.items[0].key_group.key_group_config.comment #=> String
4797
+ #
4798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListKeyGroups2020_05_31 AWS API Documentation
4799
+ #
4800
+ # @overload list_key_groups(params = {})
4801
+ # @param [Hash] params ({})
4802
+ def list_key_groups(params = {}, options = {})
4803
+ req = build_request(:list_key_groups, params)
4804
+ req.send_request(options)
4805
+ end
4806
+
4418
4807
  # Gets a list of origin request policies.
4419
4808
  #
4420
4809
  # You can optionally apply a filter to return only the managed policies
@@ -5028,6 +5417,10 @@ module Aws::CloudFront
5028
5417
  # },
5029
5418
  # connection_attempts: 1,
5030
5419
  # connection_timeout: 1,
5420
+ # origin_shield: {
5421
+ # enabled: false, # required
5422
+ # origin_shield_region: "OriginShieldRegion",
5423
+ # },
5031
5424
  # },
5032
5425
  # ],
5033
5426
  # },
@@ -5055,7 +5448,12 @@ module Aws::CloudFront
5055
5448
  # },
5056
5449
  # default_cache_behavior: { # required
5057
5450
  # target_origin_id: "string", # required
5058
- # trusted_signers: { # required
5451
+ # trusted_signers: {
5452
+ # enabled: false, # required
5453
+ # quantity: 1, # required
5454
+ # items: ["string"],
5455
+ # },
5456
+ # trusted_key_groups: {
5059
5457
  # enabled: false, # required
5060
5458
  # quantity: 1, # required
5061
5459
  # items: ["string"],
@@ -5113,7 +5511,12 @@ module Aws::CloudFront
5113
5511
  # {
5114
5512
  # path_pattern: "string", # required
5115
5513
  # target_origin_id: "string", # required
5116
- # trusted_signers: { # required
5514
+ # trusted_signers: {
5515
+ # enabled: false, # required
5516
+ # quantity: 1, # required
5517
+ # items: ["string"],
5518
+ # },
5519
+ # trusted_key_groups: {
5117
5520
  # enabled: false, # required
5118
5521
  # quantity: 1, # required
5119
5522
  # items: ["string"],
@@ -5226,6 +5629,13 @@ module Aws::CloudFront
5226
5629
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.quantity #=> Integer
5227
5630
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items #=> Array
5228
5631
  # resp.distribution.active_trusted_signers.items[0].key_pair_ids.items[0] #=> String
5632
+ # resp.distribution.active_trusted_key_groups.enabled #=> Boolean
5633
+ # resp.distribution.active_trusted_key_groups.quantity #=> Integer
5634
+ # resp.distribution.active_trusted_key_groups.items #=> Array
5635
+ # resp.distribution.active_trusted_key_groups.items[0].key_group_id #=> String
5636
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.quantity #=> Integer
5637
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items #=> Array
5638
+ # resp.distribution.active_trusted_key_groups.items[0].key_pair_ids.items[0] #=> String
5229
5639
  # resp.distribution.distribution_config.caller_reference #=> String
5230
5640
  # resp.distribution.distribution_config.aliases.quantity #=> Integer
5231
5641
  # resp.distribution.distribution_config.aliases.items #=> Array
@@ -5251,6 +5661,8 @@ module Aws::CloudFront
5251
5661
  # resp.distribution.distribution_config.origins.items[0].custom_origin_config.origin_keepalive_timeout #=> Integer
5252
5662
  # resp.distribution.distribution_config.origins.items[0].connection_attempts #=> Integer
5253
5663
  # resp.distribution.distribution_config.origins.items[0].connection_timeout #=> Integer
5664
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.enabled #=> Boolean
5665
+ # resp.distribution.distribution_config.origins.items[0].origin_shield.origin_shield_region #=> String
5254
5666
  # resp.distribution.distribution_config.origin_groups.quantity #=> Integer
5255
5667
  # resp.distribution.distribution_config.origin_groups.items #=> Array
5256
5668
  # resp.distribution.distribution_config.origin_groups.items[0].id #=> String
@@ -5265,6 +5677,10 @@ module Aws::CloudFront
5265
5677
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.quantity #=> Integer
5266
5678
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items #=> Array
5267
5679
  # resp.distribution.distribution_config.default_cache_behavior.trusted_signers.items[0] #=> String
5680
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.enabled #=> Boolean
5681
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.quantity #=> Integer
5682
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items #=> Array
5683
+ # resp.distribution.distribution_config.default_cache_behavior.trusted_key_groups.items[0] #=> String
5268
5684
  # resp.distribution.distribution_config.default_cache_behavior.viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
5269
5685
  # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.quantity #=> Integer
5270
5686
  # resp.distribution.distribution_config.default_cache_behavior.allowed_methods.items #=> Array
@@ -5305,6 +5721,10 @@ module Aws::CloudFront
5305
5721
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.quantity #=> Integer
5306
5722
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items #=> Array
5307
5723
  # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_signers.items[0] #=> String
5724
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.enabled #=> Boolean
5725
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.quantity #=> Integer
5726
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items #=> Array
5727
+ # resp.distribution.distribution_config.cache_behaviors.items[0].trusted_key_groups.items[0] #=> String
5308
5728
  # resp.distribution.distribution_config.cache_behaviors.items[0].viewer_protocol_policy #=> String, one of "allow-all", "https-only", "redirect-to-https"
5309
5729
  # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.quantity #=> Integer
5310
5730
  # resp.distribution.distribution_config.cache_behaviors.items[0].allowed_methods.items #=> Array
@@ -5526,6 +5946,67 @@ module Aws::CloudFront
5526
5946
  req.send_request(options)
5527
5947
  end
5528
5948
 
5949
+ # Updates a key group.
5950
+ #
5951
+ # When you update a key group, all the fields are updated with the
5952
+ # values provided in the request. You cannot update some fields
5953
+ # independent of others. To update a key group:
5954
+ #
5955
+ # 1. Get the current key group with `GetKeyGroup` or
5956
+ # `GetKeyGroupConfig`.
5957
+ #
5958
+ # 2. Locally modify the fields in the key group that you want to
5959
+ # update. For example, add or remove public key IDs.
5960
+ #
5961
+ # 3. Call `UpdateKeyGroup` with the entire key group object, including
5962
+ # the fields that you modified and those that you didn’t.
5963
+ #
5964
+ # @option params [required, Types::KeyGroupConfig] :key_group_config
5965
+ # The key group configuration.
5966
+ #
5967
+ # @option params [required, String] :id
5968
+ # The identifier of the key group that you are updating.
5969
+ #
5970
+ # @option params [String] :if_match
5971
+ # The version of the key group that you are updating. The version is the
5972
+ # key group’s `ETag` value.
5973
+ #
5974
+ # @return [Types::UpdateKeyGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5975
+ #
5976
+ # * {Types::UpdateKeyGroupResult#key_group #key_group} => Types::KeyGroup
5977
+ # * {Types::UpdateKeyGroupResult#etag #etag} => String
5978
+ #
5979
+ # @example Request syntax with placeholder values
5980
+ #
5981
+ # resp = client.update_key_group({
5982
+ # key_group_config: { # required
5983
+ # name: "string", # required
5984
+ # items: ["string"], # required
5985
+ # comment: "string",
5986
+ # },
5987
+ # id: "string", # required
5988
+ # if_match: "string",
5989
+ # })
5990
+ #
5991
+ # @example Response structure
5992
+ #
5993
+ # resp.key_group.id #=> String
5994
+ # resp.key_group.last_modified_time #=> Time
5995
+ # resp.key_group.key_group_config.name #=> String
5996
+ # resp.key_group.key_group_config.items #=> Array
5997
+ # resp.key_group.key_group_config.items[0] #=> String
5998
+ # resp.key_group.key_group_config.comment #=> String
5999
+ # resp.etag #=> String
6000
+ #
6001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateKeyGroup2020_05_31 AWS API Documentation
6002
+ #
6003
+ # @overload update_key_group(params = {})
6004
+ # @param [Hash] params ({})
6005
+ def update_key_group(params = {}, options = {})
6006
+ req = build_request(:update_key_group, params)
6007
+ req.send_request(options)
6008
+ end
6009
+
5529
6010
  # Updates an origin request policy configuration.
5530
6011
  #
5531
6012
  # When you update an origin request policy configuration, all the fields
@@ -5627,10 +6108,10 @@ module Aws::CloudFront
5627
6108
  # is the comment.
5628
6109
  #
5629
6110
  # @option params [required, Types::PublicKeyConfig] :public_key_config
5630
- # Request to update public key information.
6111
+ # A public key configuration.
5631
6112
  #
5632
6113
  # @option params [required, String] :id
5633
- # ID of the public key to be updated.
6114
+ # The identifier of the public key that you are updating.
5634
6115
  #
5635
6116
  # @option params [String] :if_match
5636
6117
  # The value of the `ETag` header that you received when retrieving the
@@ -5864,7 +6345,7 @@ module Aws::CloudFront
5864
6345
  params: params,
5865
6346
  config: config)
5866
6347
  context[:gem_name] = 'aws-sdk-cloudfront'
5867
- context[:gem_version] = '1.42.0'
6348
+ context[:gem_version] = '1.47.0'
5868
6349
  Seahorse::Client::Request.new(handlers, context)
5869
6350
  end
5870
6351