# ExtensibleBase

This class is meant to be used by AWS AppConfig resources (application, configuration profile, environment) directly.

There is currently no use
for this class outside of the AWS AppConfig construct implementation. It is
intended to be used with the resources since there is currently no way to
inherit from two classes (at least within JSII constraints).

Extends: ExtensibleBase
Implements: IExtensible

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

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_appconfig as appconfig } from 'aws-cdk-lib';
const extensibleBase = new appconfig.ExtensibleBase(this, 'resourceArn', /* all optional props */ 'resourceName');
```

## Initializer

```ts
new ExtensibleBase(scope: Construct, resourceArn: string, resourceName?: string)
```

## Methods

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

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

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

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

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

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

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

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

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

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