# IApplication

Extends: IApplication
Extends: IResource, IApplicationRef
Implemented by: Application

- Source: [`aws-appconfig/lib/application.ts`](https://github.com/aws/aws-cdk/blob/v2.276.0/packages/aws-cdk-lib/aws-appconfig/lib/application.ts#L26)
- Type last changed: v2.233.0 · 18 Dec 2025

## Properties

- `applicationArn`: string — The Amazon Resource Name (ARN) of the application.

- `applicationId`: string — The ID of the application.

- `applicationRef`: [ApplicationReference](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_appconfig.ApplicationReference.html) — A reference to a Application resource.

- `description`: string — The description of the application.

- `env`: [ResourceEnvironment](/cdk/api/v2/docs/aws-cdk-lib.interfaces.ResourceEnvironment.html) — The environment this resource belongs to.

  For resources that are created and managed in a Stack (those created by
  creating new class instances like `new Role()`, `new Bucket()`, etc.), this
  is always the same as the environment of the stack they belong to.

  For referenced resources (those obtained from referencing methods like
  `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
  different than the stack they were imported into.

- `name`: string — The name of the application.

- `node`: [Node](/cdk/api/v2/docs/constructs.Node.html) — The tree node.

- `stack`: [Stack](/cdk/api/v2/docs/aws-cdk-lib.Stack.html) — The stack in which this resource is defined.

## Methods

- `addEnvironment(id: string, options?: EnvironmentOptions): IEnvironment` — Adds an environment.

  **Parameters**

  - `id` — The name of the environment construct.
  - `options` — The options for the environment construct.

- `addExistingEnvironment(environment: IEnvironmentRef): void` — Adds an existing environment.

  **Parameters**

  - `environment` — The environment.

- `addExtension(extension: IExtension): void` — Adds an extension association to the application.

  **Parameters**

  - `extension` — The extension to create an association for.

- `addHostedConfiguration(id: string, options: HostedConfigurationOptions): HostedConfiguration` — Adds a hosted configuration.

  **Parameters**

  - `id` — The name of the hosted configuration construct.
  - `options` — The options for the hosted configuration construct.

- `addSourcedConfiguration(id: string, options: SourcedConfigurationOptions): SourcedConfiguration` — Adds a sourced configuration.

  **Parameters**

  - `id` — The name of the sourced configuration construct.
  - `options` — The options for the sourced configuration construct.

- `applyRemovalPolicy(policy: RemovalPolicy): void` — Apply the given removal policy to this resource.

  The Removal Policy controls what happens to this resource when it stops
  being managed by CloudFormation, either because you've removed it from the
  CDK application or because you've made a change that requires the resource
  to be replaced.

  The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
  account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).

- `atDeploymentTick(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.

  **Parameters**

  - `eventDestination` — The event that occurs during the extension.
  - `options` — Options for the extension.

- `environments(): IEnvironment[]` — Returns the list of associated environments.

- `on(actionPoint: ActionPoint, eventDestination: IEventDestination, options?: ExtensionOptions): void` — Adds an extension defined by the action point and event destination and also creates an extension association to an application.

  **Parameters**

  - `actionPoint` — The action point which triggers the event.
  - `eventDestination` — The event that occurs during the extension.
  - `options` — Options for the extension.

- `onDeploymentBaking(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.

  **Parameters**

  - `eventDestination` — The event that occurs during the extension.
  - `options` — Options for the extension.

- `onDeploymentComplete(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.

  **Parameters**

  - `eventDestination` — The event that occurs during the extension.
  - `options` — Options for the extension.

- `onDeploymentRolledBack(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.

  **Parameters**

  - `eventDestination` — The event that occurs during the extension.
  - `options` — Options for the extension.

- `onDeploymentStart(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.

  **Parameters**

  - `eventDestination` — The event that occurs during the extension.
  - `options` — Options for the extension.

- `onDeploymentStep(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.

  **Parameters**

  - `eventDestination` — The event that occurs during the extension.
  - `options` — Options for the extension.

- `preCreateHostedConfigurationVersion(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.

  **Parameters**

  - `eventDestination` — The event that occurs during the extension.
  - `options` — Options for the extension.

- `preStartDeployment(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.

  **Parameters**

  - `eventDestination` — The event that occurs during the extension.
  - `options` — Options for the extension.

- `with(...mixins: IMixin[]): IConstruct` — Applies one or more mixins to this construct.

  Mixins are applied in order. The list of constructs is captured at the
  start of the call, so constructs added by a mixin will not be visited.

  **Parameters**

  - `mixins` — The mixins to apply.

  **Returns:** This construct for chaining
