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

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

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

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实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
相关文章
|
存储 编译器 索引
Verilog基础【一】
Verilog基础【一】
823 0
|
传感器 编解码 监控
微型打印机控制电路的设计(1)
微型打印机控制电路的设计(1)
1015 0
微型打印机控制电路的设计(1)
|
5月前
|
人工智能
当我用openclaw打造高效生活教练
ENTP型人格常陷于思辨而行动滞后,openclaw成为其专属生活教练:基于私有数据生成简洁SOP,覆盖每日5时段、每周7主题、审美/月度等系统,将决策自动化,释放精力专注创造。✅已落地执行!
|
10月前
|
API 定位技术 开发工具
百宝箱开放平台 ✖️ Android 集成说明
本文介绍如何通过SDK将百宝箱与友盟+ Android应用集成,涵盖环境配置、权限声明、混淆设置、SDK初始化及预初始化、日志查看、效果验证等步骤,并提供完整demo工程及参数说明,助力开发者快速实现功能集成。
540 1
百宝箱开放平台 ✖️ Android 集成说明
|
8月前
|
人工智能 数据可视化 数据挖掘
2025 年企业 BI 系统搭建指南,适合大型企业的BI产品推荐
2025年,企业数字化转型迈向深水区,数据驱动决策成核心竞争力。本文聚焦瓴羊Quick BI、微软Power BI、Tableau、思迈特Smartbi、永洪Yonghong五大主流BI工具,从背景、功能到案例全面解析,助力企业高效选型与落地应用。
|
9月前
|
传感器 缓存 JSON
中国供应网 item_search - 按关键词搜索商品接口对接全攻略:从入门到精通
中国供应网item_search接口是工业B2B采购核心工具,支持关键词组合搜索与多维度筛选,批量获取商品价格、规格、库存及供应商信息。本攻略详解接口调用、签名生成、分页获取、数据去重与工业场景优化,助开发者高效对接,适用于采购选品、竞品分析与市场调研。
|
云安全 存储 安全
阿里云安全体检功能深度评测报告
本次体检通过深度扫描发现了4类安全隐患:高危端口暴露、未修复的Log4j2漏洞、OSS存储桶权限错误。针对这些问题,我们采取了具体修复措施,如限制源IP、热更新参数等。体检项目在安全组可视化、漏洞修复指引等方面表现出色,但也存在容器安全检测不足等问题。建议增加一键阻断功能和OpenAPI接口,优化误报反馈机制,并添加合规检测模块。总体而言,阿里云安全体检在风险发现效率上表现优异,建议与云防火墙等产品联动,形成动态防御体系。
|
移动开发 前端开发 JavaScript
React 视频播放控制组件 Video Controls
本文深入探讨了如何使用React创建功能丰富的视频播放控制组件(Video Controls)。首先介绍了React与HTML5 `<video>` 标签的基础知识,展示了如何通过状态管理和事件处理实现自定义控件。接着分析了常见问题如视频加载失败、控件样式不一致、状态管理混乱和性能问题,并提供了相应的解决方案。最后通过完整代码案例详细解释了播放、暂停、进度条和音量控制的实现方法,帮助开发者在React中构建高质量的视频播放组件。
727 17
HTML单页自适应网址导航源码
HTML单页自适应网址导航源码
456 1
|
存储 NoSQL 架构师
阿里面试:聊聊 CAP 定理?哪些中间件是AP?为什么?
本文深入探讨了分布式系统中的“不可能三角”——CAP定理,即一致性(C)、可用性(A)和分区容错性(P)三者无法兼得。通过实例分析了不同场景下如何权衡CAP,并介绍了几种典型分布式中间件的CAP策略,强调了理解CAP定理对于架构设计的重要性。
874 4