aws-sdk-cloudfront 1.43.0 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6674df385bd44d204d5776e46dd61fb5126a63268d2f8c06faa3e1ed605305fe
4
- data.tar.gz: 741482201bfbdf3874156aa58a4b176543f5f6deab054b5aae7fb72ef89197b4
3
+ metadata.gz: 9c4d72b5726feb822ee4e7208ac918541f668ea22efe1ea7c77b92408d50185f
4
+ data.tar.gz: 531eb624d76e8e6f8e45a00daa98a32f02215962f01ef054dcdaf693747138a3
5
5
  SHA512:
6
- metadata.gz: 985e57ff2c716b22badc05b6367071e9c41f9f21f95d5fc17c0d37d44b39acb03b40e350e05f9f5f2d5873b225bd666056a057a3a36f029d6b65192a84feb51f
7
- data.tar.gz: 1b1ccb62d9ab7c793da02cd0499e30dbcdc2996f9bc4b86ae6627c9f9a10d215062fe4ee2d377bdf79783419cef40a88e95fd12949ea974755c485574c8a8654
6
+ metadata.gz: 8889f11943e707983100d1b57923b40b83bdc029a430df27fbde93e403f396bf03cfc7aa29cb5b692f1fdf80456fde67eba3b98148b7bddebee93ea2cc2776ba
7
+ data.tar.gz: f5fc4c558e99029abe9735ccb8f2ca7581eff89de1746baa762c239e4ed43efe43c57123ff6f5f042554ce14082abf1d92b7eaafdf163f9155a3b8f9eb6041e5
@@ -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.43.0'
52
+ GEM_VERSION = '1.48.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.43.0'
6348
+ context[:gem_version] = '1.48.0'
5868
6349
  Seahorse::Client::Request.new(handlers, context)
5869
6350
  end
5870
6351