aws-sdk 2.774.0 → 2.778.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.
@@ -69,6 +69,14 @@ declare class CloudFront extends CloudFrontCustomizations {
69
69
  * Create a new invalidation.
70
70
  */
71
71
  createInvalidation(callback?: (err: AWSError, data: CloudFront.Types.CreateInvalidationResult) => void): Request<CloudFront.Types.CreateInvalidationResult, AWSError>;
72
+ /**
73
+ * Creates a key group that you can use with CloudFront signed URLs and signed cookies. To create a key group, you must specify at least one public key for the key group. After you create a key group, you can reference it from one or more cache behaviors. When you reference a key group in a cache behavior, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.
74
+ */
75
+ createKeyGroup(params: CloudFront.Types.CreateKeyGroupRequest, callback?: (err: AWSError, data: CloudFront.Types.CreateKeyGroupResult) => void): Request<CloudFront.Types.CreateKeyGroupResult, AWSError>;
76
+ /**
77
+ * Creates a key group that you can use with CloudFront signed URLs and signed cookies. To create a key group, you must specify at least one public key for the key group. After you create a key group, you can reference it from one or more cache behaviors. When you reference a key group in a cache behavior, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.
78
+ */
79
+ createKeyGroup(callback?: (err: AWSError, data: CloudFront.Types.CreateKeyGroupResult) => void): Request<CloudFront.Types.CreateKeyGroupResult, AWSError>;
72
80
  /**
73
81
  * Enables additional CloudWatch metrics for the specified CloudFront distribution. The additional metrics incur an additional cost. For more information, see Viewing additional CloudFront distribution metrics in the Amazon CloudFront Developer Guide.
74
82
  */
@@ -86,11 +94,11 @@ declare class CloudFront extends CloudFrontCustomizations {
86
94
  */
87
95
  createOriginRequestPolicy(callback?: (err: AWSError, data: CloudFront.Types.CreateOriginRequestPolicyResult) => void): Request<CloudFront.Types.CreateOriginRequestPolicyResult, AWSError>;
88
96
  /**
89
- * Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.
97
+ * Uploads a public key to CloudFront that you can use with signed URLs and signed cookies, or with field-level encryption.
90
98
  */
91
99
  createPublicKey(params: CloudFront.Types.CreatePublicKeyRequest, callback?: (err: AWSError, data: CloudFront.Types.CreatePublicKeyResult) => void): Request<CloudFront.Types.CreatePublicKeyResult, AWSError>;
92
100
  /**
93
- * Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.
101
+ * Uploads a public key to CloudFront that you can use with signed URLs and signed cookies, or with field-level encryption.
94
102
  */
95
103
  createPublicKey(callback?: (err: AWSError, data: CloudFront.Types.CreatePublicKeyResult) => void): Request<CloudFront.Types.CreatePublicKeyResult, AWSError>;
96
104
  /**
@@ -157,6 +165,14 @@ declare class CloudFront extends CloudFrontCustomizations {
157
165
  * Remove a field-level encryption profile.
158
166
  */
159
167
  deleteFieldLevelEncryptionProfile(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
168
+ /**
169
+ * Deletes a key group. You cannot delete a key group that is referenced in a cache behavior. First update your distributions to remove the key group from all cache behaviors, then delete the key group. To delete a key group, you must provide the key group’s identifier and version. To get these values, use ListKeyGroups followed by GetKeyGroup or GetKeyGroupConfig.
170
+ */
171
+ deleteKeyGroup(params: CloudFront.Types.DeleteKeyGroupRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
172
+ /**
173
+ * Deletes a key group. You cannot delete a key group that is referenced in a cache behavior. First update your distributions to remove the key group from all cache behaviors, then delete the key group. To delete a key group, you must provide the key group’s identifier and version. To get these values, use ListKeyGroups followed by GetKeyGroup or GetKeyGroupConfig.
174
+ */
175
+ deleteKeyGroup(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
160
176
  /**
161
177
  * Disables additional CloudWatch metrics for the specified CloudFront distribution.
162
178
  */
@@ -285,6 +301,22 @@ declare class CloudFront extends CloudFrontCustomizations {
285
301
  * Get the information about an invalidation.
286
302
  */
287
303
  getInvalidation(callback?: (err: AWSError, data: CloudFront.Types.GetInvalidationResult) => void): Request<CloudFront.Types.GetInvalidationResult, AWSError>;
304
+ /**
305
+ * Gets a key group, including the date and time when the key group was last modified. To get a key group, you must provide the key group’s identifier. If the key group is referenced in a distribution’s cache behavior, you can get the key group’s identifier using ListDistributions or GetDistribution. If the key group is not referenced in a cache behavior, you can get the identifier using ListKeyGroups.
306
+ */
307
+ getKeyGroup(params: CloudFront.Types.GetKeyGroupRequest, callback?: (err: AWSError, data: CloudFront.Types.GetKeyGroupResult) => void): Request<CloudFront.Types.GetKeyGroupResult, AWSError>;
308
+ /**
309
+ * Gets a key group, including the date and time when the key group was last modified. To get a key group, you must provide the key group’s identifier. If the key group is referenced in a distribution’s cache behavior, you can get the key group’s identifier using ListDistributions or GetDistribution. If the key group is not referenced in a cache behavior, you can get the identifier using ListKeyGroups.
310
+ */
311
+ getKeyGroup(callback?: (err: AWSError, data: CloudFront.Types.GetKeyGroupResult) => void): Request<CloudFront.Types.GetKeyGroupResult, AWSError>;
312
+ /**
313
+ * Gets a key group configuration. To get a key group configuration, you must provide the key group’s identifier. If the key group is referenced in a distribution’s cache behavior, you can get the key group’s identifier using ListDistributions or GetDistribution. If the key group is not referenced in a cache behavior, you can get the identifier using ListKeyGroups.
314
+ */
315
+ getKeyGroupConfig(params: CloudFront.Types.GetKeyGroupConfigRequest, callback?: (err: AWSError, data: CloudFront.Types.GetKeyGroupConfigResult) => void): Request<CloudFront.Types.GetKeyGroupConfigResult, AWSError>;
316
+ /**
317
+ * Gets a key group configuration. To get a key group configuration, you must provide the key group’s identifier. If the key group is referenced in a distribution’s cache behavior, you can get the key group’s identifier using ListDistributions or GetDistribution. If the key group is not referenced in a cache behavior, you can get the identifier using ListKeyGroups.
318
+ */
319
+ getKeyGroupConfig(callback?: (err: AWSError, data: CloudFront.Types.GetKeyGroupConfigResult) => void): Request<CloudFront.Types.GetKeyGroupConfigResult, AWSError>;
288
320
  /**
289
321
  * Gets information about whether additional CloudWatch metrics are enabled for the specified CloudFront distribution.
290
322
  */
@@ -310,19 +342,19 @@ declare class CloudFront extends CloudFrontCustomizations {
310
342
  */
311
343
  getOriginRequestPolicyConfig(callback?: (err: AWSError, data: CloudFront.Types.GetOriginRequestPolicyConfigResult) => void): Request<CloudFront.Types.GetOriginRequestPolicyConfigResult, AWSError>;
312
344
  /**
313
- * Get the public key information.
345
+ * Gets a public key.
314
346
  */
315
347
  getPublicKey(params: CloudFront.Types.GetPublicKeyRequest, callback?: (err: AWSError, data: CloudFront.Types.GetPublicKeyResult) => void): Request<CloudFront.Types.GetPublicKeyResult, AWSError>;
316
348
  /**
317
- * Get the public key information.
349
+ * Gets a public key.
318
350
  */
319
351
  getPublicKey(callback?: (err: AWSError, data: CloudFront.Types.GetPublicKeyResult) => void): Request<CloudFront.Types.GetPublicKeyResult, AWSError>;
320
352
  /**
321
- * Return public key configuration informaation
353
+ * Gets a public key configuration.
322
354
  */
323
355
  getPublicKeyConfig(params: CloudFront.Types.GetPublicKeyConfigRequest, callback?: (err: AWSError, data: CloudFront.Types.GetPublicKeyConfigResult) => void): Request<CloudFront.Types.GetPublicKeyConfigResult, AWSError>;
324
356
  /**
325
- * Return public key configuration informaation
357
+ * Gets a public key configuration.
326
358
  */
327
359
  getPublicKeyConfig(callback?: (err: AWSError, data: CloudFront.Types.GetPublicKeyConfigResult) => void): Request<CloudFront.Types.GetPublicKeyConfigResult, AWSError>;
328
360
  /**
@@ -381,6 +413,14 @@ declare class CloudFront extends CloudFrontCustomizations {
381
413
  * Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the specified cache policy. You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.
382
414
  */
383
415
  listDistributionsByCachePolicyId(callback?: (err: AWSError, data: CloudFront.Types.ListDistributionsByCachePolicyIdResult) => void): Request<CloudFront.Types.ListDistributionsByCachePolicyIdResult, AWSError>;
416
+ /**
417
+ * Gets a list of distribution IDs for distributions that have a cache behavior that references the specified key group. You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.
418
+ */
419
+ listDistributionsByKeyGroup(params: CloudFront.Types.ListDistributionsByKeyGroupRequest, callback?: (err: AWSError, data: CloudFront.Types.ListDistributionsByKeyGroupResult) => void): Request<CloudFront.Types.ListDistributionsByKeyGroupResult, AWSError>;
420
+ /**
421
+ * Gets a list of distribution IDs for distributions that have a cache behavior that references the specified key group. You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.
422
+ */
423
+ listDistributionsByKeyGroup(callback?: (err: AWSError, data: CloudFront.Types.ListDistributionsByKeyGroupResult) => void): Request<CloudFront.Types.ListDistributionsByKeyGroupResult, AWSError>;
384
424
  /**
385
425
  * Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the specified origin request policy. You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.
386
426
  */
@@ -429,6 +469,14 @@ declare class CloudFront extends CloudFrontCustomizations {
429
469
  * Lists invalidation batches.
430
470
  */
431
471
  listInvalidations(callback?: (err: AWSError, data: CloudFront.Types.ListInvalidationsResult) => void): Request<CloudFront.Types.ListInvalidationsResult, AWSError>;
472
+ /**
473
+ * Gets a list of key groups. You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.
474
+ */
475
+ listKeyGroups(params: CloudFront.Types.ListKeyGroupsRequest, callback?: (err: AWSError, data: CloudFront.Types.ListKeyGroupsResult) => void): Request<CloudFront.Types.ListKeyGroupsResult, AWSError>;
476
+ /**
477
+ * Gets a list of key groups. You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.
478
+ */
479
+ listKeyGroups(callback?: (err: AWSError, data: CloudFront.Types.ListKeyGroupsResult) => void): Request<CloudFront.Types.ListKeyGroupsResult, AWSError>;
432
480
  /**
433
481
  * Gets a list of origin request policies. You can optionally apply a filter to return only the managed policies created by AWS, or only the custom policies created in your AWS account. You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.
434
482
  */
@@ -525,6 +573,14 @@ declare class CloudFront extends CloudFrontCustomizations {
525
573
  * Update a field-level encryption profile.
526
574
  */
527
575
  updateFieldLevelEncryptionProfile(callback?: (err: AWSError, data: CloudFront.Types.UpdateFieldLevelEncryptionProfileResult) => void): Request<CloudFront.Types.UpdateFieldLevelEncryptionProfileResult, AWSError>;
576
+ /**
577
+ * Updates a key group. When you update a key group, all the fields are updated with the values provided in the request. You cannot update some fields independent of others. To update a key group: Get the current key group with GetKeyGroup or GetKeyGroupConfig. Locally modify the fields in the key group that you want to update. For example, add or remove public key IDs. Call UpdateKeyGroup with the entire key group object, including the fields that you modified and those that you didn’t.
578
+ */
579
+ updateKeyGroup(params: CloudFront.Types.UpdateKeyGroupRequest, callback?: (err: AWSError, data: CloudFront.Types.UpdateKeyGroupResult) => void): Request<CloudFront.Types.UpdateKeyGroupResult, AWSError>;
580
+ /**
581
+ * Updates a key group. When you update a key group, all the fields are updated with the values provided in the request. You cannot update some fields independent of others. To update a key group: Get the current key group with GetKeyGroup or GetKeyGroupConfig. Locally modify the fields in the key group that you want to update. For example, add or remove public key IDs. Call UpdateKeyGroup with the entire key group object, including the fields that you modified and those that you didn’t.
582
+ */
583
+ updateKeyGroup(callback?: (err: AWSError, data: CloudFront.Types.UpdateKeyGroupResult) => void): Request<CloudFront.Types.UpdateKeyGroupResult, AWSError>;
528
584
  /**
529
585
  * Updates an origin request policy configuration. When you update an origin request policy configuration, all the fields are updated with the values provided in the request. You cannot update some fields independent of others. To update an origin request policy configuration: Use GetOriginRequestPolicyConfig to get the current configuration. Locally modify the fields in the origin request policy configuration that you want to update. Call UpdateOriginRequestPolicy by providing the entire origin request policy configuration, including the fields that you modified and those that you didn’t.
530
586
  */
@@ -586,17 +642,31 @@ declare namespace CloudFront {
586
642
  export import Signer = signer;
587
643
  }
588
644
  declare namespace CloudFront {
645
+ export interface ActiveTrustedKeyGroups {
646
+ /**
647
+ * This field is true if any of the key groups have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies. If not, this field is false.
648
+ */
649
+ Enabled: boolean;
650
+ /**
651
+ * The number of key groups in the list.
652
+ */
653
+ Quantity: integer;
654
+ /**
655
+ * A list of key groups, including the identifiers of the public keys in each key group that CloudFront can use to verify the signatures of signed URLs and signed cookies.
656
+ */
657
+ Items?: KGKeyPairIdsList;
658
+ }
589
659
  export interface ActiveTrustedSigners {
590
660
  /**
591
- * Enabled is true if any of the AWS accounts listed in the TrustedSigners complex type for this distribution have active CloudFront key pairs. If not, Enabled is false.
661
+ * This field is true if any of the AWS accounts in the list have active CloudFront key pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies. If not, this field is false.
592
662
  */
593
663
  Enabled: boolean;
594
664
  /**
595
- * The number of trusted signers specified in the TrustedSigners complex type.
665
+ * The number of AWS accounts in the list.
596
666
  */
597
667
  Quantity: integer;
598
668
  /**
599
- * A complex type that contains one Signer complex type for each trusted signer that is specified in the TrustedSigners complex type.
669
+ * A list of AWS accounts and the identifiers of active CloudFront key pairs in each account that CloudFront can use to verify the signatures of signed URLs and signed cookies.
600
670
  */
601
671
  Items?: SignerList;
602
672
  }
@@ -644,9 +714,13 @@ declare namespace CloudFront {
644
714
  */
645
715
  TargetOriginId: string;
646
716
  /**
647
- * A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content with Signed URLs and Signed Cookies in the Amazon CloudFront Developer Guide. If you don’t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it’s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.
717
+ * We recommend using TrustedKeyGroups instead of TrustedSigners. A list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer’s AWS account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.
648
718
  */
649
- TrustedSigners: TrustedSigners;
719
+ TrustedSigners?: TrustedSigners;
720
+ /**
721
+ * A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.
722
+ */
723
+ TrustedKeyGroups?: TrustedKeyGroups;
650
724
  /**
651
725
  * The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options: allow-all: Viewers can use HTTP or HTTPS. redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL. https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden). For more information about requiring the HTTPS protocol, see Requiring HTTPS Between Viewers and CloudFront in the Amazon CloudFront Developer Guide. The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects’ cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Managing Cache Expiration in the Amazon CloudFront Developer Guide.
652
726
  */
@@ -1078,6 +1152,26 @@ declare namespace CloudFront {
1078
1152
  */
1079
1153
  Invalidation?: Invalidation;
1080
1154
  }
1155
+ export interface CreateKeyGroupRequest {
1156
+ /**
1157
+ * A key group configuration.
1158
+ */
1159
+ KeyGroupConfig: KeyGroupConfig;
1160
+ }
1161
+ export interface CreateKeyGroupResult {
1162
+ /**
1163
+ * The key group that was just created.
1164
+ */
1165
+ KeyGroup?: KeyGroup;
1166
+ /**
1167
+ * The URL of the key group.
1168
+ */
1169
+ Location?: string;
1170
+ /**
1171
+ * The identifier for this version of the key group.
1172
+ */
1173
+ ETag?: string;
1174
+ }
1081
1175
  export interface CreateMonitoringSubscriptionRequest {
1082
1176
  /**
1083
1177
  * The ID of the distribution that you are enabling metrics for.
@@ -1116,21 +1210,21 @@ declare namespace CloudFront {
1116
1210
  }
1117
1211
  export interface CreatePublicKeyRequest {
1118
1212
  /**
1119
- * The request to add a public key to CloudFront.
1213
+ * A CloudFront public key configuration.
1120
1214
  */
1121
1215
  PublicKeyConfig: PublicKeyConfig;
1122
1216
  }
1123
1217
  export interface CreatePublicKeyResult {
1124
1218
  /**
1125
- * Returned when you add a public key.
1219
+ * The public key.
1126
1220
  */
1127
1221
  PublicKey?: PublicKey;
1128
1222
  /**
1129
- * The fully qualified URI of the new public key resource just created.
1223
+ * The URL of the public key.
1130
1224
  */
1131
1225
  Location?: string;
1132
1226
  /**
1133
- * The current version of the public key. For example: E2QWRUHAPOMQZL.
1227
+ * The identifier for this version of the public key.
1134
1228
  */
1135
1229
  ETag?: string;
1136
1230
  }
@@ -1269,9 +1363,13 @@ declare namespace CloudFront {
1269
1363
  */
1270
1364
  TargetOriginId: string;
1271
1365
  /**
1272
- * A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content with Signed URLs and Signed Cookies in the Amazon CloudFront Developer Guide. If you dont want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it’s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.
1366
+ * We recommend using TrustedKeyGroups instead of TrustedSigners. A list of AWS account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in a trusted signers AWS account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.
1273
1367
  */
1274
- TrustedSigners: TrustedSigners;
1368
+ TrustedSigners?: TrustedSigners;
1369
+ /**
1370
+ * A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.
1371
+ */
1372
+ TrustedKeyGroups?: TrustedKeyGroups;
1275
1373
  /**
1276
1374
  * The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options: allow-all: Viewers can use HTTP or HTTPS. redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL. https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden). For more information about requiring the HTTPS protocol, see Requiring HTTPS Between Viewers and CloudFront in the Amazon CloudFront Developer Guide. The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects’ cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Managing Cache Expiration in the Amazon CloudFront Developer Guide.
1277
1375
  */
@@ -1372,6 +1470,16 @@ declare namespace CloudFront {
1372
1470
  */
1373
1471
  IfMatch?: string;
1374
1472
  }
1473
+ export interface DeleteKeyGroupRequest {
1474
+ /**
1475
+ * The identifier of the key group that you are deleting. To get the identifier, use ListKeyGroups.
1476
+ */
1477
+ Id: string;
1478
+ /**
1479
+ * The version of the key group that you are deleting. The version is the key group’s ETag value. To get the ETag, use GetKeyGroup or GetKeyGroupConfig.
1480
+ */
1481
+ IfMatch?: string;
1482
+ }
1375
1483
  export interface DeleteMonitoringSubscriptionRequest {
1376
1484
  /**
1377
1485
  * The ID of the distribution that you are disabling metrics for.
@@ -1446,9 +1554,13 @@ declare namespace CloudFront {
1446
1554
  */
1447
1555
  DomainName: string;
1448
1556
  /**
1449
- * CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.
1557
+ * We recommend using TrustedKeyGroups instead of TrustedSigners. CloudFront automatically adds this field to the response if youve configured a cache behavior in this distribution to serve private content using trusted signers. This field contains a list of AWS account IDs and the active CloudFront key pairs in each account that CloudFront can use to verify the signatures of signed URLs or signed cookies.
1450
1558
  */
1451
- ActiveTrustedSigners: ActiveTrustedSigners;
1559
+ ActiveTrustedSigners?: ActiveTrustedSigners;
1560
+ /**
1561
+ * CloudFront automatically adds this field to the response if you’ve configured a cache behavior in this distribution to serve private content using key groups. This field contains a list of key groups and the public keys in each key group that CloudFront can use to verify the signatures of signed URLs or signed cookies.
1562
+ */
1563
+ ActiveTrustedKeyGroups?: ActiveTrustedKeyGroups;
1452
1564
  /**
1453
1565
  * The current configuration information for the distribution. Send a GET request to the /CloudFront API version/distribution ID/config resource.
1454
1566
  */
@@ -2079,6 +2191,38 @@ declare namespace CloudFront {
2079
2191
  */
2080
2192
  Invalidation?: Invalidation;
2081
2193
  }
2194
+ export interface GetKeyGroupConfigRequest {
2195
+ /**
2196
+ * The identifier of the key group whose configuration you are getting. To get the identifier, use ListKeyGroups.
2197
+ */
2198
+ Id: string;
2199
+ }
2200
+ export interface GetKeyGroupConfigResult {
2201
+ /**
2202
+ * The key group configuration.
2203
+ */
2204
+ KeyGroupConfig?: KeyGroupConfig;
2205
+ /**
2206
+ * The identifier for this version of the key group.
2207
+ */
2208
+ ETag?: string;
2209
+ }
2210
+ export interface GetKeyGroupRequest {
2211
+ /**
2212
+ * The identifier of the key group that you are getting. To get the identifier, use ListKeyGroups.
2213
+ */
2214
+ Id: string;
2215
+ }
2216
+ export interface GetKeyGroupResult {
2217
+ /**
2218
+ * The key group.
2219
+ */
2220
+ KeyGroup?: KeyGroup;
2221
+ /**
2222
+ * The identifier for this version of the key group.
2223
+ */
2224
+ ETag?: string;
2225
+ }
2082
2226
  export interface GetMonitoringSubscriptionRequest {
2083
2227
  /**
2084
2228
  * The ID of the distribution that you are getting metrics information for.
@@ -2125,33 +2269,33 @@ declare namespace CloudFront {
2125
2269
  }
2126
2270
  export interface GetPublicKeyConfigRequest {
2127
2271
  /**
2128
- * Request the ID for the public key configuration.
2272
+ * The identifier of the public key whose configuration you are getting.
2129
2273
  */
2130
2274
  Id: string;
2131
2275
  }
2132
2276
  export interface GetPublicKeyConfigResult {
2133
2277
  /**
2134
- * Return the result for the public key configuration.
2278
+ * A public key configuration.
2135
2279
  */
2136
2280
  PublicKeyConfig?: PublicKeyConfig;
2137
2281
  /**
2138
- * The current version of the public key configuration. For example: E2QWRUHAPOMQZL.
2282
+ * The identifier for this version of the public key configuration.
2139
2283
  */
2140
2284
  ETag?: string;
2141
2285
  }
2142
2286
  export interface GetPublicKeyRequest {
2143
2287
  /**
2144
- * Request the ID for the public key.
2288
+ * The identifier of the public key you are getting.
2145
2289
  */
2146
2290
  Id: string;
2147
2291
  }
2148
2292
  export interface GetPublicKeyResult {
2149
2293
  /**
2150
- * Return the public key.
2294
+ * The public key.
2151
2295
  */
2152
2296
  PublicKey?: PublicKey;
2153
2297
  /**
2154
- * The current version of the public key. For example: E2QWRUHAPOMQZL.
2298
+ * The identifier for this version of the public key.
2155
2299
  */
2156
2300
  ETag?: string;
2157
2301
  }
@@ -2286,14 +2430,75 @@ declare namespace CloudFront {
2286
2430
  }
2287
2431
  export type InvalidationSummaryList = InvalidationSummary[];
2288
2432
  export type ItemSelection = "none"|"whitelist"|"all"|string;
2433
+ export interface KGKeyPairIds {
2434
+ /**
2435
+ * The identifier of the key group that contains the public keys.
2436
+ */
2437
+ KeyGroupId?: string;
2438
+ KeyPairIds?: KeyPairIds;
2439
+ }
2440
+ export type KGKeyPairIdsList = KGKeyPairIds[];
2441
+ export interface KeyGroup {
2442
+ /**
2443
+ * The identifier for the key group.
2444
+ */
2445
+ Id: string;
2446
+ /**
2447
+ * The date and time when the key group was last modified.
2448
+ */
2449
+ LastModifiedTime: timestamp;
2450
+ /**
2451
+ * The key group configuration.
2452
+ */
2453
+ KeyGroupConfig: KeyGroupConfig;
2454
+ }
2455
+ export interface KeyGroupConfig {
2456
+ /**
2457
+ * A name to identify the key group.
2458
+ */
2459
+ Name: string;
2460
+ /**
2461
+ * A list of the identifiers of the public keys in the key group.
2462
+ */
2463
+ Items: PublicKeyIdList;
2464
+ /**
2465
+ * A comment to describe the key group.
2466
+ */
2467
+ Comment?: string;
2468
+ }
2469
+ export interface KeyGroupList {
2470
+ /**
2471
+ * If there are more items in the list than are in this response, this element is present. It contains the value that you should use in the Marker field of a subsequent request to continue listing key groups.
2472
+ */
2473
+ NextMarker?: string;
2474
+ /**
2475
+ * The maximum number of key groups requested.
2476
+ */
2477
+ MaxItems: integer;
2478
+ /**
2479
+ * The number of key groups returned in the response.
2480
+ */
2481
+ Quantity: integer;
2482
+ /**
2483
+ * A list of key groups.
2484
+ */
2485
+ Items?: KeyGroupSummaryList;
2486
+ }
2487
+ export interface KeyGroupSummary {
2488
+ /**
2489
+ * A key group.
2490
+ */
2491
+ KeyGroup: KeyGroup;
2492
+ }
2493
+ export type KeyGroupSummaryList = KeyGroupSummary[];
2289
2494
  export type KeyPairIdList = string[];
2290
2495
  export interface KeyPairIds {
2291
2496
  /**
2292
- * The number of active CloudFront key pairs for AwsAccountNumber. For more information, see ActiveTrustedSigners.
2497
+ * The number of key pair identifiers in the list.
2293
2498
  */
2294
2499
  Quantity: integer;
2295
2500
  /**
2296
- * A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber. For more information, see ActiveTrustedSigners.
2501
+ * A list of CloudFront key pair identifiers.
2297
2502
  */
2298
2503
  Items?: KeyPairIdList;
2299
2504
  }
@@ -2389,6 +2594,23 @@ declare namespace CloudFront {
2389
2594
  */
2390
2595
  DistributionIdList?: DistributionIdList;
2391
2596
  }
2597
+ export interface ListDistributionsByKeyGroupRequest {
2598
+ /**
2599
+ * Use this field when paginating results to indicate where to begin in your list of distribution IDs. The response includes distribution IDs in the list that occur after the marker. To get the next page of the list, set this field’s value to the value of NextMarker from the current page’s response.
2600
+ */
2601
+ Marker?: string;
2602
+ /**
2603
+ * The maximum number of distribution IDs that you want in the response.
2604
+ */
2605
+ MaxItems?: string;
2606
+ /**
2607
+ * The ID of the key group whose associated distribution IDs you are listing.
2608
+ */
2609
+ KeyGroupId: string;
2610
+ }
2611
+ export interface ListDistributionsByKeyGroupResult {
2612
+ DistributionIdList?: DistributionIdList;
2613
+ }
2392
2614
  export interface ListDistributionsByOriginRequestPolicyIdRequest {
2393
2615
  /**
2394
2616
  * Use this field when paginating results to indicate where to begin in your list of distribution IDs. The response includes distribution IDs in the list that occur after the marker. To get the next page of the list, set this field’s value to the value of NextMarker from the current page’s response.
@@ -2518,6 +2740,22 @@ declare namespace CloudFront {
2518
2740
  */
2519
2741
  InvalidationList?: InvalidationList;
2520
2742
  }
2743
+ export interface ListKeyGroupsRequest {
2744
+ /**
2745
+ * Use this field when paginating results to indicate where to begin in your list of key groups. The response includes key groups in the list that occur after the marker. To get the next page of the list, set this field’s value to the value of NextMarker from the current page’s response.
2746
+ */
2747
+ Marker?: string;
2748
+ /**
2749
+ * The maximum number of key groups that you want in the response.
2750
+ */
2751
+ MaxItems?: string;
2752
+ }
2753
+ export interface ListKeyGroupsResult {
2754
+ /**
2755
+ * A list of key groups.
2756
+ */
2757
+ KeyGroupList?: KeyGroupList;
2758
+ }
2521
2759
  export interface ListOriginRequestPoliciesRequest {
2522
2760
  /**
2523
2761
  * A filter to return only the specified kinds of origin request policies. Valid values are: managed – Returns only the managed policies created by AWS. custom – Returns only the custom policies created in your AWS account.
@@ -2885,73 +3123,74 @@ declare namespace CloudFront {
2885
3123
  export type PriceClass = "PriceClass_100"|"PriceClass_200"|"PriceClass_All"|string;
2886
3124
  export interface PublicKey {
2887
3125
  /**
2888
- * A unique ID assigned to a public key you've added to CloudFront.
3126
+ * The identifier of the public key.
2889
3127
  */
2890
3128
  Id: string;
2891
3129
  /**
2892
- * A time you added a public key to CloudFront.
3130
+ * The date and time when the public key was uploaded.
2893
3131
  */
2894
3132
  CreatedTime: timestamp;
2895
3133
  /**
2896
- * A complex data type for a public key you add to CloudFront to use with features like field-level encryption.
3134
+ * Configuration information about a public key that you can use with signed URLs and signed cookies, or with field-level encryption.
2897
3135
  */
2898
3136
  PublicKeyConfig: PublicKeyConfig;
2899
3137
  }
2900
3138
  export interface PublicKeyConfig {
2901
3139
  /**
2902
- * A unique number that ensures that the request can't be replayed.
3140
+ * A string included in the request to help make sure that the request cant be replayed.
2903
3141
  */
2904
3142
  CallerReference: string;
2905
3143
  /**
2906
- * The name for a public key you add to CloudFront to use with features like field-level encryption.
3144
+ * A name to help identify the public key.
2907
3145
  */
2908
3146
  Name: string;
2909
3147
  /**
2910
- * The encoded public key that you want to add to CloudFront to use with features like field-level encryption.
3148
+ * The public key that you can use with signed URLs and signed cookies, or with field-level encryption.
2911
3149
  */
2912
3150
  EncodedKey: string;
2913
3151
  /**
2914
- * An optional comment about a public key.
3152
+ * A comment to describe the public key.
2915
3153
  */
2916
3154
  Comment?: string;
2917
3155
  }
3156
+ export type PublicKeyIdList = string[];
2918
3157
  export interface PublicKeyList {
2919
3158
  /**
2920
3159
  * If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your public keys where you left off.
2921
3160
  */
2922
3161
  NextMarker?: string;
2923
3162
  /**
2924
- * The maximum number of public keys you want in the response body.
3163
+ * The maximum number of public keys you want in the response.
2925
3164
  */
2926
3165
  MaxItems: integer;
2927
3166
  /**
2928
- * The number of public keys you added to CloudFront to use with features like field-level encryption.
3167
+ * The number of public keys in the list.
2929
3168
  */
2930
3169
  Quantity: integer;
2931
3170
  /**
2932
- * An array of information about a public key you add to CloudFront to use with features like field-level encryption.
3171
+ * A list of public keys.
2933
3172
  */
2934
3173
  Items?: PublicKeySummaryList;
2935
3174
  }
2936
3175
  export interface PublicKeySummary {
2937
3176
  /**
2938
- * ID for public key information summary.
3177
+ * The identifier of the public key.
2939
3178
  */
2940
3179
  Id: string;
2941
3180
  /**
2942
- * Name for public key information summary.
3181
+ * A name to help identify the public key.
2943
3182
  */
2944
3183
  Name: string;
2945
3184
  /**
2946
- * Creation time for public key information summary.
3185
+ * The date and time when the public key was uploaded.
2947
3186
  */
2948
3187
  CreatedTime: timestamp;
2949
3188
  /**
2950
- * Encoded key for public key information summary.
3189
+ * The public key.
2951
3190
  */
2952
3191
  EncodedKey: string;
2953
3192
  /**
2954
- * Comment for public key information summary.
3193
+ * A comment to describe the public key.
2955
3194
  */
2956
3195
  Comment?: string;
2957
3196
  }
@@ -3087,11 +3326,11 @@ declare namespace CloudFront {
3087
3326
  export type SSLSupportMethod = "sni-only"|"vip"|"static-ip"|string;
3088
3327
  export interface _Signer {
3089
3328
  /**
3090
- * An AWS account that is included in the TrustedSigners complex type for this distribution. Valid values include: self, which is the AWS account used to create the distribution. An AWS account number.
3329
+ * An AWS account number that contains active CloudFront key pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies. If the AWS account that owns the key pairs is the same account that owns the CloudFront distribution, the value of this field is self.
3091
3330
  */
3092
3331
  AwsAccountNumber?: string;
3093
3332
  /**
3094
- * A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.
3333
+ * A list of CloudFront key pair identifiers.
3095
3334
  */
3096
3335
  KeyPairIds?: KeyPairIds;
3097
3336
  }
@@ -3306,17 +3545,32 @@ declare namespace CloudFront {
3306
3545
  */
3307
3546
  Items?: TagList;
3308
3547
  }
3548
+ export type TrustedKeyGroupIdList = string[];
3549
+ export interface TrustedKeyGroups {
3550
+ /**
3551
+ * This field is true if any of the key groups in the list have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies. If not, this field is false.
3552
+ */
3553
+ Enabled: boolean;
3554
+ /**
3555
+ * The number of key groups in the list.
3556
+ */
3557
+ Quantity: integer;
3558
+ /**
3559
+ * A list of key groups identifiers.
3560
+ */
3561
+ Items?: TrustedKeyGroupIdList;
3562
+ }
3309
3563
  export interface TrustedSigners {
3310
3564
  /**
3311
- * Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.
3565
+ * This field is true if any of the AWS accounts have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies. If not, this field is false.
3312
3566
  */
3313
3567
  Enabled: boolean;
3314
3568
  /**
3315
- * The number of trusted signers for this cache behavior.
3569
+ * The number of AWS accounts in the list.
3316
3570
  */
3317
3571
  Quantity: integer;
3318
3572
  /**
3319
- * Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.
3573
+ * A list of AWS account identifiers.
3320
3574
  */
3321
3575
  Items?: AwsAccountNumberList;
3322
3576
  }
@@ -3450,6 +3704,30 @@ declare namespace CloudFront {
3450
3704
  */
3451
3705
  ETag?: string;
3452
3706
  }
3707
+ export interface UpdateKeyGroupRequest {
3708
+ /**
3709
+ * The key group configuration.
3710
+ */
3711
+ KeyGroupConfig: KeyGroupConfig;
3712
+ /**
3713
+ * The identifier of the key group that you are updating.
3714
+ */
3715
+ Id: string;
3716
+ /**
3717
+ * The version of the key group that you are updating. The version is the key group’s ETag value.
3718
+ */
3719
+ IfMatch?: string;
3720
+ }
3721
+ export interface UpdateKeyGroupResult {
3722
+ /**
3723
+ * The key group that was just updated.
3724
+ */
3725
+ KeyGroup?: KeyGroup;
3726
+ /**
3727
+ * The identifier for this version of the key group.
3728
+ */
3729
+ ETag?: string;
3730
+ }
3453
3731
  export interface UpdateOriginRequestPolicyRequest {
3454
3732
  /**
3455
3733
  * An origin request policy configuration.
@@ -3476,11 +3754,11 @@ declare namespace CloudFront {
3476
3754
  }
3477
3755
  export interface UpdatePublicKeyRequest {
3478
3756
  /**
3479
- * Request to update public key information.
3757
+ * A public key configuration.
3480
3758
  */
3481
3759
  PublicKeyConfig: PublicKeyConfig;
3482
3760
  /**
3483
- * ID of the public key to be updated.
3761
+ * The identifier of the public key that you are updating.
3484
3762
  */
3485
3763
  Id: string;
3486
3764
  /**
@@ -3490,11 +3768,11 @@ declare namespace CloudFront {
3490
3768
  }
3491
3769
  export interface UpdatePublicKeyResult {
3492
3770
  /**
3493
- * Return the results of updating the public key.
3771
+ * The public key.
3494
3772
  */
3495
3773
  PublicKey?: PublicKey;
3496
3774
  /**
3497
- * The current version of the update public key result. For example: E2QWRUHAPOMQZL.
3775
+ * The identifier of the current version of the public key.
3498
3776
  */
3499
3777
  ETag?: string;
3500
3778
  }