aws-sdk-cloudfront 1.38.0 → 1.43.0

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