# IBindableDeploymentConfig

A DeploymentConfig that can specialize itself based on the target group it will be used for.

For example, this is used for AWS-managed deployment configs: these are already
present in every region, but we need a region-specific ARN to reference them.
Since we might use them in conjunction with cross-region DeploymentGroups, we
need to specialize the account and region to the DeploymentGroup before
using.

A DeploymentGroup must call `bindEnvironment()` first if it detects this type,
before reading the DeploymentConfig ARN.

Extends: IBindableDeploymentConfig
Extends: IDeploymentConfigRef
Implemented by: CustomLambdaDeploymentConfig

- Source: [`aws-codedeploy/lib/base-deployment-config.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-codedeploy/lib/base-deployment-config.ts#L255)
- Type last changed: v2.235.0 · 15 Jan 2026

## Properties

- `deploymentConfigRef`: [DeploymentConfigReference](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_codedeploy.DeploymentConfigReference.html) — A reference to a DeploymentConfig resource.

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

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

## Methods

- `bindEnvironment(deploymentGroup: IDeploymentGroupRef): IDeploymentConfigRef` — Bind the predefined deployment config to the environment of the given resource.

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