aws-sdk-cloudfront 1.36.1 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
@@ -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