# IExtensible

Defines the extensible base implementation for extension association resources.

Extends: IExtensible
Implemented by: Application, Environment, ExtensibleBase, HostedConfiguration, SourcedConfiguration

- Source: [`aws-appconfig/lib/extension.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-appconfig/lib/extension.ts#L762)
- Type last changed: v2.174.0 · 4 Jan 2025

## Methods

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

  **Parameters**

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

- `atDeploymentTick(eventDestination: IEventDestination, options?: ExtensionOptions): void` — Adds an AT_DEPLOYMENT_TICK extension with the provided event destination and also creates an extension association to the derived resource.

  **Parameters**

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

- `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 the derived resource.

  **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 the derived resource.

  **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 the derived resource.

  **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 the derived resource.

  **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 the derived resource.

  **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 the derived resource.

  **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 the derived resource.

  **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 the derived resource.

  **Parameters**

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