AWS::AppConfig::ConfigurationProfile - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::AppConfig::ConfigurationProfile

AWS::AppConfig::ConfigurationProfile 资源创建一个配置文件,使 AppConfig 能够访问配置源。有效的配置源包括 Systems Manager (SSM) 文档、SSM Parameter Store 参数和 Amazon S3。配置文件包含以下信息。

  • 配置数据的 Uri 位置。

  • 提供对配置数据的访问权限的 AWS Identity and Access Management (IAM) 角色。

  • 配置数据的验证程序。可用验证程序包括 JSON 架构或者 AWS Lambda 函数的 Amazon 资源名称 (ARN)。

AppConfig 要求您按以下顺序创建资源并部署配置:

  1. 创建应用程序

  2. 创建环境

  3. 创建配置文件

  4. 创建部署策略

  5. 部署配置

有关更多信息,请参阅 AWS Systems Manager 用户指南 中的 AWS AppConfig

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::AppConfig::ConfigurationProfile", "Properties" : { "ApplicationId" : String, "Description" : String, "LocationUri" : String, "Name" : String, "RetrievalRoleArn" : String, "Tags" : [ Tags, ... ], "Validators" : [ Validators, ... ] } }

YAML

Type: AWS::AppConfig::ConfigurationProfile Properties: ApplicationId: String Description: String LocationUri: String Name: String RetrievalRoleArn: String Tags: - Tags Validators: - Validators

属性

ApplicationId

应用程序 ID。

必需:是

类型:字符串

模式[a-z0-9]{4,7}

Update requires: Replacement

Description

关于配置文件的描述。

必需:否

类型:字符串

最低0

最高1024

Update requires: No interruption

LocationUri

用于查找配置的 URI。您可以指定 AppConfig 托管配置存储、Systems Manager (SSM) 文档、SSM Parameter Store 参数或 Amazon S3 object 对象。对于托管配置存储,请指定 hosted。对于 SSM 文档,请以格式 ssm-document://<Document_name> 指定文档名称或指定 Amazon 资源名称 (ARN)。对于参数,请以格式 ssm-parameter://<Parameter_name> 指定参数名称或指定 ARN。对于 Amazon S3 对象,请按以下格式指定 URI:s3://<bucket>/<objectKey> 。示例如下:s3://my-bucket/my-app/us-east-1/my-config.json

必需:是

类型:字符串

最低1

最高2048

Update requires: Replacement

Name

键入配置文件的名称。

必需:是

类型:字符串

最低1

最高64

Update requires: No interruption

RetrievalRoleArn

有权访问位于指定 LocationUri 处配置的 IAM 角色的 ARN。

重要

对于存储在 AppConfig 托管配置存储中的配置,不需要检索角色 ARN。存储您的配置的所有其他源都需要此选项。

必需:否

类型:字符串

最低20

最高2048

模式^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\d{12}:role[/].*)$

Update requires: No interruption

Tags

分配给配置文件的元数据。标签有助于组织和分类您的 AppConfig 资源。每个标签都包含您定义的一个键和一个可选值。

必需:否

类型Tags 列表

Update requires: No interruption

Validators

验证配置的方法列表。

必需:否

类型Validators 列表

最高2

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回配置文件 ID。

示例

AWS AppConfig 配置文件示例

以下示例创建名为 MyTestConfigurationProfile 的 AWS AppConfig 配置文件。配置文件包含用于访问 Systems Manager (SSM) 文档或 Parameter Store 参数中的配置数据的源信息。配置文件还可能包含可选的验证程序,以确保配置数据在语法和语义上正确无误。以下配置文件示例使用指定的 RetrievalRoleArnLocationUri 从 SSM 参数检索配置数据。

JSON

{ "Type": "AWS::AppConfig::ConfigurationProfile", "DependsOn": "MyTestApplication", "Properties": { "ApplicationId": { "Ref": "MyTestApplication" }, "Name": "MyTestConfigurationProfile", "Description": "My test configuration profile", "RetrievalRoleArn": { "Fn::ImportValue": "ConfigurationRetrievalAndMonitoringRole" }, "LocationUri": { "Fn::Sub": [ "ssm-parameter://${ParameterName}", { "ParameterName": { "Fn::ImportValue": "SSMParameter" } } ] }, "Validators": [ { "Type": "LAMBDA", "Content": { "Fn::ImportValue": "MyLambdaValidator" } } ], "Tags": [ { "Key": "Env", "Value": "Test" } ] } }

YAML

Resources: BasicConfigurationProfile: Type: AWS::AppConfig::ConfigurationProfile DependsOn: MyTestApplication Properties: ApplicationId: !Ref MyTestApplication Name: "MyTestConfigurationProfile" Description: "My test configuration profile" RetrievalRoleArn: !ImportValue ConfigurationRetrievalAndMonitoringRole LocationUri: Fn::Sub: - "ssm-parameter://${ParameterName}" - ParameterName: !ImportValue SSMParameter Validators: - Type: LAMBDA Content: !ImportValue MyLambdaValidator Tags: - Key: Env Value: test