319 lines
13 KiB
TypeScript
319 lines
13 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { HostedConfigurationOptions, SourcedConfigurationOptions } from './configuration';
|
|
import { HostedConfiguration, SourcedConfiguration } from './configuration';
|
|
import type { EnvironmentOptions, IEnvironment } from './environment';
|
|
import type { ActionPoint, IEventDestination, ExtensionOptions, IExtension, IExtensible } from './extension';
|
|
import { ExtensibleBase } from './extension';
|
|
import * as ecs from '../../aws-ecs';
|
|
import * as cdk from '../../core';
|
|
import type { IApplicationRef, IEnvironmentRef, ApplicationReference } from '../../interfaces/generated/aws-appconfig-interfaces.generated';
|
|
/**
|
|
* Defines the platform for the AWS AppConfig Lambda extension.
|
|
*/
|
|
export declare enum Platform {
|
|
X86_64 = "x86-64",
|
|
ARM_64 = "ARM64"
|
|
}
|
|
export interface IApplication extends cdk.IResource, IApplicationRef {
|
|
/**
|
|
* The description of the application.
|
|
*/
|
|
readonly description?: string;
|
|
/**
|
|
* The name of the application.
|
|
*/
|
|
readonly name?: string;
|
|
/**
|
|
* The ID of the application.
|
|
* @attribute
|
|
*/
|
|
readonly applicationId: string;
|
|
/**
|
|
* The Amazon Resource Name (ARN) of the application.
|
|
* @attribute
|
|
*/
|
|
readonly applicationArn: string;
|
|
/**
|
|
* Adds an environment.
|
|
*
|
|
* @param id The name of the environment construct
|
|
* @param options The options for the environment construct
|
|
*/
|
|
addEnvironment(id: string, options?: EnvironmentOptions): IEnvironment;
|
|
/**
|
|
* Adds a hosted configuration.
|
|
*
|
|
* @param id The name of the hosted configuration construct
|
|
* @param options The options for the hosted configuration construct
|
|
*/
|
|
addHostedConfiguration(id: string, options: HostedConfigurationOptions): HostedConfiguration;
|
|
/**
|
|
* Adds a sourced configuration.
|
|
*
|
|
* @param id The name of the sourced configuration construct
|
|
* @param options The options for the sourced configuration construct
|
|
*/
|
|
addSourcedConfiguration(id: string, options: SourcedConfigurationOptions): SourcedConfiguration;
|
|
/**
|
|
* Adds an existing environment.
|
|
*
|
|
* @param environment The environment
|
|
*/
|
|
addExistingEnvironment(environment: IEnvironmentRef): void;
|
|
/**
|
|
* Returns the list of associated environments.
|
|
*/
|
|
environments(): IEnvironment[];
|
|
/**
|
|
* Adds an extension defined by the action point and event destination
|
|
* and also creates an extension association to an application.
|
|
*
|
|
* @param actionPoint The action point which triggers the event
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
on(actionPoint: ActionPoint, eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the
|
|
* provided event destination and also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
preCreateHostedConfigurationVersion(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds a PRE_START_DEPLOYMENT extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
preStartDeployment(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_START extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentStart(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentStep(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentBaking(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentComplete(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentRolledBack(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an AT_DEPLOYMENT_TICK extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
atDeploymentTick(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an extension association to the application.
|
|
*
|
|
* @param extension The extension to create an association for
|
|
*/
|
|
addExtension(extension: IExtension): void;
|
|
}
|
|
/**
|
|
* Properties for the Application construct
|
|
*/
|
|
export interface ApplicationProps {
|
|
/**
|
|
* The name of the application.
|
|
*
|
|
* @default - A name is generated.
|
|
*/
|
|
readonly applicationName?: string;
|
|
/**
|
|
* The description for the application.
|
|
*
|
|
* @default - No description.
|
|
*/
|
|
readonly description?: string;
|
|
}
|
|
declare abstract class ApplicationBase extends cdk.Resource implements IApplication, IExtensible {
|
|
abstract applicationId: string;
|
|
abstract applicationArn: string;
|
|
private _environments;
|
|
protected abstract extensible: ExtensibleBase;
|
|
get applicationRef(): ApplicationReference;
|
|
addEnvironment(id: string, options?: EnvironmentOptions): IEnvironment;
|
|
addHostedConfiguration(id: string, options: HostedConfigurationOptions): HostedConfiguration;
|
|
addSourcedConfiguration(id: string, options: SourcedConfigurationOptions): SourcedConfiguration;
|
|
addExistingEnvironment(environment: IEnvironmentRef): void;
|
|
environments(): IEnvironment[];
|
|
/**
|
|
* Adds an extension defined by the action point and event destination
|
|
* and also creates an extension association to an application.
|
|
*
|
|
* @param actionPoint The action point which triggers the event
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
on(actionPoint: ActionPoint, eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the
|
|
* provided event destination and also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
preCreateHostedConfigurationVersion(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds a PRE_START_DEPLOYMENT extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
preStartDeployment(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_START extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentStart(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentStep(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentBaking(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentComplete(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
onDeploymentRolledBack(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an AT_DEPLOYMENT_TICK extension with the provided event destination and
|
|
* also creates an extension association to an application.
|
|
*
|
|
* @param eventDestination The event that occurs during the extension
|
|
* @param options Options for the extension
|
|
*/
|
|
atDeploymentTick(eventDestination: IEventDestination, options?: ExtensionOptions): void;
|
|
/**
|
|
* Adds an extension association to the application.
|
|
*
|
|
* @param extension The extension to create an association for
|
|
*/
|
|
addExtension(extension: IExtension): void;
|
|
}
|
|
/**
|
|
* An AWS AppConfig application.
|
|
*
|
|
* @resource AWS::AppConfig::Application
|
|
* @see https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-application.html
|
|
*/
|
|
export declare class Application extends ApplicationBase {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
/**
|
|
* Imports an AWS AppConfig application into the CDK using its Amazon Resource Name (ARN).
|
|
*
|
|
* @param scope The parent construct
|
|
* @param id The name of the application construct
|
|
* @param applicationArn The Amazon Resource Name (ARN) of the application
|
|
*/
|
|
static fromApplicationArn(scope: Construct, id: string, applicationArn: string): IApplication;
|
|
/**
|
|
* Imports an AWS AppConfig application into the CDK using its ID.
|
|
*
|
|
* @param scope The parent construct
|
|
* @param id The name of the application construct
|
|
* @param applicationId The ID of the application
|
|
*/
|
|
static fromApplicationId(scope: Construct, id: string, applicationId: string): IApplication;
|
|
/**
|
|
* Retrieves the Lambda layer version Amazon Resource Name (ARN) for the AWS AppConfig Lambda extension.
|
|
*
|
|
* @param region The region for the Lambda layer (for example, 'us-east-1')
|
|
* @param platform The platform for the Lambda layer (default is Platform.X86_64)
|
|
* @returns Lambda layer version ARN
|
|
*/
|
|
static getLambdaLayerVersionArn(region: string, platform?: Platform): string;
|
|
/**
|
|
* Adds the AWS AppConfig Agent as a container to the provided ECS task definition.
|
|
*
|
|
* @param taskDef The ECS task definition [disable-awslint:ref-via-interface]
|
|
*/
|
|
static addAgentToEcs(taskDef: ecs.TaskDefinition): void;
|
|
/**
|
|
* The description of the application.
|
|
*/
|
|
readonly description?: string;
|
|
/**
|
|
* The name of the application.
|
|
*/
|
|
readonly name?: string;
|
|
/**
|
|
* The ID of the application.
|
|
*
|
|
* @attribute
|
|
*/
|
|
readonly applicationId: string;
|
|
/**
|
|
* The Amazon Resource Name (ARN) of the application.
|
|
*
|
|
* @attribute
|
|
*/
|
|
readonly applicationArn: string;
|
|
private _application;
|
|
protected extensible: ExtensibleBase;
|
|
constructor(scope: Construct, id: string, props?: ApplicationProps);
|
|
}
|
|
export {};
|