DATASOURCE::OOS::Parameter类型用于获取普通参数。
语法
{
"Type": "DATASOURCE::OOS::Parameter",
"Properties": {
"Name": String,
"ParameterVersion": Integer,
"RefreshOptions": String
}
}属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Name | String | 是 | 否 | 普通参数的名称。 | 无 |
ParameterVersion | Integer | 否 | 否 | 普通参数的版本号。 | 无 |
RefreshOptions | String | 否 | 是 | 当资源栈更新时,数据源资源的刷新策略。 | 取值:
|
返回值
Fn::GetAtt
UpdatedBy:最后更新普通参数的用户。
Type:普通参数的数据类型。
Description:普通参数的描述。
Constraints:普通参数的约束。
CreatedBy:创建普通参数的用户。
UpdatedDate:普通参数最后更新的时间。
ParameterVersion:普通参数的版本号。
Value:普通参数的值。
CreatedDate:普通参数创建的时间。
ParameterId:普通参数的ID。
Tags:普通参数的标签。
ShareType:普通参数的共享类型。
示例
场景 1 :查询单个 OOS 普通参数的值与元数据。
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 查询已有 OOS 普通参数的值与元数据,用于在资源栈中引用统一配置。
Parameters:
ParameterName:
Type: String
Label: 普通参数名称
Description: 已创建的 OOS 普通参数名称,不能以 ALIYUN、ALIBABA、ALICLOUD、ACS 或 OOS 开头。
Default: demo-config-param
Resources:
ParameterDataSource:
Type: DATASOURCE::OOS::Parameter
Properties:
Name:
Ref: ParameterName
Outputs:
ParameterId:
Description: 普通参数 ID。
Value:
Fn::GetAtt:
- ParameterDataSource
- ParameterId
ParameterValue:
Description: 普通参数值。
Value:
Fn::GetAtt:
- ParameterDataSource
- Value
ParameterType:
Description: 普通参数数据类型。
Value:
Fn::GetAtt:
- ParameterDataSource
- Type
ParameterVersion:
Description: 普通参数版本号。
Value:
Fn::GetAtt:
- ParameterDataSource
- ParameterVersion{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "查询已有 OOS 普通参数的值与元数据,用于在资源栈中引用统一配置。"
},
"Parameters": {
"ParameterName": {
"Type": "String",
"Label": "普通参数名称",
"Description": "已创建的 OOS 普通参数名称,不能以 ALIYUN、ALIBABA、ALICLOUD、ACS 或 OOS 开头。",
"Default": "demo-config-param"
}
},
"Resources": {
"ParameterDataSource": {
"Type": "DATASOURCE::OOS::Parameter",
"Properties": {
"Name": { "Ref": "ParameterName" }
}
}
},
"Outputs": {
"ParameterId": {
"Description": "普通参数 ID。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "ParameterId"] }
},
"ParameterValue": {
"Description": "普通参数值。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "Value"] }
},
"ParameterType": {
"Description": "普通参数数据类型。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "Type"] }
},
"ParameterVersion": {
"Description": "普通参数版本号。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "ParameterVersion"] }
}
}
}场景 2 :查询指定版本的 OOS 普通参数并配置刷新策略。
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 查询指定版本的 OOS 普通参数,并配置更新时的刷新策略。
Parameters:
ParameterName:
Type: String
Label: 普通参数名称
Description: 已创建的 OOS 普通参数名称,不能以 ALIYUN、ALIBABA、ALICLOUD、ACS 或 OOS 开头。
Default: demo-config-param
ParameterVersion:
Type: Number
Label: 参数版本号
Description: 要查询的参数版本号;留空则查询最新版本。
MinValue: 1
Default: 1
RefreshOptions:
Type: String
Label: 刷新策略
Description: 资源栈更新时数据源资源的刷新策略。Always:每次更新都刷新;Never:不刷新。
AllowedValues:
- Always
- Never
Default: Always
Resources:
ParameterDataSource:
Type: DATASOURCE::OOS::Parameter
Properties:
Name:
Ref: ParameterName
ParameterVersion:
Ref: ParameterVersion
RefreshOptions:
Ref: RefreshOptions
Outputs:
ParameterId:
Description: 普通参数 ID。
Value:
Fn::GetAtt:
- ParameterDataSource
- ParameterId
ParameterValue:
Description: 指定版本的普通参数值。
Value:
Fn::GetAtt:
- ParameterDataSource
- Value
ParameterType:
Description: 普通参数数据类型。
Value:
Fn::GetAtt:
- ParameterDataSource
- Type
ParameterVersion:
Description: 查询的参数版本号。
Value:
Fn::GetAtt:
- ParameterDataSource
- ParameterVersion
ParameterDescription:
Description: 普通参数描述。
Value:
Fn::GetAtt:
- ParameterDataSource
- Description{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "查询指定版本的 OOS 普通参数,并配置更新时的刷新策略。"
},
"Parameters": {
"ParameterName": {
"Type": "String",
"Label": "普通参数名称",
"Description": "已创建的 OOS 普通参数名称,不能以 ALIYUN、ALIBABA、ALICLOUD、ACS 或 OOS 开头。",
"Default": "demo-config-param"
},
"ParameterVersion": {
"Type": "Number",
"Label": "参数版本号",
"Description": "要查询的参数版本号;留空则查询最新版本。",
"MinValue": 1,
"Default": 1
},
"RefreshOptions": {
"Type": "String",
"Label": "刷新策略",
"Description": "资源栈更新时数据源资源的刷新策略。Always:每次更新都刷新;Never:不刷新。",
"AllowedValues": ["Always", "Never"],
"Default": "Always"
}
},
"Resources": {
"ParameterDataSource": {
"Type": "DATASOURCE::OOS::Parameter",
"Properties": {
"Name": { "Ref": "ParameterName" },
"ParameterVersion": { "Ref": "ParameterVersion" },
"RefreshOptions": { "Ref": "RefreshOptions" }
}
}
},
"Outputs": {
"ParameterId": {
"Description": "普通参数 ID。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "ParameterId"] }
},
"ParameterValue": {
"Description": "指定版本的普通参数值。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "Value"] }
},
"ParameterType": {
"Description": "普通参数数据类型。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "Type"] }
},
"ParameterVersion": {
"Description": "查询的参数版本号。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "ParameterVersion"] }
},
"ParameterDescription": {
"Description": "普通参数描述。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "Description"] }
}
}
}场景 3 :创建 OOS 普通参数存储 ECS 实例规格并通过数据源驱动 ECS 创建。
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 创建 OOS 普通参数存储 ECS 实例规格,通过数据源查询并以该值创建 ECS 实例,实现配置集中管理驱动资源创建。
Parameters:
ZoneId:
Type: String
Label: 可用区
Description: ECS 实例与交换机所属可用区。
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
ImageId:
Type: String
Label: 镜像ID
Description: ECS 实例使用的镜像 ID,可从镜像下拉中选择。
AssociationProperty: ALIYUN::ECS::ImageId::ImageID
SystemDiskCategory:
Type: String
Label: 系统盘类型
Description: ECS 系统盘磁盘类型。
Default: cloud_essd
InstancePassword:
Type: String
Label: 实例密码
Description: 8~30 个字符,包含大小写字母、数字和特殊字符中的三种。
NoEcho: true
MinLength: 8
MaxLength: 30
ParameterName:
Type: String
Label: OOS参数名称
Description: 用于存储实例规格的 OOS 普通参数名称,不能以 ALIYUN、ALIBABA、ALICLOUD、ACS 或 OOS 开头。
Default: demo-ecs-instance-type
ParameterValue:
Type: String
Label: 参数值(实例规格)
Description: 存储到 OOS 普通参数的 ECS 实例规格,例如 ecs.t6-c1m2.large。
MinLength: 1
MaxLength: 4096
Default: ecs.t6-c1m2.large
Resources:
OosParameter:
Type: ALIYUN::OOS::Parameter
Properties:
Name:
Ref: ParameterName
Type: String
Value:
Ref: ParameterValue
Description: ECS instance type managed by OOS Parameter Store
ParameterDataSource:
Type: DATASOURCE::OOS::Parameter
Properties:
Name:
Fn::GetAtt:
- OosParameter
- Name
RefreshOptions: Always
DependsOn: OosParameter
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
CidrBlock: 192.168.0.0/16
VpcName: oos-demo-vpc
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
ZoneId:
Ref: ZoneId
CidrBlock: 192.168.0.0/24
VpcId:
Ref: Vpc
VSwitchName: oos-demo-vsw
SecurityGroup:
Type: ALIYUN::ECS::SecurityGroup
Properties:
VpcId:
Ref: Vpc
SecurityGroupName: oos-demo-sg
EcsInstance:
Type: ALIYUN::ECS::InstanceGroup
Properties:
ZoneId:
Ref: ZoneId
InstanceType:
Fn::GetAtt:
- ParameterDataSource
- Value
ImageId:
Ref: ImageId
SystemDiskCategory:
Ref: SystemDiskCategory
VpcId:
Ref: Vpc
VSwitchId:
Ref: VSwitch
SecurityGroupId:
Ref: SecurityGroup
Password:
Ref: InstancePassword
InstanceName: oos-demo-ecs
MaxAmount: 1
InternetMaxBandwidthOut: 5
DependsOn:
- ParameterDataSource
- VSwitch
- SecurityGroup
Outputs:
ParameterId:
Description: OOS 普通参数 ID。
Value:
Fn::GetAtt:
- ParameterDataSource
- ParameterId
ParameterName:
Description: OOS 普通参数名称。
Value:
Ref: ParameterName
ParameterValue:
Description: 数据源查询到的参数值(ECS 实例规格)。
Value:
Fn::GetAtt:
- ParameterDataSource
- Value
InstanceIds:
Description: 创建的 ECS 实例 ID 列表。
Value:
Fn::GetAtt:
- EcsInstance
- InstanceIds
PublicIps:
Description: ECS 实例公网 IP 列表。
Value:
Fn::GetAtt:
- EcsInstance
- PublicIps{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "创建 OOS 普通参数存储 ECS 实例规格,通过数据源查询并以该值创建 ECS 实例,实现配置集中管理驱动资源创建。"
},
"Parameters": {
"ZoneId": {
"Type": "String",
"Label": "可用区",
"Description": "ECS 实例与交换机所属可用区。",
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
},
"ImageId": {
"Type": "String",
"Label": "镜像ID",
"Description": "ECS 实例使用的镜像 ID,可从镜像下拉中选择。",
"AssociationProperty": "ALIYUN::ECS::ImageId::ImageID"
},
"SystemDiskCategory": {
"Type": "String",
"Label": "系统盘类型",
"Description": "ECS 系统盘磁盘类型。",
"Default": "cloud_essd"
},
"InstancePassword": {
"Type": "String",
"Label": "实例密码",
"Description": "8~30 个字符,包含大小写字母、数字和特殊字符中的三种。",
"NoEcho": true,
"MinLength": 8,
"MaxLength": 30
},
"ParameterName": {
"Type": "String",
"Label": "OOS参数名称",
"Description": "用于存储实例规格的 OOS 普通参数名称,不能以 ALIYUN、ALIBABA、ALICLOUD、ACS 或 OOS 开头。",
"Default": "demo-ecs-instance-type"
},
"ParameterValue": {
"Type": "String",
"Label": "参数值(实例规格)",
"Description": "存储到 OOS 普通参数的 ECS 实例规格,例如 ecs.t6-c1m2.large。",
"MinLength": 1,
"MaxLength": 4096,
"Default": "ecs.t6-c1m2.large"
}
},
"Resources": {
"OosParameter": {
"Type": "ALIYUN::OOS::Parameter",
"Properties": {
"Name": { "Ref": "ParameterName" },
"Type": "String",
"Value": { "Ref": "ParameterValue" },
"Description": "ECS instance type managed by OOS Parameter Store"
}
},
"ParameterDataSource": {
"Type": "DATASOURCE::OOS::Parameter",
"Properties": {
"Name": { "Fn::GetAtt": ["OosParameter", "Name"] },
"RefreshOptions": "Always"
},
"DependsOn": "OosParameter"
},
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": { "CidrBlock": "192.168.0.0/16", "VpcName": "oos-demo-vpc" }
},
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"ZoneId": { "Ref": "ZoneId" },
"CidrBlock": "192.168.0.0/24",
"VpcId": { "Ref": "Vpc" },
"VSwitchName": "oos-demo-vsw"
}
},
"SecurityGroup": {
"Type": "ALIYUN::ECS::SecurityGroup",
"Properties": { "VpcId": { "Ref": "Vpc" }, "SecurityGroupName": "oos-demo-sg" }
},
"EcsInstance": {
"Type": "ALIYUN::ECS::InstanceGroup",
"Properties": {
"ZoneId": { "Ref": "ZoneId" },
"InstanceType": { "Fn::GetAtt": ["ParameterDataSource", "Value"] },
"ImageId": { "Ref": "ImageId" },
"SystemDiskCategory": { "Ref": "SystemDiskCategory" },
"VpcId": { "Ref": "Vpc" },
"VSwitchId": { "Ref": "VSwitch" },
"SecurityGroupId": { "Ref": "SecurityGroup" },
"Password": { "Ref": "InstancePassword" },
"InstanceName": "oos-demo-ecs",
"MaxAmount": 1,
"InternetMaxBandwidthOut": 5
},
"DependsOn": ["ParameterDataSource", "VSwitch", "SecurityGroup"]
}
},
"Outputs": {
"ParameterId": {
"Description": "OOS 普通参数 ID。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "ParameterId"] }
},
"ParameterName": {
"Description": "OOS 普通参数名称。",
"Value": { "Ref": "ParameterName" }
},
"ParameterValue": {
"Description": "数据源查询到的参数值(ECS 实例规格)。",
"Value": { "Fn::GetAtt": ["ParameterDataSource", "Value"] }
},
"InstanceIds": {
"Description": "创建的 ECS 实例 ID 列表。",
"Value": { "Fn::GetAtt": ["EcsInstance", "InstanceIds"] }
},
"PublicIps": {
"Description": "ECS 实例公网 IP 列表。",
"Value": { "Fn::GetAtt": ["EcsInstance", "PublicIps"] }
}
}
}