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

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

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

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入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
相关文章
|
移动开发 JavaScript 小程序
uView Cell 单元格
uView Cell 单元格
483 1
|
应用服务中间件 nginx 数据安全/隐私保护
百度搜索:蓝易云【Nginx启动,重启以及基本命令详解!】
请注意,上述命令可能需要在终端中以管理员权限(使用sudo)运行。根据你的系统配置和安装方式,可能会有所不同。确保使用适用于你的系统的正确命令。
554 3
可能是由于PHPStorm的授权验证出现了问题
可能是由于PHPStorm的授权验证出现了问题
368 1
|
存储 JavaScript 网络安全
电脑上安装多个nodeJS版本实现一键切换
电脑上安装多个nodeJS版本实现一键切换
404 1
|
物联网 语音技术 Swift
魔搭社区LLM模型部署实践, 以ChatGLM3为例(二)
魔搭社区LLM模型部署实践, 以ChatGLM3为例(二)
724 1
|
Java 测试技术 Nacos
SpringCloud之Nacos配置中心解读
SpringCloud之Nacos配置中心解读
|
存储 JavaScript API
【源码&库】Vue3 的响应式核心 reactive 和 effect 实现原理以及源码分析
【源码&库】Vue3 的响应式核心 reactive 和 effect 实现原理以及源码分析
387 0
|
安全 网络协议 API
[笔记]深入解析Windows操作系统《三》系统机制(五)
[笔记]深入解析Windows操作系统《三》系统机制(五)
794 0
|
运维 Kubernetes Cloud Native
KubeVela 安装以及第一个应用 | 学习笔记
快速学习 KubeVela 安装以及第一个应用
KubeVela 安装以及第一个应用 | 学习笔记
|
弹性计算 虚拟化 异构计算
阿里云GPU服务器多少钱一小时?2023阿里云GPU服务器详细介绍及价格表
阿里云GPU服务器租用价格表包括包年包月价格、一个小时收费以及学生GPU服务器租用费用,阿里云GPU计算卡包括NVIDIA V100计算卡、T4计算卡、A10计算卡和A100计算卡,GPU云服务器gn6i可享受3折优惠,阿里云百科分享阿里云GPU服务器租用价格表、GPU一个小时多少钱以及学生GPU服务器收费价格表:
835 0