aws-sdk-cloudfront 1.38.0 → 1.43.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.
@@ -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
@@ -2596,6 +2615,74 @@ module Aws::CloudFront
2596
2615
  include Aws::Structure
2597
2616
  end
2598
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
+
2599
2686
  # The request to create a new streaming distribution.
2600
2687
  #
2601
2688
  # @note When making an API call, you may pass CreateStreamingDistributionRequest
@@ -3077,6 +3164,7 @@ module Aws::CloudFront
3077
3164
  # ],
3078
3165
  # },
3079
3166
  # field_level_encryption_id: "string",
3167
+ # realtime_log_config_arn: "string",
3080
3168
  # cache_policy_id: "string",
3081
3169
  # origin_request_policy_id: "string",
3082
3170
  # forwarded_values: {
@@ -3219,6 +3307,16 @@ module Aws::CloudFront
3219
3307
  # for the default cache behavior.
3220
3308
  # @return [String]
3221
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
+ #
3222
3320
  # @!attribute [rw] cache_policy_id
3223
3321
  # The unique identifier of the cache policy that is attached to the
3224
3322
  # default cache behavior. For more information, see [Creating cache
@@ -3349,6 +3447,7 @@ module Aws::CloudFront
3349
3447
  :compress,
3350
3448
  :lambda_function_associations,
3351
3449
  :field_level_encryption_id,
3450
+ :realtime_log_config_arn,
3352
3451
  :cache_policy_id,
3353
3452
  :origin_request_policy_id,
3354
3453
  :forwarded_values,
@@ -3616,6 +3715,32 @@ module Aws::CloudFront
3616
3715
  include Aws::Structure
3617
3716
  end
3618
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
+
3619
3744
  # The request to delete a streaming distribution.
3620
3745
  #
3621
3746
  # @note When making an API call, you may pass DeleteStreamingDistributionRequest
@@ -3837,6 +3962,7 @@ module Aws::CloudFront
3837
3962
  # ],
3838
3963
  # },
3839
3964
  # field_level_encryption_id: "string",
3965
+ # realtime_log_config_arn: "string",
3840
3966
  # cache_policy_id: "string",
3841
3967
  # origin_request_policy_id: "string",
3842
3968
  # forwarded_values: {
@@ -3894,6 +4020,7 @@ module Aws::CloudFront
3894
4020
  # ],
3895
4021
  # },
3896
4022
  # field_level_encryption_id: "string",
4023
+ # realtime_log_config_arn: "string",
3897
4024
  # cache_policy_id: "string",
3898
4025
  # origin_request_policy_id: "string",
3899
4026
  # forwarded_values: {
@@ -3944,7 +4071,7 @@ module Aws::CloudFront
3944
4071
  # cloud_front_default_certificate: false,
3945
4072
  # iam_certificate_id: "string",
3946
4073
  # acm_certificate_arn: "string",
3947
- # ssl_support_method: "sni-only", # accepts sni-only, vip
4074
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
3948
4075
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
3949
4076
  # certificate: "string",
3950
4077
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -4088,9 +4215,7 @@ module Aws::CloudFront
4088
4215
  # Class for a CloudFront Distribution][1] in the *Amazon CloudFront
4089
4216
  # Developer Guide*. For information about CloudFront pricing,
4090
4217
  # including how price classes (such as Price Class 100) map to
4091
- # CloudFront regions, see [Amazon CloudFront Pricing][2]. For price
4092
- # class information, scroll down to see the table at the bottom of the
4093
- # page.
4218
+ # CloudFront regions, see [Amazon CloudFront Pricing][2].
4094
4219
  #
4095
4220
  #
4096
4221
  #
@@ -4318,6 +4443,7 @@ module Aws::CloudFront
4318
4443
  # ],
4319
4444
  # },
4320
4445
  # field_level_encryption_id: "string",
4446
+ # realtime_log_config_arn: "string",
4321
4447
  # cache_policy_id: "string",
4322
4448
  # origin_request_policy_id: "string",
4323
4449
  # forwarded_values: {
@@ -4375,6 +4501,7 @@ module Aws::CloudFront
4375
4501
  # ],
4376
4502
  # },
4377
4503
  # field_level_encryption_id: "string",
4504
+ # realtime_log_config_arn: "string",
4378
4505
  # cache_policy_id: "string",
4379
4506
  # origin_request_policy_id: "string",
4380
4507
  # forwarded_values: {
@@ -4425,7 +4552,7 @@ module Aws::CloudFront
4425
4552
  # cloud_front_default_certificate: false,
4426
4553
  # iam_certificate_id: "string",
4427
4554
  # acm_certificate_arn: "string",
4428
- # ssl_support_method: "sni-only", # accepts sni-only, vip
4555
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
4429
4556
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
4430
4557
  # certificate: "string",
4431
4558
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -4797,6 +4924,39 @@ module Aws::CloudFront
4797
4924
  include Aws::Structure
4798
4925
  end
4799
4926
 
4927
+ # Contains information about the Amazon Kinesis data stream where you
4928
+ # are sending real-time log data in a real-time log configuration.
4929
+ #
4930
+ # @note When making an API call, you may pass EndPoint
4931
+ # data as a hash:
4932
+ #
4933
+ # {
4934
+ # stream_type: "string", # required
4935
+ # kinesis_stream_config: {
4936
+ # role_arn: "string", # required
4937
+ # stream_arn: "string", # required
4938
+ # },
4939
+ # }
4940
+ #
4941
+ # @!attribute [rw] stream_type
4942
+ # The type of data stream where you are sending real-time log data.
4943
+ # The only valid value is `Kinesis`.
4944
+ # @return [String]
4945
+ #
4946
+ # @!attribute [rw] kinesis_stream_config
4947
+ # Contains information about the Amazon Kinesis data stream where you
4948
+ # are sending real-time log data.
4949
+ # @return [Types::KinesisStreamConfig]
4950
+ #
4951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/EndPoint AWS API Documentation
4952
+ #
4953
+ class EndPoint < Struct.new(
4954
+ :stream_type,
4955
+ :kinesis_stream_config)
4956
+ SENSITIVE = []
4957
+ include Aws::Structure
4958
+ end
4959
+
4800
4960
  # A complex data type that includes the profile configurations and other
4801
4961
  # options specified for field-level encryption.
4802
4962
  #
@@ -6076,6 +6236,44 @@ module Aws::CloudFront
6076
6236
  include Aws::Structure
6077
6237
  end
6078
6238
 
6239
+ # @note When making an API call, you may pass GetRealtimeLogConfigRequest
6240
+ # data as a hash:
6241
+ #
6242
+ # {
6243
+ # name: "string",
6244
+ # arn: "string",
6245
+ # }
6246
+ #
6247
+ # @!attribute [rw] name
6248
+ # The name of the real-time log configuration to get.
6249
+ # @return [String]
6250
+ #
6251
+ # @!attribute [rw] arn
6252
+ # The Amazon Resource Name (ARN) of the real-time log configuration to
6253
+ # get.
6254
+ # @return [String]
6255
+ #
6256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetRealtimeLogConfigRequest AWS API Documentation
6257
+ #
6258
+ class GetRealtimeLogConfigRequest < Struct.new(
6259
+ :name,
6260
+ :arn)
6261
+ SENSITIVE = []
6262
+ include Aws::Structure
6263
+ end
6264
+
6265
+ # @!attribute [rw] realtime_log_config
6266
+ # A real-time log configuration.
6267
+ # @return [Types::RealtimeLogConfig]
6268
+ #
6269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetRealtimeLogConfigResult AWS API Documentation
6270
+ #
6271
+ class GetRealtimeLogConfigResult < Struct.new(
6272
+ :realtime_log_config)
6273
+ SENSITIVE = []
6274
+ include Aws::Structure
6275
+ end
6276
+
6079
6277
  # To request to get a streaming distribution configuration.
6080
6278
  #
6081
6279
  # @note When making an API call, you may pass GetStreamingDistributionConfigRequest
@@ -6752,6 +6950,44 @@ module Aws::CloudFront
6752
6950
  include Aws::Structure
6753
6951
  end
6754
6952
 
6953
+ # Contains information about the Amazon Kinesis data stream where you
6954
+ # are sending real-time log data.
6955
+ #
6956
+ # @note When making an API call, you may pass KinesisStreamConfig
6957
+ # data as a hash:
6958
+ #
6959
+ # {
6960
+ # role_arn: "string", # required
6961
+ # stream_arn: "string", # required
6962
+ # }
6963
+ #
6964
+ # @!attribute [rw] role_arn
6965
+ # The Amazon Resource Name (ARN) of an AWS Identity and Access
6966
+ # Management (IAM) role that CloudFront can use to send real-time log
6967
+ # data to your Kinesis data stream.
6968
+ #
6969
+ # For more information the IAM role, see [Real-time log configuration
6970
+ # IAM role][1] in the *Amazon CloudFront Developer Guide*.
6971
+ #
6972
+ #
6973
+ #
6974
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role
6975
+ # @return [String]
6976
+ #
6977
+ # @!attribute [rw] stream_arn
6978
+ # The Amazon Resource Name (ARN) of the Kinesis data stream where you
6979
+ # are sending real-time log data.
6980
+ # @return [String]
6981
+ #
6982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/KinesisStreamConfig AWS API Documentation
6983
+ #
6984
+ class KinesisStreamConfig < Struct.new(
6985
+ :role_arn,
6986
+ :stream_arn)
6987
+ SENSITIVE = []
6988
+ include Aws::Structure
6989
+ end
6990
+
6755
6991
  # A complex type that contains a Lambda function association.
6756
6992
  #
6757
6993
  # @note When making an API call, you may pass LambdaFunctionAssociation
@@ -7058,6 +7294,61 @@ module Aws::CloudFront
7058
7294
  include Aws::Structure
7059
7295
  end
7060
7296
 
7297
+ # @note When making an API call, you may pass ListDistributionsByRealtimeLogConfigRequest
7298
+ # data as a hash:
7299
+ #
7300
+ # {
7301
+ # marker: "string",
7302
+ # max_items: 1,
7303
+ # realtime_log_config_name: "string",
7304
+ # realtime_log_config_arn: "string",
7305
+ # }
7306
+ #
7307
+ # @!attribute [rw] marker
7308
+ # Use this field when paginating results to indicate where to begin in
7309
+ # your list of distributions. The response includes distributions in
7310
+ # the list that occur after the marker. To get the next page of the
7311
+ # list, set this field’s value to the value of `NextMarker` from the
7312
+ # current page’s response.
7313
+ # @return [String]
7314
+ #
7315
+ # @!attribute [rw] max_items
7316
+ # The maximum number of distributions that you want in the response.
7317
+ # @return [Integer]
7318
+ #
7319
+ # @!attribute [rw] realtime_log_config_name
7320
+ # The name of the real-time log configuration whose associated
7321
+ # distributions you want to list.
7322
+ # @return [String]
7323
+ #
7324
+ # @!attribute [rw] realtime_log_config_arn
7325
+ # The Amazon Resource Name (ARN) of the real-time log configuration
7326
+ # whose associated distributions you want to list.
7327
+ # @return [String]
7328
+ #
7329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfigRequest AWS API Documentation
7330
+ #
7331
+ class ListDistributionsByRealtimeLogConfigRequest < Struct.new(
7332
+ :marker,
7333
+ :max_items,
7334
+ :realtime_log_config_name,
7335
+ :realtime_log_config_arn)
7336
+ SENSITIVE = []
7337
+ include Aws::Structure
7338
+ end
7339
+
7340
+ # @!attribute [rw] distribution_list
7341
+ # A distribution list.
7342
+ # @return [Types::DistributionList]
7343
+ #
7344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfigResult AWS API Documentation
7345
+ #
7346
+ class ListDistributionsByRealtimeLogConfigResult < Struct.new(
7347
+ :distribution_list)
7348
+ SENSITIVE = []
7349
+ include Aws::Structure
7350
+ end
7351
+
7061
7352
  # The request to list distributions that are associated with a specified
7062
7353
  # AWS WAF web ACL.
7063
7354
  #
@@ -7402,6 +7693,48 @@ module Aws::CloudFront
7402
7693
  include Aws::Structure
7403
7694
  end
7404
7695
 
7696
+ # @note When making an API call, you may pass ListRealtimeLogConfigsRequest
7697
+ # data as a hash:
7698
+ #
7699
+ # {
7700
+ # max_items: 1,
7701
+ # marker: "string",
7702
+ # }
7703
+ #
7704
+ # @!attribute [rw] max_items
7705
+ # The maximum number of real-time log configurations that you want in
7706
+ # the response.
7707
+ # @return [Integer]
7708
+ #
7709
+ # @!attribute [rw] marker
7710
+ # Use this field when paginating results to indicate where to begin in
7711
+ # your list of real-time log configurations. The response includes
7712
+ # real-time log configurations in the list that occur after the
7713
+ # marker. To get the next page of the list, set this field’s value to
7714
+ # the value of `NextMarker` from the current page’s response.
7715
+ # @return [String]
7716
+ #
7717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListRealtimeLogConfigsRequest AWS API Documentation
7718
+ #
7719
+ class ListRealtimeLogConfigsRequest < Struct.new(
7720
+ :max_items,
7721
+ :marker)
7722
+ SENSITIVE = []
7723
+ include Aws::Structure
7724
+ end
7725
+
7726
+ # @!attribute [rw] realtime_log_configs
7727
+ # A list of real-time log configurations.
7728
+ # @return [Types::RealtimeLogConfigs]
7729
+ #
7730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListRealtimeLogConfigsResult AWS API Documentation
7731
+ #
7732
+ class ListRealtimeLogConfigsResult < Struct.new(
7733
+ :realtime_log_configs)
7734
+ SENSITIVE = []
7735
+ include Aws::Structure
7736
+ end
7737
+
7405
7738
  # The request to list your streaming distributions.
7406
7739
  #
7407
7740
  # @note When making an API call, you may pass ListStreamingDistributionsRequest
@@ -7691,6 +8024,19 @@ module Aws::CloudFront
7691
8024
  include Aws::Structure
7692
8025
  end
7693
8026
 
8027
+ # The real-time log configuration does not exist.
8028
+ #
8029
+ # @!attribute [rw] message
8030
+ # @return [String]
8031
+ #
8032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/NoSuchRealtimeLogConfig AWS API Documentation
8033
+ #
8034
+ class NoSuchRealtimeLogConfig < Struct.new(
8035
+ :message)
8036
+ SENSITIVE = []
8037
+ include Aws::Structure
8038
+ end
8039
+
7694
8040
  # A resource that was specified is not valid.
7695
8041
  #
7696
8042
  # @!attribute [rw] message
@@ -8122,7 +8468,7 @@ module Aws::CloudFront
8122
8468
  #
8123
8469
  # CloudFront sends a request when it can’t find an object in its cache
8124
8470
  # that matches the request. If you want to send values to the origin and
8125
- # also include them in the cache key, use `CreateCachePolicy`.
8471
+ # also include them in the cache key, use `CachePolicy`.
8126
8472
  #
8127
8473
  # @!attribute [rw] id
8128
8474
  # The unique identifier for the origin request policy.
@@ -8180,7 +8526,7 @@ module Aws::CloudFront
8180
8526
  #
8181
8527
  # CloudFront sends a request when it can’t find an object in its cache
8182
8528
  # that matches the request. If you want to send values to the origin and
8183
- # also include them in the cache key, use `CreateCachePolicy`.
8529
+ # also include them in the cache key, use `CachePolicy`.
8184
8530
  #
8185
8531
  # @note When making an API call, you may pass OriginRequestPolicyConfig
8186
8532
  # data as a hash:
@@ -8554,13 +8900,14 @@ module Aws::CloudFront
8554
8900
  # the origin. CloudFront sends a request when it can’t find an object in
8555
8901
  # its cache that matches the request’s cache key. If you want to send
8556
8902
  # values to the origin but *not* include them in the cache key, use
8557
- # `CreateOriginRequestPolicy`.
8903
+ # `OriginRequestPolicy`.
8558
8904
  #
8559
8905
  # @note When making an API call, you may pass ParametersInCacheKeyAndForwardedToOrigin
8560
8906
  # data as a hash:
8561
8907
  #
8562
8908
  # {
8563
8909
  # enable_accept_encoding_gzip: false, # required
8910
+ # enable_accept_encoding_brotli: false,
8564
8911
  # headers_config: { # required
8565
8912
  # header_behavior: "none", # required, accepts none, whitelist
8566
8913
  # headers: {
@@ -8585,37 +8932,78 @@ module Aws::CloudFront
8585
8932
  # }
8586
8933
  #
8587
8934
  # @!attribute [rw] enable_accept_encoding_gzip
8588
- # A flag that determines whether the `Accept-Encoding` HTTP header is
8935
+ # A flag that can affect whether the `Accept-Encoding` HTTP header is
8589
8936
  # included in the cache key and included in requests that CloudFront
8590
8937
  # sends to the origin.
8591
8938
  #
8592
- # If this field is `true` *and* the viewer request includes the
8593
- # `Accept-Encoding` header, then CloudFront normalizes the value of
8594
- # the viewer’s `Accept-Encoding` header to one of the following:
8939
+ # This field is related to the `EnableAcceptEncodingBrotli` field. If
8940
+ # one or both of these fields is `true` *and* the viewer request
8941
+ # includes the `Accept-Encoding` header, then CloudFront does the
8942
+ # following:
8595
8943
  #
8596
- # * `Accept-Encoding: gzip` (if `gzip` is in the viewer’s
8597
- # `Accept-Encoding` header)
8944
+ # * Normalizes the value of the viewer’s `Accept-Encoding` header
8598
8945
  #
8599
- # * `Accept-Encoding: identity` (if `gzip` is *not* in the viewer’s
8600
- # `Accept-Encoding` header)
8946
+ # * Includes the normalized header in the cache key
8601
8947
  #
8602
- # CloudFront includes the normalized header in the cache key and
8603
- # includes it in requests that CloudFront sends to the origin.
8948
+ # * Includes the normalized header in the request to the origin, if a
8949
+ # request is necessary
8950
+ #
8951
+ # For more information, see [Cache compressed objects][1] in the
8952
+ # *Amazon CloudFront Developer Guide*.
8604
8953
  #
8605
- # If this field is `false`, then CloudFront treats the
8954
+ # If you set this value to `true`, and this cache behavior also has an
8955
+ # origin request policy attached, do not include the `Accept-Encoding`
8956
+ # header in the origin request policy. CloudFront always includes the
8957
+ # `Accept-Encoding` header in origin requests when the value of this
8958
+ # field is `true`, so including this header in an origin request
8959
+ # policy has no effect.
8960
+ #
8961
+ # If both of these fields are `false`, then CloudFront treats the
8606
8962
  # `Accept-Encoding` header the same as any other HTTP header in the
8607
8963
  # viewer request. By default, it’s not included in the cache key and
8608
- # it’s not included in origin requests. You can manually add
8609
- # `Accept-Encoding` to the headers whitelist like any other HTTP
8964
+ # it’s not included in origin requests. In this case, you can manually
8965
+ # add `Accept-Encoding` to the headers whitelist like any other HTTP
8610
8966
  # header.
8611
8967
  #
8612
- # When this field is `true`, you should not whitelist the
8613
- # `Accept-Encoding` header in the cache policy or in an origin request
8614
- # policy attached to the same cache behavior.
8968
+ #
8969
+ #
8970
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects
8971
+ # @return [Boolean]
8972
+ #
8973
+ # @!attribute [rw] enable_accept_encoding_brotli
8974
+ # A flag that can affect whether the `Accept-Encoding` HTTP header is
8975
+ # included in the cache key and included in requests that CloudFront
8976
+ # sends to the origin.
8977
+ #
8978
+ # This field is related to the `EnableAcceptEncodingGzip` field. If
8979
+ # one or both of these fields is `true` *and* the viewer request
8980
+ # includes the `Accept-Encoding` header, then CloudFront does the
8981
+ # following:
8982
+ #
8983
+ # * Normalizes the value of the viewer’s `Accept-Encoding` header
8984
+ #
8985
+ # * Includes the normalized header in the cache key
8986
+ #
8987
+ # * Includes the normalized header in the request to the origin, if a
8988
+ # request is necessary
8615
8989
  #
8616
8990
  # For more information, see [Cache compressed objects][1] in the
8617
8991
  # *Amazon CloudFront Developer Guide*.
8618
8992
  #
8993
+ # If you set this value to `true`, and this cache behavior also has an
8994
+ # origin request policy attached, do not include the `Accept-Encoding`
8995
+ # header in the origin request policy. CloudFront always includes the
8996
+ # `Accept-Encoding` header in origin requests when the value of this
8997
+ # field is `true`, so including this header in an origin request
8998
+ # policy has no effect.
8999
+ #
9000
+ # If both of these fields are `false`, then CloudFront treats the
9001
+ # `Accept-Encoding` header the same as any other HTTP header in the
9002
+ # viewer request. By default, it’s not included in the cache key and
9003
+ # it’s not included in origin requests. In this case, you can manually
9004
+ # add `Accept-Encoding` to the headers whitelist like any other HTTP
9005
+ # header.
9006
+ #
8619
9007
  #
8620
9008
  #
8621
9009
  # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects
@@ -8645,6 +9033,7 @@ module Aws::CloudFront
8645
9033
  #
8646
9034
  class ParametersInCacheKeyAndForwardedToOrigin < Struct.new(
8647
9035
  :enable_accept_encoding_gzip,
9036
+ :enable_accept_encoding_brotli,
8648
9037
  :headers_config,
8649
9038
  :cookies_config,
8650
9039
  :query_strings_config)
@@ -8982,11 +9371,11 @@ module Aws::CloudFront
8982
9371
  # an origin request policy instead of this field.
8983
9372
  #
8984
9373
  # If you want to include query strings in the cache key, use
8985
- # `QueryStringsConfig` in a cache policy. See `CreateCachePolicy`.
9374
+ # `QueryStringsConfig` in a cache policy. See `CachePolicy`.
8986
9375
  #
8987
9376
  # If you want to send query strings to the origin but not include them
8988
9377
  # in the cache key, use `QueryStringsConfig` in an origin request
8989
- # policy. See `CreateOriginRequestPolicy`.
9378
+ # policy. See `OriginRequestPolicy`.
8990
9379
  #
8991
9380
  # A complex type that contains information about the query string
8992
9381
  # parameters that you want CloudFront to use for caching for a cache
@@ -9047,6 +9436,122 @@ module Aws::CloudFront
9047
9436
  include Aws::Structure
9048
9437
  end
9049
9438
 
9439
+ # A real-time log configuration.
9440
+ #
9441
+ # @!attribute [rw] arn
9442
+ # The Amazon Resource Name (ARN) of this real-time log configuration.
9443
+ # @return [String]
9444
+ #
9445
+ # @!attribute [rw] name
9446
+ # The unique name of this real-time log configuration.
9447
+ # @return [String]
9448
+ #
9449
+ # @!attribute [rw] sampling_rate
9450
+ # The sampling rate for this real-time log configuration. The sampling
9451
+ # rate determines the percentage of viewer requests that are
9452
+ # represented in the real-time log data. The sampling rate is an
9453
+ # integer between 1 and 100, inclusive.
9454
+ # @return [Integer]
9455
+ #
9456
+ # @!attribute [rw] end_points
9457
+ # Contains information about the Amazon Kinesis data stream where you
9458
+ # are sending real-time log data for this real-time log configuration.
9459
+ # @return [Array<Types::EndPoint>]
9460
+ #
9461
+ # @!attribute [rw] fields
9462
+ # A list of fields that are included in each real-time log record. In
9463
+ # an API response, the fields are provided in the same order in which
9464
+ # they are sent to the Amazon Kinesis data stream.
9465
+ #
9466
+ # For more information about fields, see [Real-time log configuration
9467
+ # fields][1] in the *Amazon CloudFront Developer Guide*.
9468
+ #
9469
+ #
9470
+ #
9471
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields
9472
+ # @return [Array<String>]
9473
+ #
9474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfig AWS API Documentation
9475
+ #
9476
+ class RealtimeLogConfig < Struct.new(
9477
+ :arn,
9478
+ :name,
9479
+ :sampling_rate,
9480
+ :end_points,
9481
+ :fields)
9482
+ SENSITIVE = []
9483
+ include Aws::Structure
9484
+ end
9485
+
9486
+ # A real-time log configuration with this name already exists. You must
9487
+ # provide a unique name. To modify an existing real-time log
9488
+ # configuration, use `UpdateRealtimeLogConfig`.
9489
+ #
9490
+ # @!attribute [rw] message
9491
+ # @return [String]
9492
+ #
9493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigAlreadyExists AWS API Documentation
9494
+ #
9495
+ class RealtimeLogConfigAlreadyExists < Struct.new(
9496
+ :message)
9497
+ SENSITIVE = []
9498
+ include Aws::Structure
9499
+ end
9500
+
9501
+ # Cannot delete the real-time log configuration because it is attached
9502
+ # to one or more cache behaviors.
9503
+ #
9504
+ # @!attribute [rw] message
9505
+ # @return [String]
9506
+ #
9507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigInUse AWS API Documentation
9508
+ #
9509
+ class RealtimeLogConfigInUse < Struct.new(
9510
+ :message)
9511
+ SENSITIVE = []
9512
+ include Aws::Structure
9513
+ end
9514
+
9515
+ # A list of real-time log configurations.
9516
+ #
9517
+ # @!attribute [rw] max_items
9518
+ # The maximum number of real-time log configurations requested.
9519
+ # @return [Integer]
9520
+ #
9521
+ # @!attribute [rw] items
9522
+ # Contains the list of real-time log configurations.
9523
+ # @return [Array<Types::RealtimeLogConfig>]
9524
+ #
9525
+ # @!attribute [rw] is_truncated
9526
+ # A flag that indicates whether there are more real-time log
9527
+ # configurations than are contained in this list.
9528
+ # @return [Boolean]
9529
+ #
9530
+ # @!attribute [rw] marker
9531
+ # This parameter indicates where this list of real-time log
9532
+ # configurations begins. This list includes real-time log
9533
+ # configurations that occur after the marker.
9534
+ # @return [String]
9535
+ #
9536
+ # @!attribute [rw] next_marker
9537
+ # If there are more items in the list than are in this response, this
9538
+ # element is present. It contains the value that you should use in the
9539
+ # `Marker` field of a subsequent request to continue listing real-time
9540
+ # log configurations where you left off.
9541
+ # @return [String]
9542
+ #
9543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigs AWS API Documentation
9544
+ #
9545
+ class RealtimeLogConfigs < Struct.new(
9546
+ :max_items,
9547
+ :items,
9548
+ :is_truncated,
9549
+ :marker,
9550
+ :next_marker)
9551
+ SENSITIVE = []
9552
+ include Aws::Structure
9553
+ end
9554
+
9050
9555
  # A subscription configuration for additional CloudWatch metrics.
9051
9556
  #
9052
9557
  # @note When making an API call, you may pass RealtimeMetricsSubscriptionConfig
@@ -10318,6 +10823,25 @@ module Aws::CloudFront
10318
10823
  include Aws::Structure
10319
10824
  end
10320
10825
 
10826
+ # You have reached the maximum number of real-time log configurations
10827
+ # for this AWS account. For more information, see [Quotas][1] (formerly
10828
+ # known as limits) in the *Amazon CloudFront Developer Guide*.
10829
+ #
10830
+ #
10831
+ #
10832
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
10833
+ #
10834
+ # @!attribute [rw] message
10835
+ # @return [String]
10836
+ #
10837
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TooManyRealtimeLogConfigs AWS API Documentation
10838
+ #
10839
+ class TooManyRealtimeLogConfigs < Struct.new(
10840
+ :message)
10841
+ SENSITIVE = []
10842
+ include Aws::Structure
10843
+ end
10844
+
10321
10845
  # Your request contains more CNAMEs than are allowed per distribution.
10322
10846
  #
10323
10847
  # @!attribute [rw] message
@@ -10473,6 +10997,7 @@ module Aws::CloudFront
10473
10997
  # min_ttl: 1, # required
10474
10998
  # parameters_in_cache_key_and_forwarded_to_origin: {
10475
10999
  # enable_accept_encoding_gzip: false, # required
11000
+ # enable_accept_encoding_brotli: false,
10476
11001
  # headers_config: { # required
10477
11002
  # header_behavior: "none", # required, accepts none, whitelist
10478
11003
  # headers: {
@@ -10699,6 +11224,7 @@ module Aws::CloudFront
10699
11224
  # ],
10700
11225
  # },
10701
11226
  # field_level_encryption_id: "string",
11227
+ # realtime_log_config_arn: "string",
10702
11228
  # cache_policy_id: "string",
10703
11229
  # origin_request_policy_id: "string",
10704
11230
  # forwarded_values: {
@@ -10756,6 +11282,7 @@ module Aws::CloudFront
10756
11282
  # ],
10757
11283
  # },
10758
11284
  # field_level_encryption_id: "string",
11285
+ # realtime_log_config_arn: "string",
10759
11286
  # cache_policy_id: "string",
10760
11287
  # origin_request_policy_id: "string",
10761
11288
  # forwarded_values: {
@@ -10806,7 +11333,7 @@ module Aws::CloudFront
10806
11333
  # cloud_front_default_certificate: false,
10807
11334
  # iam_certificate_id: "string",
10808
11335
  # acm_certificate_arn: "string",
10809
- # ssl_support_method: "sni-only", # accepts sni-only, vip
11336
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
10810
11337
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
10811
11338
  # certificate: "string",
10812
11339
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -11145,6 +11672,80 @@ module Aws::CloudFront
11145
11672
  include Aws::Structure
11146
11673
  end
11147
11674
 
11675
+ # @note When making an API call, you may pass UpdateRealtimeLogConfigRequest
11676
+ # data as a hash:
11677
+ #
11678
+ # {
11679
+ # end_points: [
11680
+ # {
11681
+ # stream_type: "string", # required
11682
+ # kinesis_stream_config: {
11683
+ # role_arn: "string", # required
11684
+ # stream_arn: "string", # required
11685
+ # },
11686
+ # },
11687
+ # ],
11688
+ # fields: ["string"],
11689
+ # name: "string",
11690
+ # arn: "string",
11691
+ # sampling_rate: 1,
11692
+ # }
11693
+ #
11694
+ # @!attribute [rw] end_points
11695
+ # Contains information about the Amazon Kinesis data stream where you
11696
+ # are sending real-time log data.
11697
+ # @return [Array<Types::EndPoint>]
11698
+ #
11699
+ # @!attribute [rw] fields
11700
+ # A list of fields to include in each real-time log record.
11701
+ #
11702
+ # For more information about fields, see [Real-time log configuration
11703
+ # fields][1] in the *Amazon CloudFront Developer Guide*.
11704
+ #
11705
+ #
11706
+ #
11707
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields
11708
+ # @return [Array<String>]
11709
+ #
11710
+ # @!attribute [rw] name
11711
+ # The name for this real-time log configuration.
11712
+ # @return [String]
11713
+ #
11714
+ # @!attribute [rw] arn
11715
+ # The Amazon Resource Name (ARN) for this real-time log configuration.
11716
+ # @return [String]
11717
+ #
11718
+ # @!attribute [rw] sampling_rate
11719
+ # The sampling rate for this real-time log configuration. The sampling
11720
+ # rate determines the percentage of viewer requests that are
11721
+ # represented in the real-time log data. You must provide an integer
11722
+ # between 1 and 100, inclusive.
11723
+ # @return [Integer]
11724
+ #
11725
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfigRequest AWS API Documentation
11726
+ #
11727
+ class UpdateRealtimeLogConfigRequest < Struct.new(
11728
+ :end_points,
11729
+ :fields,
11730
+ :name,
11731
+ :arn,
11732
+ :sampling_rate)
11733
+ SENSITIVE = []
11734
+ include Aws::Structure
11735
+ end
11736
+
11737
+ # @!attribute [rw] realtime_log_config
11738
+ # A real-time log configuration.
11739
+ # @return [Types::RealtimeLogConfig]
11740
+ #
11741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfigResult AWS API Documentation
11742
+ #
11743
+ class UpdateRealtimeLogConfigResult < Struct.new(
11744
+ :realtime_log_config)
11745
+ SENSITIVE = []
11746
+ include Aws::Structure
11747
+ end
11748
+
11148
11749
  # The request to update a streaming distribution.
11149
11750
  #
11150
11751
  # @note When making an API call, you may pass UpdateStreamingDistributionRequest
@@ -11289,7 +11890,7 @@ module Aws::CloudFront
11289
11890
  # cloud_front_default_certificate: false,
11290
11891
  # iam_certificate_id: "string",
11291
11892
  # acm_certificate_arn: "string",
11292
- # ssl_support_method: "sni-only", # accepts sni-only, vip
11893
+ # ssl_support_method: "sni-only", # accepts sni-only, vip, static-ip
11293
11894
  # minimum_protocol_version: "SSLv3", # accepts SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019
11294
11895
  # certificate: "string",
11295
11896
  # certificate_source: "cloudfront", # accepts cloudfront, iam, acm
@@ -11354,12 +11955,19 @@ module Aws::CloudFront
11354
11955
  # recommended, and results in additional monthly charges from
11355
11956
  # CloudFront.
11356
11957
  #
11958
+ # * `static-ip` - Do not specify this value unless your distribution
11959
+ # has been enabled for this feature by the CloudFront team. If you
11960
+ # have a use case that requires static IP addresses for a
11961
+ # distribution, contact CloudFront through the [AWS Support
11962
+ # Center][2].
11963
+ #
11357
11964
  # If the distribution uses the CloudFront domain name such as
11358
11965
  # `d111111abcdef8.cloudfront.net`, don’t set a value for this field.
11359
11966
  #
11360
11967
  #
11361
11968
  #
11362
11969
  # [1]: https://en.wikipedia.org/wiki/Server_Name_Indication
11970
+ # [2]: https://console.aws.amazon.com/support/home
11363
11971
  # @return [String]
11364
11972
  #
11365
11973
  # @!attribute [rw] minimum_protocol_version