基于参数关联关系动态呈现参数

本文涉及的产品
资源编排,不限时长
简介: 本场景以计费方式为例,为您介绍资源编排如何在计费方式为包年包月时动态呈现包年包月的单位和时长。

基于参数关联关系动态呈现参数

1.  实验资源方式简介及开始实验

云起实验室实验资源方式介绍

云起实验室支持个人账户资源一种实验资源方式。

  • 个人账户资源
  • 使用您个人的云资源进行操作,资源归属于个人。
  • 所有实验操作将保留至您的账号,请谨慎操作。
  • 平台仅提供手册参考,不会对资源做任何操作。
  • 说明:使用个人账户资源,在创建资源时,可能会产生一定的费用,请您及时关注相关云产品资源的计费概述。

准备开始实验

在实验开始前,请您选择其中一种实验资源,单击确认开启实验

说明:每个实验所支持的实验资源方式都不相同,实验不一定能满足有三种实验资源方式,请根据实验的实际情况,进行选择。

2.  编写ROS模板

本步骤将指导您如何编写创建基于参数关联关系动态呈现参数的ROS模板。

当您使用ROS创建资源栈管理多种资源时,通常需要打开多个控制台查找资源参数信息。此时您可以在模板的参数配置中指定AssociationProperty以获取所选地域下对应的资源,指定AssociationPropertyMetadata对不同参数添加筛选条件,以便在控制台动态选择参数配置。更多信息,请参见AssociationProperty和AssociationPropertyMetadata

  1. 模版语法。

您可以在参数中指定AssociationProperty和对应的AssociationPropertyMetadata,以便在指定计费方式下动态呈现对应参数。其中,AssociationPropertyMetadata需定义Visible字段,字段中使用函数定义参数是否呈现,具体如下:

Visible {
  Condition: Object; // 呈现当前参数时所依赖的条件。
}

Condition支持的函数和示例如下:

  • Fn::Equals:"Fn::Equals": ['${ChargeType}', "PostPaid"]。
  • Fn::Not:"Fn::Not": ${condition}。
  • Fn::And:"Fn::And": [${condition1}, ${condition2}, ...]。
  • Fn::Or:"Fn::Or": [${condition1}, ${condition2}, ...]。
  1. 定义模板参数(Parameters)。

参数

参数名称

参数说明

ChargeType

计费方式

AssociationProperty取值为ChargeType,表示根据计费方式的取值筛选,ChargeType取值为PrePaid(包年包月计费)或PostPaid(按量计费)。

PeriodUnit

包年包月计费方式的时长单位

AssociationPropertyMetadata取值为{"Visible": {"Condition": {"Fn::Not": {"Fn::Equals": ["${ChargeType}","PostPaid"]}}}},表示ChargeType取值不为PostPaid时,呈现PeriodUnit。

Period

购买包年包月资源的时长

AssociationPropertyMetadata取值为{"Visible": {"Condition": {"Fn::Not": {"Fn::Equals": ["${ChargeType}","PostPaid"]}}}},表示ChargeType取值不为PostPaid时,呈现Period。

定义参数的关联属性(AssociationProperty和AssociationPropertyMetadata)后,ROS控制台将动态查询参数的取值列表。

  1. 创建基于参数关联关系动态呈现参数的ROS模板示例代码如下:
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ChargeType": {
      "Label": {
        "en": "Charge Type",
        "zh-cn": "计费方式"
      },
      "Type": "String",
      "AssociationProperty": "ChargeType",
      "AssociationPropertyMetadata": {
        "LocaleKey": "InstanceChargeType"
      }
    },
    "PeriodUnit": {
      "Label": {
        "en": "Period Unit",
        "zh-cn": "包年包月计费方式的时长单位"
      },
      "Type": "String",
      "AllowedValues": ["Week", "Month"],
      "Default": "Month",
      "AssociationPropertyMetadata": {
        "Visible": {
          "Condition": {
            "Fn::Not": {
              "Fn::Equals": ["${ChargeType}", "PostPaid"]
            }
          }
        },
        "LocaleKey": "PricingCycle"
      }
    },
    "Period": {
      "Label": {
        "en": "Period",
        "zh-cn": "购买包年包月资源的时长"
      },
      "Type": "Number",
      "AllowedValues": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60],
      "Default": 1,
      "AssociationPropertyMetadata": {
        "Visible": {
          "Condition": {
            "Fn::Not": {
              "Fn::Equals": ["${ChargeType}", "PostPaid"]
            }
          }
        }
      }
    }
  },
  "Metadata": {
    "ALIYUN::ROS::Interface": {
      "ParameterGroups": [
        {
          "Parameters": ["ChargeType", "PeriodUnit", "Period"],
          "Label": {
            "default": "公共配置"
          }
        }
      ],
      "TemplateTags": [
        "acs:example:云起实验室:基于参数关联关系动态呈现参数",
        "acs:developer:云起实验室:基于参数关联关系动态呈现参数"
      ]
    }
  }
}

3.  创建资源栈

本步骤将指导您如何使用您的阿里云账号,通过资源编排控制台创建基于参数关联关系动态呈现参数,以计费方式为例,展示在计费方式为包年包月时动态呈现包年包月的单位和时长。

  1. 前往资源编排控制台
  2. 资源栈列表页面,选择创建资源栈>使用新资源(标准)

  1. 选择模板页签,指定模板选择已有模板,模板录入方式选择输入模板,将上一小节中的创建基于参数关联关系动态呈现参数的ROS模板内容复制到模板内容输入框中,然后单击下一步

  1. 模板参数关联关系动态呈现。
  • 配置模板参数页签,选择计费方式包年包月,其展示信息如下。

  • 配置模板参数页签,选择计费方式按量付费,其展示信息如下。

  1. 配置模板参数页签,根据您的需求,选择其中一种计费方式,然后单击创建

返回如下页面,单击图标刷新页面,状态变为创建成功,表示您已成功创建。

4.  查看资源栈

  1. 查看资源栈信息。

单击资源栈信息页签,您可以查看到资源栈的基本信息资源栈策略

  1. 查看资源栈事件。

单击事件页签,您可以查看资源栈生命周期中发生的每一个事件。

  1. 查看资源栈资源和输出。

本场景仅以计费方式为例,为您介绍如何在计费方式为包年包月时动态呈现包年包月的单位和时长,未涉及资源创建,故为空。

  1. 查看资源栈参数。

单击参数页签,您可以查看创建资源栈时,模板中指定的参数,包括ROS提供的以ALIYUN::开头的伪参数。此处我们重点关注ChargeType、PeriodUnit和Period的参数值。

  1. 查看资源栈模板。

单击模板页签,您可以查看资源栈所对应的模板信息。

5.  释放资源栈(可选)

本步骤将指导您如何释放通过资源编排控制台创建资源内容(本场景未涉及到付费资源的创建)。

1. 在模板页签,单击右上角的 图标。

2. 在资源栈列表页面,找到您创建的资源栈,单击操作列下的删除

3. 在删除资源栈对话框中,删除方式选择释放资源,单击确定

实验链接:https://developer.aliyun.com/adc/scenario/8a003d16ba18497ca15ad5d608fce965



相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
API Serverless 监控
函数组合的N种方式
随着以函数即服务(Function as a Service)为代表的无服务器计算(Serverless)的广泛使用,很多用户遇到了涉及多个函数的场景,需要组合多个函数来共同完成一个业务目标,这正是微服务“分而治之,合而用之”的精髓所在。
2351 0
|
4月前
|
SQL 开发者
访问者模式问题之FunctionExtractor是怎么工作的,以从SqlNode中提取函数名称的
访问者模式问题之FunctionExtractor是怎么工作的,以从SqlNode中提取函数名称的
|
4月前
|
前端开发 开发者 数据格式
|
4月前
|
存储 开发框架 前端开发
EAV模型(实体-属性-值)的设计和低代码的处理方案(3)-- 实体属性定义及前端列表展示和数据录入处理
EAV模型(实体-属性-值)的设计和低代码的处理方案(3)-- 实体属性定义及前端列表展示和数据录入处理
|
6月前
|
数据安全/隐私保护 C++
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。
|
5月前
|
JavaScript
交叉类型的主要用途是表示对象的合成
交叉类型的主要用途是表示对象的合成
30 0
|
7月前
|
供应链 搜索推荐
偏好类标签支持自定义统计方式,标签场景覆盖更广
在个性化营销场景,零售商必须理解顾客的行为才能更准确的预测客户需求,优化库存管理、制定营销策略,并提供个性化的购物体验,然而偏好类标签的加工不仅仅是简单的属性出现频次或最大值的统计,Dataphin V4.0版本新增了自定义统计的方式加工偏好标签,通过简单的配置即可完成复杂的标签加工场景。
|
7月前
|
算法 编译器 C++
【C++ 概念区分】C++ 中覆盖,重写,隐藏 三者的区别
【C++ 概念区分】C++ 中覆盖,重写,隐藏 三者的区别
184 0
ECharts分段型视觉映射组件的属性修改
ECharts分段型视觉映射组件的属性修改
62 0
26EasyUI 数据网格- 动态改变列
26EasyUI 数据网格- 动态改变列
44 0