# SourcedConfigurationOptions

Options for SourcedConfiguration.

Extends: SourcedConfigurationOptions
Extends: ConfigurationOptions

- Source: [`aws-appconfig/lib/configuration.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-appconfig/lib/configuration.ts#L525)
- Type last changed: v2.224.0 · 13 Nov 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';
import { aws_kms as kms } from 'aws-cdk-lib';
import { aws_appconfig as interfaces_appconfig } from 'aws-cdk-lib/interfaces';
import { aws_iam as interfaces_iam } from 'aws-cdk-lib/interfaces';

declare const configurationSource: appconfig.ConfigurationSource;
declare const deploymentStrategyRef: interfaces_appconfig.IDeploymentStrategyRef;
declare const environment: appconfig.Environment;
declare const key: kms.Key;
declare const roleRef: interfaces_iam.IRoleRef;
declare const validator: appconfig.IValidator;
const sourcedConfigurationOptions: appconfig.SourcedConfigurationOptions = {
  location: configurationSource,

  // the properties below are optional
  deletionProtectionCheck: appconfig.DeletionProtectionCheck.ACCOUNT_DEFAULT,
  deploymentKey: key,
  deploymentStrategy: deploymentStrategyRef,
  deployTo: [environment],
  description: 'description',
  name: 'name',
  retrievalRole: roleRef,
  type: appconfig.ConfigurationType.FREEFORM,
  validators: [validator],
  versionNumber: 'versionNumber',
};
```

## Properties

- `deletionProtectionCheck`: [DeletionProtectionCheck](/cdk/api/v2/docs/aws-cdk-lib.aws_appconfig.DeletionProtectionCheck.html) — A parameter to configure deletion protection.

  **Default:** DeletionProtectionCheck.ACCOUNT_DEFAULT

  Deletion protection prevents a user from deleting a configuration profile if your application has called
  either `GetLatestConfiguration` or `GetConfiguration` for the configuration profile during the specified interval.

- `deploymentKey`: [IKey](/cdk/api/v2/docs/aws-cdk-lib.aws_kms.IKey.html) = None. — The deployment key of the configuration.

- `deploymentStrategy`: [IDeploymentStrategyRef](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_appconfig.IDeploymentStrategyRef.html) — The deployment strategy for the configuration.

  **Default:** A deployment strategy with the rollout strategy set to RolloutStrategy.CANARY_10_PERCENT_20_MINUTES

- `deployTo`: [IEnvironment](/cdk/api/v2/docs/aws-cdk-lib.aws_appconfig.IEnvironment.html)[] = None. — The list of environments to deploy the configuration to.

  If this parameter is not specified, then there will be no
  deployment created alongside this configuration.

  Deployments can be added later using the `IEnvironment.addDeployment` or
  `IEnvironment.addDeployments` methods.

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

  **Default:** No description.

- `location`: [ConfigurationSource](/cdk/api/v2/docs/aws-cdk-lib.aws_appconfig.ConfigurationSource.html) (required) — The location where the configuration is stored.

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

  **Default:** A name is generated.

- `retrievalRole`: [IRoleRef](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_iam.IRoleRef.html) — The IAM role to retrieve the configuration.

  **Default:** A role is generated.

- `type`: [ConfigurationType](/cdk/api/v2/docs/aws-cdk-lib.aws_appconfig.ConfigurationType.html) = ConfigurationType.FREEFORM — The type of configuration.

- `validators`: [IValidator](/cdk/api/v2/docs/aws-cdk-lib.aws_appconfig.IValidator.html)[] — The validators for the configuration.

  **Default:** No validators.

- `versionNumber`: string = None. — The version number of the sourced configuration to deploy.

  If this is not specified,
  then there will be no deployment.
