aws-sdk-cloudfront 1.49.0 → 1.50.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.
@@ -42,6 +42,9 @@ module Aws::CloudFront
42
42
  # * {FieldLevelEncryptionProfileAlreadyExists}
43
43
  # * {FieldLevelEncryptionProfileInUse}
44
44
  # * {FieldLevelEncryptionProfileSizeExceeded}
45
+ # * {FunctionAlreadyExists}
46
+ # * {FunctionInUse}
47
+ # * {FunctionSizeLimitExceeded}
45
48
  # * {IllegalDelete}
46
49
  # * {IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior}
47
50
  # * {IllegalUpdate}
@@ -50,6 +53,7 @@ module Aws::CloudFront
50
53
  # * {InvalidDefaultRootObject}
51
54
  # * {InvalidErrorCode}
52
55
  # * {InvalidForwardCookies}
56
+ # * {InvalidFunctionAssociation}
53
57
  # * {InvalidGeoRestrictionParameter}
54
58
  # * {InvalidHeadersForS3Origin}
55
59
  # * {InvalidIfMatchVersion}
@@ -76,6 +80,7 @@ module Aws::CloudFront
76
80
  # * {NoSuchDistribution}
77
81
  # * {NoSuchFieldLevelEncryptionConfig}
78
82
  # * {NoSuchFieldLevelEncryptionProfile}
83
+ # * {NoSuchFunctionExists}
79
84
  # * {NoSuchInvalidation}
80
85
  # * {NoSuchOrigin}
81
86
  # * {NoSuchOriginRequestPolicy}
@@ -91,9 +96,11 @@ module Aws::CloudFront
91
96
  # * {QueryArgProfileEmpty}
92
97
  # * {RealtimeLogConfigAlreadyExists}
93
98
  # * {RealtimeLogConfigInUse}
99
+ # * {RealtimeLogConfigOwnerMismatch}
94
100
  # * {ResourceInUse}
95
101
  # * {StreamingDistributionAlreadyExists}
96
102
  # * {StreamingDistributionNotDisabled}
103
+ # * {TestFunctionFailed}
97
104
  # * {TooManyCacheBehaviors}
98
105
  # * {TooManyCachePolicies}
99
106
  # * {TooManyCertificates}
@@ -107,6 +114,7 @@ module Aws::CloudFront
107
114
  # * {TooManyDistributionsAssociatedToFieldLevelEncryptionConfig}
108
115
  # * {TooManyDistributionsAssociatedToKeyGroup}
109
116
  # * {TooManyDistributionsAssociatedToOriginRequestPolicy}
117
+ # * {TooManyDistributionsWithFunctionAssociations}
110
118
  # * {TooManyDistributionsWithLambdaAssociations}
111
119
  # * {TooManyDistributionsWithSingleFunctionARN}
112
120
  # * {TooManyFieldLevelEncryptionConfigs}
@@ -115,6 +123,8 @@ module Aws::CloudFront
115
123
  # * {TooManyFieldLevelEncryptionFieldPatterns}
116
124
  # * {TooManyFieldLevelEncryptionProfiles}
117
125
  # * {TooManyFieldLevelEncryptionQueryArgProfiles}
126
+ # * {TooManyFunctionAssociations}
127
+ # * {TooManyFunctions}
118
128
  # * {TooManyHeadersInCachePolicy}
119
129
  # * {TooManyHeadersInForwardedValues}
120
130
  # * {TooManyHeadersInOriginRequestPolicy}
@@ -137,6 +147,7 @@ module Aws::CloudFront
137
147
  # * {TooManyTrustedSigners}
138
148
  # * {TrustedKeyGroupDoesNotExist}
139
149
  # * {TrustedSignerDoesNotExist}
150
+ # * {UnsupportedOperation}
140
151
  #
141
152
  # Additionally, error classes are dynamically generated for service errors based on the error code
142
153
  # if they are not defined above.
@@ -369,6 +380,51 @@ module Aws::CloudFront
369
380
  end
370
381
  end
371
382
 
383
+ class FunctionAlreadyExists < ServiceError
384
+
385
+ # @param [Seahorse::Client::RequestContext] context
386
+ # @param [String] message
387
+ # @param [Aws::CloudFront::Types::FunctionAlreadyExists] data
388
+ def initialize(context, message, data = Aws::EmptyStructure.new)
389
+ super(context, message, data)
390
+ end
391
+
392
+ # @return [String]
393
+ def message
394
+ @message || @data[:message]
395
+ end
396
+ end
397
+
398
+ class FunctionInUse < ServiceError
399
+
400
+ # @param [Seahorse::Client::RequestContext] context
401
+ # @param [String] message
402
+ # @param [Aws::CloudFront::Types::FunctionInUse] data
403
+ def initialize(context, message, data = Aws::EmptyStructure.new)
404
+ super(context, message, data)
405
+ end
406
+
407
+ # @return [String]
408
+ def message
409
+ @message || @data[:message]
410
+ end
411
+ end
412
+
413
+ class FunctionSizeLimitExceeded < ServiceError
414
+
415
+ # @param [Seahorse::Client::RequestContext] context
416
+ # @param [String] message
417
+ # @param [Aws::CloudFront::Types::FunctionSizeLimitExceeded] data
418
+ def initialize(context, message, data = Aws::EmptyStructure.new)
419
+ super(context, message, data)
420
+ end
421
+
422
+ # @return [String]
423
+ def message
424
+ @message || @data[:message]
425
+ end
426
+ end
427
+
372
428
  class IllegalDelete < ServiceError
373
429
 
374
430
  # @param [Seahorse::Client::RequestContext] context
@@ -489,6 +545,21 @@ module Aws::CloudFront
489
545
  end
490
546
  end
491
547
 
548
+ class InvalidFunctionAssociation < ServiceError
549
+
550
+ # @param [Seahorse::Client::RequestContext] context
551
+ # @param [String] message
552
+ # @param [Aws::CloudFront::Types::InvalidFunctionAssociation] data
553
+ def initialize(context, message, data = Aws::EmptyStructure.new)
554
+ super(context, message, data)
555
+ end
556
+
557
+ # @return [String]
558
+ def message
559
+ @message || @data[:message]
560
+ end
561
+ end
562
+
492
563
  class InvalidGeoRestrictionParameter < ServiceError
493
564
 
494
565
  # @param [Seahorse::Client::RequestContext] context
@@ -879,6 +950,21 @@ module Aws::CloudFront
879
950
  end
880
951
  end
881
952
 
953
+ class NoSuchFunctionExists < ServiceError
954
+
955
+ # @param [Seahorse::Client::RequestContext] context
956
+ # @param [String] message
957
+ # @param [Aws::CloudFront::Types::NoSuchFunctionExists] data
958
+ def initialize(context, message, data = Aws::EmptyStructure.new)
959
+ super(context, message, data)
960
+ end
961
+
962
+ # @return [String]
963
+ def message
964
+ @message || @data[:message]
965
+ end
966
+ end
967
+
882
968
  class NoSuchInvalidation < ServiceError
883
969
 
884
970
  # @param [Seahorse::Client::RequestContext] context
@@ -1104,6 +1190,21 @@ module Aws::CloudFront
1104
1190
  end
1105
1191
  end
1106
1192
 
1193
+ class RealtimeLogConfigOwnerMismatch < ServiceError
1194
+
1195
+ # @param [Seahorse::Client::RequestContext] context
1196
+ # @param [String] message
1197
+ # @param [Aws::CloudFront::Types::RealtimeLogConfigOwnerMismatch] data
1198
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1199
+ super(context, message, data)
1200
+ end
1201
+
1202
+ # @return [String]
1203
+ def message
1204
+ @message || @data[:message]
1205
+ end
1206
+ end
1207
+
1107
1208
  class ResourceInUse < ServiceError
1108
1209
 
1109
1210
  # @param [Seahorse::Client::RequestContext] context
@@ -1149,6 +1250,21 @@ module Aws::CloudFront
1149
1250
  end
1150
1251
  end
1151
1252
 
1253
+ class TestFunctionFailed < ServiceError
1254
+
1255
+ # @param [Seahorse::Client::RequestContext] context
1256
+ # @param [String] message
1257
+ # @param [Aws::CloudFront::Types::TestFunctionFailed] data
1258
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1259
+ super(context, message, data)
1260
+ end
1261
+
1262
+ # @return [String]
1263
+ def message
1264
+ @message || @data[:message]
1265
+ end
1266
+ end
1267
+
1152
1268
  class TooManyCacheBehaviors < ServiceError
1153
1269
 
1154
1270
  # @param [Seahorse::Client::RequestContext] context
@@ -1344,6 +1460,21 @@ module Aws::CloudFront
1344
1460
  end
1345
1461
  end
1346
1462
 
1463
+ class TooManyDistributionsWithFunctionAssociations < ServiceError
1464
+
1465
+ # @param [Seahorse::Client::RequestContext] context
1466
+ # @param [String] message
1467
+ # @param [Aws::CloudFront::Types::TooManyDistributionsWithFunctionAssociations] data
1468
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1469
+ super(context, message, data)
1470
+ end
1471
+
1472
+ # @return [String]
1473
+ def message
1474
+ @message || @data[:message]
1475
+ end
1476
+ end
1477
+
1347
1478
  class TooManyDistributionsWithLambdaAssociations < ServiceError
1348
1479
 
1349
1480
  # @param [Seahorse::Client::RequestContext] context
@@ -1464,6 +1595,36 @@ module Aws::CloudFront
1464
1595
  end
1465
1596
  end
1466
1597
 
1598
+ class TooManyFunctionAssociations < ServiceError
1599
+
1600
+ # @param [Seahorse::Client::RequestContext] context
1601
+ # @param [String] message
1602
+ # @param [Aws::CloudFront::Types::TooManyFunctionAssociations] data
1603
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1604
+ super(context, message, data)
1605
+ end
1606
+
1607
+ # @return [String]
1608
+ def message
1609
+ @message || @data[:message]
1610
+ end
1611
+ end
1612
+
1613
+ class TooManyFunctions < ServiceError
1614
+
1615
+ # @param [Seahorse::Client::RequestContext] context
1616
+ # @param [String] message
1617
+ # @param [Aws::CloudFront::Types::TooManyFunctions] data
1618
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1619
+ super(context, message, data)
1620
+ end
1621
+
1622
+ # @return [String]
1623
+ def message
1624
+ @message || @data[:message]
1625
+ end
1626
+ end
1627
+
1467
1628
  class TooManyHeadersInCachePolicy < ServiceError
1468
1629
 
1469
1630
  # @param [Seahorse::Client::RequestContext] context
@@ -1794,5 +1955,20 @@ module Aws::CloudFront
1794
1955
  end
1795
1956
  end
1796
1957
 
1958
+ class UnsupportedOperation < ServiceError
1959
+
1960
+ # @param [Seahorse::Client::RequestContext] context
1961
+ # @param [String] message
1962
+ # @param [Aws::CloudFront::Types::UnsupportedOperation] data
1963
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1964
+ super(context, message, data)
1965
+ end
1966
+
1967
+ # @return [String]
1968
+ def message
1969
+ @message || @data[:message]
1970
+ end
1971
+ end
1972
+
1797
1973
  end
1798
1974
  end
@@ -327,6 +327,15 @@ module Aws::CloudFront
327
327
  # },
328
328
  # ],
329
329
  # },
330
+ # function_associations: {
331
+ # quantity: 1, # required
332
+ # items: [
333
+ # {
334
+ # function_arn: "FunctionARN", # required
335
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
336
+ # },
337
+ # ],
338
+ # },
330
339
  # field_level_encryption_id: "string",
331
340
  # realtime_log_config_arn: "string",
332
341
  # cache_policy_id: "string",
@@ -503,6 +512,12 @@ module Aws::CloudFront
503
512
  # associations for a cache behavior.
504
513
  # @return [Types::LambdaFunctionAssociations]
505
514
  #
515
+ # @!attribute [rw] function_associations
516
+ # A list of CloudFront functions that are associated with this cache
517
+ # behavior. CloudFront functions must be published to the `LIVE` stage
518
+ # to associate them with a cache behavior.
519
+ # @return [Types::FunctionAssociations]
520
+ #
506
521
  # @!attribute [rw] field_level_encryption_id
507
522
  # The value of `ID` for the field-level encryption configuration that
508
523
  # you want CloudFront to use for encrypting specific fields of data
@@ -525,6 +540,9 @@ module Aws::CloudFront
525
540
  # policies][1] or [Using the managed cache policies][2] in the *Amazon
526
541
  # CloudFront Developer Guide*.
527
542
  #
543
+ # A `CacheBehavior` must include either a `CachePolicyId` or
544
+ # `ForwardedValues`. We recommend that you use a `CachePolicyId`.
545
+ #
528
546
  #
529
547
  #
530
548
  # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
@@ -559,6 +577,9 @@ module Aws::CloudFront
559
577
  # [Creating origin request policies][4] or [Using the managed origin
560
578
  # request policies][5] in the *Amazon CloudFront Developer Guide*.
561
579
  #
580
+ # A `CacheBehavior` must include either a `CachePolicyId` or
581
+ # `ForwardedValues`. We recommend that you use a `CachePolicyId`.
582
+ #
562
583
  # A complex type that specifies how CloudFront handles query strings,
563
584
  # cookies, and HTTP headers.
564
585
  #
@@ -650,6 +671,7 @@ module Aws::CloudFront
650
671
  :smooth_streaming,
651
672
  :compress,
652
673
  :lambda_function_associations,
674
+ :function_associations,
653
675
  :field_level_encryption_id,
654
676
  :realtime_log_config_arn,
655
677
  :cache_policy_id,
@@ -704,6 +726,15 @@ module Aws::CloudFront
704
726
  # },
705
727
  # ],
706
728
  # },
729
+ # function_associations: {
730
+ # quantity: 1, # required
731
+ # items: [
732
+ # {
733
+ # function_arn: "FunctionARN", # required
734
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
735
+ # },
736
+ # ],
737
+ # },
707
738
  # field_level_encryption_id: "string",
708
739
  # realtime_log_config_arn: "string",
709
740
  # cache_policy_id: "string",
@@ -864,7 +895,8 @@ module Aws::CloudFront
864
895
  # }
865
896
  #
866
897
  # @!attribute [rw] comment
867
- # A comment to describe the cache policy.
898
+ # A comment to describe the cache policy. The comment cannot be longer
899
+ # than 128 characters.
868
900
  # @return [String]
869
901
  #
870
902
  # @!attribute [rw] name
@@ -1298,7 +1330,8 @@ module Aws::CloudFront
1298
1330
  # @return [String]
1299
1331
  #
1300
1332
  # @!attribute [rw] comment
1301
- # Any comments you want to include about the origin access identity.
1333
+ # An optional comment to describe the origin access identity. The
1334
+ # comment cannot be longer than 128 characters.
1302
1335
  # @return [String]
1303
1336
  #
1304
1337
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CloudFrontOriginAccessIdentityConfig AWS API Documentation
@@ -1885,6 +1918,15 @@ module Aws::CloudFront
1885
1918
  # },
1886
1919
  # ],
1887
1920
  # },
1921
+ # function_associations: {
1922
+ # quantity: 1, # required
1923
+ # items: [
1924
+ # {
1925
+ # function_arn: "FunctionARN", # required
1926
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
1927
+ # },
1928
+ # ],
1929
+ # },
1888
1930
  # field_level_encryption_id: "string",
1889
1931
  # realtime_log_config_arn: "string",
1890
1932
  # cache_policy_id: "string",
@@ -1948,6 +1990,15 @@ module Aws::CloudFront
1948
1990
  # },
1949
1991
  # ],
1950
1992
  # },
1993
+ # function_associations: {
1994
+ # quantity: 1, # required
1995
+ # items: [
1996
+ # {
1997
+ # function_arn: "FunctionARN", # required
1998
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
1999
+ # },
2000
+ # ],
2001
+ # },
1951
2002
  # field_level_encryption_id: "string",
1952
2003
  # realtime_log_config_arn: "string",
1953
2004
  # cache_policy_id: "string",
@@ -2163,6 +2214,15 @@ module Aws::CloudFront
2163
2214
  # },
2164
2215
  # ],
2165
2216
  # },
2217
+ # function_associations: {
2218
+ # quantity: 1, # required
2219
+ # items: [
2220
+ # {
2221
+ # function_arn: "FunctionARN", # required
2222
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
2223
+ # },
2224
+ # ],
2225
+ # },
2166
2226
  # field_level_encryption_id: "string",
2167
2227
  # realtime_log_config_arn: "string",
2168
2228
  # cache_policy_id: "string",
@@ -2226,6 +2286,15 @@ module Aws::CloudFront
2226
2286
  # },
2227
2287
  # ],
2228
2288
  # },
2289
+ # function_associations: {
2290
+ # quantity: 1, # required
2291
+ # items: [
2292
+ # {
2293
+ # function_arn: "FunctionARN", # required
2294
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
2295
+ # },
2296
+ # ],
2297
+ # },
2229
2298
  # field_level_encryption_id: "string",
2230
2299
  # realtime_log_config_arn: "string",
2231
2300
  # cache_policy_id: "string",
@@ -2472,6 +2541,72 @@ module Aws::CloudFront
2472
2541
  include Aws::Structure
2473
2542
  end
2474
2543
 
2544
+ # @note When making an API call, you may pass CreateFunctionRequest
2545
+ # data as a hash:
2546
+ #
2547
+ # {
2548
+ # name: "FunctionName", # required
2549
+ # function_config: { # required
2550
+ # comment: "string", # required
2551
+ # runtime: "cloudfront-js-1.0", # required, accepts cloudfront-js-1.0
2552
+ # },
2553
+ # function_code: "data", # required
2554
+ # }
2555
+ #
2556
+ # @!attribute [rw] name
2557
+ # A name to identify the function.
2558
+ # @return [String]
2559
+ #
2560
+ # @!attribute [rw] function_config
2561
+ # Configuration information about the function, including an optional
2562
+ # comment and the function’s runtime.
2563
+ # @return [Types::FunctionConfig]
2564
+ #
2565
+ # @!attribute [rw] function_code
2566
+ # The function code. For more information about writing a CloudFront
2567
+ # function, see [Writing function code for CloudFront Functions][1] in
2568
+ # the *Amazon CloudFront Developer Guide*.
2569
+ #
2570
+ #
2571
+ #
2572
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html
2573
+ # @return [String]
2574
+ #
2575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFunctionRequest AWS API Documentation
2576
+ #
2577
+ class CreateFunctionRequest < Struct.new(
2578
+ :name,
2579
+ :function_config,
2580
+ :function_code)
2581
+ SENSITIVE = [:function_code]
2582
+ include Aws::Structure
2583
+ end
2584
+
2585
+ # @!attribute [rw] function_summary
2586
+ # Contains configuration information and metadata about a CloudFront
2587
+ # function.
2588
+ # @return [Types::FunctionSummary]
2589
+ #
2590
+ # @!attribute [rw] location
2591
+ # The URL of the CloudFront function. Use the URL to manage the
2592
+ # function with the CloudFront API.
2593
+ # @return [String]
2594
+ #
2595
+ # @!attribute [rw] etag
2596
+ # The version identifier for the current version of the CloudFront
2597
+ # function.
2598
+ # @return [String]
2599
+ #
2600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFunctionResult AWS API Documentation
2601
+ #
2602
+ class CreateFunctionResult < Struct.new(
2603
+ :function_summary,
2604
+ :location,
2605
+ :etag)
2606
+ SENSITIVE = []
2607
+ include Aws::Structure
2608
+ end
2609
+
2475
2610
  # The request to create an invalidation.
2476
2611
  #
2477
2612
  # @note When making an API call, you may pass CreateInvalidationRequest
@@ -3279,6 +3414,15 @@ module Aws::CloudFront
3279
3414
  # },
3280
3415
  # ],
3281
3416
  # },
3417
+ # function_associations: {
3418
+ # quantity: 1, # required
3419
+ # items: [
3420
+ # {
3421
+ # function_arn: "FunctionARN", # required
3422
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
3423
+ # },
3424
+ # ],
3425
+ # },
3282
3426
  # field_level_encryption_id: "string",
3283
3427
  # realtime_log_config_arn: "string",
3284
3428
  # cache_policy_id: "string",
@@ -3430,6 +3574,12 @@ module Aws::CloudFront
3430
3574
  # associations for a cache behavior.
3431
3575
  # @return [Types::LambdaFunctionAssociations]
3432
3576
  #
3577
+ # @!attribute [rw] function_associations
3578
+ # A list of CloudFront functions that are associated with this cache
3579
+ # behavior. CloudFront functions must be published to the `LIVE` stage
3580
+ # to associate them with a cache behavior.
3581
+ # @return [Types::FunctionAssociations]
3582
+ #
3433
3583
  # @!attribute [rw] field_level_encryption_id
3434
3584
  # The value of `ID` for the field-level encryption configuration that
3435
3585
  # you want CloudFront to use for encrypting specific fields of data
@@ -3452,6 +3602,9 @@ module Aws::CloudFront
3452
3602
  # policies][1] or [Using the managed cache policies][2] in the *Amazon
3453
3603
  # CloudFront Developer Guide*.
3454
3604
  #
3605
+ # A `DefaultCacheBehavior` must include either a `CachePolicyId` or
3606
+ # `ForwardedValues`. We recommend that you use a `CachePolicyId`.
3607
+ #
3455
3608
  #
3456
3609
  #
3457
3610
  # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy
@@ -3486,6 +3639,9 @@ module Aws::CloudFront
3486
3639
  # [Creating origin request policies][4] or [Using the managed origin
3487
3640
  # request policies][5] in the *Amazon CloudFront Developer Guide*.
3488
3641
  #
3642
+ # A `DefaultCacheBehavior` must include either a `CachePolicyId` or
3643
+ # `ForwardedValues`. We recommend that you use a `CachePolicyId`.
3644
+ #
3489
3645
  # A complex type that specifies how CloudFront handles query strings,
3490
3646
  # cookies, and HTTP headers.
3491
3647
  #
@@ -3576,6 +3732,7 @@ module Aws::CloudFront
3576
3732
  :smooth_streaming,
3577
3733
  :compress,
3578
3734
  :lambda_function_associations,
3735
+ :function_associations,
3579
3736
  :field_level_encryption_id,
3580
3737
  :realtime_log_config_arn,
3581
3738
  :cache_policy_id,
@@ -3766,6 +3923,32 @@ module Aws::CloudFront
3766
3923
  include Aws::Structure
3767
3924
  end
3768
3925
 
3926
+ # @note When making an API call, you may pass DeleteFunctionRequest
3927
+ # data as a hash:
3928
+ #
3929
+ # {
3930
+ # name: "string", # required
3931
+ # if_match: "string", # required
3932
+ # }
3933
+ #
3934
+ # @!attribute [rw] name
3935
+ # The name of the function that you are deleting.
3936
+ # @return [String]
3937
+ #
3938
+ # @!attribute [rw] if_match
3939
+ # The current version (`ETag` value) of the function that you are
3940
+ # deleting, which you can get using `DescribeFunction`.
3941
+ # @return [String]
3942
+ #
3943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFunctionRequest AWS API Documentation
3944
+ #
3945
+ class DeleteFunctionRequest < Struct.new(
3946
+ :name,
3947
+ :if_match)
3948
+ SENSITIVE = []
3949
+ include Aws::Structure
3950
+ end
3951
+
3769
3952
  # @note When making an API call, you may pass DeleteKeyGroupRequest
3770
3953
  # data as a hash:
3771
3954
  #
@@ -3927,6 +4110,50 @@ module Aws::CloudFront
3927
4110
  include Aws::Structure
3928
4111
  end
3929
4112
 
4113
+ # @note When making an API call, you may pass DescribeFunctionRequest
4114
+ # data as a hash:
4115
+ #
4116
+ # {
4117
+ # name: "string", # required
4118
+ # stage: "DEVELOPMENT", # accepts DEVELOPMENT, LIVE
4119
+ # }
4120
+ #
4121
+ # @!attribute [rw] name
4122
+ # The name of the function that you are getting information about.
4123
+ # @return [String]
4124
+ #
4125
+ # @!attribute [rw] stage
4126
+ # The function’s stage, either `DEVELOPMENT` or `LIVE`.
4127
+ # @return [String]
4128
+ #
4129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DescribeFunctionRequest AWS API Documentation
4130
+ #
4131
+ class DescribeFunctionRequest < Struct.new(
4132
+ :name,
4133
+ :stage)
4134
+ SENSITIVE = []
4135
+ include Aws::Structure
4136
+ end
4137
+
4138
+ # @!attribute [rw] function_summary
4139
+ # Contains configuration information and metadata about a CloudFront
4140
+ # function.
4141
+ # @return [Types::FunctionSummary]
4142
+ #
4143
+ # @!attribute [rw] etag
4144
+ # The version identifier for the current version of the CloudFront
4145
+ # function.
4146
+ # @return [String]
4147
+ #
4148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DescribeFunctionResult AWS API Documentation
4149
+ #
4150
+ class DescribeFunctionResult < Struct.new(
4151
+ :function_summary,
4152
+ :etag)
4153
+ SENSITIVE = []
4154
+ include Aws::Structure
4155
+ end
4156
+
3930
4157
  # A distribution tells CloudFront where you want content to be delivered
3931
4158
  # from, and the details about how to track and manage content delivery.
3932
4159
  #
@@ -4136,6 +4363,15 @@ module Aws::CloudFront
4136
4363
  # },
4137
4364
  # ],
4138
4365
  # },
4366
+ # function_associations: {
4367
+ # quantity: 1, # required
4368
+ # items: [
4369
+ # {
4370
+ # function_arn: "FunctionARN", # required
4371
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
4372
+ # },
4373
+ # ],
4374
+ # },
4139
4375
  # field_level_encryption_id: "string",
4140
4376
  # realtime_log_config_arn: "string",
4141
4377
  # cache_policy_id: "string",
@@ -4199,6 +4435,15 @@ module Aws::CloudFront
4199
4435
  # },
4200
4436
  # ],
4201
4437
  # },
4438
+ # function_associations: {
4439
+ # quantity: 1, # required
4440
+ # items: [
4441
+ # {
4442
+ # function_arn: "FunctionARN", # required
4443
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
4444
+ # },
4445
+ # ],
4446
+ # },
4202
4447
  # field_level_encryption_id: "string",
4203
4448
  # realtime_log_config_arn: "string",
4204
4449
  # cache_policy_id: "string",
@@ -4355,16 +4600,8 @@ module Aws::CloudFront
4355
4600
  # @return [Types::CustomErrorResponses]
4356
4601
  #
4357
4602
  # @!attribute [rw] comment
4358
- # Any comments you want to include about the distribution.
4359
- #
4360
- # If you don't want to specify a comment, include an empty `Comment`
4361
- # element.
4362
- #
4363
- # To delete an existing comment, update the distribution configuration
4364
- # and include an empty `Comment` element.
4365
- #
4366
- # To add or change a comment, update the distribution configuration
4367
- # and specify the new comment.
4603
+ # An optional comment to describe the distribution. The comment cannot
4604
+ # be longer than 128 characters.
4368
4605
  # @return [String]
4369
4606
  #
4370
4607
  # @!attribute [rw] logging
@@ -4631,6 +4868,15 @@ module Aws::CloudFront
4631
4868
  # },
4632
4869
  # ],
4633
4870
  # },
4871
+ # function_associations: {
4872
+ # quantity: 1, # required
4873
+ # items: [
4874
+ # {
4875
+ # function_arn: "FunctionARN", # required
4876
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
4877
+ # },
4878
+ # ],
4879
+ # },
4634
4880
  # field_level_encryption_id: "string",
4635
4881
  # realtime_log_config_arn: "string",
4636
4882
  # cache_policy_id: "string",
@@ -4694,6 +4940,15 @@ module Aws::CloudFront
4694
4940
  # },
4695
4941
  # ],
4696
4942
  # },
4943
+ # function_associations: {
4944
+ # quantity: 1, # required
4945
+ # items: [
4946
+ # {
4947
+ # function_arn: "FunctionARN", # required
4948
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
4949
+ # },
4950
+ # ],
4951
+ # },
4697
4952
  # field_level_encryption_id: "string",
4698
4953
  # realtime_log_config_arn: "string",
4699
4954
  # cache_policy_id: "string",
@@ -5220,7 +5475,8 @@ module Aws::CloudFront
5220
5475
  # @return [String]
5221
5476
  #
5222
5477
  # @!attribute [rw] comment
5223
- # An optional comment about the configuration.
5478
+ # An optional comment about the configuration. The comment cannot be
5479
+ # longer than 128 characters.
5224
5480
  # @return [String]
5225
5481
  #
5226
5482
  # @!attribute [rw] query_arg_profile_config
@@ -5377,7 +5633,8 @@ module Aws::CloudFront
5377
5633
  # @return [String]
5378
5634
  #
5379
5635
  # @!attribute [rw] comment
5380
- # An optional comment for the field-level encryption profile.
5636
+ # An optional comment for the field-level encryption profile. The
5637
+ # comment cannot be longer than 128 characters.
5381
5638
  # @return [String]
5382
5639
  #
5383
5640
  # @!attribute [rw] encryption_entities
@@ -5478,6 +5735,7 @@ module Aws::CloudFront
5478
5735
  #
5479
5736
  # @!attribute [rw] comment
5480
5737
  # An optional comment for the field-level encryption profile summary.
5738
+ # The comment cannot be longer than 128 characters.
5481
5739
  # @return [String]
5482
5740
  #
5483
5741
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FieldLevelEncryptionProfileSummary AWS API Documentation
@@ -5504,7 +5762,8 @@ module Aws::CloudFront
5504
5762
  # @return [Time]
5505
5763
  #
5506
5764
  # @!attribute [rw] comment
5507
- # An optional comment about the field-level encryption item.
5765
+ # An optional comment about the field-level encryption item. The
5766
+ # comment cannot be longer than 128 characters.
5508
5767
  # @return [String]
5509
5768
  #
5510
5769
  # @!attribute [rw] query_arg_profile_config
@@ -5732,6 +5991,245 @@ module Aws::CloudFront
5732
5991
  include Aws::Structure
5733
5992
  end
5734
5993
 
5994
+ # A function with the same name already exists in this AWS account. To
5995
+ # create a function, you must provide a unique name. To update an
5996
+ # existing function, use `UpdateFunction`.
5997
+ #
5998
+ # @!attribute [rw] message
5999
+ # @return [String]
6000
+ #
6001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FunctionAlreadyExists AWS API Documentation
6002
+ #
6003
+ class FunctionAlreadyExists < Struct.new(
6004
+ :message)
6005
+ SENSITIVE = []
6006
+ include Aws::Structure
6007
+ end
6008
+
6009
+ # A CloudFront function that is associated with a cache behavior in a
6010
+ # CloudFront distribution.
6011
+ #
6012
+ # @note When making an API call, you may pass FunctionAssociation
6013
+ # data as a hash:
6014
+ #
6015
+ # {
6016
+ # function_arn: "FunctionARN", # required
6017
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
6018
+ # }
6019
+ #
6020
+ # @!attribute [rw] function_arn
6021
+ # The Amazon Resource Name (ARN) of the function.
6022
+ # @return [String]
6023
+ #
6024
+ # @!attribute [rw] event_type
6025
+ # The event type of the function, either `viewer-request` or
6026
+ # `viewer-response`. You cannot use origin-facing event types
6027
+ # (`origin-request` and `origin-response`) with a CloudFront function.
6028
+ # @return [String]
6029
+ #
6030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FunctionAssociation AWS API Documentation
6031
+ #
6032
+ class FunctionAssociation < Struct.new(
6033
+ :function_arn,
6034
+ :event_type)
6035
+ SENSITIVE = []
6036
+ include Aws::Structure
6037
+ end
6038
+
6039
+ # A list of CloudFront functions that are associated with a cache
6040
+ # behavior in a CloudFront distribution. CloudFront functions must be
6041
+ # published to the `LIVE` stage to associate them with a cache behavior.
6042
+ #
6043
+ # @note When making an API call, you may pass FunctionAssociations
6044
+ # data as a hash:
6045
+ #
6046
+ # {
6047
+ # quantity: 1, # required
6048
+ # items: [
6049
+ # {
6050
+ # function_arn: "FunctionARN", # required
6051
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
6052
+ # },
6053
+ # ],
6054
+ # }
6055
+ #
6056
+ # @!attribute [rw] quantity
6057
+ # The number of CloudFront functions in the list.
6058
+ # @return [Integer]
6059
+ #
6060
+ # @!attribute [rw] items
6061
+ # The CloudFront functions that are associated with a cache behavior
6062
+ # in a CloudFront distribution. CloudFront functions must be published
6063
+ # to the `LIVE` stage to associate them with a cache behavior.
6064
+ # @return [Array<Types::FunctionAssociation>]
6065
+ #
6066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FunctionAssociations AWS API Documentation
6067
+ #
6068
+ class FunctionAssociations < Struct.new(
6069
+ :quantity,
6070
+ :items)
6071
+ SENSITIVE = []
6072
+ include Aws::Structure
6073
+ end
6074
+
6075
+ # Contains configuration information about a CloudFront function.
6076
+ #
6077
+ # @note When making an API call, you may pass FunctionConfig
6078
+ # data as a hash:
6079
+ #
6080
+ # {
6081
+ # comment: "string", # required
6082
+ # runtime: "cloudfront-js-1.0", # required, accepts cloudfront-js-1.0
6083
+ # }
6084
+ #
6085
+ # @!attribute [rw] comment
6086
+ # A comment to describe the function.
6087
+ # @return [String]
6088
+ #
6089
+ # @!attribute [rw] runtime
6090
+ # The function’s runtime environment. The only valid value is
6091
+ # `cloudfront-js-1.0`.
6092
+ # @return [String]
6093
+ #
6094
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FunctionConfig AWS API Documentation
6095
+ #
6096
+ class FunctionConfig < Struct.new(
6097
+ :comment,
6098
+ :runtime)
6099
+ SENSITIVE = []
6100
+ include Aws::Structure
6101
+ end
6102
+
6103
+ # Cannot delete the function because it’s attached to one or more cache
6104
+ # behaviors.
6105
+ #
6106
+ # @!attribute [rw] message
6107
+ # @return [String]
6108
+ #
6109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FunctionInUse AWS API Documentation
6110
+ #
6111
+ class FunctionInUse < Struct.new(
6112
+ :message)
6113
+ SENSITIVE = []
6114
+ include Aws::Structure
6115
+ end
6116
+
6117
+ # A list of CloudFront functions.
6118
+ #
6119
+ # @!attribute [rw] next_marker
6120
+ # If there are more items in the list than are in this response, this
6121
+ # element is present. It contains the value that you should use in the
6122
+ # `Marker` field of a subsequent request to continue listing functions
6123
+ # where you left off.
6124
+ # @return [String]
6125
+ #
6126
+ # @!attribute [rw] max_items
6127
+ # The maximum number of functions requested.
6128
+ # @return [Integer]
6129
+ #
6130
+ # @!attribute [rw] quantity
6131
+ # The number of functions returned in the response.
6132
+ # @return [Integer]
6133
+ #
6134
+ # @!attribute [rw] items
6135
+ # Contains the functions in the list.
6136
+ # @return [Array<Types::FunctionSummary>]
6137
+ #
6138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FunctionList AWS API Documentation
6139
+ #
6140
+ class FunctionList < Struct.new(
6141
+ :next_marker,
6142
+ :max_items,
6143
+ :quantity,
6144
+ :items)
6145
+ SENSITIVE = []
6146
+ include Aws::Structure
6147
+ end
6148
+
6149
+ # Contains metadata about a CloudFront function.
6150
+ #
6151
+ # @!attribute [rw] function_arn
6152
+ # The Amazon Resource Name (ARN) of the function. The ARN uniquely
6153
+ # identifies the function.
6154
+ # @return [String]
6155
+ #
6156
+ # @!attribute [rw] stage
6157
+ # The stage that the function is in, either `DEVELOPMENT` or `LIVE`.
6158
+ #
6159
+ # When a function is in the `DEVELOPMENT` stage, you can test the
6160
+ # function with `TestFunction`, and update it with `UpdateFunction`.
6161
+ #
6162
+ # When a function is in the `LIVE` stage, you can attach the function
6163
+ # to a distribution’s cache behavior, using the function’s ARN.
6164
+ # @return [String]
6165
+ #
6166
+ # @!attribute [rw] created_time
6167
+ # The date and time when the function was created.
6168
+ # @return [Time]
6169
+ #
6170
+ # @!attribute [rw] last_modified_time
6171
+ # The date and time when the function was most recently updated.
6172
+ # @return [Time]
6173
+ #
6174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FunctionMetadata AWS API Documentation
6175
+ #
6176
+ class FunctionMetadata < Struct.new(
6177
+ :function_arn,
6178
+ :stage,
6179
+ :created_time,
6180
+ :last_modified_time)
6181
+ SENSITIVE = []
6182
+ include Aws::Structure
6183
+ end
6184
+
6185
+ # The function is too large. For more information, see [Quotas][1]
6186
+ # (formerly known as limits) in the *Amazon CloudFront Developer Guide*.
6187
+ #
6188
+ #
6189
+ #
6190
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
6191
+ #
6192
+ # @!attribute [rw] message
6193
+ # @return [String]
6194
+ #
6195
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FunctionSizeLimitExceeded AWS API Documentation
6196
+ #
6197
+ class FunctionSizeLimitExceeded < Struct.new(
6198
+ :message)
6199
+ SENSITIVE = []
6200
+ include Aws::Structure
6201
+ end
6202
+
6203
+ # Contains configuration information and metadata about a CloudFront
6204
+ # function.
6205
+ #
6206
+ # @!attribute [rw] name
6207
+ # The name of the CloudFront function.
6208
+ # @return [String]
6209
+ #
6210
+ # @!attribute [rw] status
6211
+ # The status of the CloudFront function.
6212
+ # @return [String]
6213
+ #
6214
+ # @!attribute [rw] function_config
6215
+ # Contains configuration information about a CloudFront function.
6216
+ # @return [Types::FunctionConfig]
6217
+ #
6218
+ # @!attribute [rw] function_metadata
6219
+ # Contains metadata about a CloudFront function.
6220
+ # @return [Types::FunctionMetadata]
6221
+ #
6222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/FunctionSummary AWS API Documentation
6223
+ #
6224
+ class FunctionSummary < Struct.new(
6225
+ :name,
6226
+ :status,
6227
+ :function_config,
6228
+ :function_metadata)
6229
+ SENSITIVE = []
6230
+ include Aws::Structure
6231
+ end
6232
+
5735
6233
  # A complex type that controls the countries in which your content is
5736
6234
  # distributed. CloudFront determines the location of your users using
5737
6235
  # `MaxMind` GeoIP databases.
@@ -6184,12 +6682,60 @@ module Aws::CloudFront
6184
6682
  # example: `E2QWRUHAPOMQZL`.
6185
6683
  # @return [String]
6186
6684
  #
6187
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionResult AWS API Documentation
6685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionResult AWS API Documentation
6686
+ #
6687
+ class GetFieldLevelEncryptionResult < Struct.new(
6688
+ :field_level_encryption,
6689
+ :etag)
6690
+ SENSITIVE = []
6691
+ include Aws::Structure
6692
+ end
6693
+
6694
+ # @note When making an API call, you may pass GetFunctionRequest
6695
+ # data as a hash:
6696
+ #
6697
+ # {
6698
+ # name: "string", # required
6699
+ # stage: "DEVELOPMENT", # accepts DEVELOPMENT, LIVE
6700
+ # }
6701
+ #
6702
+ # @!attribute [rw] name
6703
+ # The name of the function whose code you are getting.
6704
+ # @return [String]
6705
+ #
6706
+ # @!attribute [rw] stage
6707
+ # The function’s stage, either `DEVELOPMENT` or `LIVE`.
6708
+ # @return [String]
6709
+ #
6710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFunctionRequest AWS API Documentation
6711
+ #
6712
+ class GetFunctionRequest < Struct.new(
6713
+ :name,
6714
+ :stage)
6715
+ SENSITIVE = []
6716
+ include Aws::Structure
6717
+ end
6718
+
6719
+ # @!attribute [rw] function_code
6720
+ # The function code of a CloudFront function.
6721
+ # @return [String]
6722
+ #
6723
+ # @!attribute [rw] etag
6724
+ # The version identifier for the current version of the CloudFront
6725
+ # function.
6726
+ # @return [String]
6727
+ #
6728
+ # @!attribute [rw] content_type
6729
+ # The content type (media type) of the response.
6730
+ # @return [String]
6731
+ #
6732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFunctionResult AWS API Documentation
6188
6733
  #
6189
- class GetFieldLevelEncryptionResult < Struct.new(
6190
- :field_level_encryption,
6191
- :etag)
6192
- SENSITIVE = []
6734
+ class GetFunctionResult < Struct.new(
6735
+ :function_code,
6736
+ :etag,
6737
+ :content_type)
6738
+ SENSITIVE = [:function_code]
6193
6739
  include Aws::Structure
6194
6740
  end
6195
6741
 
@@ -6759,6 +7305,19 @@ module Aws::CloudFront
6759
7305
  include Aws::Structure
6760
7306
  end
6761
7307
 
7308
+ # A CloudFront function association is invalid.
7309
+ #
7310
+ # @!attribute [rw] message
7311
+ # @return [String]
7312
+ #
7313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/InvalidFunctionAssociation AWS API Documentation
7314
+ #
7315
+ class InvalidFunctionAssociation < Struct.new(
7316
+ :message)
7317
+ SENSITIVE = []
7318
+ include Aws::Structure
7319
+ end
7320
+
6762
7321
  # The specified geo restriction parameter is not valid.
6763
7322
  #
6764
7323
  # @!attribute [rw] message
@@ -7270,7 +7829,8 @@ module Aws::CloudFront
7270
7829
  # @return [Array<String>]
7271
7830
  #
7272
7831
  # @!attribute [rw] comment
7273
- # A comment to describe the key group.
7832
+ # A comment to describe the key group. The comment cannot be longer
7833
+ # than 128 characters.
7274
7834
  # @return [String]
7275
7835
  #
7276
7836
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/KeyGroupConfig AWS API Documentation
@@ -7988,6 +8548,54 @@ module Aws::CloudFront
7988
8548
  include Aws::Structure
7989
8549
  end
7990
8550
 
8551
+ # @note When making an API call, you may pass ListFunctionsRequest
8552
+ # data as a hash:
8553
+ #
8554
+ # {
8555
+ # marker: "string",
8556
+ # max_items: 1,
8557
+ # stage: "DEVELOPMENT", # accepts DEVELOPMENT, LIVE
8558
+ # }
8559
+ #
8560
+ # @!attribute [rw] marker
8561
+ # Use this field when paginating results to indicate where to begin in
8562
+ # your list of functions. The response includes functions in the list
8563
+ # that occur after the marker. To get the next page of the list, set
8564
+ # this field’s value to the value of `NextMarker` from the current
8565
+ # page’s response.
8566
+ # @return [String]
8567
+ #
8568
+ # @!attribute [rw] max_items
8569
+ # The maximum number of functions that you want in the response.
8570
+ # @return [Integer]
8571
+ #
8572
+ # @!attribute [rw] stage
8573
+ # An optional filter to return only the functions that are in the
8574
+ # specified stage, either `DEVELOPMENT` or `LIVE`.
8575
+ # @return [String]
8576
+ #
8577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFunctionsRequest AWS API Documentation
8578
+ #
8579
+ class ListFunctionsRequest < Struct.new(
8580
+ :marker,
8581
+ :max_items,
8582
+ :stage)
8583
+ SENSITIVE = []
8584
+ include Aws::Structure
8585
+ end
8586
+
8587
+ # @!attribute [rw] function_list
8588
+ # A list of CloudFront functions.
8589
+ # @return [Types::FunctionList]
8590
+ #
8591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFunctionsResult AWS API Documentation
8592
+ #
8593
+ class ListFunctionsResult < Struct.new(
8594
+ :function_list)
8595
+ SENSITIVE = []
8596
+ include Aws::Structure
8597
+ end
8598
+
7991
8599
  # The request to list invalidations.
7992
8600
  #
7993
8601
  # @note When making an API call, you may pass ListInvalidationsRequest
@@ -8460,6 +9068,19 @@ module Aws::CloudFront
8460
9068
  include Aws::Structure
8461
9069
  end
8462
9070
 
9071
+ # The function does not exist.
9072
+ #
9073
+ # @!attribute [rw] message
9074
+ # @return [String]
9075
+ #
9076
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/NoSuchFunctionExists AWS API Documentation
9077
+ #
9078
+ class NoSuchFunctionExists < Struct.new(
9079
+ :message)
9080
+ SENSITIVE = []
9081
+ include Aws::Structure
9082
+ end
9083
+
8463
9084
  # The specified invalidation does not exist.
8464
9085
  #
8465
9086
  # @!attribute [rw] message
@@ -9063,7 +9684,8 @@ module Aws::CloudFront
9063
9684
  # }
9064
9685
  #
9065
9686
  # @!attribute [rw] comment
9066
- # A comment to describe the origin request policy.
9687
+ # A comment to describe the origin request policy. The comment cannot
9688
+ # be longer than 128 characters.
9067
9689
  # @return [String]
9068
9690
  #
9069
9691
  # @!attribute [rw] name
@@ -9637,8 +10259,8 @@ module Aws::CloudFront
9637
10259
  include Aws::Structure
9638
10260
  end
9639
10261
 
9640
- # The precondition given in one or more of the request header fields
9641
- # evaluated to `false`.
10262
+ # The precondition in one or more of the request fields evaluated to
10263
+ # `false`.
9642
10264
  #
9643
10265
  # @!attribute [rw] message
9644
10266
  # @return [String]
@@ -9740,7 +10362,8 @@ module Aws::CloudFront
9740
10362
  # @return [String]
9741
10363
  #
9742
10364
  # @!attribute [rw] comment
9743
- # A comment to describe the public key.
10365
+ # A comment to describe the public key. The comment cannot be longer
10366
+ # than 128 characters.
9744
10367
  # @return [String]
9745
10368
  #
9746
10369
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/PublicKeyConfig AWS API Documentation
@@ -9823,7 +10446,8 @@ module Aws::CloudFront
9823
10446
  # @return [String]
9824
10447
  #
9825
10448
  # @!attribute [rw] comment
9826
- # A comment to describe the public key.
10449
+ # A comment to describe the public key. The comment cannot be longer
10450
+ # than 128 characters.
9827
10451
  # @return [String]
9828
10452
  #
9829
10453
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/PublicKeySummary AWS API Documentation
@@ -9838,6 +10462,45 @@ module Aws::CloudFront
9838
10462
  include Aws::Structure
9839
10463
  end
9840
10464
 
10465
+ # @note When making an API call, you may pass PublishFunctionRequest
10466
+ # data as a hash:
10467
+ #
10468
+ # {
10469
+ # name: "string", # required
10470
+ # if_match: "string", # required
10471
+ # }
10472
+ #
10473
+ # @!attribute [rw] name
10474
+ # The name of the function that you are publishing.
10475
+ # @return [String]
10476
+ #
10477
+ # @!attribute [rw] if_match
10478
+ # The current version (`ETag` value) of the function that you are
10479
+ # publishing, which you can get using `DescribeFunction`.
10480
+ # @return [String]
10481
+ #
10482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/PublishFunctionRequest AWS API Documentation
10483
+ #
10484
+ class PublishFunctionRequest < Struct.new(
10485
+ :name,
10486
+ :if_match)
10487
+ SENSITIVE = []
10488
+ include Aws::Structure
10489
+ end
10490
+
10491
+ # @!attribute [rw] function_summary
10492
+ # Contains configuration information and metadata about a CloudFront
10493
+ # function.
10494
+ # @return [Types::FunctionSummary]
10495
+ #
10496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/PublishFunctionResult AWS API Documentation
10497
+ #
10498
+ class PublishFunctionResult < Struct.new(
10499
+ :function_summary)
10500
+ SENSITIVE = []
10501
+ include Aws::Structure
10502
+ end
10503
+
9841
10504
  # Query argument-profile mapping for field-level encryption.
9842
10505
  #
9843
10506
  # @note When making an API call, you may pass QueryArgProfile
@@ -10098,6 +10761,20 @@ module Aws::CloudFront
10098
10761
  include Aws::Structure
10099
10762
  end
10100
10763
 
10764
+ # The specified real-time log configuration belongs to a different AWS
10765
+ # account.
10766
+ #
10767
+ # @!attribute [rw] message
10768
+ # @return [String]
10769
+ #
10770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/RealtimeLogConfigOwnerMismatch AWS API Documentation
10771
+ #
10772
+ class RealtimeLogConfigOwnerMismatch < Struct.new(
10773
+ :message)
10774
+ SENSITIVE = []
10775
+ include Aws::Structure
10776
+ end
10777
+
10101
10778
  # A list of real-time log configurations.
10102
10779
  #
10103
10780
  # @!attribute [rw] max_items
@@ -10914,6 +11591,124 @@ module Aws::CloudFront
10914
11591
  include Aws::Structure
10915
11592
  end
10916
11593
 
11594
+ # The CloudFront function failed.
11595
+ #
11596
+ # @!attribute [rw] message
11597
+ # @return [String]
11598
+ #
11599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TestFunctionFailed AWS API Documentation
11600
+ #
11601
+ class TestFunctionFailed < Struct.new(
11602
+ :message)
11603
+ SENSITIVE = []
11604
+ include Aws::Structure
11605
+ end
11606
+
11607
+ # @note When making an API call, you may pass TestFunctionRequest
11608
+ # data as a hash:
11609
+ #
11610
+ # {
11611
+ # name: "string", # required
11612
+ # if_match: "string", # required
11613
+ # stage: "DEVELOPMENT", # accepts DEVELOPMENT, LIVE
11614
+ # event_object: "data", # required
11615
+ # }
11616
+ #
11617
+ # @!attribute [rw] name
11618
+ # The name of the function that you are testing.
11619
+ # @return [String]
11620
+ #
11621
+ # @!attribute [rw] if_match
11622
+ # The current version (`ETag` value) of the function that you are
11623
+ # testing, which you can get using `DescribeFunction`.
11624
+ # @return [String]
11625
+ #
11626
+ # @!attribute [rw] stage
11627
+ # The stage of the function that you are testing, either `DEVELOPMENT`
11628
+ # or `LIVE`.
11629
+ # @return [String]
11630
+ #
11631
+ # @!attribute [rw] event_object
11632
+ # The event object to test the function with. For more information
11633
+ # about the structure of the event object, see [Testing functions][1]
11634
+ # in the *Amazon CloudFront Developer Guide*.
11635
+ #
11636
+ #
11637
+ #
11638
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/managing-functions.html#test-function
11639
+ # @return [String]
11640
+ #
11641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TestFunctionRequest AWS API Documentation
11642
+ #
11643
+ class TestFunctionRequest < Struct.new(
11644
+ :name,
11645
+ :if_match,
11646
+ :stage,
11647
+ :event_object)
11648
+ SENSITIVE = [:event_object]
11649
+ include Aws::Structure
11650
+ end
11651
+
11652
+ # @!attribute [rw] test_result
11653
+ # An object that represents the result of running the function with
11654
+ # the provided event object.
11655
+ # @return [Types::TestResult]
11656
+ #
11657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TestFunctionResult AWS API Documentation
11658
+ #
11659
+ class TestFunctionResult < Struct.new(
11660
+ :test_result)
11661
+ SENSITIVE = []
11662
+ include Aws::Structure
11663
+ end
11664
+
11665
+ # Contains the result of testing a CloudFront function with
11666
+ # `TestFunction`.
11667
+ #
11668
+ # @!attribute [rw] function_summary
11669
+ # Contains configuration information and metadata about the CloudFront
11670
+ # function that was tested.
11671
+ # @return [Types::FunctionSummary]
11672
+ #
11673
+ # @!attribute [rw] compute_utilization
11674
+ # The amount of time that the function took to run as a percentage of
11675
+ # the maximum allowed time. For example, a compute utilization of 35
11676
+ # means that the function completed in 35% of the maximum allowed
11677
+ # time.
11678
+ # @return [String]
11679
+ #
11680
+ # @!attribute [rw] function_execution_logs
11681
+ # Contains the log lines that the function wrote (if any) when running
11682
+ # the test.
11683
+ # @return [Array<String>]
11684
+ #
11685
+ # @!attribute [rw] function_error_message
11686
+ # If the result of testing the function was an error, this field
11687
+ # contains the error message.
11688
+ # @return [String]
11689
+ #
11690
+ # @!attribute [rw] function_output
11691
+ # The event object returned by the function. For more information
11692
+ # about the structure of the event object, see [Event object
11693
+ # structure][1] in the *Amazon CloudFront Developer Guide*.
11694
+ #
11695
+ #
11696
+ #
11697
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html
11698
+ # @return [String]
11699
+ #
11700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TestResult AWS API Documentation
11701
+ #
11702
+ class TestResult < Struct.new(
11703
+ :function_summary,
11704
+ :compute_utilization,
11705
+ :function_execution_logs,
11706
+ :function_error_message,
11707
+ :function_output)
11708
+ SENSITIVE = []
11709
+ include Aws::Structure
11710
+ end
11711
+
10917
11712
  # You cannot create more cache behaviors for the distribution.
10918
11713
  #
10919
11714
  # @!attribute [rw] message
@@ -11123,6 +11918,26 @@ module Aws::CloudFront
11123
11918
  include Aws::Structure
11124
11919
  end
11125
11920
 
11921
+ # You have reached the maximum number of distributions that are
11922
+ # associated with a CloudFront function. For more information, see
11923
+ # [Quotas][1] (formerly known as limits) in the *Amazon CloudFront
11924
+ # Developer Guide*.
11925
+ #
11926
+ #
11927
+ #
11928
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
11929
+ #
11930
+ # @!attribute [rw] message
11931
+ # @return [String]
11932
+ #
11933
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TooManyDistributionsWithFunctionAssociations AWS API Documentation
11934
+ #
11935
+ class TooManyDistributionsWithFunctionAssociations < Struct.new(
11936
+ :message)
11937
+ SENSITIVE = []
11938
+ include Aws::Structure
11939
+ end
11940
+
11126
11941
  # Processing your request would cause the maximum number of
11127
11942
  # distributions with Lambda function associations per owner to be
11128
11943
  # exceeded.
@@ -11236,6 +12051,45 @@ module Aws::CloudFront
11236
12051
  include Aws::Structure
11237
12052
  end
11238
12053
 
12054
+ # You have reached the maximum number of CloudFront function
12055
+ # associations for this distribution. For more information, see
12056
+ # [Quotas][1] (formerly known as limits) in the *Amazon CloudFront
12057
+ # Developer Guide*.
12058
+ #
12059
+ #
12060
+ #
12061
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
12062
+ #
12063
+ # @!attribute [rw] message
12064
+ # @return [String]
12065
+ #
12066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TooManyFunctionAssociations AWS API Documentation
12067
+ #
12068
+ class TooManyFunctionAssociations < Struct.new(
12069
+ :message)
12070
+ SENSITIVE = []
12071
+ include Aws::Structure
12072
+ end
12073
+
12074
+ # You have reached the maximum number of CloudFront functions for this
12075
+ # AWS account. For more information, see [Quotas][1] (formerly known as
12076
+ # limits) in the *Amazon CloudFront Developer Guide*.
12077
+ #
12078
+ #
12079
+ #
12080
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
12081
+ #
12082
+ # @!attribute [rw] message
12083
+ # @return [String]
12084
+ #
12085
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TooManyFunctions AWS API Documentation
12086
+ #
12087
+ class TooManyFunctions < Struct.new(
12088
+ :message)
12089
+ SENSITIVE = []
12090
+ include Aws::Structure
12091
+ end
12092
+
11239
12093
  # The number of headers in the cache policy exceeds the maximum. For
11240
12094
  # more information, see [Quotas][1] (formerly known as limits) in the
11241
12095
  # *Amazon CloudFront Developer Guide*.
@@ -11654,6 +12508,19 @@ module Aws::CloudFront
11654
12508
  include Aws::Structure
11655
12509
  end
11656
12510
 
12511
+ # This operation is not supported in this region.
12512
+ #
12513
+ # @!attribute [rw] message
12514
+ # @return [String]
12515
+ #
12516
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UnsupportedOperation AWS API Documentation
12517
+ #
12518
+ class UnsupportedOperation < Struct.new(
12519
+ :message)
12520
+ SENSITIVE = []
12521
+ include Aws::Structure
12522
+ end
12523
+
11657
12524
  # The request to remove tags from a CloudFront resource.
11658
12525
  #
11659
12526
  # @note When making an API call, you may pass UntagResourceRequest
@@ -11930,6 +12797,15 @@ module Aws::CloudFront
11930
12797
  # },
11931
12798
  # ],
11932
12799
  # },
12800
+ # function_associations: {
12801
+ # quantity: 1, # required
12802
+ # items: [
12803
+ # {
12804
+ # function_arn: "FunctionARN", # required
12805
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
12806
+ # },
12807
+ # ],
12808
+ # },
11933
12809
  # field_level_encryption_id: "string",
11934
12810
  # realtime_log_config_arn: "string",
11935
12811
  # cache_policy_id: "string",
@@ -11993,6 +12869,15 @@ module Aws::CloudFront
11993
12869
  # },
11994
12870
  # ],
11995
12871
  # },
12872
+ # function_associations: {
12873
+ # quantity: 1, # required
12874
+ # items: [
12875
+ # {
12876
+ # function_arn: "FunctionARN", # required
12877
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
12878
+ # },
12879
+ # ],
12880
+ # },
11996
12881
  # field_level_encryption_id: "string",
11997
12882
  # realtime_log_config_arn: "string",
11998
12883
  # cache_policy_id: "string",
@@ -12252,6 +13137,72 @@ module Aws::CloudFront
12252
13137
  include Aws::Structure
12253
13138
  end
12254
13139
 
13140
+ # @note When making an API call, you may pass UpdateFunctionRequest
13141
+ # data as a hash:
13142
+ #
13143
+ # {
13144
+ # name: "string", # required
13145
+ # if_match: "string", # required
13146
+ # function_config: { # required
13147
+ # comment: "string", # required
13148
+ # runtime: "cloudfront-js-1.0", # required, accepts cloudfront-js-1.0
13149
+ # },
13150
+ # function_code: "data", # required
13151
+ # }
13152
+ #
13153
+ # @!attribute [rw] name
13154
+ # The name of the function that you are updating.
13155
+ # @return [String]
13156
+ #
13157
+ # @!attribute [rw] if_match
13158
+ # The current version (`ETag` value) of the function that you are
13159
+ # updating, which you can get using `DescribeFunction`.
13160
+ # @return [String]
13161
+ #
13162
+ # @!attribute [rw] function_config
13163
+ # Configuration information about the function.
13164
+ # @return [Types::FunctionConfig]
13165
+ #
13166
+ # @!attribute [rw] function_code
13167
+ # The function code. For more information about writing a CloudFront
13168
+ # function, see [Writing function code for CloudFront Functions][1] in
13169
+ # the *Amazon CloudFront Developer Guide*.
13170
+ #
13171
+ #
13172
+ #
13173
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html
13174
+ # @return [String]
13175
+ #
13176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFunctionRequest AWS API Documentation
13177
+ #
13178
+ class UpdateFunctionRequest < Struct.new(
13179
+ :name,
13180
+ :if_match,
13181
+ :function_config,
13182
+ :function_code)
13183
+ SENSITIVE = [:function_code]
13184
+ include Aws::Structure
13185
+ end
13186
+
13187
+ # @!attribute [rw] function_summary
13188
+ # Contains configuration information and metadata about a CloudFront
13189
+ # function.
13190
+ # @return [Types::FunctionSummary]
13191
+ #
13192
+ # @!attribute [rw] etag
13193
+ # The version identifier for the current version of the CloudFront
13194
+ # function.
13195
+ # @return [String]
13196
+ #
13197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFunctionResult AWS API Documentation
13198
+ #
13199
+ class UpdateFunctionResult < Struct.new(
13200
+ :function_summary,
13201
+ :etag)
13202
+ SENSITIVE = []
13203
+ include Aws::Structure
13204
+ end
13205
+
12255
13206
  # @note When making an API call, you may pass UpdateKeyGroupRequest
12256
13207
  # data as a hash:
12257
13208
  #