PublicKey
The PublicKey resource lets you manage AWS CloudFront PublicKeys for use in your CloudFront distributions, allowing you to serve content securely.
Minimal Example
Section titled “Minimal Example”Create a basic PublicKey with required properties and an optional property for adopting an existing resource.
import AWS from "alchemy/aws/control";
const myPublicKey = await AWS.CloudFront.PublicKey("myPublicKey", { PublicKeyConfig: { Name: "MyPublicKey", CallerReference: "unique-caller-reference", Comment: "Public key for secure content delivery" }, adopt: true // Optional: adopt existing resource if it already exists});
Advanced Configuration
Section titled “Advanced Configuration”Configure a PublicKey with additional settings, such as enabling comments for better resource management.
const advancedPublicKey = await AWS.CloudFront.PublicKey("advancedPublicKey", { PublicKeyConfig: { Name: "AdvancedPublicKey", CallerReference: "unique-caller-reference-advanced", Comment: "This is an advanced public key for enhanced security", Encoding: "PEM", PublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIG..." }});
Example with Key Rotation
Section titled “Example with Key Rotation”Create a PublicKey that can be used for key rotation with a defined maximum age.
const keyRotationPublicKey = await AWS.CloudFront.PublicKey("keyRotationPublicKey", { PublicKeyConfig: { Name: "KeyRotationPublicKey", CallerReference: "unique-caller-reference-key-rotation", Comment: "Public key with key rotation enabled", PublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIG...", MaxAge: 30 // Optional: maximum age in days for key rotation }});
Example with Multiple Keys
Section titled “Example with Multiple Keys”Manage multiple PublicKeys for different CloudFront distributions.
const primaryKey = await AWS.CloudFront.PublicKey("primaryKey", { PublicKeyConfig: { Name: "PrimaryPublicKey", CallerReference: "unique-caller-reference-primary", PublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIG...", Comment: "Primary public key for CDN" }});
const secondaryKey = await AWS.CloudFront.PublicKey("secondaryKey", { PublicKeyConfig: { Name: "SecondaryPublicKey", CallerReference: "unique-caller-reference-secondary", PublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIG...", Comment: "Secondary public key for CDN" }});