aws-sdk-cloudfront 1.35.0 → 1.39.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.
@@ -3,7 +3,6 @@
3
3
  require 'base64'
4
4
  require 'uri'
5
5
  require 'time'
6
- require 'json'
7
6
  require 'openssl'
8
7
 
9
8
  module Aws
@@ -79,6 +79,7 @@ module Aws::CloudFront
79
79
  # * {NoSuchOrigin}
80
80
  # * {NoSuchOriginRequestPolicy}
81
81
  # * {NoSuchPublicKey}
82
+ # * {NoSuchRealtimeLogConfig}
82
83
  # * {NoSuchResource}
83
84
  # * {NoSuchStreamingDistribution}
84
85
  # * {OriginRequestPolicyAlreadyExists}
@@ -87,6 +88,8 @@ module Aws::CloudFront
87
88
  # * {PublicKeyAlreadyExists}
88
89
  # * {PublicKeyInUse}
89
90
  # * {QueryArgProfileEmpty}
91
+ # * {RealtimeLogConfigAlreadyExists}
92
+ # * {RealtimeLogConfigInUse}
90
93
  # * {StreamingDistributionAlreadyExists}
91
94
  # * {StreamingDistributionNotDisabled}
92
95
  # * {TooManyCacheBehaviors}
@@ -122,6 +125,7 @@ module Aws::CloudFront
122
125
  # * {TooManyQueryStringParameters}
123
126
  # * {TooManyQueryStringsInCachePolicy}
124
127
  # * {TooManyQueryStringsInOriginRequestPolicy}
128
+ # * {TooManyRealtimeLogConfigs}
125
129
  # * {TooManyStreamingDistributionCNAMEs}
126
130
  # * {TooManyStreamingDistributions}
127
131
  # * {TooManyTrustedSigners}
@@ -913,6 +917,21 @@ module Aws::CloudFront
913
917
  end
914
918
  end
915
919
 
920
+ class NoSuchRealtimeLogConfig < ServiceError
921
+
922
+ # @param [Seahorse::Client::RequestContext] context
923
+ # @param [String] message
924
+ # @param [Aws::CloudFront::Types::NoSuchRealtimeLogConfig] data
925
+ def initialize(context, message, data = Aws::EmptyStructure.new)
926
+ super(context, message, data)
927
+ end
928
+
929
+ # @return [String]
930
+ def message
931
+ @message || @data[:message]
932
+ end
933
+ end
934
+
916
935
  class NoSuchResource < ServiceError
917
936
 
918
937
  # @param [Seahorse::Client::RequestContext] context
@@ -1033,6 +1052,36 @@ module Aws::CloudFront
1033
1052
  end
1034
1053
  end
1035
1054
 
1055
+ class RealtimeLogConfigAlreadyExists < ServiceError
1056
+
1057
+ # @param [Seahorse::Client::RequestContext] context
1058
+ # @param [String] message
1059
+ # @param [Aws::CloudFront::Types::RealtimeLogConfigAlreadyExists] data
1060
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1061
+ super(context, message, data)
1062
+ end
1063
+
1064
+ # @return [String]
1065
+ def message
1066
+ @message || @data[:message]
1067
+ end
1068
+ end
1069
+
1070
+ class RealtimeLogConfigInUse < ServiceError
1071
+
1072
+ # @param [Seahorse::Client::RequestContext] context
1073
+ # @param [String] message
1074
+ # @param [Aws::CloudFront::Types::RealtimeLogConfigInUse] data
1075
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1076
+ super(context, message, data)
1077
+ end
1078
+
1079
+ # @return [String]
1080
+ def message
1081
+ @message || @data[:message]
1082
+ end
1083
+ end
1084
+
1036
1085
  class StreamingDistributionAlreadyExists < ServiceError
1037
1086
 
1038
1087
  # @param [Seahorse::Client::RequestContext] context
@@ -1558,6 +1607,21 @@ module Aws::CloudFront
1558
1607
  end
1559
1608
  end
1560
1609
 
1610
+ class TooManyRealtimeLogConfigs < ServiceError
1611
+
1612
+ # @param [Seahorse::Client::RequestContext] context
1613
+ # @param [String] message
1614
+ # @param [Aws::CloudFront::Types::TooManyRealtimeLogConfigs] data
1615
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1616
+ super(context, message, data)
1617
+ end
1618
+
1619
+ # @return [String]
1620
+ def message
1621
+ @message || @data[:message]
1622
+ end
1623
+ end
1624
+
1561
1625
  class TooManyStreamingDistributionCNAMEs < ServiceError
1562
1626
 
1563
1627
  # @param [Seahorse::Client::RequestContext] context
@@ -3,7 +3,6 @@
3
3
  require 'base64'
4
4
  require 'uri'
5
5
  require 'time'
6
- require 'json'
7
6
  require 'openssl'
8
7
 
9
8
  module Aws
@@ -112,7 +111,7 @@ module Aws
112
111
  }
113
112
  ]
114
113
  }
115
- JSON.dump(json_hash)
114
+ Aws::Json.dump(json_hash)
116
115
  end
117
116
 
118
117
  def encode(policy)
@@ -308,6 +308,7 @@ module Aws::CloudFront
308
308
  # ],
309
309
  # },
310
310
  # field_level_encryption_id: "string",
311
+ # realtime_log_config_arn: "string",
311
312
  # cache_policy_id: "string",
312
313
  # origin_request_policy_id: "string",
313
314
  # forwarded_values: {
@@ -475,41 +476,79 @@ module Aws::CloudFront
475
476
  # for this cache behavior.
476
477
  # @return [String]
477
478
  #
479
+ # @!attribute [rw] realtime_log_config_arn
480
+ # The Amazon Resource Name (ARN) of the real-time log configuration
481
+ # that is attached to this cache behavior. For more information, see
482
+ # [Real-time logs][1] in the *Amazon CloudFront Developer Guide*.
483
+ #
484
+ #
485
+ #
486
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html
487
+ # @return [String]
488
+ #
478
489
  # @!attribute [rw] cache_policy_id
479
490
  # The unique identifier of the cache policy that is attached to this
480
- # cache behavior. For more information, see `CreateCachePolicy`.
491
+ # cache behavior. For more information, see [Creating cache
492
+ # policies][1] or [Using the managed cache policies][2] in the *Amazon
493
+ # CloudFront Developer Guide*.
494
+ #
495
+ #
496
+ #
497
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
498
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
481
499
  # @return [String]
482
500
  #
483
501
  # @!attribute [rw] origin_request_policy_id
484
502
  # The unique identifier of the origin request policy that is attached
485
- # to this cache behavior. For more information, see
486
- # `CreateOriginRequestPolicy`.
503
+ # to this cache behavior. For more information, see [Creating origin
504
+ # request policies][1] or [Using the managed origin request
505
+ # policies][2] in the *Amazon CloudFront Developer Guide*.
506
+ #
507
+ #
508
+ #
509
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
510
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html
487
511
  # @return [String]
488
512
  #
489
513
  # @!attribute [rw] forwarded_values
490
514
  # This field is deprecated. We recommend that you use a cache policy
491
- # or an origin request policy instead of this field.
515
+ # or an origin request policy instead of this field. For more
516
+ # information, see [Working with policies][1] in the *Amazon
517
+ # CloudFront Developer Guide*.
492
518
  #
493
- # If you want to include values in the cache key, use a `CachePolicy`.
494
- # See `CreateCachePolicy`.
519
+ # If you want to include values in the cache key, use a cache policy.
520
+ # For more information, see [Creating cache policies][2] or [Using the
521
+ # managed cache policies][3] in the *Amazon CloudFront Developer
522
+ # Guide*.
495
523
  #
496
524
  # If you want to send values to the origin but not include them in the
497
- # cache key, use an `OriginRequestPolicy`. See
498
- # `CreateOriginRequestPolicy`.
525
+ # cache key, use an origin request policy. For more information, see
526
+ # [Creating origin request policies][4] or [Using the managed origin
527
+ # request policies][5] in the *Amazon CloudFront Developer Guide*.
499
528
  #
500
529
  # A complex type that specifies how CloudFront handles query strings,
501
530
  # cookies, and HTTP headers.
531
+ #
532
+ #
533
+ #
534
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html
535
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
536
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
537
+ # [4]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
538
+ # [5]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html
502
539
  # @return [Types::ForwardedValues]
503
540
  #
504
541
  # @!attribute [rw] min_ttl
505
542
  # This field is deprecated. We recommend that you use the `MinTTL`
506
- # field in `CachePolicyConfig` instead of this field.
543
+ # field in a cache policy instead of this field. For more information,
544
+ # see [Creating cache policies][1] or [Using the managed cache
545
+ # policies][2] in the *Amazon CloudFront Developer Guide*.
507
546
  #
508
547
  # The minimum amount of time that you want objects to stay in
509
548
  # CloudFront caches before CloudFront forwards another request to your
510
549
  # origin to determine whether the object has been updated. For more
511
550
  # information, see [ Managing How Long Content Stays in an Edge Cache
512
- # (Expiration)][1] in the <i> Amazon CloudFront Developer Guide</i>.
551
+ # (Expiration)][3] in the <i> Amazon CloudFront Developer Guide</i>.
513
552
  #
514
553
  # You must specify `0` for `MinTTL` if you configure CloudFront to
515
554
  # forward all headers to your origin (under `Headers`, if you specify
@@ -517,12 +556,16 @@ module Aws::CloudFront
517
556
  #
518
557
  #
519
558
  #
520
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
559
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
560
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
561
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
521
562
  # @return [Integer]
522
563
  #
523
564
  # @!attribute [rw] default_ttl
524
565
  # This field is deprecated. We recommend that you use the `DefaultTTL`
525
- # field in `CachePolicyConfig` instead of this field.
566
+ # field in a cache policy instead of this field. For more information,
567
+ # see [Creating cache policies][1] or [Using the managed cache
568
+ # policies][2] in the *Amazon CloudFront Developer Guide*.
526
569
  #
527
570
  # The default amount of time that you want objects to stay in
528
571
  # CloudFront caches before CloudFront forwards another request to your
@@ -530,17 +573,21 @@ module Aws::CloudFront
530
573
  # that you specify applies only when your origin does not add HTTP
531
574
  # headers such as `Cache-Control max-age`, `Cache-Control s-maxage`,
532
575
  # and `Expires` to objects. For more information, see [Managing How
533
- # Long Content Stays in an Edge Cache (Expiration)][1] in the *Amazon
576
+ # Long Content Stays in an Edge Cache (Expiration)][3] in the *Amazon
534
577
  # CloudFront Developer Guide*.
535
578
  #
536
579
  #
537
580
  #
538
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
581
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
582
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
583
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
539
584
  # @return [Integer]
540
585
  #
541
586
  # @!attribute [rw] max_ttl
542
587
  # This field is deprecated. We recommend that you use the `MaxTTL`
543
- # field in `CachePolicyConfig` instead of this field.
588
+ # field in a cache policy instead of this field. For more information,
589
+ # see [Creating cache policies][1] or [Using the managed cache
590
+ # policies][2] in the *Amazon CloudFront Developer Guide*.
544
591
  #
545
592
  # The maximum amount of time that you want objects to stay in
546
593
  # CloudFront caches before CloudFront forwards another request to your
@@ -548,12 +595,14 @@ module Aws::CloudFront
548
595
  # that you specify applies only when your origin adds HTTP headers
549
596
  # such as `Cache-Control max-age`, `Cache-Control s-maxage`, and
550
597
  # `Expires` to objects. For more information, see [Managing How Long
551
- # Content Stays in an Edge Cache (Expiration)][1] in the *Amazon
598
+ # Content Stays in an Edge Cache (Expiration)][3] in the *Amazon
552
599
  # CloudFront Developer Guide*.
553
600
  #
554
601
  #
555
602
  #
556
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
603
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
604
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
605
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
557
606
  # @return [Integer]
558
607
  #
559
608
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CacheBehavior AWS API Documentation
@@ -568,6 +617,7 @@ module Aws::CloudFront
568
617
  :compress,
569
618
  :lambda_function_associations,
570
619
  :field_level_encryption_id,
620
+ :realtime_log_config_arn,
571
621
  :cache_policy_id,
572
622
  :origin_request_policy_id,
573
623
  :forwarded_values,
@@ -616,6 +666,7 @@ module Aws::CloudFront
616
666
  # ],
617
667
  # },
618
668
  # field_level_encryption_id: "string",
669
+ # realtime_log_config_arn: "string",
619
670
  # cache_policy_id: "string",
620
671
  # origin_request_policy_id: "string",
621
672
  # forwarded_values: {
@@ -800,10 +851,10 @@ module Aws::CloudFront
800
851
  # @return [Integer]
801
852
  #
802
853
  # @!attribute [rw] max_ttl
803
- # The maximum amount of time, in seconds, that you want objects to
804
- # stay in the CloudFront cache before CloudFront sends another request
805
- # to the origin to see if the object has been updated. CloudFront uses
806
- # this value only when the origin sends `Cache-Control` or `Expires`
854
+ # The maximum amount of time, in seconds, that objects stay in the
855
+ # CloudFront cache before CloudFront sends another request to the
856
+ # origin to see if the object has been updated. CloudFront uses this
857
+ # value only when the origin sends `Cache-Control` or `Expires`
807
858
  # headers with the object. For more information, see [Managing How
808
859
  # Long Content Stays in an Edge Cache (Expiration)][1] in the *Amazon
809
860
  # CloudFront Developer Guide*.
@@ -1490,12 +1541,14 @@ module Aws::CloudFront
1490
1541
  # This field is deprecated. We recommend that you use a cache policy
1491
1542
  # or an origin request policy instead of this field.
1492
1543
  #
1493
- # If you want to include cookies in the cache key, use `CookiesConfig`
1494
- # in a cache policy. See `CreateCachePolicy`.
1544
+ # If you want to include cookies in the cache key, use a cache policy.
1545
+ # For more information, see [Creating cache policies][1] in the
1546
+ # *Amazon CloudFront Developer Guide*.
1495
1547
  #
1496
1548
  # If you want to send cookies to the origin but not include them in
1497
- # the cache key, use `CookiesConfig` in an origin request policy. See
1498
- # `CreateOriginRequestPolicy`.
1549
+ # the cache key, use origin request policy. For more information, see
1550
+ # [Creating origin request policies][2] in the *Amazon CloudFront
1551
+ # Developer Guide*.
1499
1552
  #
1500
1553
  # Specifies which cookies to forward to the origin for this cache
1501
1554
  # behavior: all, none, or the list of cookies specified in the
@@ -1504,18 +1557,25 @@ module Aws::CloudFront
1504
1557
  # Amazon S3 doesn't process cookies. When the cache behavior is
1505
1558
  # forwarding requests to an Amazon S3 origin, specify none for the
1506
1559
  # `Forward` element.
1560
+ #
1561
+ #
1562
+ #
1563
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
1564
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
1507
1565
  # @return [String]
1508
1566
  #
1509
1567
  # @!attribute [rw] whitelisted_names
1510
1568
  # This field is deprecated. We recommend that you use a cache policy
1511
1569
  # or an origin request policy instead of this field.
1512
1570
  #
1513
- # If you want to include cookies in the cache key, use `CookiesConfig`
1514
- # in a cache policy. See `CreateCachePolicy`.
1571
+ # If you want to include cookies in the cache key, use a cache policy.
1572
+ # For more information, see [Creating cache policies][1] in the
1573
+ # *Amazon CloudFront Developer Guide*.
1515
1574
  #
1516
1575
  # If you want to send cookies to the origin but not include them in
1517
- # the cache key, use `CookiesConfig` in an origin request policy. See
1518
- # `CreateOriginRequestPolicy`.
1576
+ # the cache key, use an origin request policy. For more information,
1577
+ # see [Creating origin request policies][2] in the *Amazon CloudFront
1578
+ # Developer Guide*.
1519
1579
  #
1520
1580
  # Required if you specify `whitelist` for the value of `Forward`. A
1521
1581
  # complex type that specifies how many different cookies you want
@@ -1529,12 +1589,14 @@ module Aws::CloudFront
1529
1589
  # deletes them automatically.
1530
1590
  #
1531
1591
  # For the current limit on the number of cookie names that you can
1532
- # whitelist for each cache behavior, see [ CloudFront Limits][1] in
1592
+ # whitelist for each cache behavior, see [ CloudFront Limits][3] in
1533
1593
  # the *AWS General Reference*.
1534
1594
  #
1535
1595
  #
1536
1596
  #
1537
- # [1]: https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront
1597
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
1598
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
1599
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront
1538
1600
  # @return [Types::CookieNames]
1539
1601
  #
1540
1602
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CookiePreference AWS API Documentation
@@ -1774,6 +1836,7 @@ module Aws::CloudFront
1774
1836
  # ],
1775
1837
  # },
1776
1838
  # field_level_encryption_id: "string",
1839
+ # realtime_log_config_arn: "string",
1777
1840
  # cache_policy_id: "string",
1778
1841
  # origin_request_policy_id: "string",
1779
1842
  # forwarded_values: {
@@ -1831,6 +1894,7 @@ module Aws::CloudFront
1831
1894
  # ],
1832
1895
  # },
1833
1896
  # field_level_encryption_id: "string",
1897
+ # realtime_log_config_arn: "string",
1834
1898
  # cache_policy_id: "string",
1835
1899
  # origin_request_policy_id: "string",
1836
1900
  # forwarded_values: {
@@ -1881,7 +1945,7 @@ module Aws::CloudFront
1881
1945
  # cloud_front_default_certificate: false,
1882
1946
  # iam_certificate_id: "string",
1883
1947
  # acm_certificate_arn: "string",
1884
- # ssl_support_method: "sni-only", # accepts sni-only, vip
1948
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
1885
1949
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
1886
1950
  # certificate: "string",
1887
1951
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -2036,6 +2100,7 @@ module Aws::CloudFront
2036
2100
  # ],
2037
2101
  # },
2038
2102
  # field_level_encryption_id: "string",
2103
+ # realtime_log_config_arn: "string",
2039
2104
  # cache_policy_id: "string",
2040
2105
  # origin_request_policy_id: "string",
2041
2106
  # forwarded_values: {
@@ -2093,6 +2158,7 @@ module Aws::CloudFront
2093
2158
  # ],
2094
2159
  # },
2095
2160
  # field_level_encryption_id: "string",
2161
+ # realtime_log_config_arn: "string",
2096
2162
  # cache_policy_id: "string",
2097
2163
  # origin_request_policy_id: "string",
2098
2164
  # forwarded_values: {
@@ -2143,7 +2209,7 @@ module Aws::CloudFront
2143
2209
  # cloud_front_default_certificate: false,
2144
2210
  # iam_certificate_id: "string",
2145
2211
  # acm_certificate_arn: "string",
2146
- # ssl_support_method: "sni-only", # accepts sni-only, vip
2212
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
2147
2213
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
2148
2214
  # certificate: "string",
2149
2215
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -2390,6 +2456,51 @@ module Aws::CloudFront
2390
2456
  include Aws::Structure
2391
2457
  end
2392
2458
 
2459
+ # @note When making an API call, you may pass CreateMonitoringSubscriptionRequest
2460
+ # data as a hash:
2461
+ #
2462
+ # {
2463
+ # distribution_id: "string", # required
2464
+ # monitoring_subscription: { # required
2465
+ # realtime_metrics_subscription_config: {
2466
+ # realtime_metrics_subscription_status: "Enabled", # required, accepts Enabled, Disabled
2467
+ # },
2468
+ # },
2469
+ # }
2470
+ #
2471
+ # @!attribute [rw] distribution_id
2472
+ # The ID of the distribution that you are enabling metrics for.
2473
+ # @return [String]
2474
+ #
2475
+ # @!attribute [rw] monitoring_subscription
2476
+ # A monitoring subscription. This structure contains information about
2477
+ # whether additional CloudWatch metrics are enabled for a given
2478
+ # CloudFront distribution.
2479
+ # @return [Types::MonitoringSubscription]
2480
+ #
2481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscriptionRequest AWS API Documentation
2482
+ #
2483
+ class CreateMonitoringSubscriptionRequest < Struct.new(
2484
+ :distribution_id,
2485
+ :monitoring_subscription)
2486
+ SENSITIVE = []
2487
+ include Aws::Structure
2488
+ end
2489
+
2490
+ # @!attribute [rw] monitoring_subscription
2491
+ # A monitoring subscription. This structure contains information about
2492
+ # whether additional CloudWatch metrics are enabled for a given
2493
+ # CloudFront distribution.
2494
+ # @return [Types::MonitoringSubscription]
2495
+ #
2496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscriptionResult AWS API Documentation
2497
+ #
2498
+ class CreateMonitoringSubscriptionResult < Struct.new(
2499
+ :monitoring_subscription)
2500
+ SENSITIVE = []
2501
+ include Aws::Structure
2502
+ end
2503
+
2393
2504
  # @note When making an API call, you may pass CreateOriginRequestPolicyRequest
2394
2505
  # data as a hash:
2395
2506
  #
@@ -2502,6 +2613,74 @@ module Aws::CloudFront
2502
2613
  include Aws::Structure
2503
2614
  end
2504
2615
 
2616
+ # @note When making an API call, you may pass CreateRealtimeLogConfigRequest
2617
+ # data as a hash:
2618
+ #
2619
+ # {
2620
+ # end_points: [ # required
2621
+ # {
2622
+ # stream_type: "string", # required
2623
+ # kinesis_stream_config: {
2624
+ # role_arn: "string", # required
2625
+ # stream_arn: "string", # required
2626
+ # },
2627
+ # },
2628
+ # ],
2629
+ # fields: ["string"], # required
2630
+ # name: "string", # required
2631
+ # sampling_rate: 1, # required
2632
+ # }
2633
+ #
2634
+ # @!attribute [rw] end_points
2635
+ # Contains information about the Amazon Kinesis data stream where you
2636
+ # are sending real-time log data.
2637
+ # @return [Array<Types::EndPoint>]
2638
+ #
2639
+ # @!attribute [rw] fields
2640
+ # A list of fields to include in each real-time log record.
2641
+ #
2642
+ # For more information about fields, see [Real-time log configuration
2643
+ # fields][1] in the *Amazon CloudFront Developer Guide*.
2644
+ #
2645
+ #
2646
+ #
2647
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields
2648
+ # @return [Array<String>]
2649
+ #
2650
+ # @!attribute [rw] name
2651
+ # A unique name to identify this real-time log configuration.
2652
+ # @return [String]
2653
+ #
2654
+ # @!attribute [rw] sampling_rate
2655
+ # The sampling rate for this real-time log configuration. The sampling
2656
+ # rate determines the percentage of viewer requests that are
2657
+ # represented in the real-time log data. You must provide an integer
2658
+ # between 1 and 100, inclusive.
2659
+ # @return [Integer]
2660
+ #
2661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateRealtimeLogConfigRequest AWS API Documentation
2662
+ #
2663
+ class CreateRealtimeLogConfigRequest < Struct.new(
2664
+ :end_points,
2665
+ :fields,
2666
+ :name,
2667
+ :sampling_rate)
2668
+ SENSITIVE = []
2669
+ include Aws::Structure
2670
+ end
2671
+
2672
+ # @!attribute [rw] realtime_log_config
2673
+ # A real-time log configuration.
2674
+ # @return [Types::RealtimeLogConfig]
2675
+ #
2676
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateRealtimeLogConfigResult AWS API Documentation
2677
+ #
2678
+ class CreateRealtimeLogConfigResult < Struct.new(
2679
+ :realtime_log_config)
2680
+ SENSITIVE = []
2681
+ include Aws::Structure
2682
+ end
2683
+
2505
2684
  # The request to create a new streaming distribution.
2506
2685
  #
2507
2686
  # @note When making an API call, you may pass CreateStreamingDistributionRequest
@@ -2983,6 +3162,7 @@ module Aws::CloudFront
2983
3162
  # ],
2984
3163
  # },
2985
3164
  # field_level_encryption_id: "string",
3165
+ # realtime_log_config_arn: "string",
2986
3166
  # cache_policy_id: "string",
2987
3167
  # origin_request_policy_id: "string",
2988
3168
  # forwarded_values: {
@@ -3125,41 +3305,79 @@ module Aws::CloudFront
3125
3305
  # for the default cache behavior.
3126
3306
  # @return [String]
3127
3307
  #
3308
+ # @!attribute [rw] realtime_log_config_arn
3309
+ # The Amazon Resource Name (ARN) of the real-time log configuration
3310
+ # that is attached to this cache behavior. For more information, see
3311
+ # [Real-time logs][1] in the *Amazon CloudFront Developer Guide*.
3312
+ #
3313
+ #
3314
+ #
3315
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html
3316
+ # @return [String]
3317
+ #
3128
3318
  # @!attribute [rw] cache_policy_id
3129
3319
  # The unique identifier of the cache policy that is attached to the
3130
- # default cache behavior. For more information, see CachePolicy.
3320
+ # default cache behavior. For more information, see [Creating cache
3321
+ # policies][1] or [Using the managed cache policies][2] in the *Amazon
3322
+ # CloudFront Developer Guide*.
3323
+ #
3324
+ #
3325
+ #
3326
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
3327
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
3131
3328
  # @return [String]
3132
3329
  #
3133
3330
  # @!attribute [rw] origin_request_policy_id
3134
3331
  # The unique identifier of the origin request policy that is attached
3135
- # to the default cache behavior. For more information, see
3136
- # OriginRequestPolicy.
3332
+ # to the default cache behavior. For more information, see [Creating
3333
+ # origin request policies][1] or [Using the managed origin request
3334
+ # policies][2] in the *Amazon CloudFront Developer Guide*.
3335
+ #
3336
+ #
3337
+ #
3338
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
3339
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html
3137
3340
  # @return [String]
3138
3341
  #
3139
3342
  # @!attribute [rw] forwarded_values
3140
3343
  # This field is deprecated. We recommend that you use a cache policy
3141
- # or an origin request policy instead of this field.
3344
+ # or an origin request policy instead of this field. For more
3345
+ # information, see [Working with policies][1] in the *Amazon
3346
+ # CloudFront Developer Guide*.
3142
3347
  #
3143
- # If you want to include values in the cache key, use a `CachePolicy`.
3144
- # See `CreateCachePolicy`.
3348
+ # If you want to include values in the cache key, use a cache policy.
3349
+ # For more information, see [Creating cache policies][2] or [Using the
3350
+ # managed cache policies][3] in the *Amazon CloudFront Developer
3351
+ # Guide*.
3145
3352
  #
3146
3353
  # If you want to send values to the origin but not include them in the
3147
- # cache key, use an `OriginRequestPolicy`. See
3148
- # `CreateOriginRequestPolicy`.
3354
+ # cache key, use an origin request policy. For more information, see
3355
+ # [Creating origin request policies][4] or [Using the managed origin
3356
+ # request policies][5] in the *Amazon CloudFront Developer Guide*.
3149
3357
  #
3150
3358
  # A complex type that specifies how CloudFront handles query strings,
3151
3359
  # cookies, and HTTP headers.
3360
+ #
3361
+ #
3362
+ #
3363
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html
3364
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
3365
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
3366
+ # [4]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
3367
+ # [5]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html
3152
3368
  # @return [Types::ForwardedValues]
3153
3369
  #
3154
3370
  # @!attribute [rw] min_ttl
3155
3371
  # This field is deprecated. We recommend that you use the `MinTTL`
3156
- # field in `CachePolicyConfig` instead of this field.
3372
+ # field in a cache policy instead of this field. For more information,
3373
+ # see [Creating cache policies][1] or [Using the managed cache
3374
+ # policies][2] in the *Amazon CloudFront Developer Guide*.
3157
3375
  #
3158
3376
  # The minimum amount of time that you want objects to stay in
3159
3377
  # CloudFront caches before CloudFront forwards another request to your
3160
3378
  # origin to determine whether the object has been updated. For more
3161
3379
  # information, see [Managing How Long Content Stays in an Edge Cache
3162
- # (Expiration)][1] in the *Amazon CloudFront Developer Guide*.
3380
+ # (Expiration)][3] in the *Amazon CloudFront Developer Guide*.
3163
3381
  #
3164
3382
  # You must specify `0` for `MinTTL` if you configure CloudFront to
3165
3383
  # forward all headers to your origin (under `Headers`, if you specify
@@ -3167,12 +3385,16 @@ module Aws::CloudFront
3167
3385
  #
3168
3386
  #
3169
3387
  #
3170
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
3388
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
3389
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
3390
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
3171
3391
  # @return [Integer]
3172
3392
  #
3173
3393
  # @!attribute [rw] default_ttl
3174
3394
  # This field is deprecated. We recommend that you use the `DefaultTTL`
3175
- # field in `CachePolicyConfig` instead of this field.
3395
+ # field in a cache policy instead of this field. For more information,
3396
+ # see [Creating cache policies][1] or [Using the managed cache
3397
+ # policies][2] in the *Amazon CloudFront Developer Guide*.
3176
3398
  #
3177
3399
  # The default amount of time that you want objects to stay in
3178
3400
  # CloudFront caches before CloudFront forwards another request to your
@@ -3180,17 +3402,21 @@ module Aws::CloudFront
3180
3402
  # that you specify applies only when your origin does not add HTTP
3181
3403
  # headers such as `Cache-Control max-age`, `Cache-Control s-maxage`,
3182
3404
  # and `Expires` to objects. For more information, see [Managing How
3183
- # Long Content Stays in an Edge Cache (Expiration)][1] in the *Amazon
3405
+ # Long Content Stays in an Edge Cache (Expiration)][3] in the *Amazon
3184
3406
  # CloudFront Developer Guide*.
3185
3407
  #
3186
3408
  #
3187
3409
  #
3188
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
3410
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
3411
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
3412
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
3189
3413
  # @return [Integer]
3190
3414
  #
3191
3415
  # @!attribute [rw] max_ttl
3192
3416
  # This field is deprecated. We recommend that you use the `MaxTTL`
3193
- # field in `CachePolicyConfig` instead of this field.
3417
+ # field in a cache policy instead of this field. For more information,
3418
+ # see [Creating cache policies][1] or [Using the managed cache
3419
+ # policies][2] in the *Amazon CloudFront Developer Guide*.
3194
3420
  #
3195
3421
  # The maximum amount of time that you want objects to stay in
3196
3422
  # CloudFront caches before CloudFront forwards another request to your
@@ -3198,12 +3424,14 @@ module Aws::CloudFront
3198
3424
  # that you specify applies only when your origin adds HTTP headers
3199
3425
  # such as `Cache-Control max-age`, `Cache-Control s-maxage`, and
3200
3426
  # `Expires` to objects. For more information, see [Managing How Long
3201
- # Content Stays in an Edge Cache (Expiration)][1] in the *Amazon
3427
+ # Content Stays in an Edge Cache (Expiration)][3] in the *Amazon
3202
3428
  # CloudFront Developer Guide*.
3203
3429
  #
3204
3430
  #
3205
3431
  #
3206
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
3432
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
3433
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html
3434
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
3207
3435
  # @return [Integer]
3208
3436
  #
3209
3437
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DefaultCacheBehavior AWS API Documentation
@@ -3217,6 +3445,7 @@ module Aws::CloudFront
3217
3445
  :compress,
3218
3446
  :lambda_function_associations,
3219
3447
  :field_level_encryption_id,
3448
+ :realtime_log_config_arn,
3220
3449
  :cache_policy_id,
3221
3450
  :origin_request_policy_id,
3222
3451
  :forwarded_values,
@@ -3405,6 +3634,29 @@ module Aws::CloudFront
3405
3634
  include Aws::Structure
3406
3635
  end
3407
3636
 
3637
+ # @note When making an API call, you may pass DeleteMonitoringSubscriptionRequest
3638
+ # data as a hash:
3639
+ #
3640
+ # {
3641
+ # distribution_id: "string", # required
3642
+ # }
3643
+ #
3644
+ # @!attribute [rw] distribution_id
3645
+ # The ID of the distribution that you are disabling metrics for.
3646
+ # @return [String]
3647
+ #
3648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscriptionRequest AWS API Documentation
3649
+ #
3650
+ class DeleteMonitoringSubscriptionRequest < Struct.new(
3651
+ :distribution_id)
3652
+ SENSITIVE = []
3653
+ include Aws::Structure
3654
+ end
3655
+
3656
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscriptionResult AWS API Documentation
3657
+ #
3658
+ class DeleteMonitoringSubscriptionResult < Aws::EmptyStructure; end
3659
+
3408
3660
  # @note When making an API call, you may pass DeleteOriginRequestPolicyRequest
3409
3661
  # data as a hash:
3410
3662
  #
@@ -3461,6 +3713,32 @@ module Aws::CloudFront
3461
3713
  include Aws::Structure
3462
3714
  end
3463
3715
 
3716
+ # @note When making an API call, you may pass DeleteRealtimeLogConfigRequest
3717
+ # data as a hash:
3718
+ #
3719
+ # {
3720
+ # name: "string",
3721
+ # arn: "string",
3722
+ # }
3723
+ #
3724
+ # @!attribute [rw] name
3725
+ # The name of the real-time log configuration to delete.
3726
+ # @return [String]
3727
+ #
3728
+ # @!attribute [rw] arn
3729
+ # The Amazon Resource Name (ARN) of the real-time log configuration to
3730
+ # delete.
3731
+ # @return [String]
3732
+ #
3733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteRealtimeLogConfigRequest AWS API Documentation
3734
+ #
3735
+ class DeleteRealtimeLogConfigRequest < Struct.new(
3736
+ :name,
3737
+ :arn)
3738
+ SENSITIVE = []
3739
+ include Aws::Structure
3740
+ end
3741
+
3464
3742
  # The request to delete a streaming distribution.
3465
3743
  #
3466
3744
  # @note When making an API call, you may pass DeleteStreamingDistributionRequest
@@ -3682,6 +3960,7 @@ module Aws::CloudFront
3682
3960
  # ],
3683
3961
  # },
3684
3962
  # field_level_encryption_id: "string",
3963
+ # realtime_log_config_arn: "string",
3685
3964
  # cache_policy_id: "string",
3686
3965
  # origin_request_policy_id: "string",
3687
3966
  # forwarded_values: {
@@ -3739,6 +4018,7 @@ module Aws::CloudFront
3739
4018
  # ],
3740
4019
  # },
3741
4020
  # field_level_encryption_id: "string",
4021
+ # realtime_log_config_arn: "string",
3742
4022
  # cache_policy_id: "string",
3743
4023
  # origin_request_policy_id: "string",
3744
4024
  # forwarded_values: {
@@ -3789,7 +4069,7 @@ module Aws::CloudFront
3789
4069
  # cloud_front_default_certificate: false,
3790
4070
  # iam_certificate_id: "string",
3791
4071
  # acm_certificate_arn: "string",
3792
- # ssl_support_method: "sni-only", # accepts sni-only, vip
4072
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
3793
4073
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
3794
4074
  # certificate: "string",
3795
4075
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -4163,6 +4443,7 @@ module Aws::CloudFront
4163
4443
  # ],
4164
4444
  # },
4165
4445
  # field_level_encryption_id: "string",
4446
+ # realtime_log_config_arn: "string",
4166
4447
  # cache_policy_id: "string",
4167
4448
  # origin_request_policy_id: "string",
4168
4449
  # forwarded_values: {
@@ -4220,6 +4501,7 @@ module Aws::CloudFront
4220
4501
  # ],
4221
4502
  # },
4222
4503
  # field_level_encryption_id: "string",
4504
+ # realtime_log_config_arn: "string",
4223
4505
  # cache_policy_id: "string",
4224
4506
  # origin_request_policy_id: "string",
4225
4507
  # forwarded_values: {
@@ -4270,7 +4552,7 @@ module Aws::CloudFront
4270
4552
  # cloud_front_default_certificate: false,
4271
4553
  # iam_certificate_id: "string",
4272
4554
  # acm_certificate_arn: "string",
4273
- # ssl_support_method: "sni-only", # accepts sni-only, vip
4555
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
4274
4556
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
4275
4557
  # certificate: "string",
4276
4558
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -4642,6 +4924,39 @@ module Aws::CloudFront
4642
4924
  include Aws::Structure
4643
4925
  end
4644
4926
 
4927
+ # Contains information about the Amazon Kinesis data stream where you
4928
+ # are sending real-time log data in a real-time log configuration.
4929
+ #
4930
+ # @note When making an API call, you may pass EndPoint
4931
+ # data as a hash:
4932
+ #
4933
+ # {
4934
+ # stream_type: "string", # required
4935
+ # kinesis_stream_config: {
4936
+ # role_arn: "string", # required
4937
+ # stream_arn: "string", # required
4938
+ # },
4939
+ # }
4940
+ #
4941
+ # @!attribute [rw] stream_type
4942
+ # The type of data stream where you are sending real-time log data.
4943
+ # The only valid value is `Kinesis`.
4944
+ # @return [String]
4945
+ #
4946
+ # @!attribute [rw] kinesis_stream_config
4947
+ # Contains information about the Amazon Kinesis data stream where you
4948
+ # are sending real-time log data.
4949
+ # @return [Types::KinesisStreamConfig]
4950
+ #
4951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/EndPoint AWS API Documentation
4952
+ #
4953
+ class EndPoint < Struct.new(
4954
+ :stream_type,
4955
+ :kinesis_stream_config)
4956
+ SENSITIVE = []
4957
+ include Aws::Structure
4958
+ end
4959
+
4645
4960
  # A complex data type that includes the profile configurations and other
4646
4961
  # options specified for field-level encryption.
4647
4962
  #
@@ -5049,16 +5364,23 @@ module Aws::CloudFront
5049
5364
  # This field is deprecated. We recommend that you use a cache policy or
5050
5365
  # an origin request policy instead of this field.
5051
5366
  #
5052
- # If you want to include values in the cache key, use a `CachePolicy`.
5053
- # See `CreateCachePolicy`.
5367
+ # If you want to include values in the cache key, use a cache policy.
5368
+ # For more information, see [Creating cache policies][1] in the *Amazon
5369
+ # CloudFront Developer Guide*.
5054
5370
  #
5055
5371
  # If you want to send values to the origin but not include them in the
5056
- # cache key, use an `OriginRequestPolicy`. See
5057
- # `CreateOriginRequestPolicy`.
5372
+ # cache key, use an origin request policy. For more information, see
5373
+ # [Creating origin request policies][2] in the *Amazon CloudFront
5374
+ # Developer Guide*.
5058
5375
  #
5059
5376
  # A complex type that specifies how CloudFront handles query strings,
5060
5377
  # cookies, and HTTP headers.
5061
5378
  #
5379
+ #
5380
+ #
5381
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
5382
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
5383
+ #
5062
5384
  # @note When making an API call, you may pass ForwardedValues
5063
5385
  # data as a hash:
5064
5386
  #
@@ -5085,12 +5407,14 @@ module Aws::CloudFront
5085
5407
  # This field is deprecated. We recommend that you use a cache policy
5086
5408
  # or an origin request policy instead of this field.
5087
5409
  #
5088
- # If you want to include query strings in the cache key, use
5089
- # `QueryStringsConfig` in a cache policy. See `CreateCachePolicy`.
5410
+ # If you want to include query strings in the cache key, use a cache
5411
+ # policy. For more information, see [Creating cache policies][1] in
5412
+ # the *Amazon CloudFront Developer Guide*.
5090
5413
  #
5091
5414
  # If you want to send query strings to the origin but not include them
5092
- # in the cache key, use `QueryStringsConfig` in an origin request
5093
- # policy. See `CreateOriginRequestPolicy`.
5415
+ # in the cache key, use an origin request policy. For more
5416
+ # information, see [Creating origin request policies][2] in the
5417
+ # *Amazon CloudFront Developer Guide*.
5094
5418
  #
5095
5419
  # Indicates whether you want CloudFront to forward query strings to
5096
5420
  # the origin that is associated with this cache behavior and cache
@@ -5115,46 +5439,54 @@ module Aws::CloudFront
5115
5439
  # on query string parameters.
5116
5440
  #
5117
5441
  # For more information, see [Configuring CloudFront to Cache Based on
5118
- # Query String Parameters][1] in the *Amazon CloudFront Developer
5442
+ # Query String Parameters][3] in the *Amazon CloudFront Developer
5119
5443
  # Guide*.
5120
5444
  #
5121
5445
  #
5122
5446
  #
5123
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html
5447
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
5448
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
5449
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html
5124
5450
  # @return [Boolean]
5125
5451
  #
5126
5452
  # @!attribute [rw] cookies
5127
5453
  # This field is deprecated. We recommend that you use a cache policy
5128
5454
  # or an origin request policy instead of this field.
5129
5455
  #
5130
- # If you want to include cookies in the cache key, use `CookiesConfig`
5131
- # in a cache policy. See `CreateCachePolicy`.
5456
+ # If you want to include cookies in the cache key, use a cache policy.
5457
+ # For more information, see [Creating cache policies][1] in the
5458
+ # *Amazon CloudFront Developer Guide*.
5132
5459
  #
5133
5460
  # If you want to send cookies to the origin but not include them in
5134
- # the cache key, use `CookiesConfig` in an origin request policy. See
5135
- # `CreateOriginRequestPolicy`.
5461
+ # the cache key, use an origin request policy. For more information,
5462
+ # see [Creating origin request policies][2] in the *Amazon CloudFront
5463
+ # Developer Guide*.
5136
5464
  #
5137
5465
  # A complex type that specifies whether you want CloudFront to forward
5138
5466
  # cookies to the origin and, if so, which ones. For more information
5139
5467
  # about forwarding cookies to the origin, see [How CloudFront
5140
- # Forwards, Caches, and Logs Cookies][1] in the *Amazon CloudFront
5468
+ # Forwards, Caches, and Logs Cookies][3] in the *Amazon CloudFront
5141
5469
  # Developer Guide*.
5142
5470
  #
5143
5471
  #
5144
5472
  #
5145
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html
5473
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
5474
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
5475
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html
5146
5476
  # @return [Types::CookiePreference]
5147
5477
  #
5148
5478
  # @!attribute [rw] headers
5149
5479
  # This field is deprecated. We recommend that you use a cache policy
5150
5480
  # or an origin request policy instead of this field.
5151
5481
  #
5152
- # If you want to include headers in the cache key, use `HeadersConfig`
5153
- # in a cache policy. See `CreateCachePolicy`.
5482
+ # If you want to include headers in the cache key, use a cache policy.
5483
+ # For more information, see [Creating cache policies][1] in the
5484
+ # *Amazon CloudFront Developer Guide*.
5154
5485
  #
5155
5486
  # If you want to send headers to the origin but not include them in
5156
- # the cache key, use `HeadersConfig` in an origin request policy. See
5157
- # `CreateOriginRequestPolicy`.
5487
+ # the cache key, use an origin request policy. For more information,
5488
+ # see [Creating origin request policies][2] in the *Amazon CloudFront
5489
+ # Developer Guide*.
5158
5490
  #
5159
5491
  # A complex type that specifies the `Headers`, if any, that you want
5160
5492
  # CloudFront to forward to the origin for this cache behavior
@@ -5163,27 +5495,36 @@ module Aws::CloudFront
5163
5495
  # the header values in viewer requests.
5164
5496
  #
5165
5497
  # For more information, see [ Caching Content Based on Request
5166
- # Headers][1] in the *Amazon CloudFront Developer Guide*.
5498
+ # Headers][3] in the *Amazon CloudFront Developer Guide*.
5167
5499
  #
5168
5500
  #
5169
5501
  #
5170
- # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html
5502
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
5503
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
5504
+ # [3]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html
5171
5505
  # @return [Types::Headers]
5172
5506
  #
5173
5507
  # @!attribute [rw] query_string_cache_keys
5174
5508
  # This field is deprecated. We recommend that you use a cache policy
5175
5509
  # or an origin request policy instead of this field.
5176
5510
  #
5177
- # If you want to include query strings in the cache key, use
5178
- # `QueryStringsConfig` in a cache policy. See `CreateCachePolicy`.
5511
+ # If you want to include query strings in the cache key, use a cache
5512
+ # policy. For more information, see [Creating cache policies][1] in
5513
+ # the *Amazon CloudFront Developer Guide*.
5179
5514
  #
5180
5515
  # If you want to send query strings to the origin but not include them
5181
- # in the cache key, use an `QueryStringsConfig` in an origin request
5182
- # policy. See `CreateOriginRequestPolicy`.
5516
+ # in the cache key, use an origin request policy. For more
5517
+ # information, see [Creating origin request policies][2] in the
5518
+ # *Amazon CloudFront Developer Guide*.
5183
5519
  #
5184
5520
  # A complex type that contains information about the query string
5185
5521
  # parameters that you want CloudFront to use for caching for this
5186
5522
  # cache behavior.
5523
+ #
5524
+ #
5525
+ #
5526
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
5527
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy
5187
5528
  # @return [Types::QueryStringCacheKeys]
5188
5529
  #
5189
5530
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ForwardedValues AWS API Documentation
@@ -5705,6 +6046,40 @@ module Aws::CloudFront
5705
6046
  include Aws::Structure
5706
6047
  end
5707
6048
 
6049
+ # @note When making an API call, you may pass GetMonitoringSubscriptionRequest
6050
+ # data as a hash:
6051
+ #
6052
+ # {
6053
+ # distribution_id: "string", # required
6054
+ # }
6055
+ #
6056
+ # @!attribute [rw] distribution_id
6057
+ # The ID of the distribution that you are getting metrics information
6058
+ # for.
6059
+ # @return [String]
6060
+ #
6061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscriptionRequest AWS API Documentation
6062
+ #
6063
+ class GetMonitoringSubscriptionRequest < Struct.new(
6064
+ :distribution_id)
6065
+ SENSITIVE = []
6066
+ include Aws::Structure
6067
+ end
6068
+
6069
+ # @!attribute [rw] monitoring_subscription
6070
+ # A monitoring subscription. This structure contains information about
6071
+ # whether additional CloudWatch metrics are enabled for a given
6072
+ # CloudFront distribution.
6073
+ # @return [Types::MonitoringSubscription]
6074
+ #
6075
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscriptionResult AWS API Documentation
6076
+ #
6077
+ class GetMonitoringSubscriptionResult < Struct.new(
6078
+ :monitoring_subscription)
6079
+ SENSITIVE = []
6080
+ include Aws::Structure
6081
+ end
6082
+
5708
6083
  # @note When making an API call, you may pass GetOriginRequestPolicyConfigRequest
5709
6084
  # data as a hash:
5710
6085
  #
@@ -5861,6 +6236,44 @@ module Aws::CloudFront
5861
6236
  include Aws::Structure
5862
6237
  end
5863
6238
 
6239
+ # @note When making an API call, you may pass GetRealtimeLogConfigRequest
6240
+ # data as a hash:
6241
+ #
6242
+ # {
6243
+ # name: "string",
6244
+ # arn: "string",
6245
+ # }
6246
+ #
6247
+ # @!attribute [rw] name
6248
+ # The name of the real-time log configuration to get.
6249
+ # @return [String]
6250
+ #
6251
+ # @!attribute [rw] arn
6252
+ # The Amazon Resource Name (ARN) of the real-time log configuration to
6253
+ # get.
6254
+ # @return [String]
6255
+ #
6256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetRealtimeLogConfigRequest AWS API Documentation
6257
+ #
6258
+ class GetRealtimeLogConfigRequest < Struct.new(
6259
+ :name,
6260
+ :arn)
6261
+ SENSITIVE = []
6262
+ include Aws::Structure
6263
+ end
6264
+
6265
+ # @!attribute [rw] realtime_log_config
6266
+ # A real-time log configuration.
6267
+ # @return [Types::RealtimeLogConfig]
6268
+ #
6269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetRealtimeLogConfigResult AWS API Documentation
6270
+ #
6271
+ class GetRealtimeLogConfigResult < Struct.new(
6272
+ :realtime_log_config)
6273
+ SENSITIVE = []
6274
+ include Aws::Structure
6275
+ end
6276
+
5864
6277
  # To request to get a streaming distribution configuration.
5865
6278
  #
5866
6279
  # @note When making an API call, you may pass GetStreamingDistributionConfigRequest
@@ -6537,6 +6950,44 @@ module Aws::CloudFront
6537
6950
  include Aws::Structure
6538
6951
  end
6539
6952
 
6953
+ # Contains information about the Amazon Kinesis data stream where you
6954
+ # are sending real-time log data.
6955
+ #
6956
+ # @note When making an API call, you may pass KinesisStreamConfig
6957
+ # data as a hash:
6958
+ #
6959
+ # {
6960
+ # role_arn: "string", # required
6961
+ # stream_arn: "string", # required
6962
+ # }
6963
+ #
6964
+ # @!attribute [rw] role_arn
6965
+ # The Amazon Resource Name (ARN) of an AWS Identity and Access
6966
+ # Management (IAM) role that CloudFront can use to send real-time log
6967
+ # data to your Kinesis data stream.
6968
+ #
6969
+ # For more information the IAM role, see [Real-time log configuration
6970
+ # IAM role][1] in the *Amazon CloudFront Developer Guide*.
6971
+ #
6972
+ #
6973
+ #
6974
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role
6975
+ # @return [String]
6976
+ #
6977
+ # @!attribute [rw] stream_arn
6978
+ # The Amazon Resource Name (ARN) of the Kinesis data stream where you
6979
+ # are sending real-time log data.
6980
+ # @return [String]
6981
+ #
6982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/KinesisStreamConfig AWS API Documentation
6983
+ #
6984
+ class KinesisStreamConfig < Struct.new(
6985
+ :role_arn,
6986
+ :stream_arn)
6987
+ SENSITIVE = []
6988
+ include Aws::Structure
6989
+ end
6990
+
6540
6991
  # A complex type that contains a Lambda function association.
6541
6992
  #
6542
6993
  # @note When making an API call, you may pass LambdaFunctionAssociation
@@ -6843,6 +7294,61 @@ module Aws::CloudFront
6843
7294
  include Aws::Structure
6844
7295
  end
6845
7296
 
7297
+ # @note When making an API call, you may pass ListDistributionsByRealtimeLogConfigRequest
7298
+ # data as a hash:
7299
+ #
7300
+ # {
7301
+ # marker: "string",
7302
+ # max_items: 1,
7303
+ # realtime_log_config_name: "string",
7304
+ # realtime_log_config_arn: "string",
7305
+ # }
7306
+ #
7307
+ # @!attribute [rw] marker
7308
+ # Use this field when paginating results to indicate where to begin in
7309
+ # your list of distributions. The response includes distributions in
7310
+ # the list that occur after the marker. To get the next page of the
7311
+ # list, set this field’s value to the value of `NextMarker` from the
7312
+ # current page’s response.
7313
+ # @return [String]
7314
+ #
7315
+ # @!attribute [rw] max_items
7316
+ # The maximum number of distributions that you want in the response.
7317
+ # @return [Integer]
7318
+ #
7319
+ # @!attribute [rw] realtime_log_config_name
7320
+ # The name of the real-time log configuration whose associated
7321
+ # distributions you want to list.
7322
+ # @return [String]
7323
+ #
7324
+ # @!attribute [rw] realtime_log_config_arn
7325
+ # The Amazon Resource Name (ARN) of the real-time log configuration
7326
+ # whose associated distributions you want to list.
7327
+ # @return [String]
7328
+ #
7329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfigRequest AWS API Documentation
7330
+ #
7331
+ class ListDistributionsByRealtimeLogConfigRequest < Struct.new(
7332
+ :marker,
7333
+ :max_items,
7334
+ :realtime_log_config_name,
7335
+ :realtime_log_config_arn)
7336
+ SENSITIVE = []
7337
+ include Aws::Structure
7338
+ end
7339
+
7340
+ # @!attribute [rw] distribution_list
7341
+ # A distribution list.
7342
+ # @return [Types::DistributionList]
7343
+ #
7344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfigResult AWS API Documentation
7345
+ #
7346
+ class ListDistributionsByRealtimeLogConfigResult < Struct.new(
7347
+ :distribution_list)
7348
+ SENSITIVE = []
7349
+ include Aws::Structure
7350
+ end
7351
+
6846
7352
  # The request to list distributions that are associated with a specified
6847
7353
  # AWS WAF web ACL.
6848
7354
  #
@@ -7187,6 +7693,48 @@ module Aws::CloudFront
7187
7693
  include Aws::Structure
7188
7694
  end
7189
7695
 
7696
+ # @note When making an API call, you may pass ListRealtimeLogConfigsRequest
7697
+ # data as a hash:
7698
+ #
7699
+ # {
7700
+ # max_items: 1,
7701
+ # marker: "string",
7702
+ # }
7703
+ #
7704
+ # @!attribute [rw] max_items
7705
+ # The maximum number of real-time log configurations that you want in
7706
+ # the response.
7707
+ # @return [Integer]
7708
+ #
7709
+ # @!attribute [rw] marker
7710
+ # Use this field when paginating results to indicate where to begin in
7711
+ # your list of real-time log configurations. The response includes
7712
+ # real-time log configurations in the list that occur after the
7713
+ # marker. To get the next page of the list, set this field’s value to
7714
+ # the value of `NextMarker` from the current page’s response.
7715
+ # @return [String]
7716
+ #
7717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListRealtimeLogConfigsRequest AWS API Documentation
7718
+ #
7719
+ class ListRealtimeLogConfigsRequest < Struct.new(
7720
+ :max_items,
7721
+ :marker)
7722
+ SENSITIVE = []
7723
+ include Aws::Structure
7724
+ end
7725
+
7726
+ # @!attribute [rw] realtime_log_configs
7727
+ # A list of real-time log configurations.
7728
+ # @return [Types::RealtimeLogConfigs]
7729
+ #
7730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListRealtimeLogConfigsResult AWS API Documentation
7731
+ #
7732
+ class ListRealtimeLogConfigsResult < Struct.new(
7733
+ :realtime_log_configs)
7734
+ SENSITIVE = []
7735
+ include Aws::Structure
7736
+ end
7737
+
7190
7738
  # The request to list your streaming distributions.
7191
7739
  #
7192
7740
  # @note When making an API call, you may pass ListStreamingDistributionsRequest
@@ -7334,6 +7882,31 @@ module Aws::CloudFront
7334
7882
  include Aws::Structure
7335
7883
  end
7336
7884
 
7885
+ # A monitoring subscription. This structure contains information about
7886
+ # whether additional CloudWatch metrics are enabled for a given
7887
+ # CloudFront distribution.
7888
+ #
7889
+ # @note When making an API call, you may pass MonitoringSubscription
7890
+ # data as a hash:
7891
+ #
7892
+ # {
7893
+ # realtime_metrics_subscription_config: {
7894
+ # realtime_metrics_subscription_status: "Enabled", # required, accepts Enabled, Disabled
7895
+ # },
7896
+ # }
7897
+ #
7898
+ # @!attribute [rw] realtime_metrics_subscription_config
7899
+ # A subscription configuration for additional CloudWatch metrics.
7900
+ # @return [Types::RealtimeMetricsSubscriptionConfig]
7901
+ #
7902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/MonitoringSubscription AWS API Documentation
7903
+ #
7904
+ class MonitoringSubscription < Struct.new(
7905
+ :realtime_metrics_subscription_config)
7906
+ SENSITIVE = []
7907
+ include Aws::Structure
7908
+ end
7909
+
7337
7910
  # The cache policy does not exist.
7338
7911
  #
7339
7912
  # @!attribute [rw] message
@@ -7451,6 +8024,19 @@ module Aws::CloudFront
7451
8024
  include Aws::Structure
7452
8025
  end
7453
8026
 
8027
+ # The real-time log configuration does not exist.
8028
+ #
8029
+ # @!attribute [rw] message
8030
+ # @return [String]
8031
+ #
8032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/NoSuchRealtimeLogConfig AWS API Documentation
8033
+ #
8034
+ class NoSuchRealtimeLogConfig < Struct.new(
8035
+ :message)
8036
+ SENSITIVE = []
8037
+ include Aws::Structure
8038
+ end
8039
+
7454
8040
  # A resource that was specified is not valid.
7455
8041
  #
7456
8042
  # @!attribute [rw] message
@@ -8807,6 +9393,144 @@ module Aws::CloudFront
8807
9393
  include Aws::Structure
8808
9394
  end
8809
9395
 
9396
+ # A real-time log configuration.
9397
+ #
9398
+ # @!attribute [rw] arn
9399
+ # The Amazon Resource Name (ARN) of this real-time log configuration.
9400
+ # @return [String]
9401
+ #
9402
+ # @!attribute [rw] name
9403
+ # The unique name of this real-time log configuration.
9404
+ # @return [String]
9405
+ #
9406
+ # @!attribute [rw] sampling_rate
9407
+ # The sampling rate for this real-time log configuration. The sampling
9408
+ # rate determines the percentage of viewer requests that are
9409
+ # represented in the real-time log data. The sampling rate is an
9410
+ # integer between 1 and 100, inclusive.
9411
+ # @return [Integer]
9412
+ #
9413
+ # @!attribute [rw] end_points
9414
+ # Contains information about the Amazon Kinesis data stream where you
9415
+ # are sending real-time log data for this real-time log configuration.
9416
+ # @return [Array<Types::EndPoint>]
9417
+ #
9418
+ # @!attribute [rw] fields
9419
+ # A list of fields that are included in each real-time log record. In
9420
+ # an API response, the fields are provided in the same order in which
9421
+ # they are sent to the Amazon Kinesis data stream.
9422
+ #
9423
+ # For more information about fields, see [Real-time log configuration
9424
+ # fields][1] in the *Amazon CloudFront Developer Guide*.
9425
+ #
9426
+ #
9427
+ #
9428
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields
9429
+ # @return [Array<String>]
9430
+ #
9431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfig AWS API Documentation
9432
+ #
9433
+ class RealtimeLogConfig < Struct.new(
9434
+ :arn,
9435
+ :name,
9436
+ :sampling_rate,
9437
+ :end_points,
9438
+ :fields)
9439
+ SENSITIVE = []
9440
+ include Aws::Structure
9441
+ end
9442
+
9443
+ # A real-time log configuration with this name already exists. You must
9444
+ # provide a unique name. To modify an existing real-time log
9445
+ # configuration, use `UpdateRealtimeLogConfig`.
9446
+ #
9447
+ # @!attribute [rw] message
9448
+ # @return [String]
9449
+ #
9450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigAlreadyExists AWS API Documentation
9451
+ #
9452
+ class RealtimeLogConfigAlreadyExists < Struct.new(
9453
+ :message)
9454
+ SENSITIVE = []
9455
+ include Aws::Structure
9456
+ end
9457
+
9458
+ # Cannot delete the real-time log configuration because it is attached
9459
+ # to one or more cache behaviors.
9460
+ #
9461
+ # @!attribute [rw] message
9462
+ # @return [String]
9463
+ #
9464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigInUse AWS API Documentation
9465
+ #
9466
+ class RealtimeLogConfigInUse < Struct.new(
9467
+ :message)
9468
+ SENSITIVE = []
9469
+ include Aws::Structure
9470
+ end
9471
+
9472
+ # A list of real-time log configurations.
9473
+ #
9474
+ # @!attribute [rw] max_items
9475
+ # The maximum number of real-time log configurations requested.
9476
+ # @return [Integer]
9477
+ #
9478
+ # @!attribute [rw] items
9479
+ # Contains the list of real-time log configurations.
9480
+ # @return [Array<Types::RealtimeLogConfig>]
9481
+ #
9482
+ # @!attribute [rw] is_truncated
9483
+ # A flag that indicates whether there are more real-time log
9484
+ # configurations than are contained in this list.
9485
+ # @return [Boolean]
9486
+ #
9487
+ # @!attribute [rw] marker
9488
+ # This parameter indicates where this list of real-time log
9489
+ # configurations begins. This list includes real-time log
9490
+ # configurations that occur after the marker.
9491
+ # @return [String]
9492
+ #
9493
+ # @!attribute [rw] next_marker
9494
+ # If there are more items in the list than are in this response, this
9495
+ # element is present. It contains the value that you should use in the
9496
+ # `Marker` field of a subsequent request to continue listing real-time
9497
+ # log configurations where you left off.
9498
+ # @return [String]
9499
+ #
9500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigs AWS API Documentation
9501
+ #
9502
+ class RealtimeLogConfigs < Struct.new(
9503
+ :max_items,
9504
+ :items,
9505
+ :is_truncated,
9506
+ :marker,
9507
+ :next_marker)
9508
+ SENSITIVE = []
9509
+ include Aws::Structure
9510
+ end
9511
+
9512
+ # A subscription configuration for additional CloudWatch metrics.
9513
+ #
9514
+ # @note When making an API call, you may pass RealtimeMetricsSubscriptionConfig
9515
+ # data as a hash:
9516
+ #
9517
+ # {
9518
+ # realtime_metrics_subscription_status: "Enabled", # required, accepts Enabled, Disabled
9519
+ # }
9520
+ #
9521
+ # @!attribute [rw] realtime_metrics_subscription_status
9522
+ # A flag that indicates whether additional CloudWatch metrics are
9523
+ # enabled for a given CloudFront distribution.
9524
+ # @return [String]
9525
+ #
9526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeMetricsSubscriptionConfig AWS API Documentation
9527
+ #
9528
+ class RealtimeMetricsSubscriptionConfig < Struct.new(
9529
+ :realtime_metrics_subscription_status)
9530
+ SENSITIVE = []
9531
+ include Aws::Structure
9532
+ end
9533
+
8810
9534
  # A complex type that identifies ways in which you want to restrict
8811
9535
  # distribution of your content.
8812
9536
  #
@@ -10056,6 +10780,25 @@ module Aws::CloudFront
10056
10780
  include Aws::Structure
10057
10781
  end
10058
10782
 
10783
+ # You have reached the maximum number of real-time log configurations
10784
+ # for this AWS account. For more information, see [Quotas][1] (formerly
10785
+ # known as limits) in the *Amazon CloudFront Developer Guide*.
10786
+ #
10787
+ #
10788
+ #
10789
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
10790
+ #
10791
+ # @!attribute [rw] message
10792
+ # @return [String]
10793
+ #
10794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TooManyRealtimeLogConfigs AWS API Documentation
10795
+ #
10796
+ class TooManyRealtimeLogConfigs < Struct.new(
10797
+ :message)
10798
+ SENSITIVE = []
10799
+ include Aws::Structure
10800
+ end
10801
+
10059
10802
  # Your request contains more CNAMEs than are allowed per distribution.
10060
10803
  #
10061
10804
  # @!attribute [rw] message
@@ -10437,6 +11180,7 @@ module Aws::CloudFront
10437
11180
  # ],
10438
11181
  # },
10439
11182
  # field_level_encryption_id: "string",
11183
+ # realtime_log_config_arn: "string",
10440
11184
  # cache_policy_id: "string",
10441
11185
  # origin_request_policy_id: "string",
10442
11186
  # forwarded_values: {
@@ -10494,6 +11238,7 @@ module Aws::CloudFront
10494
11238
  # ],
10495
11239
  # },
10496
11240
  # field_level_encryption_id: "string",
11241
+ # realtime_log_config_arn: "string",
10497
11242
  # cache_policy_id: "string",
10498
11243
  # origin_request_policy_id: "string",
10499
11244
  # forwarded_values: {
@@ -10544,7 +11289,7 @@ module Aws::CloudFront
10544
11289
  # cloud_front_default_certificate: false,
10545
11290
  # iam_certificate_id: "string",
10546
11291
  # acm_certificate_arn: "string",
10547
- # ssl_support_method: "sni-only", # accepts sni-only, vip
11292
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
10548
11293
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
10549
11294
  # certificate: "string",
10550
11295
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -10883,6 +11628,80 @@ module Aws::CloudFront
10883
11628
  include Aws::Structure
10884
11629
  end
10885
11630
 
11631
+ # @note When making an API call, you may pass UpdateRealtimeLogConfigRequest
11632
+ # data as a hash:
11633
+ #
11634
+ # {
11635
+ # end_points: [
11636
+ # {
11637
+ # stream_type: "string", # required
11638
+ # kinesis_stream_config: {
11639
+ # role_arn: "string", # required
11640
+ # stream_arn: "string", # required
11641
+ # },
11642
+ # },
11643
+ # ],
11644
+ # fields: ["string"],
11645
+ # name: "string",
11646
+ # arn: "string",
11647
+ # sampling_rate: 1,
11648
+ # }
11649
+ #
11650
+ # @!attribute [rw] end_points
11651
+ # Contains information about the Amazon Kinesis data stream where you
11652
+ # are sending real-time log data.
11653
+ # @return [Array<Types::EndPoint>]
11654
+ #
11655
+ # @!attribute [rw] fields
11656
+ # A list of fields to include in each real-time log record.
11657
+ #
11658
+ # For more information about fields, see [Real-time log configuration
11659
+ # fields][1] in the *Amazon CloudFront Developer Guide*.
11660
+ #
11661
+ #
11662
+ #
11663
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields
11664
+ # @return [Array<String>]
11665
+ #
11666
+ # @!attribute [rw] name
11667
+ # The name for this real-time log configuration.
11668
+ # @return [String]
11669
+ #
11670
+ # @!attribute [rw] arn
11671
+ # The Amazon Resource Name (ARN) for this real-time log configuration.
11672
+ # @return [String]
11673
+ #
11674
+ # @!attribute [rw] sampling_rate
11675
+ # The sampling rate for this real-time log configuration. The sampling
11676
+ # rate determines the percentage of viewer requests that are
11677
+ # represented in the real-time log data. You must provide an integer
11678
+ # between 1 and 100, inclusive.
11679
+ # @return [Integer]
11680
+ #
11681
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfigRequest AWS API Documentation
11682
+ #
11683
+ class UpdateRealtimeLogConfigRequest < Struct.new(
11684
+ :end_points,
11685
+ :fields,
11686
+ :name,
11687
+ :arn,
11688
+ :sampling_rate)
11689
+ SENSITIVE = []
11690
+ include Aws::Structure
11691
+ end
11692
+
11693
+ # @!attribute [rw] realtime_log_config
11694
+ # A real-time log configuration.
11695
+ # @return [Types::RealtimeLogConfig]
11696
+ #
11697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfigResult AWS API Documentation
11698
+ #
11699
+ class UpdateRealtimeLogConfigResult < Struct.new(
11700
+ :realtime_log_config)
11701
+ SENSITIVE = []
11702
+ include Aws::Structure
11703
+ end
11704
+
10886
11705
  # The request to update a streaming distribution.
10887
11706
  #
10888
11707
  # @note When making an API call, you may pass UpdateStreamingDistributionRequest
@@ -11027,7 +11846,7 @@ module Aws::CloudFront
11027
11846
  # cloud_front_default_certificate: false,
11028
11847
  # iam_certificate_id: "string",
11029
11848
  # acm_certificate_arn: "string",
11030
- # ssl_support_method: "sni-only", # accepts sni-only, vip
11849
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
11031
11850
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
11032
11851
  # certificate: "string",
11033
11852
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -11092,12 +11911,19 @@ module Aws::CloudFront
11092
11911
  # recommended, and results in additional monthly charges from
11093
11912
  # CloudFront.
11094
11913
  #
11914
+ # * `static-ip` - Do not specify this value unless your distribution
11915
+ # has been enabled for this feature by the CloudFront team. If you
11916
+ # have a use case that requires static IP addresses for a
11917
+ # distribution, contact CloudFront through the [AWS Support
11918
+ # Center][2].
11919
+ #
11095
11920
  # If the distribution uses the CloudFront domain name such as
11096
11921
  # `d111111abcdef8.cloudfront.net`, don’t set a value for this field.
11097
11922
  #
11098
11923
  #
11099
11924
  #
11100
11925
  # [1]: https://en.wikipedia.org/wiki/Server_Name_Indication
11926
+ # [2]: https://console.aws.amazon.com/support/home
11101
11927
  # @return [String]
11102
11928
  #
11103
11929
  # @!attribute [rw] minimum_protocol_version