aws-sdk-cloudfront 1.36.0 → 1.40.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,6 +476,16 @@ 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
491
  # cache behavior. For more information, see [Creating cache
@@ -606,6 +617,7 @@ module Aws::CloudFront
606
617
  :compress,
607
618
  :lambda_function_associations,
608
619
  :field_level_encryption_id,
620
+ :realtime_log_config_arn,
609
621
  :cache_policy_id,
610
622
  :origin_request_policy_id,
611
623
  :forwarded_values,
@@ -654,6 +666,7 @@ module Aws::CloudFront
654
666
  # ],
655
667
  # },
656
668
  # field_level_encryption_id: "string",
669
+ # realtime_log_config_arn: "string",
657
670
  # cache_policy_id: "string",
658
671
  # origin_request_policy_id: "string",
659
672
  # forwarded_values: {
@@ -786,6 +799,7 @@ module Aws::CloudFront
786
799
  # min_ttl: 1, # required
787
800
  # parameters_in_cache_key_and_forwarded_to_origin: {
788
801
  # enable_accept_encoding_gzip: false, # required
802
+ # enable_accept_encoding_brotli: false,
789
803
  # headers_config: { # required
790
804
  # header_behavior: "none", # required, accepts none, whitelist
791
805
  # headers: {
@@ -1498,11 +1512,11 @@ module Aws::CloudFront
1498
1512
  # an origin request policy instead of this field.
1499
1513
  #
1500
1514
  # If you want to include cookies in the cache key, use `CookiesConfig`
1501
- # in a cache policy. See `CreateCachePolicy`.
1515
+ # in a cache policy. See `CachePolicy`.
1502
1516
  #
1503
1517
  # If you want to send cookies to the origin but not include them in the
1504
1518
  # cache key, use `CookiesConfig` in an origin request policy. See
1505
- # `CreateOriginRequestPolicy`.
1519
+ # `OriginRequestPolicy`.
1506
1520
  #
1507
1521
  # A complex type that specifies whether you want CloudFront to forward
1508
1522
  # cookies to the origin and, if so, which ones. For more information
@@ -1607,6 +1621,7 @@ module Aws::CloudFront
1607
1621
  # min_ttl: 1, # required
1608
1622
  # parameters_in_cache_key_and_forwarded_to_origin: {
1609
1623
  # enable_accept_encoding_gzip: false, # required
1624
+ # enable_accept_encoding_brotli: false,
1610
1625
  # headers_config: { # required
1611
1626
  # header_behavior: "none", # required, accepts none, whitelist
1612
1627
  # headers: {
@@ -1823,6 +1838,7 @@ module Aws::CloudFront
1823
1838
  # ],
1824
1839
  # },
1825
1840
  # field_level_encryption_id: "string",
1841
+ # realtime_log_config_arn: "string",
1826
1842
  # cache_policy_id: "string",
1827
1843
  # origin_request_policy_id: "string",
1828
1844
  # forwarded_values: {
@@ -1880,6 +1896,7 @@ module Aws::CloudFront
1880
1896
  # ],
1881
1897
  # },
1882
1898
  # field_level_encryption_id: "string",
1899
+ # realtime_log_config_arn: "string",
1883
1900
  # cache_policy_id: "string",
1884
1901
  # origin_request_policy_id: "string",
1885
1902
  # forwarded_values: {
@@ -1930,7 +1947,7 @@ module Aws::CloudFront
1930
1947
  # cloud_front_default_certificate: false,
1931
1948
  # iam_certificate_id: "string",
1932
1949
  # acm_certificate_arn: "string",
1933
- # ssl_support_method: "sni-only", # accepts sni-only, vip
1950
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
1934
1951
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
1935
1952
  # certificate: "string",
1936
1953
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -2085,6 +2102,7 @@ module Aws::CloudFront
2085
2102
  # ],
2086
2103
  # },
2087
2104
  # field_level_encryption_id: "string",
2105
+ # realtime_log_config_arn: "string",
2088
2106
  # cache_policy_id: "string",
2089
2107
  # origin_request_policy_id: "string",
2090
2108
  # forwarded_values: {
@@ -2142,6 +2160,7 @@ module Aws::CloudFront
2142
2160
  # ],
2143
2161
  # },
2144
2162
  # field_level_encryption_id: "string",
2163
+ # realtime_log_config_arn: "string",
2145
2164
  # cache_policy_id: "string",
2146
2165
  # origin_request_policy_id: "string",
2147
2166
  # forwarded_values: {
@@ -2192,7 +2211,7 @@ module Aws::CloudFront
2192
2211
  # cloud_front_default_certificate: false,
2193
2212
  # iam_certificate_id: "string",
2194
2213
  # acm_certificate_arn: "string",
2195
- # ssl_support_method: "sni-only", # accepts sni-only, vip
2214
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
2196
2215
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
2197
2216
  # certificate: "string",
2198
2217
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -2439,6 +2458,51 @@ module Aws::CloudFront
2439
2458
  include Aws::Structure
2440
2459
  end
2441
2460
 
2461
+ # @note When making an API call, you may pass CreateMonitoringSubscriptionRequest
2462
+ # data as a hash:
2463
+ #
2464
+ # {
2465
+ # distribution_id: "string", # required
2466
+ # monitoring_subscription: { # required
2467
+ # realtime_metrics_subscription_config: {
2468
+ # realtime_metrics_subscription_status: "Enabled", # required, accepts Enabled, Disabled
2469
+ # },
2470
+ # },
2471
+ # }
2472
+ #
2473
+ # @!attribute [rw] distribution_id
2474
+ # The ID of the distribution that you are enabling metrics for.
2475
+ # @return [String]
2476
+ #
2477
+ # @!attribute [rw] monitoring_subscription
2478
+ # A monitoring subscription. This structure contains information about
2479
+ # whether additional CloudWatch metrics are enabled for a given
2480
+ # CloudFront distribution.
2481
+ # @return [Types::MonitoringSubscription]
2482
+ #
2483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscriptionRequest AWS API Documentation
2484
+ #
2485
+ class CreateMonitoringSubscriptionRequest < Struct.new(
2486
+ :distribution_id,
2487
+ :monitoring_subscription)
2488
+ SENSITIVE = []
2489
+ include Aws::Structure
2490
+ end
2491
+
2492
+ # @!attribute [rw] monitoring_subscription
2493
+ # A monitoring subscription. This structure contains information about
2494
+ # whether additional CloudWatch metrics are enabled for a given
2495
+ # CloudFront distribution.
2496
+ # @return [Types::MonitoringSubscription]
2497
+ #
2498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscriptionResult AWS API Documentation
2499
+ #
2500
+ class CreateMonitoringSubscriptionResult < Struct.new(
2501
+ :monitoring_subscription)
2502
+ SENSITIVE = []
2503
+ include Aws::Structure
2504
+ end
2505
+
2442
2506
  # @note When making an API call, you may pass CreateOriginRequestPolicyRequest
2443
2507
  # data as a hash:
2444
2508
  #
@@ -2551,6 +2615,74 @@ module Aws::CloudFront
2551
2615
  include Aws::Structure
2552
2616
  end
2553
2617
 
2618
+ # @note When making an API call, you may pass CreateRealtimeLogConfigRequest
2619
+ # data as a hash:
2620
+ #
2621
+ # {
2622
+ # end_points: [ # required
2623
+ # {
2624
+ # stream_type: "string", # required
2625
+ # kinesis_stream_config: {
2626
+ # role_arn: "string", # required
2627
+ # stream_arn: "string", # required
2628
+ # },
2629
+ # },
2630
+ # ],
2631
+ # fields: ["string"], # required
2632
+ # name: "string", # required
2633
+ # sampling_rate: 1, # required
2634
+ # }
2635
+ #
2636
+ # @!attribute [rw] end_points
2637
+ # Contains information about the Amazon Kinesis data stream where you
2638
+ # are sending real-time log data.
2639
+ # @return [Array<Types::EndPoint>]
2640
+ #
2641
+ # @!attribute [rw] fields
2642
+ # A list of fields to include in each real-time log record.
2643
+ #
2644
+ # For more information about fields, see [Real-time log configuration
2645
+ # fields][1] in the *Amazon CloudFront Developer Guide*.
2646
+ #
2647
+ #
2648
+ #
2649
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields
2650
+ # @return [Array<String>]
2651
+ #
2652
+ # @!attribute [rw] name
2653
+ # A unique name to identify this real-time log configuration.
2654
+ # @return [String]
2655
+ #
2656
+ # @!attribute [rw] sampling_rate
2657
+ # The sampling rate for this real-time log configuration. The sampling
2658
+ # rate determines the percentage of viewer requests that are
2659
+ # represented in the real-time log data. You must provide an integer
2660
+ # between 1 and 100, inclusive.
2661
+ # @return [Integer]
2662
+ #
2663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateRealtimeLogConfigRequest AWS API Documentation
2664
+ #
2665
+ class CreateRealtimeLogConfigRequest < Struct.new(
2666
+ :end_points,
2667
+ :fields,
2668
+ :name,
2669
+ :sampling_rate)
2670
+ SENSITIVE = []
2671
+ include Aws::Structure
2672
+ end
2673
+
2674
+ # @!attribute [rw] realtime_log_config
2675
+ # A real-time log configuration.
2676
+ # @return [Types::RealtimeLogConfig]
2677
+ #
2678
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateRealtimeLogConfigResult AWS API Documentation
2679
+ #
2680
+ class CreateRealtimeLogConfigResult < Struct.new(
2681
+ :realtime_log_config)
2682
+ SENSITIVE = []
2683
+ include Aws::Structure
2684
+ end
2685
+
2554
2686
  # The request to create a new streaming distribution.
2555
2687
  #
2556
2688
  # @note When making an API call, you may pass CreateStreamingDistributionRequest
@@ -3032,6 +3164,7 @@ module Aws::CloudFront
3032
3164
  # ],
3033
3165
  # },
3034
3166
  # field_level_encryption_id: "string",
3167
+ # realtime_log_config_arn: "string",
3035
3168
  # cache_policy_id: "string",
3036
3169
  # origin_request_policy_id: "string",
3037
3170
  # forwarded_values: {
@@ -3174,6 +3307,16 @@ module Aws::CloudFront
3174
3307
  # for the default cache behavior.
3175
3308
  # @return [String]
3176
3309
  #
3310
+ # @!attribute [rw] realtime_log_config_arn
3311
+ # The Amazon Resource Name (ARN) of the real-time log configuration
3312
+ # that is attached to this cache behavior. For more information, see
3313
+ # [Real-time logs][1] in the *Amazon CloudFront Developer Guide*.
3314
+ #
3315
+ #
3316
+ #
3317
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html
3318
+ # @return [String]
3319
+ #
3177
3320
  # @!attribute [rw] cache_policy_id
3178
3321
  # The unique identifier of the cache policy that is attached to the
3179
3322
  # default cache behavior. For more information, see [Creating cache
@@ -3304,6 +3447,7 @@ module Aws::CloudFront
3304
3447
  :compress,
3305
3448
  :lambda_function_associations,
3306
3449
  :field_level_encryption_id,
3450
+ :realtime_log_config_arn,
3307
3451
  :cache_policy_id,
3308
3452
  :origin_request_policy_id,
3309
3453
  :forwarded_values,
@@ -3492,6 +3636,29 @@ module Aws::CloudFront
3492
3636
  include Aws::Structure
3493
3637
  end
3494
3638
 
3639
+ # @note When making an API call, you may pass DeleteMonitoringSubscriptionRequest
3640
+ # data as a hash:
3641
+ #
3642
+ # {
3643
+ # distribution_id: "string", # required
3644
+ # }
3645
+ #
3646
+ # @!attribute [rw] distribution_id
3647
+ # The ID of the distribution that you are disabling metrics for.
3648
+ # @return [String]
3649
+ #
3650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscriptionRequest AWS API Documentation
3651
+ #
3652
+ class DeleteMonitoringSubscriptionRequest < Struct.new(
3653
+ :distribution_id)
3654
+ SENSITIVE = []
3655
+ include Aws::Structure
3656
+ end
3657
+
3658
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscriptionResult AWS API Documentation
3659
+ #
3660
+ class DeleteMonitoringSubscriptionResult < Aws::EmptyStructure; end
3661
+
3495
3662
  # @note When making an API call, you may pass DeleteOriginRequestPolicyRequest
3496
3663
  # data as a hash:
3497
3664
  #
@@ -3548,6 +3715,32 @@ module Aws::CloudFront
3548
3715
  include Aws::Structure
3549
3716
  end
3550
3717
 
3718
+ # @note When making an API call, you may pass DeleteRealtimeLogConfigRequest
3719
+ # data as a hash:
3720
+ #
3721
+ # {
3722
+ # name: "string",
3723
+ # arn: "string",
3724
+ # }
3725
+ #
3726
+ # @!attribute [rw] name
3727
+ # The name of the real-time log configuration to delete.
3728
+ # @return [String]
3729
+ #
3730
+ # @!attribute [rw] arn
3731
+ # The Amazon Resource Name (ARN) of the real-time log configuration to
3732
+ # delete.
3733
+ # @return [String]
3734
+ #
3735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteRealtimeLogConfigRequest AWS API Documentation
3736
+ #
3737
+ class DeleteRealtimeLogConfigRequest < Struct.new(
3738
+ :name,
3739
+ :arn)
3740
+ SENSITIVE = []
3741
+ include Aws::Structure
3742
+ end
3743
+
3551
3744
  # The request to delete a streaming distribution.
3552
3745
  #
3553
3746
  # @note When making an API call, you may pass DeleteStreamingDistributionRequest
@@ -3769,6 +3962,7 @@ module Aws::CloudFront
3769
3962
  # ],
3770
3963
  # },
3771
3964
  # field_level_encryption_id: "string",
3965
+ # realtime_log_config_arn: "string",
3772
3966
  # cache_policy_id: "string",
3773
3967
  # origin_request_policy_id: "string",
3774
3968
  # forwarded_values: {
@@ -3826,6 +4020,7 @@ module Aws::CloudFront
3826
4020
  # ],
3827
4021
  # },
3828
4022
  # field_level_encryption_id: "string",
4023
+ # realtime_log_config_arn: "string",
3829
4024
  # cache_policy_id: "string",
3830
4025
  # origin_request_policy_id: "string",
3831
4026
  # forwarded_values: {
@@ -3876,7 +4071,7 @@ module Aws::CloudFront
3876
4071
  # cloud_front_default_certificate: false,
3877
4072
  # iam_certificate_id: "string",
3878
4073
  # acm_certificate_arn: "string",
3879
- # ssl_support_method: "sni-only", # accepts sni-only, vip
4074
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
3880
4075
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
3881
4076
  # certificate: "string",
3882
4077
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -4250,6 +4445,7 @@ module Aws::CloudFront
4250
4445
  # ],
4251
4446
  # },
4252
4447
  # field_level_encryption_id: "string",
4448
+ # realtime_log_config_arn: "string",
4253
4449
  # cache_policy_id: "string",
4254
4450
  # origin_request_policy_id: "string",
4255
4451
  # forwarded_values: {
@@ -4307,6 +4503,7 @@ module Aws::CloudFront
4307
4503
  # ],
4308
4504
  # },
4309
4505
  # field_level_encryption_id: "string",
4506
+ # realtime_log_config_arn: "string",
4310
4507
  # cache_policy_id: "string",
4311
4508
  # origin_request_policy_id: "string",
4312
4509
  # forwarded_values: {
@@ -4357,7 +4554,7 @@ module Aws::CloudFront
4357
4554
  # cloud_front_default_certificate: false,
4358
4555
  # iam_certificate_id: "string",
4359
4556
  # acm_certificate_arn: "string",
4360
- # ssl_support_method: "sni-only", # accepts sni-only, vip
4557
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
4361
4558
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
4362
4559
  # certificate: "string",
4363
4560
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -4729,6 +4926,39 @@ module Aws::CloudFront
4729
4926
  include Aws::Structure
4730
4927
  end
4731
4928
 
4929
+ # Contains information about the Amazon Kinesis data stream where you
4930
+ # are sending real-time log data in a real-time log configuration.
4931
+ #
4932
+ # @note When making an API call, you may pass EndPoint
4933
+ # data as a hash:
4934
+ #
4935
+ # {
4936
+ # stream_type: "string", # required
4937
+ # kinesis_stream_config: {
4938
+ # role_arn: "string", # required
4939
+ # stream_arn: "string", # required
4940
+ # },
4941
+ # }
4942
+ #
4943
+ # @!attribute [rw] stream_type
4944
+ # The type of data stream where you are sending real-time log data.
4945
+ # The only valid value is `Kinesis`.
4946
+ # @return [String]
4947
+ #
4948
+ # @!attribute [rw] kinesis_stream_config
4949
+ # Contains information about the Amazon Kinesis data stream where you
4950
+ # are sending real-time log data.
4951
+ # @return [Types::KinesisStreamConfig]
4952
+ #
4953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/EndPoint AWS API Documentation
4954
+ #
4955
+ class EndPoint < Struct.new(
4956
+ :stream_type,
4957
+ :kinesis_stream_config)
4958
+ SENSITIVE = []
4959
+ include Aws::Structure
4960
+ end
4961
+
4732
4962
  # A complex data type that includes the profile configurations and other
4733
4963
  # options specified for field-level encryption.
4734
4964
  #
@@ -5818,6 +6048,40 @@ module Aws::CloudFront
5818
6048
  include Aws::Structure
5819
6049
  end
5820
6050
 
6051
+ # @note When making an API call, you may pass GetMonitoringSubscriptionRequest
6052
+ # data as a hash:
6053
+ #
6054
+ # {
6055
+ # distribution_id: "string", # required
6056
+ # }
6057
+ #
6058
+ # @!attribute [rw] distribution_id
6059
+ # The ID of the distribution that you are getting metrics information
6060
+ # for.
6061
+ # @return [String]
6062
+ #
6063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscriptionRequest AWS API Documentation
6064
+ #
6065
+ class GetMonitoringSubscriptionRequest < Struct.new(
6066
+ :distribution_id)
6067
+ SENSITIVE = []
6068
+ include Aws::Structure
6069
+ end
6070
+
6071
+ # @!attribute [rw] monitoring_subscription
6072
+ # A monitoring subscription. This structure contains information about
6073
+ # whether additional CloudWatch metrics are enabled for a given
6074
+ # CloudFront distribution.
6075
+ # @return [Types::MonitoringSubscription]
6076
+ #
6077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscriptionResult AWS API Documentation
6078
+ #
6079
+ class GetMonitoringSubscriptionResult < Struct.new(
6080
+ :monitoring_subscription)
6081
+ SENSITIVE = []
6082
+ include Aws::Structure
6083
+ end
6084
+
5821
6085
  # @note When making an API call, you may pass GetOriginRequestPolicyConfigRequest
5822
6086
  # data as a hash:
5823
6087
  #
@@ -5974,6 +6238,44 @@ module Aws::CloudFront
5974
6238
  include Aws::Structure
5975
6239
  end
5976
6240
 
6241
+ # @note When making an API call, you may pass GetRealtimeLogConfigRequest
6242
+ # data as a hash:
6243
+ #
6244
+ # {
6245
+ # name: "string",
6246
+ # arn: "string",
6247
+ # }
6248
+ #
6249
+ # @!attribute [rw] name
6250
+ # The name of the real-time log configuration to get.
6251
+ # @return [String]
6252
+ #
6253
+ # @!attribute [rw] arn
6254
+ # The Amazon Resource Name (ARN) of the real-time log configuration to
6255
+ # get.
6256
+ # @return [String]
6257
+ #
6258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetRealtimeLogConfigRequest AWS API Documentation
6259
+ #
6260
+ class GetRealtimeLogConfigRequest < Struct.new(
6261
+ :name,
6262
+ :arn)
6263
+ SENSITIVE = []
6264
+ include Aws::Structure
6265
+ end
6266
+
6267
+ # @!attribute [rw] realtime_log_config
6268
+ # A real-time log configuration.
6269
+ # @return [Types::RealtimeLogConfig]
6270
+ #
6271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetRealtimeLogConfigResult AWS API Documentation
6272
+ #
6273
+ class GetRealtimeLogConfigResult < Struct.new(
6274
+ :realtime_log_config)
6275
+ SENSITIVE = []
6276
+ include Aws::Structure
6277
+ end
6278
+
5977
6279
  # To request to get a streaming distribution configuration.
5978
6280
  #
5979
6281
  # @note When making an API call, you may pass GetStreamingDistributionConfigRequest
@@ -6650,6 +6952,44 @@ module Aws::CloudFront
6650
6952
  include Aws::Structure
6651
6953
  end
6652
6954
 
6955
+ # Contains information about the Amazon Kinesis data stream where you
6956
+ # are sending real-time log data.
6957
+ #
6958
+ # @note When making an API call, you may pass KinesisStreamConfig
6959
+ # data as a hash:
6960
+ #
6961
+ # {
6962
+ # role_arn: "string", # required
6963
+ # stream_arn: "string", # required
6964
+ # }
6965
+ #
6966
+ # @!attribute [rw] role_arn
6967
+ # The Amazon Resource Name (ARN) of an AWS Identity and Access
6968
+ # Management (IAM) role that CloudFront can use to send real-time log
6969
+ # data to your Kinesis data stream.
6970
+ #
6971
+ # For more information the IAM role, see [Real-time log configuration
6972
+ # IAM role][1] in the *Amazon CloudFront Developer Guide*.
6973
+ #
6974
+ #
6975
+ #
6976
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role
6977
+ # @return [String]
6978
+ #
6979
+ # @!attribute [rw] stream_arn
6980
+ # The Amazon Resource Name (ARN) of the Kinesis data stream where you
6981
+ # are sending real-time log data.
6982
+ # @return [String]
6983
+ #
6984
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/KinesisStreamConfig AWS API Documentation
6985
+ #
6986
+ class KinesisStreamConfig < Struct.new(
6987
+ :role_arn,
6988
+ :stream_arn)
6989
+ SENSITIVE = []
6990
+ include Aws::Structure
6991
+ end
6992
+
6653
6993
  # A complex type that contains a Lambda function association.
6654
6994
  #
6655
6995
  # @note When making an API call, you may pass LambdaFunctionAssociation
@@ -6956,6 +7296,61 @@ module Aws::CloudFront
6956
7296
  include Aws::Structure
6957
7297
  end
6958
7298
 
7299
+ # @note When making an API call, you may pass ListDistributionsByRealtimeLogConfigRequest
7300
+ # data as a hash:
7301
+ #
7302
+ # {
7303
+ # marker: "string",
7304
+ # max_items: 1,
7305
+ # realtime_log_config_name: "string",
7306
+ # realtime_log_config_arn: "string",
7307
+ # }
7308
+ #
7309
+ # @!attribute [rw] marker
7310
+ # Use this field when paginating results to indicate where to begin in
7311
+ # your list of distributions. The response includes distributions in
7312
+ # the list that occur after the marker. To get the next page of the
7313
+ # list, set this field’s value to the value of `NextMarker` from the
7314
+ # current page’s response.
7315
+ # @return [String]
7316
+ #
7317
+ # @!attribute [rw] max_items
7318
+ # The maximum number of distributions that you want in the response.
7319
+ # @return [Integer]
7320
+ #
7321
+ # @!attribute [rw] realtime_log_config_name
7322
+ # The name of the real-time log configuration whose associated
7323
+ # distributions you want to list.
7324
+ # @return [String]
7325
+ #
7326
+ # @!attribute [rw] realtime_log_config_arn
7327
+ # The Amazon Resource Name (ARN) of the real-time log configuration
7328
+ # whose associated distributions you want to list.
7329
+ # @return [String]
7330
+ #
7331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfigRequest AWS API Documentation
7332
+ #
7333
+ class ListDistributionsByRealtimeLogConfigRequest < Struct.new(
7334
+ :marker,
7335
+ :max_items,
7336
+ :realtime_log_config_name,
7337
+ :realtime_log_config_arn)
7338
+ SENSITIVE = []
7339
+ include Aws::Structure
7340
+ end
7341
+
7342
+ # @!attribute [rw] distribution_list
7343
+ # A distribution list.
7344
+ # @return [Types::DistributionList]
7345
+ #
7346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfigResult AWS API Documentation
7347
+ #
7348
+ class ListDistributionsByRealtimeLogConfigResult < Struct.new(
7349
+ :distribution_list)
7350
+ SENSITIVE = []
7351
+ include Aws::Structure
7352
+ end
7353
+
6959
7354
  # The request to list distributions that are associated with a specified
6960
7355
  # AWS WAF web ACL.
6961
7356
  #
@@ -7300,6 +7695,48 @@ module Aws::CloudFront
7300
7695
  include Aws::Structure
7301
7696
  end
7302
7697
 
7698
+ # @note When making an API call, you may pass ListRealtimeLogConfigsRequest
7699
+ # data as a hash:
7700
+ #
7701
+ # {
7702
+ # max_items: 1,
7703
+ # marker: "string",
7704
+ # }
7705
+ #
7706
+ # @!attribute [rw] max_items
7707
+ # The maximum number of real-time log configurations that you want in
7708
+ # the response.
7709
+ # @return [Integer]
7710
+ #
7711
+ # @!attribute [rw] marker
7712
+ # Use this field when paginating results to indicate where to begin in
7713
+ # your list of real-time log configurations. The response includes
7714
+ # real-time log configurations in the list that occur after the
7715
+ # marker. To get the next page of the list, set this field’s value to
7716
+ # the value of `NextMarker` from the current page’s response.
7717
+ # @return [String]
7718
+ #
7719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListRealtimeLogConfigsRequest AWS API Documentation
7720
+ #
7721
+ class ListRealtimeLogConfigsRequest < Struct.new(
7722
+ :max_items,
7723
+ :marker)
7724
+ SENSITIVE = []
7725
+ include Aws::Structure
7726
+ end
7727
+
7728
+ # @!attribute [rw] realtime_log_configs
7729
+ # A list of real-time log configurations.
7730
+ # @return [Types::RealtimeLogConfigs]
7731
+ #
7732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListRealtimeLogConfigsResult AWS API Documentation
7733
+ #
7734
+ class ListRealtimeLogConfigsResult < Struct.new(
7735
+ :realtime_log_configs)
7736
+ SENSITIVE = []
7737
+ include Aws::Structure
7738
+ end
7739
+
7303
7740
  # The request to list your streaming distributions.
7304
7741
  #
7305
7742
  # @note When making an API call, you may pass ListStreamingDistributionsRequest
@@ -7447,6 +7884,31 @@ module Aws::CloudFront
7447
7884
  include Aws::Structure
7448
7885
  end
7449
7886
 
7887
+ # A monitoring subscription. This structure contains information about
7888
+ # whether additional CloudWatch metrics are enabled for a given
7889
+ # CloudFront distribution.
7890
+ #
7891
+ # @note When making an API call, you may pass MonitoringSubscription
7892
+ # data as a hash:
7893
+ #
7894
+ # {
7895
+ # realtime_metrics_subscription_config: {
7896
+ # realtime_metrics_subscription_status: "Enabled", # required, accepts Enabled, Disabled
7897
+ # },
7898
+ # }
7899
+ #
7900
+ # @!attribute [rw] realtime_metrics_subscription_config
7901
+ # A subscription configuration for additional CloudWatch metrics.
7902
+ # @return [Types::RealtimeMetricsSubscriptionConfig]
7903
+ #
7904
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/MonitoringSubscription AWS API Documentation
7905
+ #
7906
+ class MonitoringSubscription < Struct.new(
7907
+ :realtime_metrics_subscription_config)
7908
+ SENSITIVE = []
7909
+ include Aws::Structure
7910
+ end
7911
+
7450
7912
  # The cache policy does not exist.
7451
7913
  #
7452
7914
  # @!attribute [rw] message
@@ -7564,6 +8026,19 @@ module Aws::CloudFront
7564
8026
  include Aws::Structure
7565
8027
  end
7566
8028
 
8029
+ # The real-time log configuration does not exist.
8030
+ #
8031
+ # @!attribute [rw] message
8032
+ # @return [String]
8033
+ #
8034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/NoSuchRealtimeLogConfig AWS API Documentation
8035
+ #
8036
+ class NoSuchRealtimeLogConfig < Struct.new(
8037
+ :message)
8038
+ SENSITIVE = []
8039
+ include Aws::Structure
8040
+ end
8041
+
7567
8042
  # A resource that was specified is not valid.
7568
8043
  #
7569
8044
  # @!attribute [rw] message
@@ -7995,7 +8470,7 @@ module Aws::CloudFront
7995
8470
  #
7996
8471
  # CloudFront sends a request when it can’t find an object in its cache
7997
8472
  # that matches the request. If you want to send values to the origin and
7998
- # also include them in the cache key, use `CreateCachePolicy`.
8473
+ # also include them in the cache key, use `CachePolicy`.
7999
8474
  #
8000
8475
  # @!attribute [rw] id
8001
8476
  # The unique identifier for the origin request policy.
@@ -8053,7 +8528,7 @@ module Aws::CloudFront
8053
8528
  #
8054
8529
  # CloudFront sends a request when it can’t find an object in its cache
8055
8530
  # that matches the request. If you want to send values to the origin and
8056
- # also include them in the cache key, use `CreateCachePolicy`.
8531
+ # also include them in the cache key, use `CachePolicy`.
8057
8532
  #
8058
8533
  # @note When making an API call, you may pass OriginRequestPolicyConfig
8059
8534
  # data as a hash:
@@ -8427,13 +8902,14 @@ module Aws::CloudFront
8427
8902
  # the origin. CloudFront sends a request when it can’t find an object in
8428
8903
  # its cache that matches the request’s cache key. If you want to send
8429
8904
  # values to the origin but *not* include them in the cache key, use
8430
- # `CreateOriginRequestPolicy`.
8905
+ # `OriginRequestPolicy`.
8431
8906
  #
8432
8907
  # @note When making an API call, you may pass ParametersInCacheKeyAndForwardedToOrigin
8433
8908
  # data as a hash:
8434
8909
  #
8435
8910
  # {
8436
8911
  # enable_accept_encoding_gzip: false, # required
8912
+ # enable_accept_encoding_brotli: false,
8437
8913
  # headers_config: { # required
8438
8914
  # header_behavior: "none", # required, accepts none, whitelist
8439
8915
  # headers: {
@@ -8458,37 +8934,70 @@ module Aws::CloudFront
8458
8934
  # }
8459
8935
  #
8460
8936
  # @!attribute [rw] enable_accept_encoding_gzip
8461
- # A flag that determines whether the `Accept-Encoding` HTTP header is
8937
+ # A flag that can affect whether the `Accept-Encoding` HTTP header is
8462
8938
  # included in the cache key and included in requests that CloudFront
8463
8939
  # sends to the origin.
8464
8940
  #
8465
- # If this field is `true` *and* the viewer request includes the
8466
- # `Accept-Encoding` header, then CloudFront normalizes the value of
8467
- # the viewer’s `Accept-Encoding` header to one of the following:
8941
+ # This field is related to the `EnableAcceptEncodingBrotli` field. If
8942
+ # one or both of these fields is `true` *and* the viewer request
8943
+ # includes the `Accept-Encoding` header, then CloudFront does the
8944
+ # following:
8945
+ #
8946
+ # * Normalizes the value of the viewer’s `Accept-Encoding` header
8468
8947
  #
8469
- # * `Accept-Encoding: gzip` (if `gzip` is in the viewer’s
8470
- # `Accept-Encoding` header)
8948
+ # * Includes the normalized header in the cache key
8471
8949
  #
8472
- # * `Accept-Encoding: identity` (if `gzip` is *not* in the viewer’s
8473
- # `Accept-Encoding` header)
8950
+ # * Includes the normalized header in the request to the origin
8474
8951
  #
8475
- # CloudFront includes the normalized header in the cache key and
8476
- # includes it in requests that CloudFront sends to the origin.
8952
+ # If one or both of these fields are `true`, you should not whitelist
8953
+ # the `Accept-Encoding` header in the cache policy or in an origin
8954
+ # request policy attached to the same cache behavior.
8477
8955
  #
8478
- # If this field is `false`, then CloudFront treats the
8956
+ # For more information, see [Cache compressed objects][1] in the
8957
+ # *Amazon CloudFront Developer Guide*.
8958
+ #
8959
+ # If both of these fields are `false`, then CloudFront treats the
8479
8960
  # `Accept-Encoding` header the same as any other HTTP header in the
8480
8961
  # viewer request. By default, it’s not included in the cache key and
8481
- # it’s not included in origin requests. You can manually add
8482
- # `Accept-Encoding` to the headers whitelist like any other HTTP
8962
+ # it’s not included in origin requests. In this case, you can manually
8963
+ # add `Accept-Encoding` to the headers whitelist like any other HTTP
8483
8964
  # header.
8484
8965
  #
8485
- # When this field is `true`, you should not whitelist the
8486
- # `Accept-Encoding` header in the cache policy or in an origin request
8487
- # policy attached to the same cache behavior.
8966
+ #
8967
+ #
8968
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects
8969
+ # @return [Boolean]
8970
+ #
8971
+ # @!attribute [rw] enable_accept_encoding_brotli
8972
+ # A flag that can affect whether the `Accept-Encoding` HTTP header is
8973
+ # included in the cache key and included in requests that CloudFront
8974
+ # sends to the origin.
8975
+ #
8976
+ # This field is related to the `EnableAcceptEncodingGzip` field. If
8977
+ # one or both of these fields is `true` *and* the viewer request
8978
+ # includes the `Accept-Encoding` header, then CloudFront does the
8979
+ # following:
8980
+ #
8981
+ # * Normalizes the value of the viewer’s `Accept-Encoding` header
8982
+ #
8983
+ # * Includes the normalized header in the cache key
8984
+ #
8985
+ # * Includes the normalized header in the request to the origin
8986
+ #
8987
+ # If one or both of these fields are `true`, you should not whitelist
8988
+ # the `Accept-Encoding` header in the cache policy or in an origin
8989
+ # request policy attached to the same cache behavior.
8488
8990
  #
8489
8991
  # For more information, see [Cache compressed objects][1] in the
8490
8992
  # *Amazon CloudFront Developer Guide*.
8491
8993
  #
8994
+ # If both of these fields are `false`, then CloudFront treats the
8995
+ # `Accept-Encoding` header the same as any other HTTP header in the
8996
+ # viewer request. By default, it’s not included in the cache key and
8997
+ # it’s not included in origin requests. In this case, you can manually
8998
+ # add `Accept-Encoding` to the headers whitelist like any other HTTP
8999
+ # header.
9000
+ #
8492
9001
  #
8493
9002
  #
8494
9003
  # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects
@@ -8518,6 +9027,7 @@ module Aws::CloudFront
8518
9027
  #
8519
9028
  class ParametersInCacheKeyAndForwardedToOrigin < Struct.new(
8520
9029
  :enable_accept_encoding_gzip,
9030
+ :enable_accept_encoding_brotli,
8521
9031
  :headers_config,
8522
9032
  :cookies_config,
8523
9033
  :query_strings_config)
@@ -8855,11 +9365,11 @@ module Aws::CloudFront
8855
9365
  # an origin request policy instead of this field.
8856
9366
  #
8857
9367
  # If you want to include query strings in the cache key, use
8858
- # `QueryStringsConfig` in a cache policy. See `CreateCachePolicy`.
9368
+ # `QueryStringsConfig` in a cache policy. See `CachePolicy`.
8859
9369
  #
8860
9370
  # If you want to send query strings to the origin but not include them
8861
9371
  # in the cache key, use `QueryStringsConfig` in an origin request
8862
- # policy. See `CreateOriginRequestPolicy`.
9372
+ # policy. See `OriginRequestPolicy`.
8863
9373
  #
8864
9374
  # A complex type that contains information about the query string
8865
9375
  # parameters that you want CloudFront to use for caching for a cache
@@ -8920,6 +9430,144 @@ module Aws::CloudFront
8920
9430
  include Aws::Structure
8921
9431
  end
8922
9432
 
9433
+ # A real-time log configuration.
9434
+ #
9435
+ # @!attribute [rw] arn
9436
+ # The Amazon Resource Name (ARN) of this real-time log configuration.
9437
+ # @return [String]
9438
+ #
9439
+ # @!attribute [rw] name
9440
+ # The unique name of this real-time log configuration.
9441
+ # @return [String]
9442
+ #
9443
+ # @!attribute [rw] sampling_rate
9444
+ # The sampling rate for this real-time log configuration. The sampling
9445
+ # rate determines the percentage of viewer requests that are
9446
+ # represented in the real-time log data. The sampling rate is an
9447
+ # integer between 1 and 100, inclusive.
9448
+ # @return [Integer]
9449
+ #
9450
+ # @!attribute [rw] end_points
9451
+ # Contains information about the Amazon Kinesis data stream where you
9452
+ # are sending real-time log data for this real-time log configuration.
9453
+ # @return [Array<Types::EndPoint>]
9454
+ #
9455
+ # @!attribute [rw] fields
9456
+ # A list of fields that are included in each real-time log record. In
9457
+ # an API response, the fields are provided in the same order in which
9458
+ # they are sent to the Amazon Kinesis data stream.
9459
+ #
9460
+ # For more information about fields, see [Real-time log configuration
9461
+ # fields][1] in the *Amazon CloudFront Developer Guide*.
9462
+ #
9463
+ #
9464
+ #
9465
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields
9466
+ # @return [Array<String>]
9467
+ #
9468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfig AWS API Documentation
9469
+ #
9470
+ class RealtimeLogConfig < Struct.new(
9471
+ :arn,
9472
+ :name,
9473
+ :sampling_rate,
9474
+ :end_points,
9475
+ :fields)
9476
+ SENSITIVE = []
9477
+ include Aws::Structure
9478
+ end
9479
+
9480
+ # A real-time log configuration with this name already exists. You must
9481
+ # provide a unique name. To modify an existing real-time log
9482
+ # configuration, use `UpdateRealtimeLogConfig`.
9483
+ #
9484
+ # @!attribute [rw] message
9485
+ # @return [String]
9486
+ #
9487
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigAlreadyExists AWS API Documentation
9488
+ #
9489
+ class RealtimeLogConfigAlreadyExists < Struct.new(
9490
+ :message)
9491
+ SENSITIVE = []
9492
+ include Aws::Structure
9493
+ end
9494
+
9495
+ # Cannot delete the real-time log configuration because it is attached
9496
+ # to one or more cache behaviors.
9497
+ #
9498
+ # @!attribute [rw] message
9499
+ # @return [String]
9500
+ #
9501
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigInUse AWS API Documentation
9502
+ #
9503
+ class RealtimeLogConfigInUse < Struct.new(
9504
+ :message)
9505
+ SENSITIVE = []
9506
+ include Aws::Structure
9507
+ end
9508
+
9509
+ # A list of real-time log configurations.
9510
+ #
9511
+ # @!attribute [rw] max_items
9512
+ # The maximum number of real-time log configurations requested.
9513
+ # @return [Integer]
9514
+ #
9515
+ # @!attribute [rw] items
9516
+ # Contains the list of real-time log configurations.
9517
+ # @return [Array<Types::RealtimeLogConfig>]
9518
+ #
9519
+ # @!attribute [rw] is_truncated
9520
+ # A flag that indicates whether there are more real-time log
9521
+ # configurations than are contained in this list.
9522
+ # @return [Boolean]
9523
+ #
9524
+ # @!attribute [rw] marker
9525
+ # This parameter indicates where this list of real-time log
9526
+ # configurations begins. This list includes real-time log
9527
+ # configurations that occur after the marker.
9528
+ # @return [String]
9529
+ #
9530
+ # @!attribute [rw] next_marker
9531
+ # If there are more items in the list than are in this response, this
9532
+ # element is present. It contains the value that you should use in the
9533
+ # `Marker` field of a subsequent request to continue listing real-time
9534
+ # log configurations where you left off.
9535
+ # @return [String]
9536
+ #
9537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigs AWS API Documentation
9538
+ #
9539
+ class RealtimeLogConfigs < Struct.new(
9540
+ :max_items,
9541
+ :items,
9542
+ :is_truncated,
9543
+ :marker,
9544
+ :next_marker)
9545
+ SENSITIVE = []
9546
+ include Aws::Structure
9547
+ end
9548
+
9549
+ # A subscription configuration for additional CloudWatch metrics.
9550
+ #
9551
+ # @note When making an API call, you may pass RealtimeMetricsSubscriptionConfig
9552
+ # data as a hash:
9553
+ #
9554
+ # {
9555
+ # realtime_metrics_subscription_status: "Enabled", # required, accepts Enabled, Disabled
9556
+ # }
9557
+ #
9558
+ # @!attribute [rw] realtime_metrics_subscription_status
9559
+ # A flag that indicates whether additional CloudWatch metrics are
9560
+ # enabled for a given CloudFront distribution.
9561
+ # @return [String]
9562
+ #
9563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeMetricsSubscriptionConfig AWS API Documentation
9564
+ #
9565
+ class RealtimeMetricsSubscriptionConfig < Struct.new(
9566
+ :realtime_metrics_subscription_status)
9567
+ SENSITIVE = []
9568
+ include Aws::Structure
9569
+ end
9570
+
8923
9571
  # A complex type that identifies ways in which you want to restrict
8924
9572
  # distribution of your content.
8925
9573
  #
@@ -10169,6 +10817,25 @@ module Aws::CloudFront
10169
10817
  include Aws::Structure
10170
10818
  end
10171
10819
 
10820
+ # You have reached the maximum number of real-time log configurations
10821
+ # for this AWS account. For more information, see [Quotas][1] (formerly
10822
+ # known as limits) in the *Amazon CloudFront Developer Guide*.
10823
+ #
10824
+ #
10825
+ #
10826
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
10827
+ #
10828
+ # @!attribute [rw] message
10829
+ # @return [String]
10830
+ #
10831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TooManyRealtimeLogConfigs AWS API Documentation
10832
+ #
10833
+ class TooManyRealtimeLogConfigs < Struct.new(
10834
+ :message)
10835
+ SENSITIVE = []
10836
+ include Aws::Structure
10837
+ end
10838
+
10172
10839
  # Your request contains more CNAMEs than are allowed per distribution.
10173
10840
  #
10174
10841
  # @!attribute [rw] message
@@ -10324,6 +10991,7 @@ module Aws::CloudFront
10324
10991
  # min_ttl: 1, # required
10325
10992
  # parameters_in_cache_key_and_forwarded_to_origin: {
10326
10993
  # enable_accept_encoding_gzip: false, # required
10994
+ # enable_accept_encoding_brotli: false,
10327
10995
  # headers_config: { # required
10328
10996
  # header_behavior: "none", # required, accepts none, whitelist
10329
10997
  # headers: {
@@ -10550,6 +11218,7 @@ module Aws::CloudFront
10550
11218
  # ],
10551
11219
  # },
10552
11220
  # field_level_encryption_id: "string",
11221
+ # realtime_log_config_arn: "string",
10553
11222
  # cache_policy_id: "string",
10554
11223
  # origin_request_policy_id: "string",
10555
11224
  # forwarded_values: {
@@ -10607,6 +11276,7 @@ module Aws::CloudFront
10607
11276
  # ],
10608
11277
  # },
10609
11278
  # field_level_encryption_id: "string",
11279
+ # realtime_log_config_arn: "string",
10610
11280
  # cache_policy_id: "string",
10611
11281
  # origin_request_policy_id: "string",
10612
11282
  # forwarded_values: {
@@ -10657,7 +11327,7 @@ module Aws::CloudFront
10657
11327
  # cloud_front_default_certificate: false,
10658
11328
  # iam_certificate_id: "string",
10659
11329
  # acm_certificate_arn: "string",
10660
- # ssl_support_method: "sni-only", # accepts sni-only, vip
11330
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
10661
11331
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
10662
11332
  # certificate: "string",
10663
11333
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -10996,6 +11666,80 @@ module Aws::CloudFront
10996
11666
  include Aws::Structure
10997
11667
  end
10998
11668
 
11669
+ # @note When making an API call, you may pass UpdateRealtimeLogConfigRequest
11670
+ # data as a hash:
11671
+ #
11672
+ # {
11673
+ # end_points: [
11674
+ # {
11675
+ # stream_type: "string", # required
11676
+ # kinesis_stream_config: {
11677
+ # role_arn: "string", # required
11678
+ # stream_arn: "string", # required
11679
+ # },
11680
+ # },
11681
+ # ],
11682
+ # fields: ["string"],
11683
+ # name: "string",
11684
+ # arn: "string",
11685
+ # sampling_rate: 1,
11686
+ # }
11687
+ #
11688
+ # @!attribute [rw] end_points
11689
+ # Contains information about the Amazon Kinesis data stream where you
11690
+ # are sending real-time log data.
11691
+ # @return [Array<Types::EndPoint>]
11692
+ #
11693
+ # @!attribute [rw] fields
11694
+ # A list of fields to include in each real-time log record.
11695
+ #
11696
+ # For more information about fields, see [Real-time log configuration
11697
+ # fields][1] in the *Amazon CloudFront Developer Guide*.
11698
+ #
11699
+ #
11700
+ #
11701
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields
11702
+ # @return [Array<String>]
11703
+ #
11704
+ # @!attribute [rw] name
11705
+ # The name for this real-time log configuration.
11706
+ # @return [String]
11707
+ #
11708
+ # @!attribute [rw] arn
11709
+ # The Amazon Resource Name (ARN) for this real-time log configuration.
11710
+ # @return [String]
11711
+ #
11712
+ # @!attribute [rw] sampling_rate
11713
+ # The sampling rate for this real-time log configuration. The sampling
11714
+ # rate determines the percentage of viewer requests that are
11715
+ # represented in the real-time log data. You must provide an integer
11716
+ # between 1 and 100, inclusive.
11717
+ # @return [Integer]
11718
+ #
11719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfigRequest AWS API Documentation
11720
+ #
11721
+ class UpdateRealtimeLogConfigRequest < Struct.new(
11722
+ :end_points,
11723
+ :fields,
11724
+ :name,
11725
+ :arn,
11726
+ :sampling_rate)
11727
+ SENSITIVE = []
11728
+ include Aws::Structure
11729
+ end
11730
+
11731
+ # @!attribute [rw] realtime_log_config
11732
+ # A real-time log configuration.
11733
+ # @return [Types::RealtimeLogConfig]
11734
+ #
11735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfigResult AWS API Documentation
11736
+ #
11737
+ class UpdateRealtimeLogConfigResult < Struct.new(
11738
+ :realtime_log_config)
11739
+ SENSITIVE = []
11740
+ include Aws::Structure
11741
+ end
11742
+
10999
11743
  # The request to update a streaming distribution.
11000
11744
  #
11001
11745
  # @note When making an API call, you may pass UpdateStreamingDistributionRequest
@@ -11140,7 +11884,7 @@ module Aws::CloudFront
11140
11884
  # cloud_front_default_certificate: false,
11141
11885
  # iam_certificate_id: "string",
11142
11886
  # acm_certificate_arn: "string",
11143
- # ssl_support_method: "sni-only", # accepts sni-only, vip
11887
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
11144
11888
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
11145
11889
  # certificate: "string",
11146
11890
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -11205,12 +11949,19 @@ module Aws::CloudFront
11205
11949
  # recommended, and results in additional monthly charges from
11206
11950
  # CloudFront.
11207
11951
  #
11952
+ # * `static-ip` - Do not specify this value unless your distribution
11953
+ # has been enabled for this feature by the CloudFront team. If you
11954
+ # have a use case that requires static IP addresses for a
11955
+ # distribution, contact CloudFront through the [AWS Support
11956
+ # Center][2].
11957
+ #
11208
11958
  # If the distribution uses the CloudFront domain name such as
11209
11959
  # `d111111abcdef8.cloudfront.net`, don’t set a value for this field.
11210
11960
  #
11211
11961
  #
11212
11962
  #
11213
11963
  # [1]: https://en.wikipedia.org/wiki/Server_Name_Indication
11964
+ # [2]: https://console.aws.amazon.com/support/home
11214
11965
  # @return [String]
11215
11966
  #
11216
11967
  # @!attribute [rw] minimum_protocol_version