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 Risposta
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
con risposta un anno fa
  • 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

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande