aws-sdk-cloudfront 1.1.0 → 1.2.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.
@@ -50,7 +50,7 @@ module Aws::CloudFront
50
50
  # For more information, see ActiveTrustedSigners.
51
51
  # @return [Array<Types::Signer>]
52
52
  #
53
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ActiveTrustedSigners AWS API Documentation
53
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ActiveTrustedSigners AWS API Documentation
54
54
  #
55
55
  class ActiveTrustedSigners < Struct.new(
56
56
  :enabled,
@@ -80,7 +80,7 @@ module Aws::CloudFront
80
80
  # want to associate with this distribution.
81
81
  # @return [Array<String>]
82
82
  #
83
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Aliases AWS API Documentation
83
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Aliases AWS API Documentation
84
84
  #
85
85
  class Aliases < Struct.new(
86
86
  :quantity,
@@ -143,7 +143,7 @@ module Aws::CloudFront
143
143
  # to be cached correctly.
144
144
  # @return [Types::CachedMethods]
145
145
  #
146
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/AllowedMethods AWS API Documentation
146
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/AllowedMethods AWS API Documentation
147
147
  #
148
148
  class AllowedMethods < Struct.new(
149
149
  :quantity,
@@ -233,11 +233,12 @@ module Aws::CloudFront
233
233
  # quantity: 1, # required
234
234
  # items: [
235
235
  # {
236
- # lambda_function_arn: "string",
237
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
236
+ # lambda_function_arn: "LambdaFunctionARN", # required
237
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
238
238
  # },
239
239
  # ],
240
240
  # },
241
+ # field_level_encryption_id: "string",
241
242
  # }
242
243
  #
243
244
  # @!attribute [rw] path_pattern
@@ -430,7 +431,10 @@ module Aws::CloudFront
430
431
  # associations for a cache behavior.
431
432
  # @return [Types::LambdaFunctionAssociations]
432
433
  #
433
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CacheBehavior AWS API Documentation
434
+ # @!attribute [rw] field_level_encryption_id
435
+ # @return [String]
436
+ #
437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CacheBehavior AWS API Documentation
434
438
  #
435
439
  class CacheBehavior < Struct.new(
436
440
  :path_pattern,
@@ -444,7 +448,8 @@ module Aws::CloudFront
444
448
  :default_ttl,
445
449
  :max_ttl,
446
450
  :compress,
447
- :lambda_function_associations)
451
+ :lambda_function_associations,
452
+ :field_level_encryption_id)
448
453
  include Aws::Structure
449
454
  end
450
455
 
@@ -500,11 +505,12 @@ module Aws::CloudFront
500
505
  # quantity: 1, # required
501
506
  # items: [
502
507
  # {
503
- # lambda_function_arn: "string",
504
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
508
+ # lambda_function_arn: "LambdaFunctionARN", # required
509
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
505
510
  # },
506
511
  # ],
507
512
  # },
513
+ # field_level_encryption_id: "string",
508
514
  # },
509
515
  # ],
510
516
  # }
@@ -518,7 +524,7 @@ module Aws::CloudFront
518
524
  # distribution. If `Quantity` is `0`, you can omit `Items`.
519
525
  # @return [Array<Types::CacheBehavior>]
520
526
  #
521
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CacheBehaviors AWS API Documentation
527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CacheBehaviors AWS API Documentation
522
528
  #
523
529
  class CacheBehaviors < Struct.new(
524
530
  :quantity,
@@ -559,7 +565,7 @@ module Aws::CloudFront
559
565
  # CloudFront to cache responses to.
560
566
  # @return [Array<String>]
561
567
  #
562
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CachedMethods AWS API Documentation
568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CachedMethods AWS API Documentation
563
569
  #
564
570
  class CachedMethods < Struct.new(
565
571
  :quantity,
@@ -584,7 +590,7 @@ module Aws::CloudFront
584
590
  # The current configuration information for the identity.
585
591
  # @return [Types::CloudFrontOriginAccessIdentityConfig]
586
592
  #
587
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CloudFrontOriginAccessIdentity AWS API Documentation
593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CloudFrontOriginAccessIdentity AWS API Documentation
588
594
  #
589
595
  class CloudFrontOriginAccessIdentity < Struct.new(
590
596
  :id,
@@ -628,7 +634,7 @@ module Aws::CloudFront
628
634
  # Any comments you want to include about the origin access identity.
629
635
  # @return [String]
630
636
  #
631
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CloudFrontOriginAccessIdentityConfig AWS API Documentation
637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CloudFrontOriginAccessIdentityConfig AWS API Documentation
632
638
  #
633
639
  class CloudFrontOriginAccessIdentityConfig < Struct.new(
634
640
  :caller_reference,
@@ -682,7 +688,7 @@ module Aws::CloudFront
682
688
  # access identity that was created by the current AWS account.
683
689
  # @return [Array<Types::CloudFrontOriginAccessIdentitySummary>]
684
690
  #
685
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CloudFrontOriginAccessIdentityList AWS API Documentation
691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CloudFrontOriginAccessIdentityList AWS API Documentation
686
692
  #
687
693
  class CloudFrontOriginAccessIdentityList < Struct.new(
688
694
  :marker,
@@ -712,7 +718,7 @@ module Aws::CloudFront
712
718
  # when created.
713
719
  # @return [String]
714
720
  #
715
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CloudFrontOriginAccessIdentitySummary AWS API Documentation
721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CloudFrontOriginAccessIdentitySummary AWS API Documentation
716
722
  #
717
723
  class CloudFrontOriginAccessIdentitySummary < Struct.new(
718
724
  :id,
@@ -721,6 +727,113 @@ module Aws::CloudFront
721
727
  include Aws::Structure
722
728
  end
723
729
 
730
+ # A field-level encryption content type profile.
731
+ #
732
+ # @note When making an API call, you may pass ContentTypeProfile
733
+ # data as a hash:
734
+ #
735
+ # {
736
+ # format: "URLEncoded", # required, accepts URLEncoded
737
+ # profile_id: "string",
738
+ # content_type: "string", # required
739
+ # }
740
+ #
741
+ # @!attribute [rw] format
742
+ # The format for a field-level encryption content type-profile
743
+ # mapping.
744
+ # @return [String]
745
+ #
746
+ # @!attribute [rw] profile_id
747
+ # The profile ID for a field-level encryption content type-profile
748
+ # mapping.
749
+ # @return [String]
750
+ #
751
+ # @!attribute [rw] content_type
752
+ # The content type for a field-level encryption content type-profile
753
+ # mapping.
754
+ # @return [String]
755
+ #
756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ContentTypeProfile AWS API Documentation
757
+ #
758
+ class ContentTypeProfile < Struct.new(
759
+ :format,
760
+ :profile_id,
761
+ :content_type)
762
+ include Aws::Structure
763
+ end
764
+
765
+ # The configuration for a field-level encryption content type-profile
766
+ # mapping.
767
+ #
768
+ # @note When making an API call, you may pass ContentTypeProfileConfig
769
+ # data as a hash:
770
+ #
771
+ # {
772
+ # forward_when_content_type_is_unknown: false, # required
773
+ # content_type_profiles: {
774
+ # quantity: 1, # required
775
+ # items: [
776
+ # {
777
+ # format: "URLEncoded", # required, accepts URLEncoded
778
+ # profile_id: "string",
779
+ # content_type: "string", # required
780
+ # },
781
+ # ],
782
+ # },
783
+ # }
784
+ #
785
+ # @!attribute [rw] forward_when_content_type_is_unknown
786
+ # The setting in a field-level encryption content type-profile mapping
787
+ # that specifies what to do when an unknown content type is provided
788
+ # for the profile. If true, content is forwarded without being
789
+ # encrypted when the content type is unknown. If false (the default),
790
+ # an error is returned when the content type is unknown.
791
+ # @return [Boolean]
792
+ #
793
+ # @!attribute [rw] content_type_profiles
794
+ # The configuration for a field-level encryption content type-profile.
795
+ # @return [Types::ContentTypeProfiles]
796
+ #
797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ContentTypeProfileConfig AWS API Documentation
798
+ #
799
+ class ContentTypeProfileConfig < Struct.new(
800
+ :forward_when_content_type_is_unknown,
801
+ :content_type_profiles)
802
+ include Aws::Structure
803
+ end
804
+
805
+ # Field-level encryption content type-profile.
806
+ #
807
+ # @note When making an API call, you may pass ContentTypeProfiles
808
+ # data as a hash:
809
+ #
810
+ # {
811
+ # quantity: 1, # required
812
+ # items: [
813
+ # {
814
+ # format: "URLEncoded", # required, accepts URLEncoded
815
+ # profile_id: "string",
816
+ # content_type: "string", # required
817
+ # },
818
+ # ],
819
+ # }
820
+ #
821
+ # @!attribute [rw] quantity
822
+ # The number of field-level encryption content type-profile mappings.
823
+ # @return [Integer]
824
+ #
825
+ # @!attribute [rw] items
826
+ # Items in a field-level encryption content type-profile mapping.
827
+ # @return [Array<Types::ContentTypeProfile>]
828
+ #
829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ContentTypeProfiles AWS API Documentation
830
+ #
831
+ class ContentTypeProfiles < Struct.new(
832
+ :quantity,
833
+ :items)
834
+ include Aws::Structure
835
+ end
836
+
724
837
  # A complex type that specifies whether you want CloudFront to forward
725
838
  # cookies to the origin and, if so, which ones. For more information
726
839
  # about forwarding cookies to the origin, see [How CloudFront Forwards,
@@ -750,7 +863,7 @@ module Aws::CloudFront
750
863
  # behavior.
751
864
  # @return [Array<String>]
752
865
  #
753
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CookieNames AWS API Documentation
866
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CookieNames AWS API Documentation
754
867
  #
755
868
  class CookieNames < Struct.new(
756
869
  :quantity,
@@ -810,7 +923,7 @@ module Aws::CloudFront
810
923
  # [1]: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront
811
924
  # @return [Types::CookieNames]
812
925
  #
813
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CookiePreference AWS API Documentation
926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CookiePreference AWS API Documentation
814
927
  #
815
928
  class CookiePreference < Struct.new(
816
929
  :forward,
@@ -834,7 +947,7 @@ module Aws::CloudFront
834
947
  # The current configuration information for the identity.
835
948
  # @return [Types::CloudFrontOriginAccessIdentityConfig]
836
949
  #
837
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateCloudFrontOriginAccessIdentityRequest AWS API Documentation
950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateCloudFrontOriginAccessIdentityRequest AWS API Documentation
838
951
  #
839
952
  class CreateCloudFrontOriginAccessIdentityRequest < Struct.new(
840
953
  :cloud_front_origin_access_identity_config)
@@ -857,7 +970,7 @@ module Aws::CloudFront
857
970
  # The current version of the origin access identity created.
858
971
  # @return [String]
859
972
  #
860
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateCloudFrontOriginAccessIdentityResult AWS API Documentation
973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateCloudFrontOriginAccessIdentityResult AWS API Documentation
861
974
  #
862
975
  class CreateCloudFrontOriginAccessIdentityResult < Struct.new(
863
976
  :cloud_front_origin_access_identity,
@@ -955,11 +1068,12 @@ module Aws::CloudFront
955
1068
  # quantity: 1, # required
956
1069
  # items: [
957
1070
  # {
958
- # lambda_function_arn: "string",
959
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
1071
+ # lambda_function_arn: "LambdaFunctionARN", # required
1072
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
960
1073
  # },
961
1074
  # ],
962
1075
  # },
1076
+ # field_level_encryption_id: "string",
963
1077
  # },
964
1078
  # cache_behaviors: {
965
1079
  # quantity: 1, # required
@@ -1008,11 +1122,12 @@ module Aws::CloudFront
1008
1122
  # quantity: 1, # required
1009
1123
  # items: [
1010
1124
  # {
1011
- # lambda_function_arn: "string",
1012
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
1125
+ # lambda_function_arn: "LambdaFunctionARN", # required
1126
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
1013
1127
  # },
1014
1128
  # ],
1015
1129
  # },
1130
+ # field_level_encryption_id: "string",
1016
1131
  # },
1017
1132
  # ],
1018
1133
  # },
@@ -1062,7 +1177,7 @@ module Aws::CloudFront
1062
1177
  # The distribution's configuration information.
1063
1178
  # @return [Types::DistributionConfig]
1064
1179
  #
1065
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateDistributionRequest AWS API Documentation
1180
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateDistributionRequest AWS API Documentation
1066
1181
  #
1067
1182
  class CreateDistributionRequest < Struct.new(
1068
1183
  :distribution_config)
@@ -1085,7 +1200,7 @@ module Aws::CloudFront
1085
1200
  # The current version of the distribution created.
1086
1201
  # @return [String]
1087
1202
  #
1088
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateDistributionResult AWS API Documentation
1203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateDistributionResult AWS API Documentation
1089
1204
  #
1090
1205
  class CreateDistributionResult < Struct.new(
1091
1206
  :distribution,
@@ -1184,11 +1299,12 @@ module Aws::CloudFront
1184
1299
  # quantity: 1, # required
1185
1300
  # items: [
1186
1301
  # {
1187
- # lambda_function_arn: "string",
1188
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
1302
+ # lambda_function_arn: "LambdaFunctionARN", # required
1303
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
1189
1304
  # },
1190
1305
  # ],
1191
1306
  # },
1307
+ # field_level_encryption_id: "string",
1192
1308
  # },
1193
1309
  # cache_behaviors: {
1194
1310
  # quantity: 1, # required
@@ -1237,11 +1353,12 @@ module Aws::CloudFront
1237
1353
  # quantity: 1, # required
1238
1354
  # items: [
1239
1355
  # {
1240
- # lambda_function_arn: "string",
1241
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
1356
+ # lambda_function_arn: "LambdaFunctionARN", # required
1357
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
1242
1358
  # },
1243
1359
  # ],
1244
1360
  # },
1361
+ # field_level_encryption_id: "string",
1245
1362
  # },
1246
1363
  # ],
1247
1364
  # },
@@ -1300,7 +1417,7 @@ module Aws::CloudFront
1300
1417
  # The distribution's configuration information.
1301
1418
  # @return [Types::DistributionConfigWithTags]
1302
1419
  #
1303
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateDistributionWithTagsRequest AWS API Documentation
1420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateDistributionWithTagsRequest AWS API Documentation
1304
1421
  #
1305
1422
  class CreateDistributionWithTagsRequest < Struct.new(
1306
1423
  :distribution_config_with_tags)
@@ -1323,7 +1440,7 @@ module Aws::CloudFront
1323
1440
  # The current version of the distribution created.
1324
1441
  # @return [String]
1325
1442
  #
1326
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateDistributionWithTagsResult AWS API Documentation
1443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateDistributionWithTagsResult AWS API Documentation
1327
1444
  #
1328
1445
  class CreateDistributionWithTagsResult < Struct.new(
1329
1446
  :distribution,
@@ -1332,6 +1449,135 @@ module Aws::CloudFront
1332
1449
  include Aws::Structure
1333
1450
  end
1334
1451
 
1452
+ # @note When making an API call, you may pass CreateFieldLevelEncryptionConfigRequest
1453
+ # data as a hash:
1454
+ #
1455
+ # {
1456
+ # field_level_encryption_config: { # required
1457
+ # caller_reference: "string", # required
1458
+ # comment: "string",
1459
+ # query_arg_profile_config: {
1460
+ # forward_when_query_arg_profile_is_unknown: false, # required
1461
+ # query_arg_profiles: {
1462
+ # quantity: 1, # required
1463
+ # items: [
1464
+ # {
1465
+ # query_arg: "string", # required
1466
+ # profile_id: "string", # required
1467
+ # },
1468
+ # ],
1469
+ # },
1470
+ # },
1471
+ # content_type_profile_config: {
1472
+ # forward_when_content_type_is_unknown: false, # required
1473
+ # content_type_profiles: {
1474
+ # quantity: 1, # required
1475
+ # items: [
1476
+ # {
1477
+ # format: "URLEncoded", # required, accepts URLEncoded
1478
+ # profile_id: "string",
1479
+ # content_type: "string", # required
1480
+ # },
1481
+ # ],
1482
+ # },
1483
+ # },
1484
+ # },
1485
+ # }
1486
+ #
1487
+ # @!attribute [rw] field_level_encryption_config
1488
+ # The request to create a new field-level encryption configuration.
1489
+ # @return [Types::FieldLevelEncryptionConfig]
1490
+ #
1491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateFieldLevelEncryptionConfigRequest AWS API Documentation
1492
+ #
1493
+ class CreateFieldLevelEncryptionConfigRequest < Struct.new(
1494
+ :field_level_encryption_config)
1495
+ include Aws::Structure
1496
+ end
1497
+
1498
+ # @!attribute [rw] field_level_encryption
1499
+ # Returned when you create a new field-level encryption configuration.
1500
+ # @return [Types::FieldLevelEncryption]
1501
+ #
1502
+ # @!attribute [rw] location
1503
+ # The fully qualified URI of the new configuration resource just
1504
+ # created. For example:
1505
+ # `https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5`.
1506
+ # @return [String]
1507
+ #
1508
+ # @!attribute [rw] etag
1509
+ # The current version of the field level encryption configuration. For
1510
+ # example: `E2QWRUHAPOMQZL`.
1511
+ # @return [String]
1512
+ #
1513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateFieldLevelEncryptionConfigResult AWS API Documentation
1514
+ #
1515
+ class CreateFieldLevelEncryptionConfigResult < Struct.new(
1516
+ :field_level_encryption,
1517
+ :location,
1518
+ :etag)
1519
+ include Aws::Structure
1520
+ end
1521
+
1522
+ # @note When making an API call, you may pass CreateFieldLevelEncryptionProfileRequest
1523
+ # data as a hash:
1524
+ #
1525
+ # {
1526
+ # field_level_encryption_profile_config: { # required
1527
+ # name: "string", # required
1528
+ # caller_reference: "string", # required
1529
+ # comment: "string",
1530
+ # encryption_entities: { # required
1531
+ # quantity: 1, # required
1532
+ # items: [
1533
+ # {
1534
+ # public_key_id: "string", # required
1535
+ # provider_id: "string", # required
1536
+ # field_patterns: { # required
1537
+ # quantity: 1, # required
1538
+ # items: ["string"],
1539
+ # },
1540
+ # },
1541
+ # ],
1542
+ # },
1543
+ # },
1544
+ # }
1545
+ #
1546
+ # @!attribute [rw] field_level_encryption_profile_config
1547
+ # The request to create a field-level encryption profile.
1548
+ # @return [Types::FieldLevelEncryptionProfileConfig]
1549
+ #
1550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateFieldLevelEncryptionProfileRequest AWS API Documentation
1551
+ #
1552
+ class CreateFieldLevelEncryptionProfileRequest < Struct.new(
1553
+ :field_level_encryption_profile_config)
1554
+ include Aws::Structure
1555
+ end
1556
+
1557
+ # @!attribute [rw] field_level_encryption_profile
1558
+ # Returned when you create a new field-level encryption profile.
1559
+ # @return [Types::FieldLevelEncryptionProfile]
1560
+ #
1561
+ # @!attribute [rw] location
1562
+ # The fully qualified URI of the new profile resource just created.
1563
+ # For example:
1564
+ # `https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5`.
1565
+ # @return [String]
1566
+ #
1567
+ # @!attribute [rw] etag
1568
+ # The current version of the field level encryption profile. For
1569
+ # example: `E2QWRUHAPOMQZL`.
1570
+ # @return [String]
1571
+ #
1572
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateFieldLevelEncryptionProfileResult AWS API Documentation
1573
+ #
1574
+ class CreateFieldLevelEncryptionProfileResult < Struct.new(
1575
+ :field_level_encryption_profile,
1576
+ :location,
1577
+ :etag)
1578
+ include Aws::Structure
1579
+ end
1580
+
1335
1581
  # The request to create an invalidation.
1336
1582
  #
1337
1583
  # @note When making an API call, you may pass CreateInvalidationRequest
@@ -1356,7 +1602,7 @@ module Aws::CloudFront
1356
1602
  # The batch information for the invalidation.
1357
1603
  # @return [Types::InvalidationBatch]
1358
1604
  #
1359
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateInvalidationRequest AWS API Documentation
1605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateInvalidationRequest AWS API Documentation
1360
1606
  #
1361
1607
  class CreateInvalidationRequest < Struct.new(
1362
1608
  :distribution_id,
@@ -1375,7 +1621,7 @@ module Aws::CloudFront
1375
1621
  # The invalidation's information.
1376
1622
  # @return [Types::Invalidation]
1377
1623
  #
1378
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateInvalidationResult AWS API Documentation
1624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateInvalidationResult AWS API Documentation
1379
1625
  #
1380
1626
  class CreateInvalidationResult < Struct.new(
1381
1627
  :location,
@@ -1383,6 +1629,53 @@ module Aws::CloudFront
1383
1629
  include Aws::Structure
1384
1630
  end
1385
1631
 
1632
+ # @note When making an API call, you may pass CreatePublicKeyRequest
1633
+ # data as a hash:
1634
+ #
1635
+ # {
1636
+ # public_key_config: { # required
1637
+ # caller_reference: "string", # required
1638
+ # name: "string", # required
1639
+ # encoded_key: "string", # required
1640
+ # comment: "string",
1641
+ # },
1642
+ # }
1643
+ #
1644
+ # @!attribute [rw] public_key_config
1645
+ # The request to add a public key to CloudFront.
1646
+ # @return [Types::PublicKeyConfig]
1647
+ #
1648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreatePublicKeyRequest AWS API Documentation
1649
+ #
1650
+ class CreatePublicKeyRequest < Struct.new(
1651
+ :public_key_config)
1652
+ include Aws::Structure
1653
+ end
1654
+
1655
+ # @!attribute [rw] public_key
1656
+ # Returned when you add a public key.
1657
+ # @return [Types::PublicKey]
1658
+ #
1659
+ # @!attribute [rw] location
1660
+ # The fully qualified URI of the new public key resource just created.
1661
+ # For example:
1662
+ # `https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5`.
1663
+ # @return [String]
1664
+ #
1665
+ # @!attribute [rw] etag
1666
+ # The current version of the public key. For example:
1667
+ # `E2QWRUHAPOMQZL`.
1668
+ # @return [String]
1669
+ #
1670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreatePublicKeyResult AWS API Documentation
1671
+ #
1672
+ class CreatePublicKeyResult < Struct.new(
1673
+ :public_key,
1674
+ :location,
1675
+ :etag)
1676
+ include Aws::Structure
1677
+ end
1678
+
1386
1679
  # The request to create a new streaming distribution.
1387
1680
  #
1388
1681
  # @note When making an API call, you may pass CreateStreamingDistributionRequest
@@ -1419,7 +1712,7 @@ module Aws::CloudFront
1419
1712
  # The streaming distribution's configuration information.
1420
1713
  # @return [Types::StreamingDistributionConfig]
1421
1714
  #
1422
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateStreamingDistributionRequest AWS API Documentation
1715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateStreamingDistributionRequest AWS API Documentation
1423
1716
  #
1424
1717
  class CreateStreamingDistributionRequest < Struct.new(
1425
1718
  :streaming_distribution_config)
@@ -1442,7 +1735,7 @@ module Aws::CloudFront
1442
1735
  # The current version of the streaming distribution created.
1443
1736
  # @return [String]
1444
1737
  #
1445
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateStreamingDistributionResult AWS API Documentation
1738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateStreamingDistributionResult AWS API Documentation
1446
1739
  #
1447
1740
  class CreateStreamingDistributionResult < Struct.new(
1448
1741
  :streaming_distribution,
@@ -1497,7 +1790,7 @@ module Aws::CloudFront
1497
1790
  # The streaming distribution's configuration information.
1498
1791
  # @return [Types::StreamingDistributionConfigWithTags]
1499
1792
  #
1500
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateStreamingDistributionWithTagsRequest AWS API Documentation
1793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateStreamingDistributionWithTagsRequest AWS API Documentation
1501
1794
  #
1502
1795
  class CreateStreamingDistributionWithTagsRequest < Struct.new(
1503
1796
  :streaming_distribution_config_with_tags)
@@ -1519,7 +1812,7 @@ module Aws::CloudFront
1519
1812
  # @!attribute [rw] etag
1520
1813
  # @return [String]
1521
1814
  #
1522
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CreateStreamingDistributionWithTagsResult AWS API Documentation
1815
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CreateStreamingDistributionWithTagsResult AWS API Documentation
1523
1816
  #
1524
1817
  class CreateStreamingDistributionWithTagsResult < Struct.new(
1525
1818
  :streaming_distribution,
@@ -1630,7 +1923,7 @@ module Aws::CloudFront
1630
1923
  # [1]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html
1631
1924
  # @return [Integer]
1632
1925
  #
1633
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CustomErrorResponse AWS API Documentation
1926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CustomErrorResponse AWS API Documentation
1634
1927
  #
1635
1928
  class CustomErrorResponse < Struct.new(
1636
1929
  :error_code,
@@ -1683,7 +1976,7 @@ module Aws::CloudFront
1683
1976
  # page and/or a caching duration.
1684
1977
  # @return [Array<Types::CustomErrorResponse>]
1685
1978
  #
1686
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CustomErrorResponses AWS API Documentation
1979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CustomErrorResponses AWS API Documentation
1687
1980
  #
1688
1981
  class CustomErrorResponses < Struct.new(
1689
1982
  :quantity,
@@ -1717,7 +2010,7 @@ module Aws::CloudFront
1717
2010
  # origin. If Quantity is `0`, omit `Items`.
1718
2011
  # @return [Array<Types::OriginCustomHeader>]
1719
2012
  #
1720
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CustomHeaders AWS API Documentation
2013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CustomHeaders AWS API Documentation
1721
2014
  #
1722
2015
  class CustomHeaders < Struct.new(
1723
2016
  :quantity,
@@ -1787,7 +2080,7 @@ module Aws::CloudFront
1787
2080
  # [1]: https://console.aws.amazon.com/support/home#/
1788
2081
  # @return [Integer]
1789
2082
  #
1790
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/CustomOriginConfig AWS API Documentation
2083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/CustomOriginConfig AWS API Documentation
1791
2084
  #
1792
2085
  class CustomOriginConfig < Struct.new(
1793
2086
  :http_port,
@@ -1850,11 +2143,12 @@ module Aws::CloudFront
1850
2143
  # quantity: 1, # required
1851
2144
  # items: [
1852
2145
  # {
1853
- # lambda_function_arn: "string",
1854
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
2146
+ # lambda_function_arn: "LambdaFunctionARN", # required
2147
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
1855
2148
  # },
1856
2149
  # ],
1857
2150
  # },
2151
+ # field_level_encryption_id: "string",
1858
2152
  # }
1859
2153
  #
1860
2154
  # @!attribute [rw] target_origin_id
@@ -2010,7 +2304,10 @@ module Aws::CloudFront
2010
2304
  # associations for a cache behavior.
2011
2305
  # @return [Types::LambdaFunctionAssociations]
2012
2306
  #
2013
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/DefaultCacheBehavior AWS API Documentation
2307
+ # @!attribute [rw] field_level_encryption_id
2308
+ # @return [String]
2309
+ #
2310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DefaultCacheBehavior AWS API Documentation
2014
2311
  #
2015
2312
  class DefaultCacheBehavior < Struct.new(
2016
2313
  :target_origin_id,
@@ -2023,7 +2320,8 @@ module Aws::CloudFront
2023
2320
  :default_ttl,
2024
2321
  :max_ttl,
2025
2322
  :compress,
2026
- :lambda_function_associations)
2323
+ :lambda_function_associations,
2324
+ :field_level_encryption_id)
2027
2325
  include Aws::Structure
2028
2326
  end
2029
2327
 
@@ -2046,7 +2344,7 @@ module Aws::CloudFront
2046
2344
  # `PUT` request. For example: `E2QWRUHAPOMQZL`.
2047
2345
  # @return [String]
2048
2346
  #
2049
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/DeleteCloudFrontOriginAccessIdentityRequest AWS API Documentation
2347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DeleteCloudFrontOriginAccessIdentityRequest AWS API Documentation
2050
2348
  #
2051
2349
  class DeleteCloudFrontOriginAccessIdentityRequest < Struct.new(
2052
2350
  :id,
@@ -2115,7 +2413,7 @@ module Aws::CloudFront
2115
2413
  # the distribution. For example: `E2QWRUHAPOMQZL`.
2116
2414
  # @return [String]
2117
2415
  #
2118
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/DeleteDistributionRequest AWS API Documentation
2416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DeleteDistributionRequest AWS API Documentation
2119
2417
  #
2120
2418
  class DeleteDistributionRequest < Struct.new(
2121
2419
  :id,
@@ -2123,6 +2421,81 @@ module Aws::CloudFront
2123
2421
  include Aws::Structure
2124
2422
  end
2125
2423
 
2424
+ # @note When making an API call, you may pass DeleteFieldLevelEncryptionConfigRequest
2425
+ # data as a hash:
2426
+ #
2427
+ # {
2428
+ # id: "string", # required
2429
+ # if_match: "string",
2430
+ # }
2431
+ #
2432
+ # @!attribute [rw] id
2433
+ # The ID of the configuration you want to delete from CloudFront.
2434
+ # @return [String]
2435
+ #
2436
+ # @!attribute [rw] if_match
2437
+ # The value of the `ETag` header that you received when retrieving the
2438
+ # configuration identity to delete. For example: `E2QWRUHAPOMQZL`.
2439
+ # @return [String]
2440
+ #
2441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DeleteFieldLevelEncryptionConfigRequest AWS API Documentation
2442
+ #
2443
+ class DeleteFieldLevelEncryptionConfigRequest < Struct.new(
2444
+ :id,
2445
+ :if_match)
2446
+ include Aws::Structure
2447
+ end
2448
+
2449
+ # @note When making an API call, you may pass DeleteFieldLevelEncryptionProfileRequest
2450
+ # data as a hash:
2451
+ #
2452
+ # {
2453
+ # id: "string", # required
2454
+ # if_match: "string",
2455
+ # }
2456
+ #
2457
+ # @!attribute [rw] id
2458
+ # Request the ID of the profile you want to delete from CloudFront.
2459
+ # @return [String]
2460
+ #
2461
+ # @!attribute [rw] if_match
2462
+ # The value of the `ETag` header that you received when retrieving the
2463
+ # profile to delete. For example: `E2QWRUHAPOMQZL`.
2464
+ # @return [String]
2465
+ #
2466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DeleteFieldLevelEncryptionProfileRequest AWS API Documentation
2467
+ #
2468
+ class DeleteFieldLevelEncryptionProfileRequest < Struct.new(
2469
+ :id,
2470
+ :if_match)
2471
+ include Aws::Structure
2472
+ end
2473
+
2474
+ # @note When making an API call, you may pass DeletePublicKeyRequest
2475
+ # data as a hash:
2476
+ #
2477
+ # {
2478
+ # id: "string", # required
2479
+ # if_match: "string",
2480
+ # }
2481
+ #
2482
+ # @!attribute [rw] id
2483
+ # The ID of the public key you want to remove from CloudFront.
2484
+ # @return [String]
2485
+ #
2486
+ # @!attribute [rw] if_match
2487
+ # The value of the `ETag` header that you received when retrieving the
2488
+ # public key identity to delete. For example: `E2QWRUHAPOMQZL`.
2489
+ # @return [String]
2490
+ #
2491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DeletePublicKeyRequest AWS API Documentation
2492
+ #
2493
+ class DeletePublicKeyRequest < Struct.new(
2494
+ :id,
2495
+ :if_match)
2496
+ include Aws::Structure
2497
+ end
2498
+
2126
2499
  # @note When making an API call, you may pass DeleteServiceLinkedRoleRequest
2127
2500
  # data as a hash:
2128
2501
  #
@@ -2133,7 +2506,7 @@ module Aws::CloudFront
2133
2506
  # @!attribute [rw] role_name
2134
2507
  # @return [String]
2135
2508
  #
2136
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/DeleteServiceLinkedRoleRequest AWS API Documentation
2509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DeleteServiceLinkedRoleRequest AWS API Documentation
2137
2510
  #
2138
2511
  class DeleteServiceLinkedRoleRequest < Struct.new(
2139
2512
  :role_name)
@@ -2159,7 +2532,7 @@ module Aws::CloudFront
2159
2532
  # the streaming distribution. For example: `E2QWRUHAPOMQZL`.
2160
2533
  # @return [String]
2161
2534
  #
2162
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/DeleteStreamingDistributionRequest AWS API Documentation
2535
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DeleteStreamingDistributionRequest AWS API Documentation
2163
2536
  #
2164
2537
  class DeleteStreamingDistributionRequest < Struct.new(
2165
2538
  :id,
@@ -2216,7 +2589,7 @@ module Aws::CloudFront
2216
2589
  # ID/config` resource.
2217
2590
  # @return [Types::DistributionConfig]
2218
2591
  #
2219
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Distribution AWS API Documentation
2592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Distribution AWS API Documentation
2220
2593
  #
2221
2594
  class Distribution < Struct.new(
2222
2595
  :id,
@@ -2318,11 +2691,12 @@ module Aws::CloudFront
2318
2691
  # quantity: 1, # required
2319
2692
  # items: [
2320
2693
  # {
2321
- # lambda_function_arn: "string",
2322
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
2694
+ # lambda_function_arn: "LambdaFunctionARN", # required
2695
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
2323
2696
  # },
2324
2697
  # ],
2325
2698
  # },
2699
+ # field_level_encryption_id: "string",
2326
2700
  # },
2327
2701
  # cache_behaviors: {
2328
2702
  # quantity: 1, # required
@@ -2371,11 +2745,12 @@ module Aws::CloudFront
2371
2745
  # quantity: 1, # required
2372
2746
  # items: [
2373
2747
  # {
2374
- # lambda_function_arn: "string",
2375
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
2748
+ # lambda_function_arn: "LambdaFunctionARN", # required
2749
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
2376
2750
  # },
2377
2751
  # ],
2378
2752
  # },
2753
+ # field_level_encryption_id: "string",
2379
2754
  # },
2380
2755
  # ],
2381
2756
  # },
@@ -2750,7 +3125,7 @@ module Aws::CloudFront
2750
3125
  # [2]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html
2751
3126
  # @return [Boolean]
2752
3127
  #
2753
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/DistributionConfig AWS API Documentation
3128
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DistributionConfig AWS API Documentation
2754
3129
  #
2755
3130
  class DistributionConfig < Struct.new(
2756
3131
  :caller_reference,
@@ -2862,11 +3237,12 @@ module Aws::CloudFront
2862
3237
  # quantity: 1, # required
2863
3238
  # items: [
2864
3239
  # {
2865
- # lambda_function_arn: "string",
2866
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
3240
+ # lambda_function_arn: "LambdaFunctionARN", # required
3241
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
2867
3242
  # },
2868
3243
  # ],
2869
3244
  # },
3245
+ # field_level_encryption_id: "string",
2870
3246
  # },
2871
3247
  # cache_behaviors: {
2872
3248
  # quantity: 1, # required
@@ -2915,11 +3291,12 @@ module Aws::CloudFront
2915
3291
  # quantity: 1, # required
2916
3292
  # items: [
2917
3293
  # {
2918
- # lambda_function_arn: "string",
2919
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
3294
+ # lambda_function_arn: "LambdaFunctionARN", # required
3295
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
2920
3296
  # },
2921
3297
  # ],
2922
3298
  # },
3299
+ # field_level_encryption_id: "string",
2923
3300
  # },
2924
3301
  # ],
2925
3302
  # },
@@ -2981,7 +3358,7 @@ module Aws::CloudFront
2981
3358
  # A complex type that contains zero or more `Tag` elements.
2982
3359
  # @return [Types::Tags]
2983
3360
  #
2984
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/DistributionConfigWithTags AWS API Documentation
3361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DistributionConfigWithTags AWS API Documentation
2985
3362
  #
2986
3363
  class DistributionConfigWithTags < Struct.new(
2987
3364
  :distribution_config,
@@ -3022,7 +3399,7 @@ module Aws::CloudFront
3022
3399
  # each distribution that was created by the current AWS account.
3023
3400
  # @return [Array<Types::DistributionSummary>]
3024
3401
  #
3025
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/DistributionList AWS API Documentation
3402
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DistributionList AWS API Documentation
3026
3403
  #
3027
3404
  class DistributionList < Struct.new(
3028
3405
  :marker,
@@ -3223,7 +3600,7 @@ module Aws::CloudFront
3223
3600
  # address for your distribution.
3224
3601
  # @return [Boolean]
3225
3602
  #
3226
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/DistributionSummary AWS API Documentation
3603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/DistributionSummary AWS API Documentation
3227
3604
  #
3228
3605
  class DistributionSummary < Struct.new(
3229
3606
  :id,
@@ -3247,40 +3624,453 @@ module Aws::CloudFront
3247
3624
  include Aws::Structure
3248
3625
  end
3249
3626
 
3250
- # A complex type that specifies how CloudFront handles query strings and
3251
- # cookies.
3627
+ # Complex data type for field-level encryption profiles that includes
3628
+ # all of the encryption entities.
3252
3629
  #
3253
- # @note When making an API call, you may pass ForwardedValues
3630
+ # @note When making an API call, you may pass EncryptionEntities
3254
3631
  # data as a hash:
3255
3632
  #
3256
3633
  # {
3257
- # query_string: false, # required
3258
- # cookies: { # required
3259
- # forward: "none", # required, accepts none, whitelist, all
3260
- # whitelisted_names: {
3261
- # quantity: 1, # required
3262
- # items: ["string"],
3634
+ # quantity: 1, # required
3635
+ # items: [
3636
+ # {
3637
+ # public_key_id: "string", # required
3638
+ # provider_id: "string", # required
3639
+ # field_patterns: { # required
3640
+ # quantity: 1, # required
3641
+ # items: ["string"],
3642
+ # },
3263
3643
  # },
3264
- # },
3265
- # headers: {
3266
- # quantity: 1, # required
3267
- # items: ["string"],
3268
- # },
3269
- # query_string_cache_keys: {
3270
- # quantity: 1, # required
3271
- # items: ["string"],
3272
- # },
3644
+ # ],
3273
3645
  # }
3274
3646
  #
3275
- # @!attribute [rw] query_string
3276
- # Indicates whether you want CloudFront to forward query strings to
3277
- # the origin that is associated with this cache behavior and cache
3278
- # based on the query string parameters. CloudFront behavior depends on
3279
- # the value of `QueryString` and on the values that you specify for
3280
- # `QueryStringCacheKeys`, if any:
3647
+ # @!attribute [rw] quantity
3648
+ # Number of field pattern items in a field-level encryption content
3649
+ # type-profile mapping.
3650
+ # @return [Integer]
3281
3651
  #
3282
- # If you specify true for `QueryString` and you don't specify any
3283
- # values for `QueryStringCacheKeys`, CloudFront forwards all query
3652
+ # @!attribute [rw] items
3653
+ # An array of field patterns in a field-level encryption content
3654
+ # type-profile mapping.
3655
+ # @return [Array<Types::EncryptionEntity>]
3656
+ #
3657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/EncryptionEntities AWS API Documentation
3658
+ #
3659
+ class EncryptionEntities < Struct.new(
3660
+ :quantity,
3661
+ :items)
3662
+ include Aws::Structure
3663
+ end
3664
+
3665
+ # Complex data type for field-level encryption profiles that includes
3666
+ # the encryption key and field pattern specifications.
3667
+ #
3668
+ # @note When making an API call, you may pass EncryptionEntity
3669
+ # data as a hash:
3670
+ #
3671
+ # {
3672
+ # public_key_id: "string", # required
3673
+ # provider_id: "string", # required
3674
+ # field_patterns: { # required
3675
+ # quantity: 1, # required
3676
+ # items: ["string"],
3677
+ # },
3678
+ # }
3679
+ #
3680
+ # @!attribute [rw] public_key_id
3681
+ # The public key associated with a set of field-level encryption
3682
+ # patterns, to be used when encrypting the fields that match the
3683
+ # patterns.
3684
+ # @return [String]
3685
+ #
3686
+ # @!attribute [rw] provider_id
3687
+ # The provider associated with the public key being used for
3688
+ # encryption. This value must also be provided with the private key
3689
+ # for applications to be able to decrypt data.
3690
+ # @return [String]
3691
+ #
3692
+ # @!attribute [rw] field_patterns
3693
+ # Field patterns in a field-level encryption content type profile
3694
+ # specify the fields that you want to be encrypted. You can provide
3695
+ # the full field name, or any beginning characters followed by a
3696
+ # wildcard (*). You can't overlap field patterns. For example, you
3697
+ # can't have both ABC* and AB*. Note that field patterns are
3698
+ # case-sensitive.
3699
+ # @return [Types::FieldPatterns]
3700
+ #
3701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/EncryptionEntity AWS API Documentation
3702
+ #
3703
+ class EncryptionEntity < Struct.new(
3704
+ :public_key_id,
3705
+ :provider_id,
3706
+ :field_patterns)
3707
+ include Aws::Structure
3708
+ end
3709
+
3710
+ # A complex data type that includes the profile configurations and other
3711
+ # options specified for field-level encryption.
3712
+ #
3713
+ # @!attribute [rw] id
3714
+ # The configuration ID for a field-level encryption configuration
3715
+ # which includes a set of profiles that specify certain selected data
3716
+ # fields to be encrypted by specific public keys.
3717
+ # @return [String]
3718
+ #
3719
+ # @!attribute [rw] last_modified_time
3720
+ # The last time the field-level encryption configuration was changed.
3721
+ # @return [Time]
3722
+ #
3723
+ # @!attribute [rw] field_level_encryption_config
3724
+ # A complex data type that includes the profile configurations
3725
+ # specified for field-level encryption.
3726
+ # @return [Types::FieldLevelEncryptionConfig]
3727
+ #
3728
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/FieldLevelEncryption AWS API Documentation
3729
+ #
3730
+ class FieldLevelEncryption < Struct.new(
3731
+ :id,
3732
+ :last_modified_time,
3733
+ :field_level_encryption_config)
3734
+ include Aws::Structure
3735
+ end
3736
+
3737
+ # A complex data type that includes the profile configurations specified
3738
+ # for field-level encryption.
3739
+ #
3740
+ # @note When making an API call, you may pass FieldLevelEncryptionConfig
3741
+ # data as a hash:
3742
+ #
3743
+ # {
3744
+ # caller_reference: "string", # required
3745
+ # comment: "string",
3746
+ # query_arg_profile_config: {
3747
+ # forward_when_query_arg_profile_is_unknown: false, # required
3748
+ # query_arg_profiles: {
3749
+ # quantity: 1, # required
3750
+ # items: [
3751
+ # {
3752
+ # query_arg: "string", # required
3753
+ # profile_id: "string", # required
3754
+ # },
3755
+ # ],
3756
+ # },
3757
+ # },
3758
+ # content_type_profile_config: {
3759
+ # forward_when_content_type_is_unknown: false, # required
3760
+ # content_type_profiles: {
3761
+ # quantity: 1, # required
3762
+ # items: [
3763
+ # {
3764
+ # format: "URLEncoded", # required, accepts URLEncoded
3765
+ # profile_id: "string",
3766
+ # content_type: "string", # required
3767
+ # },
3768
+ # ],
3769
+ # },
3770
+ # },
3771
+ # }
3772
+ #
3773
+ # @!attribute [rw] caller_reference
3774
+ # A unique number that ensures the request can't be replayed.
3775
+ # @return [String]
3776
+ #
3777
+ # @!attribute [rw] comment
3778
+ # An optional comment about the configuration.
3779
+ # @return [String]
3780
+ #
3781
+ # @!attribute [rw] query_arg_profile_config
3782
+ # A complex data type that specifies when to forward content if a
3783
+ # profile isn't found and the profile that can be provided as a query
3784
+ # argument in a request.
3785
+ # @return [Types::QueryArgProfileConfig]
3786
+ #
3787
+ # @!attribute [rw] content_type_profile_config
3788
+ # A complex data type that specifies when to forward content if a
3789
+ # content type isn't recognized and profiles to use as by default in
3790
+ # a request if a query argument doesn't specify a profile to use.
3791
+ # @return [Types::ContentTypeProfileConfig]
3792
+ #
3793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/FieldLevelEncryptionConfig AWS API Documentation
3794
+ #
3795
+ class FieldLevelEncryptionConfig < Struct.new(
3796
+ :caller_reference,
3797
+ :comment,
3798
+ :query_arg_profile_config,
3799
+ :content_type_profile_config)
3800
+ include Aws::Structure
3801
+ end
3802
+
3803
+ # List of field-level encrpytion configurations.
3804
+ #
3805
+ # @!attribute [rw] next_marker
3806
+ # If there are more elements to be listed, this element is present and
3807
+ # contains the value that you can use for the `Marker` request
3808
+ # parameter to continue listing your configurations where you left
3809
+ # off.
3810
+ # @return [String]
3811
+ #
3812
+ # @!attribute [rw] max_items
3813
+ # The maximum number of elements you want in the response body.
3814
+ # @return [Integer]
3815
+ #
3816
+ # @!attribute [rw] quantity
3817
+ # The number of field-level encryption items.
3818
+ # @return [Integer]
3819
+ #
3820
+ # @!attribute [rw] items
3821
+ # An array of field-level encryption items.
3822
+ # @return [Array<Types::FieldLevelEncryptionSummary>]
3823
+ #
3824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/FieldLevelEncryptionList AWS API Documentation
3825
+ #
3826
+ class FieldLevelEncryptionList < Struct.new(
3827
+ :next_marker,
3828
+ :max_items,
3829
+ :quantity,
3830
+ :items)
3831
+ include Aws::Structure
3832
+ end
3833
+
3834
+ # A complex data type for field-level encryption profiles.
3835
+ #
3836
+ # @!attribute [rw] id
3837
+ # The ID for a field-level encryption profile configuration which
3838
+ # includes a set of profiles that specify certain selected data fields
3839
+ # to be encrypted by specific public keys.
3840
+ # @return [String]
3841
+ #
3842
+ # @!attribute [rw] last_modified_time
3843
+ # The last time the field-level encryption profile was updated.
3844
+ # @return [Time]
3845
+ #
3846
+ # @!attribute [rw] field_level_encryption_profile_config
3847
+ # A complex data type that includes the profile name and the
3848
+ # encryption entities for the field-level encryption profile.
3849
+ # @return [Types::FieldLevelEncryptionProfileConfig]
3850
+ #
3851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/FieldLevelEncryptionProfile AWS API Documentation
3852
+ #
3853
+ class FieldLevelEncryptionProfile < Struct.new(
3854
+ :id,
3855
+ :last_modified_time,
3856
+ :field_level_encryption_profile_config)
3857
+ include Aws::Structure
3858
+ end
3859
+
3860
+ # A complex data type of profiles for the field-level encryption.
3861
+ #
3862
+ # @note When making an API call, you may pass FieldLevelEncryptionProfileConfig
3863
+ # data as a hash:
3864
+ #
3865
+ # {
3866
+ # name: "string", # required
3867
+ # caller_reference: "string", # required
3868
+ # comment: "string",
3869
+ # encryption_entities: { # required
3870
+ # quantity: 1, # required
3871
+ # items: [
3872
+ # {
3873
+ # public_key_id: "string", # required
3874
+ # provider_id: "string", # required
3875
+ # field_patterns: { # required
3876
+ # quantity: 1, # required
3877
+ # items: ["string"],
3878
+ # },
3879
+ # },
3880
+ # ],
3881
+ # },
3882
+ # }
3883
+ #
3884
+ # @!attribute [rw] name
3885
+ # Profile name for the field-level encryption profile.
3886
+ # @return [String]
3887
+ #
3888
+ # @!attribute [rw] caller_reference
3889
+ # A unique number that ensures the request can't be replayed.
3890
+ # @return [String]
3891
+ #
3892
+ # @!attribute [rw] comment
3893
+ # An optional comment for the field-level encryption profile.
3894
+ # @return [String]
3895
+ #
3896
+ # @!attribute [rw] encryption_entities
3897
+ # A complex data type of encryption entities for the field-level
3898
+ # encryption profile that include the public key ID, provider, and
3899
+ # field patterns for specifying which fields to encrypt with this key.
3900
+ # @return [Types::EncryptionEntities]
3901
+ #
3902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/FieldLevelEncryptionProfileConfig AWS API Documentation
3903
+ #
3904
+ class FieldLevelEncryptionProfileConfig < Struct.new(
3905
+ :name,
3906
+ :caller_reference,
3907
+ :comment,
3908
+ :encryption_entities)
3909
+ include Aws::Structure
3910
+ end
3911
+
3912
+ # List of field-level encryption profiles.
3913
+ #
3914
+ # @!attribute [rw] next_marker
3915
+ # If there are more elements to be listed, this element is present and
3916
+ # contains the value that you can use for the `Marker` request
3917
+ # parameter to continue listing your profiles where you left off.
3918
+ # @return [String]
3919
+ #
3920
+ # @!attribute [rw] max_items
3921
+ # The maximum number of field-level encryption profiles you want in
3922
+ # the response body.
3923
+ # @return [Integer]
3924
+ #
3925
+ # @!attribute [rw] quantity
3926
+ # The number of field-level encryption profiles.
3927
+ # @return [Integer]
3928
+ #
3929
+ # @!attribute [rw] items
3930
+ # The field-level encryption profile items.
3931
+ # @return [Array<Types::FieldLevelEncryptionProfileSummary>]
3932
+ #
3933
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/FieldLevelEncryptionProfileList AWS API Documentation
3934
+ #
3935
+ class FieldLevelEncryptionProfileList < Struct.new(
3936
+ :next_marker,
3937
+ :max_items,
3938
+ :quantity,
3939
+ :items)
3940
+ include Aws::Structure
3941
+ end
3942
+
3943
+ # The field-level encryption profile summary.
3944
+ #
3945
+ # @!attribute [rw] id
3946
+ # ID for the field-level encryption profile summary.
3947
+ # @return [String]
3948
+ #
3949
+ # @!attribute [rw] last_modified_time
3950
+ # The time when the the field-level encryption profile summary was
3951
+ # last updated.
3952
+ # @return [Time]
3953
+ #
3954
+ # @!attribute [rw] name
3955
+ # Name for the field-level encryption profile summary.
3956
+ # @return [String]
3957
+ #
3958
+ # @!attribute [rw] encryption_entities
3959
+ # A complex data type of encryption entities for the field-level
3960
+ # encryption profile that include the public key ID, provider, and
3961
+ # field patterns for specifying which fields to encrypt with this key.
3962
+ # @return [Types::EncryptionEntities]
3963
+ #
3964
+ # @!attribute [rw] comment
3965
+ # An optional comment for the field-level encryption profile summary.
3966
+ # @return [String]
3967
+ #
3968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/FieldLevelEncryptionProfileSummary AWS API Documentation
3969
+ #
3970
+ class FieldLevelEncryptionProfileSummary < Struct.new(
3971
+ :id,
3972
+ :last_modified_time,
3973
+ :name,
3974
+ :encryption_entities,
3975
+ :comment)
3976
+ include Aws::Structure
3977
+ end
3978
+
3979
+ # A summary of a field-level encryption item.
3980
+ #
3981
+ # @!attribute [rw] id
3982
+ # The unique ID of a field-level encryption item.
3983
+ # @return [String]
3984
+ #
3985
+ # @!attribute [rw] last_modified_time
3986
+ # The last time that the summary of field-level encryption items was
3987
+ # modified.
3988
+ # @return [Time]
3989
+ #
3990
+ # @!attribute [rw] comment
3991
+ # An optional comment about the field-level encryption item.
3992
+ # @return [String]
3993
+ #
3994
+ # @!attribute [rw] query_arg_profile_config
3995
+ # A summary of a query argument-profile mapping.
3996
+ # @return [Types::QueryArgProfileConfig]
3997
+ #
3998
+ # @!attribute [rw] content_type_profile_config
3999
+ # A summary of a content type-profile mapping.
4000
+ # @return [Types::ContentTypeProfileConfig]
4001
+ #
4002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/FieldLevelEncryptionSummary AWS API Documentation
4003
+ #
4004
+ class FieldLevelEncryptionSummary < Struct.new(
4005
+ :id,
4006
+ :last_modified_time,
4007
+ :comment,
4008
+ :query_arg_profile_config,
4009
+ :content_type_profile_config)
4010
+ include Aws::Structure
4011
+ end
4012
+
4013
+ # A complex data type that includes the field patterns to match for
4014
+ # field-level encryption.
4015
+ #
4016
+ # @note When making an API call, you may pass FieldPatterns
4017
+ # data as a hash:
4018
+ #
4019
+ # {
4020
+ # quantity: 1, # required
4021
+ # items: ["string"],
4022
+ # }
4023
+ #
4024
+ # @!attribute [rw] quantity
4025
+ # The number of field-level encryption field patterns.
4026
+ # @return [Integer]
4027
+ #
4028
+ # @!attribute [rw] items
4029
+ # An array of the field-level encryption field patterns.
4030
+ # @return [Array<String>]
4031
+ #
4032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/FieldPatterns AWS API Documentation
4033
+ #
4034
+ class FieldPatterns < Struct.new(
4035
+ :quantity,
4036
+ :items)
4037
+ include Aws::Structure
4038
+ end
4039
+
4040
+ # A complex type that specifies how CloudFront handles query strings and
4041
+ # cookies.
4042
+ #
4043
+ # @note When making an API call, you may pass ForwardedValues
4044
+ # data as a hash:
4045
+ #
4046
+ # {
4047
+ # query_string: false, # required
4048
+ # cookies: { # required
4049
+ # forward: "none", # required, accepts none, whitelist, all
4050
+ # whitelisted_names: {
4051
+ # quantity: 1, # required
4052
+ # items: ["string"],
4053
+ # },
4054
+ # },
4055
+ # headers: {
4056
+ # quantity: 1, # required
4057
+ # items: ["string"],
4058
+ # },
4059
+ # query_string_cache_keys: {
4060
+ # quantity: 1, # required
4061
+ # items: ["string"],
4062
+ # },
4063
+ # }
4064
+ #
4065
+ # @!attribute [rw] query_string
4066
+ # Indicates whether you want CloudFront to forward query strings to
4067
+ # the origin that is associated with this cache behavior and cache
4068
+ # based on the query string parameters. CloudFront behavior depends on
4069
+ # the value of `QueryString` and on the values that you specify for
4070
+ # `QueryStringCacheKeys`, if any:
4071
+ #
4072
+ # If you specify true for `QueryString` and you don't specify any
4073
+ # values for `QueryStringCacheKeys`, CloudFront forwards all query
3284
4074
  # string parameters to the origin and caches based on all query string
3285
4075
  # parameters. Depending on how many query string parameters and values
3286
4076
  # you have, this can adversely affect performance because CloudFront
@@ -3327,7 +4117,7 @@ module Aws::CloudFront
3327
4117
  # cache behavior.
3328
4118
  # @return [Types::QueryStringCacheKeys]
3329
4119
  #
3330
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ForwardedValues AWS API Documentation
4120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ForwardedValues AWS API Documentation
3331
4121
  #
3332
4122
  class ForwardedValues < Struct.new(
3333
4123
  :query_string,
@@ -3386,7 +4176,7 @@ module Aws::CloudFront
3386
4176
  # the CloudFront console, which includes both country names and codes.
3387
4177
  # @return [Array<String>]
3388
4178
  #
3389
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GeoRestriction AWS API Documentation
4179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GeoRestriction AWS API Documentation
3390
4180
  #
3391
4181
  class GeoRestriction < Struct.new(
3392
4182
  :restriction_type,
@@ -3409,7 +4199,7 @@ module Aws::CloudFront
3409
4199
  # The identity's ID.
3410
4200
  # @return [String]
3411
4201
  #
3412
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetCloudFrontOriginAccessIdentityConfigRequest AWS API Documentation
4202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetCloudFrontOriginAccessIdentityConfigRequest AWS API Documentation
3413
4203
  #
3414
4204
  class GetCloudFrontOriginAccessIdentityConfigRequest < Struct.new(
3415
4205
  :id)
@@ -3427,7 +4217,7 @@ module Aws::CloudFront
3427
4217
  # `E2QWRUHAPOMQZL`.
3428
4218
  # @return [String]
3429
4219
  #
3430
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetCloudFrontOriginAccessIdentityConfigResult AWS API Documentation
4220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetCloudFrontOriginAccessIdentityConfigResult AWS API Documentation
3431
4221
  #
3432
4222
  class GetCloudFrontOriginAccessIdentityConfigResult < Struct.new(
3433
4223
  :cloud_front_origin_access_identity_config,
@@ -3448,7 +4238,7 @@ module Aws::CloudFront
3448
4238
  # The identity's ID.
3449
4239
  # @return [String]
3450
4240
  #
3451
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetCloudFrontOriginAccessIdentityRequest AWS API Documentation
4241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetCloudFrontOriginAccessIdentityRequest AWS API Documentation
3452
4242
  #
3453
4243
  class GetCloudFrontOriginAccessIdentityRequest < Struct.new(
3454
4244
  :id)
@@ -3466,7 +4256,7 @@ module Aws::CloudFront
3466
4256
  # For example: `E2QWRUHAPOMQZL`.
3467
4257
  # @return [String]
3468
4258
  #
3469
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetCloudFrontOriginAccessIdentityResult AWS API Documentation
4259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetCloudFrontOriginAccessIdentityResult AWS API Documentation
3470
4260
  #
3471
4261
  class GetCloudFrontOriginAccessIdentityResult < Struct.new(
3472
4262
  :cloud_front_origin_access_identity,
@@ -3487,7 +4277,7 @@ module Aws::CloudFront
3487
4277
  # The distribution's ID.
3488
4278
  # @return [String]
3489
4279
  #
3490
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetDistributionConfigRequest AWS API Documentation
4280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetDistributionConfigRequest AWS API Documentation
3491
4281
  #
3492
4282
  class GetDistributionConfigRequest < Struct.new(
3493
4283
  :id)
@@ -3505,7 +4295,7 @@ module Aws::CloudFront
3505
4295
  # `E2QWRUHAPOMQZL`.
3506
4296
  # @return [String]
3507
4297
  #
3508
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetDistributionConfigResult AWS API Documentation
4298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetDistributionConfigResult AWS API Documentation
3509
4299
  #
3510
4300
  class GetDistributionConfigResult < Struct.new(
3511
4301
  :distribution_config,
@@ -3526,7 +4316,7 @@ module Aws::CloudFront
3526
4316
  # The distribution's ID.
3527
4317
  # @return [String]
3528
4318
  #
3529
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetDistributionRequest AWS API Documentation
4319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetDistributionRequest AWS API Documentation
3530
4320
  #
3531
4321
  class GetDistributionRequest < Struct.new(
3532
4322
  :id)
@@ -3544,7 +4334,7 @@ module Aws::CloudFront
3544
4334
  # `E2QWRUHAPOMQZL`.
3545
4335
  # @return [String]
3546
4336
  #
3547
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetDistributionResult AWS API Documentation
4337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetDistributionResult AWS API Documentation
3548
4338
  #
3549
4339
  class GetDistributionResult < Struct.new(
3550
4340
  :distribution,
@@ -3552,6 +4342,149 @@ module Aws::CloudFront
3552
4342
  include Aws::Structure
3553
4343
  end
3554
4344
 
4345
+ # @note When making an API call, you may pass GetFieldLevelEncryptionConfigRequest
4346
+ # data as a hash:
4347
+ #
4348
+ # {
4349
+ # id: "string", # required
4350
+ # }
4351
+ #
4352
+ # @!attribute [rw] id
4353
+ # Request the ID for the field-level encryption configuration
4354
+ # information.
4355
+ # @return [String]
4356
+ #
4357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetFieldLevelEncryptionConfigRequest AWS API Documentation
4358
+ #
4359
+ class GetFieldLevelEncryptionConfigRequest < Struct.new(
4360
+ :id)
4361
+ include Aws::Structure
4362
+ end
4363
+
4364
+ # @!attribute [rw] field_level_encryption_config
4365
+ # Return the field-level encryption configuration information.
4366
+ # @return [Types::FieldLevelEncryptionConfig]
4367
+ #
4368
+ # @!attribute [rw] etag
4369
+ # The current version of the field level encryption configuration. For
4370
+ # example: `E2QWRUHAPOMQZL`.
4371
+ # @return [String]
4372
+ #
4373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetFieldLevelEncryptionConfigResult AWS API Documentation
4374
+ #
4375
+ class GetFieldLevelEncryptionConfigResult < Struct.new(
4376
+ :field_level_encryption_config,
4377
+ :etag)
4378
+ include Aws::Structure
4379
+ end
4380
+
4381
+ # @note When making an API call, you may pass GetFieldLevelEncryptionProfileConfigRequest
4382
+ # data as a hash:
4383
+ #
4384
+ # {
4385
+ # id: "string", # required
4386
+ # }
4387
+ #
4388
+ # @!attribute [rw] id
4389
+ # Get the ID for the field-level encryption profile configuration
4390
+ # information.
4391
+ # @return [String]
4392
+ #
4393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetFieldLevelEncryptionProfileConfigRequest AWS API Documentation
4394
+ #
4395
+ class GetFieldLevelEncryptionProfileConfigRequest < Struct.new(
4396
+ :id)
4397
+ include Aws::Structure
4398
+ end
4399
+
4400
+ # @!attribute [rw] field_level_encryption_profile_config
4401
+ # Return the field-level encryption profile configuration information.
4402
+ # @return [Types::FieldLevelEncryptionProfileConfig]
4403
+ #
4404
+ # @!attribute [rw] etag
4405
+ # The current version of the field-level encryption profile
4406
+ # configuration result. For example: `E2QWRUHAPOMQZL`.
4407
+ # @return [String]
4408
+ #
4409
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetFieldLevelEncryptionProfileConfigResult AWS API Documentation
4410
+ #
4411
+ class GetFieldLevelEncryptionProfileConfigResult < Struct.new(
4412
+ :field_level_encryption_profile_config,
4413
+ :etag)
4414
+ include Aws::Structure
4415
+ end
4416
+
4417
+ # @note When making an API call, you may pass GetFieldLevelEncryptionProfileRequest
4418
+ # data as a hash:
4419
+ #
4420
+ # {
4421
+ # id: "string", # required
4422
+ # }
4423
+ #
4424
+ # @!attribute [rw] id
4425
+ # Get the ID for the field-level encryption profile information.
4426
+ # @return [String]
4427
+ #
4428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetFieldLevelEncryptionProfileRequest AWS API Documentation
4429
+ #
4430
+ class GetFieldLevelEncryptionProfileRequest < Struct.new(
4431
+ :id)
4432
+ include Aws::Structure
4433
+ end
4434
+
4435
+ # @!attribute [rw] field_level_encryption_profile
4436
+ # Return the field-level encryption profile information.
4437
+ # @return [Types::FieldLevelEncryptionProfile]
4438
+ #
4439
+ # @!attribute [rw] etag
4440
+ # The current version of the field level encryption profile. For
4441
+ # example: `E2QWRUHAPOMQZL`.
4442
+ # @return [String]
4443
+ #
4444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetFieldLevelEncryptionProfileResult AWS API Documentation
4445
+ #
4446
+ class GetFieldLevelEncryptionProfileResult < Struct.new(
4447
+ :field_level_encryption_profile,
4448
+ :etag)
4449
+ include Aws::Structure
4450
+ end
4451
+
4452
+ # @note When making an API call, you may pass GetFieldLevelEncryptionRequest
4453
+ # data as a hash:
4454
+ #
4455
+ # {
4456
+ # id: "string", # required
4457
+ # }
4458
+ #
4459
+ # @!attribute [rw] id
4460
+ # Request the ID for the field-level encryption configuration
4461
+ # information.
4462
+ # @return [String]
4463
+ #
4464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetFieldLevelEncryptionRequest AWS API Documentation
4465
+ #
4466
+ class GetFieldLevelEncryptionRequest < Struct.new(
4467
+ :id)
4468
+ include Aws::Structure
4469
+ end
4470
+
4471
+ # @!attribute [rw] field_level_encryption
4472
+ # Return the field-level encryption configuration information.
4473
+ # @return [Types::FieldLevelEncryption]
4474
+ #
4475
+ # @!attribute [rw] etag
4476
+ # The current version of the field level encryption configuration. For
4477
+ # example: `E2QWRUHAPOMQZL`.
4478
+ # @return [String]
4479
+ #
4480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetFieldLevelEncryptionResult AWS API Documentation
4481
+ #
4482
+ class GetFieldLevelEncryptionResult < Struct.new(
4483
+ :field_level_encryption,
4484
+ :etag)
4485
+ include Aws::Structure
4486
+ end
4487
+
3555
4488
  # The request to get an invalidation's information.
3556
4489
  #
3557
4490
  # @note When making an API call, you may pass GetInvalidationRequest
@@ -3571,7 +4504,7 @@ module Aws::CloudFront
3571
4504
  # `IDFDVBD632BHDS5`.
3572
4505
  # @return [String]
3573
4506
  #
3574
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetInvalidationRequest AWS API Documentation
4507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetInvalidationRequest AWS API Documentation
3575
4508
  #
3576
4509
  class GetInvalidationRequest < Struct.new(
3577
4510
  :distribution_id,
@@ -3590,13 +4523,83 @@ module Aws::CloudFront
3590
4523
  # [1]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/InvalidationDatatype.html
3591
4524
  # @return [Types::Invalidation]
3592
4525
  #
3593
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetInvalidationResult AWS API Documentation
4526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetInvalidationResult AWS API Documentation
3594
4527
  #
3595
4528
  class GetInvalidationResult < Struct.new(
3596
4529
  :invalidation)
3597
4530
  include Aws::Structure
3598
4531
  end
3599
4532
 
4533
+ # @note When making an API call, you may pass GetPublicKeyConfigRequest
4534
+ # data as a hash:
4535
+ #
4536
+ # {
4537
+ # id: "string", # required
4538
+ # }
4539
+ #
4540
+ # @!attribute [rw] id
4541
+ # Request the ID for the public key configuration.
4542
+ # @return [String]
4543
+ #
4544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetPublicKeyConfigRequest AWS API Documentation
4545
+ #
4546
+ class GetPublicKeyConfigRequest < Struct.new(
4547
+ :id)
4548
+ include Aws::Structure
4549
+ end
4550
+
4551
+ # @!attribute [rw] public_key_config
4552
+ # Return the result for the public key configuration.
4553
+ # @return [Types::PublicKeyConfig]
4554
+ #
4555
+ # @!attribute [rw] etag
4556
+ # The current version of the public key configuration. For example:
4557
+ # `E2QWRUHAPOMQZL`.
4558
+ # @return [String]
4559
+ #
4560
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetPublicKeyConfigResult AWS API Documentation
4561
+ #
4562
+ class GetPublicKeyConfigResult < Struct.new(
4563
+ :public_key_config,
4564
+ :etag)
4565
+ include Aws::Structure
4566
+ end
4567
+
4568
+ # @note When making an API call, you may pass GetPublicKeyRequest
4569
+ # data as a hash:
4570
+ #
4571
+ # {
4572
+ # id: "string", # required
4573
+ # }
4574
+ #
4575
+ # @!attribute [rw] id
4576
+ # Request the ID for the public key.
4577
+ # @return [String]
4578
+ #
4579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetPublicKeyRequest AWS API Documentation
4580
+ #
4581
+ class GetPublicKeyRequest < Struct.new(
4582
+ :id)
4583
+ include Aws::Structure
4584
+ end
4585
+
4586
+ # @!attribute [rw] public_key
4587
+ # Return the public key.
4588
+ # @return [Types::PublicKey]
4589
+ #
4590
+ # @!attribute [rw] etag
4591
+ # The current version of the public key. For example:
4592
+ # `E2QWRUHAPOMQZL`.
4593
+ # @return [String]
4594
+ #
4595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetPublicKeyResult AWS API Documentation
4596
+ #
4597
+ class GetPublicKeyResult < Struct.new(
4598
+ :public_key,
4599
+ :etag)
4600
+ include Aws::Structure
4601
+ end
4602
+
3600
4603
  # To request to get a streaming distribution configuration.
3601
4604
  #
3602
4605
  # @note When making an API call, you may pass GetStreamingDistributionConfigRequest
@@ -3610,7 +4613,7 @@ module Aws::CloudFront
3610
4613
  # The streaming distribution's ID.
3611
4614
  # @return [String]
3612
4615
  #
3613
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetStreamingDistributionConfigRequest AWS API Documentation
4616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetStreamingDistributionConfigRequest AWS API Documentation
3614
4617
  #
3615
4618
  class GetStreamingDistributionConfigRequest < Struct.new(
3616
4619
  :id)
@@ -3628,7 +4631,7 @@ module Aws::CloudFront
3628
4631
  # `E2QWRUHAPOMQZL`.
3629
4632
  # @return [String]
3630
4633
  #
3631
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetStreamingDistributionConfigResult AWS API Documentation
4634
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetStreamingDistributionConfigResult AWS API Documentation
3632
4635
  #
3633
4636
  class GetStreamingDistributionConfigResult < Struct.new(
3634
4637
  :streaming_distribution_config,
@@ -3649,7 +4652,7 @@ module Aws::CloudFront
3649
4652
  # The streaming distribution's ID.
3650
4653
  # @return [String]
3651
4654
  #
3652
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetStreamingDistributionRequest AWS API Documentation
4655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetStreamingDistributionRequest AWS API Documentation
3653
4656
  #
3654
4657
  class GetStreamingDistributionRequest < Struct.new(
3655
4658
  :id)
@@ -3667,7 +4670,7 @@ module Aws::CloudFront
3667
4670
  # For example: `E2QWRUHAPOMQZL`.
3668
4671
  # @return [String]
3669
4672
  #
3670
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/GetStreamingDistributionResult AWS API Documentation
4673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/GetStreamingDistributionResult AWS API Documentation
3671
4674
  #
3672
4675
  class GetStreamingDistributionResult < Struct.new(
3673
4676
  :streaming_distribution,
@@ -3744,7 +4747,7 @@ module Aws::CloudFront
3744
4747
  # `Quantity` is `0`, omit `Items`.
3745
4748
  # @return [Array<String>]
3746
4749
  #
3747
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Headers AWS API Documentation
4750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Headers AWS API Documentation
3748
4751
  #
3749
4752
  class Headers < Struct.new(
3750
4753
  :quantity,
@@ -3772,7 +4775,7 @@ module Aws::CloudFront
3772
4775
  # The current invalidation information for the batch request.
3773
4776
  # @return [Types::InvalidationBatch]
3774
4777
  #
3775
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Invalidation AWS API Documentation
4778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Invalidation AWS API Documentation
3776
4779
  #
3777
4780
  class Invalidation < Struct.new(
3778
4781
  :id,
@@ -3827,7 +4830,7 @@ module Aws::CloudFront
3827
4830
  # `InvalidationBatchAlreadyExists` error.
3828
4831
  # @return [String]
3829
4832
  #
3830
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/InvalidationBatch AWS API Documentation
4833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/InvalidationBatch AWS API Documentation
3831
4834
  #
3832
4835
  class InvalidationBatch < Struct.new(
3833
4836
  :paths,
@@ -3875,7 +4878,7 @@ module Aws::CloudFront
3875
4878
  # each invalidation batch created by the current AWS account.
3876
4879
  # @return [Array<Types::InvalidationSummary>]
3877
4880
  #
3878
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/InvalidationList AWS API Documentation
4881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/InvalidationList AWS API Documentation
3879
4882
  #
3880
4883
  class InvalidationList < Struct.new(
3881
4884
  :marker,
@@ -3900,7 +4903,7 @@ module Aws::CloudFront
3900
4903
  # The status of an invalidation request.
3901
4904
  # @return [String]
3902
4905
  #
3903
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/InvalidationSummary AWS API Documentation
4906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/InvalidationSummary AWS API Documentation
3904
4907
  #
3905
4908
  class InvalidationSummary < Struct.new(
3906
4909
  :id,
@@ -3927,7 +4930,7 @@ module Aws::CloudFront
3927
4930
  # For more information, see ActiveTrustedSigners.
3928
4931
  # @return [Array<String>]
3929
4932
  #
3930
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/KeyPairIds AWS API Documentation
4933
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/KeyPairIds AWS API Documentation
3931
4934
  #
3932
4935
  class KeyPairIds < Struct.new(
3933
4936
  :quantity,
@@ -3941,8 +4944,8 @@ module Aws::CloudFront
3941
4944
  # data as a hash:
3942
4945
  #
3943
4946
  # {
3944
- # lambda_function_arn: "string",
3945
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
4947
+ # lambda_function_arn: "LambdaFunctionARN", # required
4948
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
3946
4949
  # }
3947
4950
  #
3948
4951
  # @!attribute [rw] lambda_function_arn
@@ -3978,7 +4981,7 @@ module Aws::CloudFront
3978
4981
  # (OK), the function doesn't execute.
3979
4982
  # @return [String]
3980
4983
  #
3981
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/LambdaFunctionAssociation AWS API Documentation
4984
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/LambdaFunctionAssociation AWS API Documentation
3982
4985
  #
3983
4986
  class LambdaFunctionAssociation < Struct.new(
3984
4987
  :lambda_function_arn,
@@ -4006,8 +5009,8 @@ module Aws::CloudFront
4006
5009
  # quantity: 1, # required
4007
5010
  # items: [
4008
5011
  # {
4009
- # lambda_function_arn: "string",
4010
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
5012
+ # lambda_function_arn: "LambdaFunctionARN", # required
5013
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
4011
5014
  # },
4012
5015
  # ],
4013
5016
  # }
@@ -4022,7 +5025,7 @@ module Aws::CloudFront
4022
5025
  # `Quantity` is `0`, you can omit `Items`.
4023
5026
  # @return [Array<Types::LambdaFunctionAssociation>]
4024
5027
  #
4025
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/LambdaFunctionAssociations AWS API Documentation
5028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/LambdaFunctionAssociations AWS API Documentation
4026
5029
  #
4027
5030
  class LambdaFunctionAssociations < Struct.new(
4028
5031
  :quantity,
@@ -4054,7 +5057,7 @@ module Aws::CloudFront
4054
5057
  # response body.
4055
5058
  # @return [Integer]
4056
5059
  #
4057
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListCloudFrontOriginAccessIdentitiesRequest AWS API Documentation
5060
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListCloudFrontOriginAccessIdentitiesRequest AWS API Documentation
4058
5061
  #
4059
5062
  class ListCloudFrontOriginAccessIdentitiesRequest < Struct.new(
4060
5063
  :marker,
@@ -4068,7 +5071,7 @@ module Aws::CloudFront
4068
5071
  # The `CloudFrontOriginAccessIdentityList` type.
4069
5072
  # @return [Types::CloudFrontOriginAccessIdentityList]
4070
5073
  #
4071
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListCloudFrontOriginAccessIdentitiesResult AWS API Documentation
5074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListCloudFrontOriginAccessIdentitiesResult AWS API Documentation
4072
5075
  #
4073
5076
  class ListCloudFrontOriginAccessIdentitiesResult < Struct.new(
4074
5077
  :cloud_front_origin_access_identity_list)
@@ -4109,7 +5112,7 @@ module Aws::CloudFront
4109
5112
  # web ACL.
4110
5113
  # @return [String]
4111
5114
  #
4112
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListDistributionsByWebACLIdRequest AWS API Documentation
5115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListDistributionsByWebACLIdRequest AWS API Documentation
4113
5116
  #
4114
5117
  class ListDistributionsByWebACLIdRequest < Struct.new(
4115
5118
  :marker,
@@ -4125,7 +5128,7 @@ module Aws::CloudFront
4125
5128
  # The `DistributionList` type.
4126
5129
  # @return [Types::DistributionList]
4127
5130
  #
4128
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListDistributionsByWebACLIdResult AWS API Documentation
5131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListDistributionsByWebACLIdResult AWS API Documentation
4129
5132
  #
4130
5133
  class ListDistributionsByWebACLIdResult < Struct.new(
4131
5134
  :distribution_list)
@@ -4155,7 +5158,7 @@ module Aws::CloudFront
4155
5158
  # The maximum number of distributions you want in the response body.
4156
5159
  # @return [Integer]
4157
5160
  #
4158
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListDistributionsRequest AWS API Documentation
5161
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListDistributionsRequest AWS API Documentation
4159
5162
  #
4160
5163
  class ListDistributionsRequest < Struct.new(
4161
5164
  :marker,
@@ -4169,13 +5172,96 @@ module Aws::CloudFront
4169
5172
  # The `DistributionList` type.
4170
5173
  # @return [Types::DistributionList]
4171
5174
  #
4172
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListDistributionsResult AWS API Documentation
5175
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListDistributionsResult AWS API Documentation
4173
5176
  #
4174
5177
  class ListDistributionsResult < Struct.new(
4175
5178
  :distribution_list)
4176
5179
  include Aws::Structure
4177
5180
  end
4178
5181
 
5182
+ # @note When making an API call, you may pass ListFieldLevelEncryptionConfigsRequest
5183
+ # data as a hash:
5184
+ #
5185
+ # {
5186
+ # marker: "string",
5187
+ # max_items: 1,
5188
+ # }
5189
+ #
5190
+ # @!attribute [rw] marker
5191
+ # Use this when paginating results to indicate where to begin in your
5192
+ # list of configurations. The results include configurations in the
5193
+ # list that occur after the marker. To get the next page of results,
5194
+ # set the `Marker` to the value of the `NextMarker` from the current
5195
+ # page's response (which is also the ID of the last configuration on
5196
+ # that page).
5197
+ # @return [String]
5198
+ #
5199
+ # @!attribute [rw] max_items
5200
+ # The maximum number of field-level encryption configurations you want
5201
+ # in the response body.
5202
+ # @return [Integer]
5203
+ #
5204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListFieldLevelEncryptionConfigsRequest AWS API Documentation
5205
+ #
5206
+ class ListFieldLevelEncryptionConfigsRequest < Struct.new(
5207
+ :marker,
5208
+ :max_items)
5209
+ include Aws::Structure
5210
+ end
5211
+
5212
+ # @!attribute [rw] field_level_encryption_list
5213
+ # Returns a list of all field-level encryption configurations that
5214
+ # have been created in CloudFront for this account.
5215
+ # @return [Types::FieldLevelEncryptionList]
5216
+ #
5217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListFieldLevelEncryptionConfigsResult AWS API Documentation
5218
+ #
5219
+ class ListFieldLevelEncryptionConfigsResult < Struct.new(
5220
+ :field_level_encryption_list)
5221
+ include Aws::Structure
5222
+ end
5223
+
5224
+ # @note When making an API call, you may pass ListFieldLevelEncryptionProfilesRequest
5225
+ # data as a hash:
5226
+ #
5227
+ # {
5228
+ # marker: "string",
5229
+ # max_items: 1,
5230
+ # }
5231
+ #
5232
+ # @!attribute [rw] marker
5233
+ # Use this when paginating results to indicate where to begin in your
5234
+ # list of profiles. The results include profiles in the list that
5235
+ # occur after the marker. To get the next page of results, set the
5236
+ # `Marker` to the value of the `NextMarker` from the current page's
5237
+ # response (which is also the ID of the last profile on that page).
5238
+ # @return [String]
5239
+ #
5240
+ # @!attribute [rw] max_items
5241
+ # The maximum number of field-level encryption profiles you want in
5242
+ # the response body.
5243
+ # @return [Integer]
5244
+ #
5245
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListFieldLevelEncryptionProfilesRequest AWS API Documentation
5246
+ #
5247
+ class ListFieldLevelEncryptionProfilesRequest < Struct.new(
5248
+ :marker,
5249
+ :max_items)
5250
+ include Aws::Structure
5251
+ end
5252
+
5253
+ # @!attribute [rw] field_level_encryption_profile_list
5254
+ # Returns a list of the field-level encryption profiles that have been
5255
+ # created in CloudFront for this account.
5256
+ # @return [Types::FieldLevelEncryptionProfileList]
5257
+ #
5258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListFieldLevelEncryptionProfilesResult AWS API Documentation
5259
+ #
5260
+ class ListFieldLevelEncryptionProfilesResult < Struct.new(
5261
+ :field_level_encryption_profile_list)
5262
+ include Aws::Structure
5263
+ end
5264
+
4179
5265
  # The request to list invalidations.
4180
5266
  #
4181
5267
  # @note When making an API call, you may pass ListInvalidationsRequest
@@ -4207,7 +5293,7 @@ module Aws::CloudFront
4207
5293
  # response body.
4208
5294
  # @return [Integer]
4209
5295
  #
4210
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListInvalidationsRequest AWS API Documentation
5296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListInvalidationsRequest AWS API Documentation
4211
5297
  #
4212
5298
  class ListInvalidationsRequest < Struct.new(
4213
5299
  :distribution_id,
@@ -4222,10 +5308,51 @@ module Aws::CloudFront
4222
5308
  # Information about invalidation batches.
4223
5309
  # @return [Types::InvalidationList]
4224
5310
  #
4225
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListInvalidationsResult AWS API Documentation
5311
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListInvalidationsResult AWS API Documentation
5312
+ #
5313
+ class ListInvalidationsResult < Struct.new(
5314
+ :invalidation_list)
5315
+ include Aws::Structure
5316
+ end
5317
+
5318
+ # @note When making an API call, you may pass ListPublicKeysRequest
5319
+ # data as a hash:
5320
+ #
5321
+ # {
5322
+ # marker: "string",
5323
+ # max_items: 1,
5324
+ # }
5325
+ #
5326
+ # @!attribute [rw] marker
5327
+ # Use this when paginating results to indicate where to begin in your
5328
+ # list of public keys. The results include public keys in the list
5329
+ # that occur after the marker. To get the next page of results, set
5330
+ # the `Marker` to the value of the `NextMarker` from the current
5331
+ # page's response (which is also the ID of the last public key on
5332
+ # that page).
5333
+ # @return [String]
5334
+ #
5335
+ # @!attribute [rw] max_items
5336
+ # The maximum number of public keys you want in the response body.
5337
+ # @return [Integer]
5338
+ #
5339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListPublicKeysRequest AWS API Documentation
5340
+ #
5341
+ class ListPublicKeysRequest < Struct.new(
5342
+ :marker,
5343
+ :max_items)
5344
+ include Aws::Structure
5345
+ end
5346
+
5347
+ # @!attribute [rw] public_key_list
5348
+ # Returns a list of all public keys that have been added to CloudFront
5349
+ # for this account.
5350
+ # @return [Types::PublicKeyList]
5351
+ #
5352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListPublicKeysResult AWS API Documentation
4226
5353
  #
4227
- class ListInvalidationsResult < Struct.new(
4228
- :invalidation_list)
5354
+ class ListPublicKeysResult < Struct.new(
5355
+ :public_key_list)
4229
5356
  include Aws::Structure
4230
5357
  end
4231
5358
 
@@ -4247,7 +5374,7 @@ module Aws::CloudFront
4247
5374
  # The value that you provided for the `MaxItems` request parameter.
4248
5375
  # @return [Integer]
4249
5376
  #
4250
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListStreamingDistributionsRequest AWS API Documentation
5377
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListStreamingDistributionsRequest AWS API Documentation
4251
5378
  #
4252
5379
  class ListStreamingDistributionsRequest < Struct.new(
4253
5380
  :marker,
@@ -4261,7 +5388,7 @@ module Aws::CloudFront
4261
5388
  # The `StreamingDistributionList` type.
4262
5389
  # @return [Types::StreamingDistributionList]
4263
5390
  #
4264
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListStreamingDistributionsResult AWS API Documentation
5391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListStreamingDistributionsResult AWS API Documentation
4265
5392
  #
4266
5393
  class ListStreamingDistributionsResult < Struct.new(
4267
5394
  :streaming_distribution_list)
@@ -4281,7 +5408,7 @@ module Aws::CloudFront
4281
5408
  # An ARN of a CloudFront resource.
4282
5409
  # @return [String]
4283
5410
  #
4284
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListTagsForResourceRequest AWS API Documentation
5411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListTagsForResourceRequest AWS API Documentation
4285
5412
  #
4286
5413
  class ListTagsForResourceRequest < Struct.new(
4287
5414
  :resource)
@@ -4294,7 +5421,7 @@ module Aws::CloudFront
4294
5421
  # A complex type that contains zero or more `Tag` elements.
4295
5422
  # @return [Types::Tags]
4296
5423
  #
4297
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ListTagsForResourceResult AWS API Documentation
5424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ListTagsForResourceResult AWS API Documentation
4298
5425
  #
4299
5426
  class ListTagsForResourceResult < Struct.new(
4300
5427
  :tags)
@@ -4347,7 +5474,7 @@ module Aws::CloudFront
4347
5474
  # element.
4348
5475
  # @return [String]
4349
5476
  #
4350
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/LoggingConfig AWS API Documentation
5477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/LoggingConfig AWS API Documentation
4351
5478
  #
4352
5479
  class LoggingConfig < Struct.new(
4353
5480
  :enabled,
@@ -4492,7 +5619,7 @@ module Aws::CloudFront
4492
5619
  # instead.
4493
5620
  # @return [Types::CustomOriginConfig]
4494
5621
  #
4495
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Origin AWS API Documentation
5622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Origin AWS API Documentation
4496
5623
  #
4497
5624
  class Origin < Struct.new(
4498
5625
  :id,
@@ -4531,7 +5658,7 @@ module Aws::CloudFront
4531
5658
  # field.
4532
5659
  # @return [String]
4533
5660
  #
4534
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/OriginCustomHeader AWS API Documentation
5661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/OriginCustomHeader AWS API Documentation
4535
5662
  #
4536
5663
  class OriginCustomHeader < Struct.new(
4537
5664
  :header_name,
@@ -4561,7 +5688,7 @@ module Aws::CloudFront
4561
5688
  # distribution.
4562
5689
  # @return [Array<String>]
4563
5690
  #
4564
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/OriginSslProtocols AWS API Documentation
5691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/OriginSslProtocols AWS API Documentation
4565
5692
  #
4566
5693
  class OriginSslProtocols < Struct.new(
4567
5694
  :quantity,
@@ -4617,7 +5744,7 @@ module Aws::CloudFront
4617
5744
  # A complex type that contains origins for this distribution.
4618
5745
  # @return [Array<Types::Origin>]
4619
5746
  #
4620
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Origins AWS API Documentation
5747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Origins AWS API Documentation
4621
5748
  #
4622
5749
  class Origins < Struct.new(
4623
5750
  :quantity,
@@ -4650,7 +5777,7 @@ module Aws::CloudFront
4650
5777
  # invalidate.
4651
5778
  # @return [Array<String>]
4652
5779
  #
4653
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Paths AWS API Documentation
5780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Paths AWS API Documentation
4654
5781
  #
4655
5782
  class Paths < Struct.new(
4656
5783
  :quantity,
@@ -4658,6 +5785,237 @@ module Aws::CloudFront
4658
5785
  include Aws::Structure
4659
5786
  end
4660
5787
 
5788
+ # A complex data type of public keys you add to CloudFront to use with
5789
+ # features like field-level encryption.
5790
+ #
5791
+ # @!attribute [rw] id
5792
+ # A unique ID assigned to a public key you've added to CloudFront.
5793
+ # @return [String]
5794
+ #
5795
+ # @!attribute [rw] created_time
5796
+ # A time you added a public key to CloudFront.
5797
+ # @return [Time]
5798
+ #
5799
+ # @!attribute [rw] public_key_config
5800
+ # A complex data type for a public key you add to CloudFront to use
5801
+ # with features like field-level encryption.
5802
+ # @return [Types::PublicKeyConfig]
5803
+ #
5804
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/PublicKey AWS API Documentation
5805
+ #
5806
+ class PublicKey < Struct.new(
5807
+ :id,
5808
+ :created_time,
5809
+ :public_key_config)
5810
+ include Aws::Structure
5811
+ end
5812
+
5813
+ # Information about a public key you add to CloudFront to use with
5814
+ # features like field-level encryption.
5815
+ #
5816
+ # @note When making an API call, you may pass PublicKeyConfig
5817
+ # data as a hash:
5818
+ #
5819
+ # {
5820
+ # caller_reference: "string", # required
5821
+ # name: "string", # required
5822
+ # encoded_key: "string", # required
5823
+ # comment: "string",
5824
+ # }
5825
+ #
5826
+ # @!attribute [rw] caller_reference
5827
+ # A unique number that ensures the request can't be replayed.
5828
+ # @return [String]
5829
+ #
5830
+ # @!attribute [rw] name
5831
+ # The name for a public key you add to CloudFront to use with features
5832
+ # like field-level encryption.
5833
+ # @return [String]
5834
+ #
5835
+ # @!attribute [rw] encoded_key
5836
+ # The encoded public key that you want to add to CloudFront to use
5837
+ # with features like field-level encryption.
5838
+ # @return [String]
5839
+ #
5840
+ # @!attribute [rw] comment
5841
+ # An optional comment about a public key.
5842
+ # @return [String]
5843
+ #
5844
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/PublicKeyConfig AWS API Documentation
5845
+ #
5846
+ class PublicKeyConfig < Struct.new(
5847
+ :caller_reference,
5848
+ :name,
5849
+ :encoded_key,
5850
+ :comment)
5851
+ include Aws::Structure
5852
+ end
5853
+
5854
+ # A list of public keys you've added to CloudFront to use with features
5855
+ # like field-level encryption.
5856
+ #
5857
+ # @!attribute [rw] next_marker
5858
+ # If there are more elements to be listed, this element is present and
5859
+ # contains the value that you can use for the `Marker` request
5860
+ # parameter to continue listing your public keys where you left off.
5861
+ # @return [String]
5862
+ #
5863
+ # @!attribute [rw] max_items
5864
+ # The maximum number of public keys you want in the response body.
5865
+ # @return [Integer]
5866
+ #
5867
+ # @!attribute [rw] quantity
5868
+ # The number of public keys you added to CloudFront to use with
5869
+ # features like field-level encryption.
5870
+ # @return [Integer]
5871
+ #
5872
+ # @!attribute [rw] items
5873
+ # An array of information about a public key you add to CloudFront to
5874
+ # use with features like field-level encryption.
5875
+ # @return [Array<Types::PublicKeySummary>]
5876
+ #
5877
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/PublicKeyList AWS API Documentation
5878
+ #
5879
+ class PublicKeyList < Struct.new(
5880
+ :next_marker,
5881
+ :max_items,
5882
+ :quantity,
5883
+ :items)
5884
+ include Aws::Structure
5885
+ end
5886
+
5887
+ # Public key information summary.
5888
+ #
5889
+ # @!attribute [rw] id
5890
+ # ID for public key information summary.
5891
+ # @return [String]
5892
+ #
5893
+ # @!attribute [rw] name
5894
+ # Name for public key information summary.
5895
+ # @return [String]
5896
+ #
5897
+ # @!attribute [rw] created_time
5898
+ # Creation time for public key information summary.
5899
+ # @return [Time]
5900
+ #
5901
+ # @!attribute [rw] encoded_key
5902
+ # Encoded key for public key information summary.
5903
+ # @return [String]
5904
+ #
5905
+ # @!attribute [rw] comment
5906
+ # Comment for public key information summary.
5907
+ # @return [String]
5908
+ #
5909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/PublicKeySummary AWS API Documentation
5910
+ #
5911
+ class PublicKeySummary < Struct.new(
5912
+ :id,
5913
+ :name,
5914
+ :created_time,
5915
+ :encoded_key,
5916
+ :comment)
5917
+ include Aws::Structure
5918
+ end
5919
+
5920
+ # Query argument-profile mapping for field-level encryption.
5921
+ #
5922
+ # @note When making an API call, you may pass QueryArgProfile
5923
+ # data as a hash:
5924
+ #
5925
+ # {
5926
+ # query_arg: "string", # required
5927
+ # profile_id: "string", # required
5928
+ # }
5929
+ #
5930
+ # @!attribute [rw] query_arg
5931
+ # Query argument for field-level encryption query argument-profile
5932
+ # mapping.
5933
+ # @return [String]
5934
+ #
5935
+ # @!attribute [rw] profile_id
5936
+ # ID of profile to use for field-level encryption query
5937
+ # argument-profile mapping
5938
+ # @return [String]
5939
+ #
5940
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/QueryArgProfile AWS API Documentation
5941
+ #
5942
+ class QueryArgProfile < Struct.new(
5943
+ :query_arg,
5944
+ :profile_id)
5945
+ include Aws::Structure
5946
+ end
5947
+
5948
+ # Configuration for query argument-profile mapping for field-level
5949
+ # encryption.
5950
+ #
5951
+ # @note When making an API call, you may pass QueryArgProfileConfig
5952
+ # data as a hash:
5953
+ #
5954
+ # {
5955
+ # forward_when_query_arg_profile_is_unknown: false, # required
5956
+ # query_arg_profiles: {
5957
+ # quantity: 1, # required
5958
+ # items: [
5959
+ # {
5960
+ # query_arg: "string", # required
5961
+ # profile_id: "string", # required
5962
+ # },
5963
+ # ],
5964
+ # },
5965
+ # }
5966
+ #
5967
+ # @!attribute [rw] forward_when_query_arg_profile_is_unknown
5968
+ # Flag to set if you want a request to be forwarded to the origin even
5969
+ # if the profile specified by the field-level encryption query
5970
+ # argument, fle-profile, is unknown.
5971
+ # @return [Boolean]
5972
+ #
5973
+ # @!attribute [rw] query_arg_profiles
5974
+ # Profiles specified for query argument-profile mapping for
5975
+ # field-level encryption.
5976
+ # @return [Types::QueryArgProfiles]
5977
+ #
5978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/QueryArgProfileConfig AWS API Documentation
5979
+ #
5980
+ class QueryArgProfileConfig < Struct.new(
5981
+ :forward_when_query_arg_profile_is_unknown,
5982
+ :query_arg_profiles)
5983
+ include Aws::Structure
5984
+ end
5985
+
5986
+ # Query argument-profile mapping for field-level encryption.
5987
+ #
5988
+ # @note When making an API call, you may pass QueryArgProfiles
5989
+ # data as a hash:
5990
+ #
5991
+ # {
5992
+ # quantity: 1, # required
5993
+ # items: [
5994
+ # {
5995
+ # query_arg: "string", # required
5996
+ # profile_id: "string", # required
5997
+ # },
5998
+ # ],
5999
+ # }
6000
+ #
6001
+ # @!attribute [rw] quantity
6002
+ # Number of profiles for query argument-profile mapping for
6003
+ # field-level encryption.
6004
+ # @return [Integer]
6005
+ #
6006
+ # @!attribute [rw] items
6007
+ # Number of items for query argument-profile mapping for field-level
6008
+ # encryption.
6009
+ # @return [Array<Types::QueryArgProfile>]
6010
+ #
6011
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/QueryArgProfiles AWS API Documentation
6012
+ #
6013
+ class QueryArgProfiles < Struct.new(
6014
+ :quantity,
6015
+ :items)
6016
+ include Aws::Structure
6017
+ end
6018
+
4661
6019
  # @note When making an API call, you may pass QueryStringCacheKeys
4662
6020
  # data as a hash:
4663
6021
  #
@@ -4677,7 +6035,7 @@ module Aws::CloudFront
4677
6035
  # behavior. If `Quantity` is 0, you can omit `Items`.
4678
6036
  # @return [Array<String>]
4679
6037
  #
4680
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/QueryStringCacheKeys AWS API Documentation
6038
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/QueryStringCacheKeys AWS API Documentation
4681
6039
  #
4682
6040
  class QueryStringCacheKeys < Struct.new(
4683
6041
  :quantity,
@@ -4705,7 +6063,7 @@ module Aws::CloudFront
4705
6063
  # `MaxMind` GeoIP databases.
4706
6064
  # @return [Types::GeoRestriction]
4707
6065
  #
4708
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Restrictions AWS API Documentation
6066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Restrictions AWS API Documentation
4709
6067
  #
4710
6068
  class Restrictions < Struct.new(
4711
6069
  :geo_restriction)
@@ -4754,7 +6112,7 @@ module Aws::CloudFront
4754
6112
  # [1]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html
4755
6113
  # @return [String]
4756
6114
  #
4757
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/S3Origin AWS API Documentation
6115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/S3Origin AWS API Documentation
4758
6116
  #
4759
6117
  class S3Origin < Struct.new(
4760
6118
  :domain_name,
@@ -4805,7 +6163,7 @@ module Aws::CloudFront
4805
6163
  # [1]: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
4806
6164
  # @return [String]
4807
6165
  #
4808
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/S3OriginConfig AWS API Documentation
6166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/S3OriginConfig AWS API Documentation
4809
6167
  #
4810
6168
  class S3OriginConfig < Struct.new(
4811
6169
  :origin_access_identity)
@@ -4830,7 +6188,7 @@ module Aws::CloudFront
4830
6188
  # that are associated with `AwsAccountNumber`.
4831
6189
  # @return [Types::KeyPairIds]
4832
6190
  #
4833
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Signer AWS API Documentation
6191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Signer AWS API Documentation
4834
6192
  #
4835
6193
  class Signer < Struct.new(
4836
6194
  :aws_account_number,
@@ -4888,7 +6246,7 @@ module Aws::CloudFront
4888
6246
  # The current configuration information for the RTMP distribution.
4889
6247
  # @return [Types::StreamingDistributionConfig]
4890
6248
  #
4891
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/StreamingDistribution AWS API Documentation
6249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/StreamingDistribution AWS API Documentation
4892
6250
  #
4893
6251
  class StreamingDistribution < Struct.new(
4894
6252
  :id,
@@ -4989,7 +6347,7 @@ module Aws::CloudFront
4989
6347
  # requests for content.
4990
6348
  # @return [Boolean]
4991
6349
  #
4992
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/StreamingDistributionConfig AWS API Documentation
6350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/StreamingDistributionConfig AWS API Documentation
4993
6351
  #
4994
6352
  class StreamingDistributionConfig < Struct.new(
4995
6353
  :caller_reference,
@@ -5052,7 +6410,7 @@ module Aws::CloudFront
5052
6410
  # A complex type that contains zero or more `Tag` elements.
5053
6411
  # @return [Types::Tags]
5054
6412
  #
5055
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/StreamingDistributionConfigWithTags AWS API Documentation
6413
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/StreamingDistributionConfigWithTags AWS API Documentation
5056
6414
  #
5057
6415
  class StreamingDistributionConfigWithTags < Struct.new(
5058
6416
  :streaming_distribution_config,
@@ -5094,7 +6452,7 @@ module Aws::CloudFront
5094
6452
  # account.
5095
6453
  # @return [Array<Types::StreamingDistributionSummary>]
5096
6454
  #
5097
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/StreamingDistributionList AWS API Documentation
6455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/StreamingDistributionList AWS API Documentation
5098
6456
  #
5099
6457
  class StreamingDistributionList < Struct.new(
5100
6458
  :marker,
@@ -5173,7 +6531,7 @@ module Aws::CloudFront
5173
6531
  # content.
5174
6532
  # @return [Boolean]
5175
6533
  #
5176
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/StreamingDistributionSummary AWS API Documentation
6534
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/StreamingDistributionSummary AWS API Documentation
5177
6535
  #
5178
6536
  class StreamingDistributionSummary < Struct.new(
5179
6537
  :id,
@@ -5225,7 +6583,7 @@ module Aws::CloudFront
5225
6583
  # in the `Logging` element.
5226
6584
  # @return [String]
5227
6585
  #
5228
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/StreamingLoggingConfig AWS API Documentation
6586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/StreamingLoggingConfig AWS API Documentation
5229
6587
  #
5230
6588
  class StreamingLoggingConfig < Struct.new(
5231
6589
  :enabled,
@@ -5260,7 +6618,7 @@ module Aws::CloudFront
5260
6618
  # characters `_ - . : / = + @`.
5261
6619
  # @return [String]
5262
6620
  #
5263
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Tag AWS API Documentation
6621
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Tag AWS API Documentation
5264
6622
  #
5265
6623
  class Tag < Struct.new(
5266
6624
  :key,
@@ -5281,7 +6639,7 @@ module Aws::CloudFront
5281
6639
  # A complex type that contains `Tag` key elements.
5282
6640
  # @return [Array<String>]
5283
6641
  #
5284
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/TagKeys AWS API Documentation
6642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/TagKeys AWS API Documentation
5285
6643
  #
5286
6644
  class TagKeys < Struct.new(
5287
6645
  :items)
@@ -5313,7 +6671,7 @@ module Aws::CloudFront
5313
6671
  # A complex type that contains zero or more `Tag` elements.
5314
6672
  # @return [Types::Tags]
5315
6673
  #
5316
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/TagResourceRequest AWS API Documentation
6674
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/TagResourceRequest AWS API Documentation
5317
6675
  #
5318
6676
  class TagResourceRequest < Struct.new(
5319
6677
  :resource,
@@ -5339,7 +6697,7 @@ module Aws::CloudFront
5339
6697
  # A complex type that contains `Tag` elements.
5340
6698
  # @return [Array<Types::Tag>]
5341
6699
  #
5342
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/Tags AWS API Documentation
6700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/Tags AWS API Documentation
5343
6701
  #
5344
6702
  class Tags < Struct.new(
5345
6703
  :items)
@@ -5395,7 +6753,7 @@ module Aws::CloudFront
5395
6753
  # cache behavior. If `Quantity` is `0`, you can omit `Items`.
5396
6754
  # @return [Array<String>]
5397
6755
  #
5398
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/TrustedSigners AWS API Documentation
6756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/TrustedSigners AWS API Documentation
5399
6757
  #
5400
6758
  class TrustedSigners < Struct.new(
5401
6759
  :enabled,
@@ -5424,7 +6782,7 @@ module Aws::CloudFront
5424
6782
  # A complex type that contains zero or more `Tag` key elements.
5425
6783
  # @return [Types::TagKeys]
5426
6784
  #
5427
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/UntagResourceRequest AWS API Documentation
6785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UntagResourceRequest AWS API Documentation
5428
6786
  #
5429
6787
  class UntagResourceRequest < Struct.new(
5430
6788
  :resource,
@@ -5459,7 +6817,7 @@ module Aws::CloudFront
5459
6817
  # identity's configuration. For example: `E2QWRUHAPOMQZL`.
5460
6818
  # @return [String]
5461
6819
  #
5462
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/UpdateCloudFrontOriginAccessIdentityRequest AWS API Documentation
6820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateCloudFrontOriginAccessIdentityRequest AWS API Documentation
5463
6821
  #
5464
6822
  class UpdateCloudFrontOriginAccessIdentityRequest < Struct.new(
5465
6823
  :cloud_front_origin_access_identity_config,
@@ -5479,7 +6837,7 @@ module Aws::CloudFront
5479
6837
  # `E2QWRUHAPOMQZL`.
5480
6838
  # @return [String]
5481
6839
  #
5482
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/UpdateCloudFrontOriginAccessIdentityResult AWS API Documentation
6840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateCloudFrontOriginAccessIdentityResult AWS API Documentation
5483
6841
  #
5484
6842
  class UpdateCloudFrontOriginAccessIdentityResult < Struct.new(
5485
6843
  :cloud_front_origin_access_identity,
@@ -5576,11 +6934,12 @@ module Aws::CloudFront
5576
6934
  # quantity: 1, # required
5577
6935
  # items: [
5578
6936
  # {
5579
- # lambda_function_arn: "string",
5580
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
6937
+ # lambda_function_arn: "LambdaFunctionARN", # required
6938
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
5581
6939
  # },
5582
6940
  # ],
5583
6941
  # },
6942
+ # field_level_encryption_id: "string",
5584
6943
  # },
5585
6944
  # cache_behaviors: {
5586
6945
  # quantity: 1, # required
@@ -5629,11 +6988,12 @@ module Aws::CloudFront
5629
6988
  # quantity: 1, # required
5630
6989
  # items: [
5631
6990
  # {
5632
- # lambda_function_arn: "string",
5633
- # event_type: "viewer-request", # accepts viewer-request, viewer-response, origin-request, origin-response
6991
+ # lambda_function_arn: "LambdaFunctionARN", # required
6992
+ # event_type: "viewer-request", # required, accepts viewer-request, viewer-response, origin-request, origin-response
5634
6993
  # },
5635
6994
  # ],
5636
6995
  # },
6996
+ # field_level_encryption_id: "string",
5637
6997
  # },
5638
6998
  # ],
5639
6999
  # },
@@ -5694,7 +7054,7 @@ module Aws::CloudFront
5694
7054
  # distribution's configuration. For example: `E2QWRUHAPOMQZL`.
5695
7055
  # @return [String]
5696
7056
  #
5697
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/UpdateDistributionRequest AWS API Documentation
7057
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateDistributionRequest AWS API Documentation
5698
7058
  #
5699
7059
  class UpdateDistributionRequest < Struct.new(
5700
7060
  :distribution_config,
@@ -5714,7 +7074,7 @@ module Aws::CloudFront
5714
7074
  # `E2QWRUHAPOMQZL`.
5715
7075
  # @return [String]
5716
7076
  #
5717
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/UpdateDistributionResult AWS API Documentation
7077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateDistributionResult AWS API Documentation
5718
7078
  #
5719
7079
  class UpdateDistributionResult < Struct.new(
5720
7080
  :distribution,
@@ -5722,6 +7082,199 @@ module Aws::CloudFront
5722
7082
  include Aws::Structure
5723
7083
  end
5724
7084
 
7085
+ # @note When making an API call, you may pass UpdateFieldLevelEncryptionConfigRequest
7086
+ # data as a hash:
7087
+ #
7088
+ # {
7089
+ # field_level_encryption_config: { # required
7090
+ # caller_reference: "string", # required
7091
+ # comment: "string",
7092
+ # query_arg_profile_config: {
7093
+ # forward_when_query_arg_profile_is_unknown: false, # required
7094
+ # query_arg_profiles: {
7095
+ # quantity: 1, # required
7096
+ # items: [
7097
+ # {
7098
+ # query_arg: "string", # required
7099
+ # profile_id: "string", # required
7100
+ # },
7101
+ # ],
7102
+ # },
7103
+ # },
7104
+ # content_type_profile_config: {
7105
+ # forward_when_content_type_is_unknown: false, # required
7106
+ # content_type_profiles: {
7107
+ # quantity: 1, # required
7108
+ # items: [
7109
+ # {
7110
+ # format: "URLEncoded", # required, accepts URLEncoded
7111
+ # profile_id: "string",
7112
+ # content_type: "string", # required
7113
+ # },
7114
+ # ],
7115
+ # },
7116
+ # },
7117
+ # },
7118
+ # id: "string", # required
7119
+ # if_match: "string",
7120
+ # }
7121
+ #
7122
+ # @!attribute [rw] field_level_encryption_config
7123
+ # Request to update a field-level encryption configuration.
7124
+ # @return [Types::FieldLevelEncryptionConfig]
7125
+ #
7126
+ # @!attribute [rw] id
7127
+ # The ID of the configuration you want to update.
7128
+ # @return [String]
7129
+ #
7130
+ # @!attribute [rw] if_match
7131
+ # The value of the `ETag` header that you received when retrieving the
7132
+ # configuration identity to update. For example: `E2QWRUHAPOMQZL`.
7133
+ # @return [String]
7134
+ #
7135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateFieldLevelEncryptionConfigRequest AWS API Documentation
7136
+ #
7137
+ class UpdateFieldLevelEncryptionConfigRequest < Struct.new(
7138
+ :field_level_encryption_config,
7139
+ :id,
7140
+ :if_match)
7141
+ include Aws::Structure
7142
+ end
7143
+
7144
+ # @!attribute [rw] field_level_encryption
7145
+ # Return the results of updating the configuration.
7146
+ # @return [Types::FieldLevelEncryption]
7147
+ #
7148
+ # @!attribute [rw] etag
7149
+ # The value of the `ETag` header that you received when updating the
7150
+ # configuration. For example: `E2QWRUHAPOMQZL`.
7151
+ # @return [String]
7152
+ #
7153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateFieldLevelEncryptionConfigResult AWS API Documentation
7154
+ #
7155
+ class UpdateFieldLevelEncryptionConfigResult < Struct.new(
7156
+ :field_level_encryption,
7157
+ :etag)
7158
+ include Aws::Structure
7159
+ end
7160
+
7161
+ # @note When making an API call, you may pass UpdateFieldLevelEncryptionProfileRequest
7162
+ # data as a hash:
7163
+ #
7164
+ # {
7165
+ # field_level_encryption_profile_config: { # required
7166
+ # name: "string", # required
7167
+ # caller_reference: "string", # required
7168
+ # comment: "string",
7169
+ # encryption_entities: { # required
7170
+ # quantity: 1, # required
7171
+ # items: [
7172
+ # {
7173
+ # public_key_id: "string", # required
7174
+ # provider_id: "string", # required
7175
+ # field_patterns: { # required
7176
+ # quantity: 1, # required
7177
+ # items: ["string"],
7178
+ # },
7179
+ # },
7180
+ # ],
7181
+ # },
7182
+ # },
7183
+ # id: "string", # required
7184
+ # if_match: "string",
7185
+ # }
7186
+ #
7187
+ # @!attribute [rw] field_level_encryption_profile_config
7188
+ # Request to update a field-level encryption profile.
7189
+ # @return [Types::FieldLevelEncryptionProfileConfig]
7190
+ #
7191
+ # @!attribute [rw] id
7192
+ # The ID of the field-level encryption profile request.
7193
+ # @return [String]
7194
+ #
7195
+ # @!attribute [rw] if_match
7196
+ # The value of the `ETag` header that you received when retrieving the
7197
+ # profile identity to update. For example: `E2QWRUHAPOMQZL`.
7198
+ # @return [String]
7199
+ #
7200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateFieldLevelEncryptionProfileRequest AWS API Documentation
7201
+ #
7202
+ class UpdateFieldLevelEncryptionProfileRequest < Struct.new(
7203
+ :field_level_encryption_profile_config,
7204
+ :id,
7205
+ :if_match)
7206
+ include Aws::Structure
7207
+ end
7208
+
7209
+ # @!attribute [rw] field_level_encryption_profile
7210
+ # Return the results of updating the profile.
7211
+ # @return [Types::FieldLevelEncryptionProfile]
7212
+ #
7213
+ # @!attribute [rw] etag
7214
+ # The result of the field-level encryption profile request.
7215
+ # @return [String]
7216
+ #
7217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateFieldLevelEncryptionProfileResult AWS API Documentation
7218
+ #
7219
+ class UpdateFieldLevelEncryptionProfileResult < Struct.new(
7220
+ :field_level_encryption_profile,
7221
+ :etag)
7222
+ include Aws::Structure
7223
+ end
7224
+
7225
+ # @note When making an API call, you may pass UpdatePublicKeyRequest
7226
+ # data as a hash:
7227
+ #
7228
+ # {
7229
+ # public_key_config: { # required
7230
+ # caller_reference: "string", # required
7231
+ # name: "string", # required
7232
+ # encoded_key: "string", # required
7233
+ # comment: "string",
7234
+ # },
7235
+ # id: "string", # required
7236
+ # if_match: "string",
7237
+ # }
7238
+ #
7239
+ # @!attribute [rw] public_key_config
7240
+ # Request to update public key information.
7241
+ # @return [Types::PublicKeyConfig]
7242
+ #
7243
+ # @!attribute [rw] id
7244
+ # ID of the public key to be updated.
7245
+ # @return [String]
7246
+ #
7247
+ # @!attribute [rw] if_match
7248
+ # The value of the `ETag` header that you received when retrieving the
7249
+ # public key to update. For example: `E2QWRUHAPOMQZL`.
7250
+ # @return [String]
7251
+ #
7252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdatePublicKeyRequest AWS API Documentation
7253
+ #
7254
+ class UpdatePublicKeyRequest < Struct.new(
7255
+ :public_key_config,
7256
+ :id,
7257
+ :if_match)
7258
+ include Aws::Structure
7259
+ end
7260
+
7261
+ # @!attribute [rw] public_key
7262
+ # Return the results of updating the public key.
7263
+ # @return [Types::PublicKey]
7264
+ #
7265
+ # @!attribute [rw] etag
7266
+ # The current version of the update public key result. For example:
7267
+ # `E2QWRUHAPOMQZL`.
7268
+ # @return [String]
7269
+ #
7270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdatePublicKeyResult AWS API Documentation
7271
+ #
7272
+ class UpdatePublicKeyResult < Struct.new(
7273
+ :public_key,
7274
+ :etag)
7275
+ include Aws::Structure
7276
+ end
7277
+
5725
7278
  # The request to update a streaming distribution.
5726
7279
  #
5727
7280
  # @note When making an API call, you may pass UpdateStreamingDistributionRequest
@@ -5770,7 +7323,7 @@ module Aws::CloudFront
5770
7323
  # `E2QWRUHAPOMQZL`.
5771
7324
  # @return [String]
5772
7325
  #
5773
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/UpdateStreamingDistributionRequest AWS API Documentation
7326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateStreamingDistributionRequest AWS API Documentation
5774
7327
  #
5775
7328
  class UpdateStreamingDistributionRequest < Struct.new(
5776
7329
  :streaming_distribution_config,
@@ -5790,7 +7343,7 @@ module Aws::CloudFront
5790
7343
  # `E2QWRUHAPOMQZL`.
5791
7344
  # @return [String]
5792
7345
  #
5793
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/UpdateStreamingDistributionResult AWS API Documentation
7346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/UpdateStreamingDistributionResult AWS API Documentation
5794
7347
  #
5795
7348
  class UpdateStreamingDistributionResult < Struct.new(
5796
7349
  :streaming_distribution,
@@ -6028,7 +7581,7 @@ module Aws::CloudFront
6028
7581
  # * ViewerCertificate$CloudFrontDefaultCertificate
6029
7582
  # @return [String]
6030
7583
  #
6031
- # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-03-25/ViewerCertificate AWS API Documentation
7584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2017-10-30/ViewerCertificate AWS API Documentation
6032
7585
  #
6033
7586
  class ViewerCertificate < Struct.new(
6034
7587
  :cloud_front_default_certificate,