Extension ​
The Extension resource lets you manage AWS AppConfig Extensions for extending application configurations with custom actions and parameters.
Minimal Example ​
Create a basic AppConfig Extension with essential properties.
ts
import AWS from "alchemy/aws/control";
const appConfigExtension = await AWS.AppConfig.Extension("basicExtension", {
Name: "MyBasicExtension",
Actions: {
"MyAction": {
"ActionType": "AWS::Lambda::Function",
"FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myLambdaFunction"
}
},
Description: "A basic AppConfig extension for demonstration purposes."
});
Advanced Configuration ​
Configure an AppConfig Extension with parameters and additional actions.
ts
const advancedAppConfigExtension = await AWS.AppConfig.Extension("advancedExtension", {
Name: "MyAdvancedExtension",
Actions: {
"MyAdvancedAction": {
"ActionType": "AWS::StepFunctions::StateMachine",
"StateMachineArn": "arn:aws:states:us-west-2:123456789012:stateMachine:myStateMachine"
}
},
Parameters: {
"parameter1": "value1",
"parameter2": 42
},
Tags: [
{
Key: "Environment",
Value: "Production"
}
],
Description: "An advanced AppConfig extension with parameters and tags."
});
Adoption of Existing Resource ​
Create an AppConfig Extension that adopts an existing resource instead of failing if it already exists.
ts
const adoptExistingExtension = await AWS.AppConfig.Extension("existingExtension", {
Name: "ExistingExtension",
Actions: {
"ExistingAction": {
"ActionType": "AWS::SNS::Topic",
"TopicArn": "arn:aws:sns:us-west-2:123456789012:myTopic"
}
},
adopt: true, // Adopt existing resource if it exists
Description: "This extension adopts an existing resource if available."
});