AWS AppConfig Extension use with CDK

0

I have created an Application, Environment, ConfigurationProfile using CDK constructs. Now i am not getting how to use CDK to add extension to the AppConfig Application, Environment, Configuration Profile.

There is no function mentioned anywhere in L1 constructs which can be used to add extension on the configuration profile.

This is the extension reference in cloud formation https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html

1 réponse
0

CDK provides support for most AWS resources and their properties, but some resources might not have corresponding L1 constructs. In such cases, you can use CfnResource to create the resource directly using its CloudFormation resource type.

To add an extension to an AppConfig ConfigurationProfile using CDK, you can create a CfnResource for the AWS::AppConfig::ConfigurationProfile resource type and set the Properties to include the extension reference. Here is an example:

import * as cdk from 'aws-cdk-lib'; import * as appconfig from 'aws-cdk-lib/aws-appconfig'; import * as cfn from 'aws-cdk-lib/aws-cloudformation';

const app = new cdk.App(); const stack = new cdk.Stack(app, 'MyStack');

const appConfigApp = new appconfig.CfnApplication(stack, 'MyAppConfigApp', { name: 'my-appconfig-app' });

const appConfigEnv = new appconfig.CfnEnvironment(stack, 'MyAppConfigEnv', { applicationId: appConfigApp.ref, name: 'my-appconfig-env' });

const appConfigProfile = new cfn.CfnResource(stack, 'MyAppConfigProfile', { type: 'AWS::AppConfig::ConfigurationProfile', properties: { ApplicationId: appConfigApp.ref, LocationUri: 's3://my-bucket/my-config.json', Name: 'my-appconfig-profile', Description: 'My AppConfig Profile', Tags: [ { Key: 'Environment', Value: 'Prod' } ], Retries: { Attempts: 3 }, Validators: [ { Type: 'JSON_SCHEMA', Content: '{"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {"foo": {"type": "string"}},"required": ["foo"],"additionalProperties": false}' } ], LatestVersionNumber: 1, Description: 'My AppConfig Profile', ContentType: 'application/json', Tags: [ { Key: 'Environment', Value: 'Prod' } ], // Here is the extension reference [appconfig.CfnConfigurationProfile.ExtensionsProperty]: [ { ContentType: 'application/json', Content: '{ "some_key": "some_value" }' } ] } });

app.synth();

This code creates an AppConfig ConfigurationProfile with an extension included. The Extensions property is set using the appconfig.CfnConfigurationProfile.ExtensionsProperty property key. The Content of the extension is set as a JSON string.

You can modify the Content of the extension as per your requirements.

AWS
répondu il y a un an
  • Thanks for the reference. I ran the above without extension key. It worked fine. As I added 'appconfig.CfnConfigurationProfile.ExtensionsProperty' key, with value as

    
    {
    	"ContentType":"application/json",
    	"Content":{
    		"ExtensionIdentifier": "AWS.AppConfig.DeploymentNotificationsToSns",
    		"Parameters":{
    			"topicArn": "arn:aws:sns:us-west-2:111222333444:AppConfigNotifyTopic"
    		}
    	}	
    }
    
    

    Json I have created Pojo and then passed to the key I am getting error Property validation failure: [Encountered unsupported properties in {/}: [appconfig.CfnConfigurationProfile.ExtensionsProperty]]

    Can you check and provide the doc or correct key value

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions