ConfigurationProfile ​
The ConfigurationProfile resource allows you to manage AWS AppConfig ConfigurationProfiles to define how configuration data is retrieved and validated for your applications.
Minimal Example ​
Create a basic configuration profile with required properties and a common optional property.
ts
import AWS from "alchemy/aws/control";
const basicConfigProfile = await AWS.AppConfig.ConfigurationProfile("basicConfigProfile", {
applicationId: "myApplication123",
name: "MyBasicConfigProfile",
locationUri: "s3://my-bucket/configs/basic.json",
type: "AWS.AppConfig.Json",
tags: [
{ key: "Environment", value: "Production" }
]
});
Advanced Configuration ​
Configure a configuration profile with additional options such as KMS key identifier and validators.
ts
const advancedConfigProfile = await AWS.AppConfig.ConfigurationProfile("advancedConfigProfile", {
applicationId: "myApplication123",
name: "MyAdvancedConfigProfile",
locationUri: "s3://my-bucket/configs/advanced.json",
type: "AWS.AppConfig.Json",
kmsKeyIdentifier: "arn:aws:kms:us-east-1:123456789012:key/my-key-id",
validators: [
{
type: "JSON_SCHEMA",
content: '{"type": "object", "properties": {"featureFlag": {"type": "boolean"}}}'
}
],
description: "This profile contains advanced configuration."
});
Configuration with IAM Role Retrieval ​
Create a configuration profile specifying an IAM role for retrieval.
ts
const roleConfigProfile = await AWS.AppConfig.ConfigurationProfile("roleConfigProfile", {
applicationId: "myApplication123",
name: "MyRoleConfigProfile",
locationUri: "s3://my-bucket/configs/role.json",
retrievalRoleArn: "arn:aws:iam::123456789012:role/MyAppConfigRole",
deletionProtectionCheck: "true"
});
Configuration Profile with Deletion Protection ​
Set up a configuration profile with deletion protection enabled.
ts
const protectedConfigProfile = await AWS.AppConfig.ConfigurationProfile("protectedConfigProfile", {
applicationId: "myApplication123",
name: "MyProtectedConfigProfile",
locationUri: "s3://my-bucket/configs/protected.json",
deletionProtectionCheck: "true",
description: "This configuration profile is protected from accidental deletion."
});