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

AWS::SSM::Parameter

AWS::SSM::Parameter 资源在 AWS Systems Manager Parameter Store 中创建一个 SSM 参数。

重要

要创建 SSM 参数,您必须拥有 AWS Identity and Access Management (IAM) 权限 ssm:PutParameterssm:AddTagsToResource。在堆栈创建过程中,AWS CloudFormation 将以下标签添加到参数:aws:cloudformation:stack-nameaws:cloudformation:logical-idaws:cloudformation:stack-id,并添加您指定的任何自定义标签。

要在堆栈更新过程中添加、更新或删除标签,您必须拥有 ssm:AddTagsToResourcessm:RemoveTagsFromResource 的 IAM 权限。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的使用策略管理访问

有关参数的有效值的信息,请参阅 AWS Systems Manager 用户指南 中的参数名称的要求和约束AWS Systems Manager API 参考 中的 PutParameter

语法

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

JSON

{ "Type" : "AWS::SSM::Parameter", "Properties" : { "AllowedPattern" : String, "DataType" : String, "Description" : String, "Name" : String, "Policies" : String, "Tags" : Json, "Tier" : String, "Type" : String, "Value" : String } }

YAML

Type: AWS::SSM::Parameter Properties: AllowedPattern: String DataType: String Description: String Name: String Policies: String Tags: Json Tier: String Type: String Value: String

属性

AllowedPattern

用于验证参数值有效性的正则表达式。例如,对于值限制为数字的字符串类型,您可以指定如下表达式:AllowedPattern=^\d+$

必需:否

类型:字符串

最低0

最高1024

Update requires: No interruption

DataType

参数的数据类型,如 textaws:ec2:image。默认为 text

必需:否

类型:字符串

最低0

最高128

Update requires: No interruption

Description

有关参数的信息。

必需:否

类型:字符串

最低0

最高1024

Update requires: No interruption

Name

参数的名称。

必需:否

类型:字符串

最低1

最高2048

Update requires: Replacement

Policies

有关分配给参数的策略的信息。

AWS Systems Manager 用户指南 中的分配参数策略

必需:否

类型:字符串

Update requires: No interruption

Tags

以任意标签集(键/值对)的形式分配给资源的可选元数据。标签可让您按各种标准(如用途、所有者或环境)对资源进行分类。例如,您可能希望标记一个 Systems Manager 参数来标识其所应用到的资源的类型、环境或参数引用的配置数据的类型。

必需:否

类型:Json

最高1000

Update requires: No interruption

Tier

参数层。

必需:否

类型:字符串

允许的值Advanced | Intelligent-Tiering | Standard

Update requires: No interruption

Type

参数的类型。

注意

AWS CloudFormation 不支持创建 SecureString 参数类型。

允许的值:String | StringList

必需:是

类型:字符串

Update requires: No interruption

Value

参数值。

必需:是

类型:字符串

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回 SSM 参数的名称。例如:ssm-myparameter-ABCNPH3XCAO6

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

Type

返回参数的类型。有效值为 StringStringList

Value

返回参数值。

示例

AWS Systems Manager 参数字符串示例

以下示例创建一个具有 String 类型、名为 command 的 Systems Manager 参数并添加标签键值对 "Environment":"Dev"

JSON

{ "Resources": { "BasicParameter": { "Type": "AWS::SSM::Parameter", "Properties": { "Name": "command", "Type": "String", "Value": "date", "Description": "SSM Parameter for running date command.", "AllowedPattern": "^[a-zA-Z]{1,10}$", "Tags": { "Environment": "DEV" } } } } }

YAML

--- Resources: BasicParameter: Type: AWS::SSM::Parameter Properties: Name: command Type: String Value: date Description: SSM Parameter for running date command. AllowedPattern: "^[a-zA-Z]{1,10}$" Tags: Environment: DEV

AWS Systems Manager Parameter StringList 示例

以下示例创建一个具有 StringList 类型、名为 commands 的 Systems Manager 参数。

JSON

{ "Resources": { "BasicParameter": { "Type": "AWS::SSM::Parameter", "Properties": { "Name": "commands", "Type": "StringList", "Value": "date,ls", "Description": "SSM Parameter of type StringList.", "AllowedPattern": "^[a-zA-Z]{1,10}$" } } } }

YAML

--- Resources: BasicParameter: Type: AWS::SSM::Parameter Properties: Name: commands Type: StringList Value: date,ls Description: SSM Parameter of type StringList. AllowedPattern: "^[a-zA-Z]{1,10}$"

AWS Systems Manager 参数高级套餐和策略示例

以下示例创建一个具有 String 类型和参数策略、名为 command 的 Systems Manager 高级套餐参数。

JSON

{ "Resources": { "BasicParameter": { "Type": "AWS::SSM::Parameter", "Properties": { "Name": "command", "Type": "String", "Value": "date", "Tier": "Advanced", "Policies": "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]", "Description": "SSM Parameter for running date command.", "AllowedPattern": "^[a-zA-Z]{1,10}$", "Tags": { "Environment": "DEV" } } } } }

YAML

--- Resources: BasicParameter: Type: AWS::SSM::Parameter Properties: Name: command Type: String Value: date Tier: Advanced Policies: '[{"Type":"Expiration","Version":"1.0","Attributes":{"Timestamp":"2020-05-13T00:00:00.000Z"}},{"Type":"ExpirationNotification","Version":"1.0","Attributes":{"Before":"5","Unit":"Days"}},{"Type":"NoChangeNotification","Version":"1.0","Attributes":{"After":"60","Unit":"Days"}}]' Description: SSM Parameter for running date command. AllowedPattern: "^[a-zA-Z]{1,10}$" Tags: Environment: DEV

另请参阅