Openstack Heat Template 模板定义说明(一)

Win11+VSCode+TeXLive:学术党必备的LaTeX环境配置避坑指南(2024最新版) 本文详细介绍了如何在Windows 11系统下,通过VSCode编辑器与TeXLive发行版配置高效的LaTeX学术写作环境。针对国内用户常见的镜像下载慢、插件配置复杂等问题,提供了优化方案和避坑指南,帮助科研人员和学生快速搭建流畅的学术写作工作流。 阅读详情

本文为openstack 官方wiki的翻译,略有增删 

http://docs.openstack.org/user-guide/content/hot-spec.html

heat 模板结构

以YAML格式定义的HOT模板使用如下结构:

heat_template_version: 2013-05-23
 
description:
  # description of the template
 
parameter_groups:
  # declaration of input parameter groups and order
 
parameters:
  # declaration of input parameters
 
resources:
  # declaration of template resources
 
outputs:
  # declaration of output parameters
  
1. heat_template_version
heat 模板版本号:heat 模板的版本号不仅代表模板的格式,也包含所支持的特性,目前heat版本号支持如下两个值:
 2013-05-23 
 提示: 该版本包含icehouse及以前的heat特性
 2014-10-16
 提示: 该版本包含juno及以前的heat特性,即包含新添加的,也存在删除一些旧特性
 
2.description
该部分是针对当前模板功能的详细描述

3.parameter_groups
这是模板的可选部分,该部分定义应该如何组织输入参数

4.parameters
这是模板的可选部分,该部分定义在初始化模板时必须提供的输入参数

5.resources
该部分包含模板资源的声明,在任何模板中该部分中都应至少包含一个资源类型,否则模板实际上将不会做任何事情


6.outputs
这是模板的可选部分,该部分描述在模板初始化后,对用户可见的输出参数


Parameter groups section

待补充


Parameters section

该部分定义在初始化模板时必须提供的输入参数,例如在每次部署模板时,自定义每次部署的参数值或者绑定到不同环境,例如特定的镜像


每个参数都由嵌套的模块定义,参数名称在第一行定义,而附加属性例如类型或者默认值作为嵌套元素
典型的参数定义如下格式:
parameters:
  <param name>:
    type: <string | number | json | comma_delimited_list | boolean>
    label: <human-readable name of the parameter>
    description: <description of the parameter>
    default: <default value for parameter>
    hidden: <true | false>
    constraints:
      <parameter constraints>


格式中每个嵌套元素的含义如下:

param name: 参数的名称
type:参数的类型,支持的类型如string, number,json,comma_delimited_list,boolean
label: 可选属性,便于阅读的参数名称/标签
description:可选属性,便于阅读的参数描述
default:可选属性,参数的默认值,当用户没有在部署时定义特定值时将使用默认值来部署栈(stack,下同)
hidden:可选属性,规定当用户使用模板创建栈时,该参数是否应该隐藏,这个属性可以用来隐藏密码类型的参数
constraints:可选属性,对参数的约束,heat引擎部署栈时将使用该约束来检查用户的输入参数是否满足要求


下面是参数定义的简单示例:
parameters:
  user_name:
    type: string
    label: User Name
    description: User name to be configured for the application
  port_number:
    type: number
    label: Port Number
    description: Port number to be configured for the web server


 Parameter constraints

 针对参数的约束有多种约束类型:
 length
 range
 allowed_values
 allowed_pattern
 custom_constraint
 
 参数约束按如下列表形式进行定义:
 constraints:
  - <constraint type>: <constraint definition>

    description: <constraint description>


constraint type:约束类型
constraint definition:约束定义,实际定义约束的地方,每个约束类型的具体语法后面会介绍。
description:约束的描述,是可选属性,该文字将在用户提供了不满足于参数要求的值时显示给用户。


如下示例显示了带两个约束的参数定义:
parameters:
  user_name:
    type: string
    label: User Name
    description: User name to be configured for the application
    constraints:
      - length: { min: 6, max: 8 }
        description: 用户名必须是6到8个字符长度
      - allowed_pattern: "[A-Z]+[a-zA-Z0-9]*"
        description: 用户名必须以大写字母开头


length 长度

长度约束可应用于字符串(string)类型的参数,它定义了该字符串类型参数的最小和最大长度,语法如下:
length: { min: <下限>, max: <上限> }
可以只定义上限或者下限,但是二者至少要有一个,不可以都不提供

range 范围
范围约束可应用于数值(number)类型的参数,它定义了一个数值类型参数的最小和最大值,语法如下:
range: { min: <下限>, max: <上限> }
可以只定义上限或者下限,但是二者至少要有一个,不可以都不提供

allowed_values 有效值
有效值约束可应用于数值或字符串类型的参数,它指定了一个参数可能出现的参数值集合,在部署时,用户提供的值必须匹配有效值列表中的某个元素
语法如下:
allowed_values: [ <值1>, <值2>, ... ]
或者如下格式:
allowed_values:
  - <值1>
  - <值2>
  - ...

例如:
parameters:
  instance_type:
    type: string
    label: Instance Type
    description: Instance type for compute instances
    constraints:
      - allowed_values:
        - m1.small
        - m1.medium
        - m1.large

allowed_pattern 有效模式
有效模式约束可应用于字符串类型的参数,它指定了一个正则表达式用来检查用户提供的参数值,语法如下:
allowed_pattern: <正则表达式>


例如:
parameters:
  user_name:
    type: string
    label: User Name
    description: User name to be configured for the application
    constraints:
      - allowed_pattern: "[A-Z]+[a-zA-Z0-9]*"
        description: 用户名必须以大写字母开头


custom_constraint 自定义约束
自定义约束增加了校验时的额外检查项,通常同来检查后端的特定资源是否存在,一般自定义约束由插件实现,以提供一些高级的检验逻辑
例如:
parameters:
  key_name
    type: string
    description: SSH key pair
    constraints:
      - custom_constraint: nova.keypair


Pseudo Parameters 伪参数
除了模板作者定义的参数,heat模块也为每个栈创建了两个参数来引用栈的名称和id,这两个参数被定义为OS::stack_name 和OS::stack_id
它们的值可以通过get_param 内置方法来获得。
企业微信群机器人Webhook配置全攻略:从创建到发送消息的完整流程 本文详细介绍了企业微信群机器人Webhook的配置流程,从创建机器人到获取Webhook地址,再到发送各类消息的完整步骤。通过Python代码示例展示了文本、Markdown等消息类型的发送方法,并提供了性能优化建议和常见问题排查技巧,帮助企业高效实现自动化消息推送。 阅读详情

相关推荐

RouterOS网桥VLAN实战:从零构建安全隔离的二层虚拟网络

本文详细讲解了如何在RouterOS上利用网桥和VLAN功能,从零开始构建安全隔离的二层虚拟网络。通过分步实战演示,涵盖核心概念、网桥创建、PVID设置、VLAN规则配置及安全过滤,帮助网络管理员实现办公、访客与服务器网络的逻辑隔离与灵活管理,提升网络安全性。

u9v0w的博客 504

OpenStack——编排(Heat)服务介绍与安装

OpenStack Heat 是一个基于模板的编排服务,用于自动化部署和管理基础设施资源。它允许用户通过编写模板文件来描述所需的基础设施资源和配置,然后使用 Heat 引擎来解析和执行这些模板,自动创建、配置和管理云环境中的资源。

不知道 4753

CentOS 环境 sngrep 安装及使用

在呼叫中心类应用开发过程中,经常需要对 SIP 信令抓包,分析排查问题。通常抓包的工具非常多样,如 Wireshark、tcpdump、ngrep 等都是可选项,但是针对 SIP 信令的抓包,sngrep 则更为好用。因为 sngrep 不仅提供了图形界面,还会将一通会话的 SIP 信令关联汇总,非常直观执行以下命令下载 的相关依赖库 1.2 添加 sngrep 的源并导入 执行下面的命令新增一个源仓库配置文件 然后在该文件中写入以下配置内容 执行命令导入源仓库的公钥 1.3 安装 sngrep

谈谈1974 8148

OpenStack Heat模板详解

Heat模板全称为heat orchestration template,简称为HOT。 1典型Heat模板结构 heat_template_version: 2015-04-30 description: # a description of the template parameter_groups: # a declaration of input param...

weixin_30652491的博客 1303

Veristand自动化测试:Stimulus Profile Editor实战指南

本文是Veristand自动化测试中Stimulus Profile Editor的实战指南。详细介绍了如何利用这一图形化工具,将繁琐的手动测试流程转化为一键自动执行的“剧本”,涵盖工程控制、信号编程、预制动作调用等核心功能,并通过手把手案例演示了构建首个自动化测试脚本的全过程,帮助测试工程师显著提升效率与可靠性。

dd012的博客 493

别再让CPU干GPU的活了:CST Studio Suite GPU加速深度调优指南(从驱动版本到任务管理器监控)

本文深入探讨了CST Studio Suite的GPU加速深度调优方法,从NVIDIA驱动版本选择到系统级资源管理,再到实时监控与瓶颈诊断技术。通过科学的驱动优化、GPU资源管理策略和高级调优技巧,显著提升仿真效率,特别适合电磁仿真工程师和硬件加速需求的专业用户。

weixin_28740299的博客 166

openstack heat 编排模板(HOT)指南

openstack heat 编排模板指南openstack 版本HOT hello worldHOT 指南模板结构Parameter groups sectionParameters section内置的参数Resources sectionResource dependenciesOutputs sectionConditions section函数get_attrget_fileget_paramget_resourcelist_joindigestrepeatstr_replacestr_repla

xin053 7087

接口电路设计的关键要点

接口电路设计是嵌入式硬件开发的核心环节,本文系统阐述了五大关键设计要点:1)电平匹配技术,详细分析了3.3V/5V系统互连方案及转换电路计算;2)阻抗匹配原理,包括高速信号反射机制及差分信号处理;3)滤波与去耦设计,提出多级电容配置和"先电容后过孔"布局原则;4)接地设计规范,重点说明模拟/数字地分离及高速信号回流路径;5)防护电路设计,涵盖防反接、过流保护及ESD防护方案。文章通过具体计算公式、器件选型指南和布局技巧,为接口电路设计提供了系统化的解决方案,并附有设计检查清单和典型问题分

weiyvyy的博客 454

heat模板快速查找资源对象(离线版)

1.使用heat编排的yaml创建一个名为m1.flavor,ID为1234,内存为1024MB,硬盘为10GB ,vcpu数量为2的云主机类型2.创建内网及其子网3.创建外网及其子网"Ref" : heat - network } # 父网络同时创建网络和子网的heat模板正确答案4.创建镜像swift post test #创建一个test容器swift upload test 镜像地址 # 向test容器上传容器打开openstack平台打开公开访问 复制地址5.创建user。

wyq2822875262的博客 364

某手短视频用户主页视频列表爬虫实战:从原理到完整实现

随着短视频平台的迅猛发展,某手(为保护平台隐私,本文以“某手”代指实际目标)已经成为国内最大的短视频社交平台之一,拥有数亿日活用户。对于数据分析师、内容创作者和市场营销人员而言,获取某个用户主页的视频列表具有重要的研究价值——无论是分析头部创作者的内容策略,还是监测竞品的发布频率与互动数据,爬虫技术都成为不可或缺的工具。然而,在2024-2025年的技术环境下,某手已经构建了多层次的反爬机制:包括接口签名加密、请求参数动态混淆、设备指纹检测、IP行为分析以及Web端无限滚动加载的异步数据获取方式。

2201_76125261的博客 540

基于Playwright与异步技术的公司评价智能爬取实战:以Glassdoor为例

本文将介绍一套基于最新Python技术的智能爬虫解决方案,使用Playwright实现浏览器自动化,结合异步编程和智能解析技术,高效抓取Glassdoor等平台的公司评价数据。我们不仅关注数据获取,更注重数据的结构化处理和反反爬虫策略的实现。

2201_76125261的博客 223

openstack-heat服务栈的创建

在openstack中,Heat模板文件可以实现实例资源的批量自动化部署,避免了重复的操作,解放了我们的双手,甚至可以一劳永逸。 Heat用来模板创建栈,栈会根据模板内容创建实例,栈还可以监控它所创建的实例。 Heat服务创建栈: [root@controller ~]# heat stack-create -f server.yml -P Image=centos7 -P Net=int-...

学习技术是为了早点下班! 3123

基于传感器数据实现火灾报警预测分析

火警 系统当检测到烟雾、火灾、一氧化碳或其他与火灾有关或一般通知的紧急情况时,向人们发出警告

DT程序员的博客 723

openstack heat template之stack管理

创建heat stack: $ git clone https://git.openstack.org/openstack/heat-templates $ 设置默认的flavor,image,admin_pass,使用如下命令指定连接cloud的key的名字 $ openstack stack create --template heat-templates/hot/hello_worl...

neu_xiaolu的博客 720

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

OpenStack-Heat中template的formatversion介绍

template中有三个formatversion,第一种是aws的格式,表示这是一个json文件;第二种是heat为了扩展aws并且更好的加入注释,引入的yaml格式文件;第三种是openstack的heat特有的hot格式的头部,也是基于yaml格式的。 "AWSTemplateFormatVersion": "2010-09-09", HeatTemplateFormatVersi

云计算架构 2662

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

配置heat AutoScalingMultiAZSample.template 模板

cat /etc/heat/heat.conf [DEFAULT] use_syslog = False debug = True auth_encryption_key = e27780df1696556366a0b7dbaaee6585 heat_watch_server_url = http://192.168.1.101:8003 heat_waitcondition_server_u

starean的专栏 2040

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Heat 显示嵌套template

Heat 显示嵌套template

gsllovefly的博客 1323

Heat介绍

Heat简介 Heat是一个基于模板来创建相关资源的服务,是OpenStack的核心项目之一,可以通yaml文件生成模板,通过Heat-agent组件,在OpenStack中创建相关的资源,除此之外,它还支持自有的Haut模板和亚马逊的cloudy formation格式的模板,模板支持丰富的资源类型,不仅覆盖了常用的技术架构,包括计算、网络、存储、镜像等,还覆盖了ceilometer的警报、实...

LiuXiaoXueer的博客 2001

OpenStack Heat Templates 项目常见问题解决方案

OpenStack Heat Templates 项目常见问题解决方案 项目基础介绍 OpenStack Heat Templates 项目是 OpenStack 云平台中的一个重要组件,主要用于通过模板来编排和部署复杂的云应用。该项目提供了丰富的示例模板、镜像构建模板、模板相关的脚本和转换工具,以及软件配置钩子。Heat Templates 的主要编程语言包括 Python、Shell、Powe...

gitblog_01109的博客 929

OpenStack Heat服务介绍

这篇博文开始介绍一下OpenStack中的Orchestration Service:Heat。 Orchestration这个词对一部分人也许还很陌生。Wikipedia上的解释是”theautomated arrangement, coordination, and management of complex computersystems, middleware, andser

tuolaji8的专栏 1041

openstack heat模板的整体结构

openstack的heat模板给予YAML语言进行编写,基本结构如下: heat_template_version: 2016-10-14 description: # a description of the template parameter_groups: # a declaration of input parameter groups and order...

weixin_30782293的博客 189

heat auto scaling template

模板见下面链接: https://github.com/double12gzh/heat-templates/tree/master/autoscaling heat 中可以实现auto scaling 的资源有 ResourceGroup InstanceGroup OS::Heat::AutoScalingGroup OS::AWS::AutoScalingGroup

gzhouc的专栏 758

python通过jinja2模板生成openstack heat模板

由于openstack heat模板并没有for循环的方法,因此想通过heat批量创建资源,如创建N多路由器,则需要先通过python将jinja2的模板,生成一个heat模板,shaker中采用的就是这个方法: 用于生成heat模板的jinja2模板如下: heat_template_version: 2013-05-23 description: create some n...

weixin_30279315的博客 146

openstack的heat服务中出现的小问题

openstack stack create -t create_flavor.yaml test #执行heat模板。出现了Missing value auth-url required for auth plugin password。然后再执行heat模板,可以用openstack stack list查看。祝:希望我们都能越学越好,加油。

2301_79650785的博客 640

Heat template %index%

http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Heat::ResourceGroup     index_var Note   Availablesince 2014.2 (Juno) Avariable that this resource will use to rep

gsllovefly的博客 954

OpenStack架构深度解析

本文从 2010 年 NASA 与 Rackspace 的合作说起,带你了解 OpenStack 的起源与版本演进,深入拆解其逻辑架构与设计理念,并用表格对比它与虚拟化、云计算的区别。随后逐一对 Horizon、Keystone、Glance、Nova、Cinder、Swift、Manila、Neutron、Heat、Ceilometer 、Ironic 11大核心组件进行解读,最后以"创建一台虚拟机"为例展示各服务如何协同工作,帮你真正理解 OpenStack 为什么被称为云操作系统。

fb_12345的博客 760
上一篇: <Linux Shell脚本攻略>书摘
纳兰诺
博客等级 码龄20年 0粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值