Я пытаюсь настроить версию размещенной конфигурации в конфигурации приложения для флага функции с некоторыми атрибутами (https://aws.amazon.com/blogs/mt/using-aws-appconfig-feature-flags/)
"AppConfigProfileId": {
"Type": "AWS::AppConfig::ConfigurationProfile",
"Properties": {
"ApplicationId": {
"Ref": "AppConfig"
},
"Description": "Top level container for all the feature flags in Foo Service",
"Name": "FeatureFlags",
"LocationUri": "hosted",
"Type": "AWS.AppConfig.FeatureFlags"
}
},
"AppConfigFeatureFlagVersion": {
"Type": "AWS::AppConfig::HostedConfigurationVersion",
"Properties": {
"ApplicationId": {
"Ref": "AppConfig"
},
"ConfigurationProfileId": {
"Ref": "AppConfigProfileId"
},
"Content": {
"Fn::Join": [
"\n",
[
"{",
" \"flags\": {",
" \"isFooFlagEnabled\": {",
" \"name\": \"isFooFlagEnabled\"",
" }",
" },",
" \"values\": {",
" \"isFooFlagEnabled\": {",
" \"enabled\": false",
" }",
" },",
" \"version\": \"1\"",
"}"
]
]
},
"ContentType": "application/json",
"Description": "Hosted configuration version for foo flag"
}
}
Я пытаюсь добавить дополнительный атрибут, прикрепленный к isFooFlagEnabled, который называется процентEnabled.
Я бы хотел, чтобы этот флаг
Каков синтаксис/код CFN для этого. Я просматривал документацию по облачным технологиям и конфигурации приложений и до сих пор не нашел решения.
Мне удалось решить эту проблему с помощью
"AppConfigFeatureFlagVersion": {
"Type": "AWS::AppConfig::HostedConfigurationVersion",
"Properties": {
"ApplicationId": {
"Ref": "AppConfig"
},
"ConfigurationProfileId": {
"Ref": "AppConfigProfileId"
},
"Content": {
"Fn::ToJsonString": {
"flags": {
"isFooFlagEnabled": {
"attributes": {
"percentEnabled": {
"constraints": {
"maximum": 100,
"minimum": 0,
"type": "number"
}
}
},
"name": "isFooFlagEnabled"
}
},
"values": {
"isFooFlagEnabled": {
"percentEnabled": 0,
"enabled": false
}
},
"version": "1"
}
},
Следуя примеру из https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-type
Я также использовал языковые расширения в https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-languageextension-transform.html, чтобы получить Fn::ToJsonString для удаления вложенного json.