aws-sdk-cloudfront 1.49.0 → 1.50.0

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