AOS编排语言系列教程(十一):输入inputs,扩展模板可复用性

举报
tsjsdbd 发表于 2018/10/26 14:19:38 2018/10/26
【摘要】 大家也许会发现,创建数据库模板和分布式缓存模板中用到了inputs,将密码参数写到inputs中,创建堆栈时由用户输入可以保证安全性,避免明文密码。而之前创建的模板中其他属性值都是固定的,如果我们想修改其他参数值,就必须重新修改模板再上传,非常不方便。例如创建ECS时,部署时云服务器使用的镜像需要改变,并且创建云服务器数量不是固定的。这种情况我们就可以使用inputs来定义这些可变部分。

大家也许会发现,创建数据库模板和分布式缓存模板中用到了inputs,将密码参数写到inputs中,创建堆栈时由用户输入可以保证安全性避免明文密码。而之前创建的模板中其他属性值都是固定的,如果我们想修改其他参数值,就必须重新修改模板再上传,非常不方便。例如创建ECS时,部署时云服务器使用的镜像需要改变,并且创建云服务器数量不是固定的。这种情况我们就可以使用inputs来定义这些可变部分。

inputs中可以指定输入参数类型、给出参数描述信息和默认值。一个模板最多支持定义60inputs输入参数。每个input输入参数,都需要定义唯一的名称,以便在使用时通过get_input内置函数获取到具体的值。

tosca_definitions_version: huaweicloud_tosca_version_1_0
inputs:  # 输入,定义基于模板创建堆栈的可变部分
  instance:
    description: 创建云服务器数量
    default: 1
  image:
    description: 云服务器使用的镜像ID
    type: HuaweiCloud.ECS.Image.Id
  vpc:
    description: 云服务器VPCID
  subnet:
    description: 云服务器子网ID
node_templates:
  myecs:
    type: HuaweiCloud.ECS.CloudServer
    properties:
      name: my-ecs
      instances:
        get_input: instance
      imageId:
        get_input: image
      flavor: s3.small.1
      vpcId:
        get_input: vpc
      availabilityZone: cn-south-1c
      nics:
        - subnetId:
            get_input: subnet
      rootVolume:
        volumeType: SSD
        size: 40

模板中云服务器使用的镜像imageId、创建云服务器数量instances、虚拟私有云和子网id都是由用户输入,用户在创建堆栈时配置这些输入参数。

11输入参数.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。