aws-sdk-cloudfront 1.35.0 → 1.39.0

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