52 lines
1.7 KiB
TypeScript
52 lines
1.7 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { IPublicKeyRef, PublicKeyReference } from './cloudfront.generated';
|
|
import type { IResource } from '../../core';
|
|
import { Resource } from '../../core';
|
|
/**
|
|
* Represents a Public Key
|
|
*/
|
|
export interface IPublicKey extends IResource, IPublicKeyRef {
|
|
/**
|
|
* The ID of the key group.
|
|
* @attribute
|
|
*/
|
|
readonly publicKeyId: string;
|
|
}
|
|
/**
|
|
* Properties for creating a Public Key
|
|
*/
|
|
export interface PublicKeyProps {
|
|
/**
|
|
* A name to identify the public key.
|
|
* @default - generated from the `id`
|
|
*/
|
|
readonly publicKeyName?: string;
|
|
/**
|
|
* A comment to describe the public key.
|
|
* @default - no comment
|
|
*/
|
|
readonly comment?: string;
|
|
/**
|
|
* The public key that you can use with signed URLs and signed cookies, or with field-level encryption.
|
|
* The `encodedKey` parameter must include `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----` lines.
|
|
* @see https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
|
|
* @see https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html
|
|
*/
|
|
readonly encodedKey: string;
|
|
}
|
|
/**
|
|
* A Public Key Configuration
|
|
*
|
|
* @resource AWS::CloudFront::PublicKey
|
|
*/
|
|
export declare class PublicKey extends Resource implements IPublicKey {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
/** Imports a Public Key from its id. */
|
|
static fromPublicKeyId(scope: Construct, id: string, publicKeyId: string): IPublicKey;
|
|
readonly publicKeyId: string;
|
|
readonly publicKeyRef: PublicKeyReference;
|
|
constructor(scope: Construct, id: string, props: PublicKeyProps);
|
|
private generateName;
|
|
}
|