158 lines
4.6 KiB
TypeScript
158 lines
4.6 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { IKeyValueStoreRef, KeyValueStoreReference } from './cloudfront.generated';
|
|
import { CfnKeyValueStore } from './cloudfront.generated';
|
|
import type * as s3 from '../../aws-s3';
|
|
import * as s3_assets from '../../aws-s3-assets';
|
|
import type { IResource } from '../../core';
|
|
import { Resource } from '../../core';
|
|
/**
|
|
* The data to be imported to the key value store.
|
|
*/
|
|
export declare abstract class ImportSource {
|
|
/**
|
|
* An import source that exists as an object in an S3 bucket.
|
|
*
|
|
* @param bucket the S3 bucket that contains the data
|
|
* @param key the key within the S3 bucket that contains the data
|
|
*/
|
|
static fromBucket(bucket: s3.IBucket, key: string): ImportSource;
|
|
/**
|
|
* An import source that exists as a local file.
|
|
*
|
|
* @param path the path to the local file
|
|
* @param options the configuration for the temporarily created S3 file
|
|
*/
|
|
static fromAsset(path: string, options?: s3_assets.AssetOptions): ImportSource;
|
|
/**
|
|
* An import source that uses an inline string.
|
|
*
|
|
* @param data the contents of the KeyValueStore
|
|
*/
|
|
static fromInline(data: string): ImportSource;
|
|
/**
|
|
* Called when the key value store is initialized to allow the import source to
|
|
* be bound to the stack.
|
|
*
|
|
* The method is primarily intended for internal use.
|
|
*
|
|
* @param scope the binding scope
|
|
* @internal
|
|
*/
|
|
abstract _bind(scope: Construct): CfnKeyValueStore.ImportSourceProperty;
|
|
}
|
|
/**
|
|
* An import source from an S3 object.
|
|
*/
|
|
export declare class S3ImportSource extends ImportSource {
|
|
readonly bucket: s3.IBucket;
|
|
readonly key: string;
|
|
/**
|
|
* @param bucket the S3 bucket that contains the data
|
|
* @param key the key within the S3 bucket that contains the data
|
|
*/
|
|
constructor(bucket: s3.IBucket, key: string);
|
|
/**
|
|
* @internal
|
|
*/
|
|
_bind(_scope: Construct): CfnKeyValueStore.ImportSourceProperty;
|
|
}
|
|
/**
|
|
* An import source from a local file.
|
|
*/
|
|
export declare class AssetImportSource extends ImportSource {
|
|
readonly path: string;
|
|
private readonly options;
|
|
private asset?;
|
|
/**
|
|
* @param path the path to the local file
|
|
* @param options the configuration for the temporarily created S3 file
|
|
*/
|
|
constructor(path: string, options?: s3_assets.AssetOptions);
|
|
/**
|
|
* @internal
|
|
*/
|
|
_bind(scope: Construct): CfnKeyValueStore.ImportSourceProperty;
|
|
}
|
|
/**
|
|
* An import source from an inline string.
|
|
*/
|
|
export declare class InlineImportSource extends ImportSource {
|
|
readonly data: string;
|
|
private asset?;
|
|
/**
|
|
* @param data the contents of the KeyValueStore
|
|
*/
|
|
constructor(data: string);
|
|
/**
|
|
* @internal
|
|
*/
|
|
_bind(scope: Construct): CfnKeyValueStore.ImportSourceProperty;
|
|
}
|
|
/**
|
|
* The properties to create a Key Value Store.
|
|
*/
|
|
export interface KeyValueStoreProps {
|
|
/**
|
|
* The unique name of the Key Value Store.
|
|
*
|
|
* @default A generated name
|
|
*/
|
|
readonly keyValueStoreName?: string;
|
|
/**
|
|
* A comment for the Key Value Store
|
|
*
|
|
* @default No comment will be specified
|
|
*/
|
|
readonly comment?: string;
|
|
/**
|
|
* The import source for the Key Value Store.
|
|
*
|
|
* This will populate the initial items in the Key Value Store. The
|
|
* source data must be in a valid JSON format.
|
|
*
|
|
* @default No data will be imported to the store
|
|
*/
|
|
readonly source?: ImportSource;
|
|
}
|
|
/**
|
|
* A CloudFront Key Value Store.
|
|
*/
|
|
export interface IKeyValueStore extends IResource, IKeyValueStoreRef {
|
|
/**
|
|
* The ARN of the Key Value Store.
|
|
*
|
|
* @attribute
|
|
*/
|
|
readonly keyValueStoreArn: string;
|
|
/**
|
|
* The Unique ID of the Key Value Store.
|
|
*
|
|
* @attribute
|
|
*/
|
|
readonly keyValueStoreId: string;
|
|
/**
|
|
* The status of the Key Value Store.
|
|
*
|
|
* @attribute
|
|
*/
|
|
readonly keyValueStoreStatus: string;
|
|
}
|
|
/**
|
|
* A CloudFront Key Value Store.
|
|
*
|
|
* @resource AWS::CloudFront::KeyValueStore
|
|
*/
|
|
export declare class KeyValueStore extends Resource implements IKeyValueStore {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
/**
|
|
* Import a Key Value Store using its ARN.
|
|
*/
|
|
static fromKeyValueStoreArn(scope: Construct, id: string, keyValueStoreArn: string): IKeyValueStore;
|
|
readonly keyValueStoreArn: string;
|
|
readonly keyValueStoreId: string;
|
|
readonly keyValueStoreStatus: string;
|
|
readonly keyValueStoreRef: KeyValueStoreReference;
|
|
constructor(scope: Construct, id: string, props?: KeyValueStoreProps);
|
|
}
|