华为云用户手册

  • 模型属性 表1 模型定义属性说明 属性 是否必选 描述 dnsList 否 子网dns服务器地址的集合。如果想使用两个以上dns服务器,需要填写该字段 参数类型:ip数组 取值说明:必须是IP的数组,如:["8.8.8.8", "4.4.4.4", "6.6.6.6"] 取值约束:必须是IP的数组格式,必须包含primaryDns和secondaryDns的值 使用建议:如果子网中需要DNS服务器的话,primaryDns、dnsList必须填写其中一个;primaryDns、secondaryDns、dnsList都不填写的情况下,创建出来的子网将不会带有DNS服务器。 vpcId 是 子网所属VPC的ID 参数类型:HuaweiCloud.VPC.VPC.Id 取值说明:支持使用已有或新建虚拟私有云的ID。如果使用新建的VPC,需在模板中定义VPC对象并建立依赖关系,建议通过拖拽到VPC内自动生成 取值约束:必须是cidr格式,例如:192.168.0.0/16 使用建议:1. 建议使用get_input方式赋值,模板使用者可在创建资源栈时从列表中选择一个已存在的VPC 2. 如果获取本模板内的VPC信息,建议通过get_reference方法获取,使用设计器建立VPC与Subnet的连接关系时会自动生成 3. 在VPC服务界面获取已经创建好的VPC的ID,参见 https://console.huaweicloud.com/vpc name 是 子网名称 参数类型:string 取值说明:自定义,如musubnet 默认值:"" 取值约束:同一个vpc下唯一,长度为[1, 64],由大写字母、小写字母、数字,下划线(_)和中划线(-)组成 使用建议:用户自定义,不填写时系统将自动分配名称 secondaryDns 否 子网的DNS服务器地址2 参数类型:ip 取值说明:必须是IP格式,如 4.4.4.4 取值约束:必须是IP格式 gateway 是 子网的网关 参数类型:ip 取值说明:在子网CIDR地址的范围内的网关地址 默认值:192.168.1.1 取值约束:必须是IP格式,且符合网关的IP规则,如:192.168.1.1 使用建议:用户根据所要使用的IP范围进行自定义 availabilityZone 否 子网所在的可用区名称 参数类型:HuaweiCloud.ECS.AvailabilityZone.Name 取值说明:待创建云服务器所在的可用区,需要指定可用区(AZ)的名称,例如cn-north-1a。请参考地区和终端节点获取:https://developer.huaweicloud.com/endpoint 取值约束:根据所属区域选择,参见https://developer.huaweicloud.com/endpoint。 使用建议:建议使用get_input方式赋值,模板使用者可在创建资源栈时从列表中选择 primaryDns 否 子网的DNS服务器地址1 参数类型:ip 取值说明:满足IP地址的格式,如 8.8.8.8 取值约束:必须是IP格式 使用建议:如果子网中需要DNS服务器的话,primaryDns、dnsList必须填写其中一个;primaryDns、secondaryDns、dnsList都不填写的情况下,创建出来的子网将不会带有DNS服务器。 dhcpEnable 是 是否为该VPC的子网开启DHCP功能 参数类型:boolean 取值说明:true(启用):开启DHCP功能。使用该VPC的弹性云服务器启动过后,会通过DHCP协议自动获取到IP地址。false(停用):停用DHCP功能。使用该VPC的弹性云服务器启动过后,无法自动获取IP地址,需要手动为该弹性云服务器配置IP地址 默认值:True 取值约束:true或false 使用建议:用户根据自己的需求进行选择,建议开启 cidr 是 子网内可使用的地址范围 参数类型:string 取值说明:取值范围:10.0.0.0/8~10.255.255.0/24或者172.16.0.0/12 ~ 172.31.255.0/24或者192.168.0.0/16 ~ 192.168.255.0/24 默认值:192.168.1.0/24 取值约束:必须是cidr格式,例如:192.168.0.0/16,必须在vpc对应cidr范围内 使用建议:用户根据所要使用的IP范围进行自定义
  • blueprint样例 tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: vpc-name: default: vpc type: string vpc-cidr: default: 192.168.0.0/16 type: string subnet-name: type: string default: subnet subnet-cidr: default: 192.168.0.0/24 type: string subnet-gateway: type: ip default: 192.168.0.1 dhcenable: type: boolean default: true availabilityZone: description: 子网所在的可用区名称 label: '' node_templates: my-vpc: type: HuaweiCloud.VPC.VPC properties: name: get_input: vpc-name cidr: get_input: vpc-cidr my-subnet: type: HuaweiCloud.VPC.Subnet properties: name: get_input: subnet-name cidr: get_input: subnet-cidr gateway: get_input: subnet-gateway dhcpEnable: get_input: dhcenable dnsList: [114.114.114.115,114.114.114.114] vpcId: get_attribute: [my-vpc,refID] availabilityZone: get_input: availabilityZone requirements: - vpcId: node: my-vpc relationship: HuaweiCloud.Relationships.ContainedIn
  • blueprint样例 tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: availabilityZone: description: 可用区 size: description: 云硬盘大小 default: 10 volumeType: description: 云硬盘类型 default: SATA name: description: 云硬盘名称 default: my-evs node_templates: my-evs: type: HuaweiCloud.EVS.NonSharedVolume properties: size: get_input: size availabilityZone: get_input: availabilityZone volumeType: get_input: volumeType name: get_input: name outputs: evs-id: description: 云服务器的ID value: get_attribute: - my-evs - volumeIDs
  • 模型属性 表1 模型定义属性说明 属性 是否必选 描述 availabilityZone 是 可用区 参数类型:HuaweiCloud.ECS.AvailabilityZone.Name 取值说明:待创建云硬盘所在的可用区,需要指定可用区(AZ)的名称,例如cn-north-1a。 取值约束:按需选择,注意如果备份ID字段backupId不为空时,填写的AZ必须与备份所在AZ相同 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时时可自动选择。2. 各Region的可用区请参见:https://developer.huaweicloud.com/endpoint。 description 否 云硬盘描述信息 参数类型:string 取值说明:用户自定义 取值约束:{u'max_length': 255} image 否 云硬盘使用的镜像ID 参数类型:HuaweiCloud.ECS.Image.Id 取值说明:待创建云硬盘的IMS中镜像ID,指定该参数表示创建云硬盘方式为从镜像创建云硬盘。不支持同时使用“image”、“snapshotId”和“backupId”这三个字段中的任意两个。 取值约束:满足UUID规则,最大64位 使用建议:建议通过get_input方式定义以便在使用模板时可以选择 volumeType 是 云硬盘类型 参数类型:HuaweiCloud.EVS.Volume.Type.Name 取值说明:可选值为: SSD,SAS,SATA,“SSD”为超高IO云硬盘,“SAS”为高IO云硬盘,“SATA”为普通IO云硬盘。从快照创建云硬盘时,volumeType字段必须和快照源云硬盘保持一致。 使用建议:用户根据规格按需填写。了解不同磁盘类型的详细信息,请参见https://support.huaweicloud.com/productdesc-evs/zh-cn_topic_0044524691.html。 name 否 云硬盘名称 参数类型:string 取值说明:用户自定义, 如share 取值约束:正则规范要求:{"regex":"^[-_a-zA-Z0-9\u4e00-\u9fa5]*$","min_length":1,"max_length":64} 使用建议:用户自定义 passthrough 否 创建云硬盘的设备类型,即metadata.hw:passthrough 参数类型:string 取值说明:默认false,false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。 取值约束:true或者false 使用建议:参考EVS服务资料:https://support.huaweicloud.com/api-evs/evs_04_2003.html backupId 否 云硬盘备份ID 参数类型:string 取值说明:使用云硬盘已有的备份ID。不支持同时使用“image”、“snapshotId”和“backupId”这三个字段中的任意两个。从备份创建云硬盘时为必选。 取值约束:满足uuid的生成规则 size 是 云硬盘大小 参数类型:integer 取值说明:云硬盘大小,单位为GB。系统盘:1GB-1024GB,数据盘:10GB-32768GB。创建空白云硬盘和从镜像/快照创建云硬盘时,size为必选,且云硬盘大小不能小于镜像/快照大小。从备份创建云硬盘时,size为可选,不指定size时,云硬盘大小和备份大小一致。 默认值:40 取值约束:{u'in_range': [10, 32768]} 使用建议:用户根据实际需求自定义。 snapshotId 否 云硬盘快照ID 参数类型:string 取值说明:使用云硬盘使用云硬盘已有的快照ID,指定该参数表示创建云硬盘方式为从快照创建云硬盘。不支持同时使用“image”、“snapshotId”和“backupId”这三个字段中的任意两个。 取值约束:满足uuid的生成规则
  • blueprint样例 tosca_definitions_version: huaweicloud_tosca_version_1_0 node_templates: my-dds: type: HuaweiCloud.DDS.CommunityReplicaSetOrSingle properties: availabilityZone: get_input: my_az securityGroupId: get_input: my_securityGroupId dbRootPassword: get_input: my_password backupStrategy: endTime: '02:00' startTime: '01:00' mode: ReplicaSet subnetId: get_input: my-subnetid dataStore: dbtype: DDS-Community storageEngine: wiredTiger version: 4.0 vpcId: get_input: my_vpcid flavor: nodeOneset: nodeType: replica num: 1 storage: ULTRAHIGH specCode: get_input: my_speccode size: 10 inputs: my_az: description: 实例所属的可用区 my_securityGroupId: description: 实例所属的安全组ID my_password: description: 实例的root用户密码 my-subnetid: description: 实例所属的子网ID my_vpcid: description: 实例所属的VPC ID my_speccode: description: 实例规格
  • 模型属性 表1 模型定义属性说明 属性 是否必选 描述 backupStrategy 是 实例备份策略 参数类型:DDS.BackupStrategy 默认值:{u'endTime': u'02:00', u'startTime': u'01:00'} 取值约束:用户按规格选择定义 name 否 实例名称 参数类型:string 取值说明:用户自定义 默认值:"" 取值约束:1. 4位到64位之间,必须以字母开头,不区分大小写可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。 2. 同一租户下,同类型的实例名唯一。 使用建议:用户自定义 securityGroupId 是 实例所属的安全组ID 参数类型:HuaweiCloud.VPC.SecurityGroup.Id 取值说明:到VPC服务获取安全组ID或通过连线VPC.SecurityGroup自动生成。 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时时可自动选择 2. 通过get_reference获取由本资源栈创建的VPC.SecurityGroup,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面中获取已创建好的安全组的ID,详见https://console.huaweicloud.com/vpc/ dbRootPassword 是 实例的root用户密码。参数非空,由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32位,非弱密码。 参数类型:password 取值说明:用户自定义 取值约束:1. 参数必须写入inputs内,通过get_input的方式传入 2. 参数非空,由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32位,非弱密码。 使用建议:建议定义为get_input方式获取,以保证安全性,避免明文密码 availabilityZone 是 实例所属的可用区 参数类型:HuaweiCloud.ECS.AvailabilityZone.Name 取值说明:待创建云服务器所在的可用区,需要指定可用区(AZ)的名称,例如cn-north-1a。 取值约束:根据所属区域选择。 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时时可自动选择 2. 各Region的可用区请参见:http://developer.huaweicloud.com/endpoint。 mode 是 数据库实例类型 参数类型:string 取值说明:ReplicaSet 或 Single 默认值:ReplicaSet 取值约束:仅可填写ReplicaSet或Single 使用建议:根据规格按需选择 subnetId 是 实例所属的子网ID 参数类型:HuaweiCloud.VPC.Subnet.Id 取值说明:使用已有或创建的子网ID。如果使用新建的,需在模板中定义子网对象并建立依赖关系。建议通过连线VPC.Subnet来自动生成 取值约束:所填子网必须为与VPC关联对应 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时可自动选择 2. 通过get_reference获取由本资源栈创建的VPC.Subnet,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面中获取已创建好的子网的ID,参见https://console.huaweicloud.com/vpc。 dataStore 是 数据库信息 参数类型:DDS.DDSCommunity.DataStore 默认值:{u'storageEngine': u'wiredTiger', u'dbtype': u'DDS-Community', u'version': u'4.0'} 使用建议:在“组成部分”中选择 dataStore 字段根据提示的字段进行扩充填写 vpcId 是 实例所属的VPC ID 参数类型:HuaweiCloud.VPC.VPC.Id 取值说明:支持使用已有或新建私有云ID。 如果使用新建的,需在模板中定义vpc对象并建立依赖关系。建议通过拖拽到VPC内自动生成。 取值约束:满足uuid的生成规则 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时可自动选择 2. 通过get_reference获取由本资源栈创建的VPC.VPC元素,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面获取已经创建好的VPC的ID,参见https://console.huaweicloud.com/vpc flavor 是 数据库实例的规格信息 参数类型:DDS.CommunityReplicaSetOrSingleMode.Flavor 默认值:{u'nodeOneset': {u'nodeType': u'replica', u'num': 1, u'storage': u'ULTRAHIGH', u'specCode': u'unset', u'size': 10}} 使用建议:在“组成部分”中选择 flavor 字段根据提示的字段进行扩充填写
  • 字段说明 表1 字段说明 属性 是否必选 参数类型 描述 scope 否 integer 用来标注需要打标签的node 取值说明:请输入整数,值的最大值不可超过节点数,如果通过get_input获取,请设置其类型为integer,如:type: integer 使用建议:用户自定义 key 否 string 标签的key值 取值说明:用户自定义 使用建议:用户自定义 value 否 string 标签的value值 取值说明:用户自定义 使用建议:用户自定义
  • 模型属性 表1 模型定义属性说明 属性 是否必选 描述 code 是 函数代码 参数类型:string 取值说明:当codeType为inline时,该字段必选,且代码大小不超过10K;当codeType为obs时,该字段为空。在模板中直接编辑函数代码块,使用特殊符号'|'保留函数代码块中的回车和空格。YAML书写规范请参考:http://yaml.org/spec/1.2/spec.html 默认值:"" 取值约束:如果采用在线编辑的方式上传函数代码,代码大小不能超过10K。如果代码较大,建议obs的方式,将代码上传至OBS桶,然后配置codeUrl属性 使用建议:将编辑完成的正确函数代码通过复制粘贴的方式填入该字段 description 否 函数的描述信息 参数类型:string 取值说明:描述信息大小不超过512个字符 取值约束:{u'min_length': 0, u'max_length': 512} 使用建议:将该字段通过get_input函数传入,在AOS界面创建资源栈填写输入参数时可获取 memorySize 是 函数消耗的内存 参数类型:integer 取值说明:单位MB。取值为128的倍数 默认值:128 取值约束:有效值为128, 256, 512, 768, 1024, 1280, 1536 使用建议:将该字段通过get_input函数传入,在AOS界面创建资源栈填写输入参数时可获取 environment 否 环境变量 参数类型:FGS.Environment 取值说明:用户自定义的key/value 环境变量信息,在函数中使用的参数。举例:如函数要访问某个主机,可以设置环境变量:Host:192.168.1.1。 环境变量不超过20组,总长度不超过2048个字符,为避免信息泄露,请不要在环境变量中输入账号、密码等敏感信息。 默认值:{u'variables': {}} dependencyPkg 否 函数依赖代码包的地址 参数类型:string 取值说明:该字段可选,配置该字段前请将函数依赖的第三方软件包上传到obs服务上,多个第三方软件打包到同一个zip文件中 使用建议:该字段通过get_input函数传入,在AOS界面创建资源栈填写输入参数时可获取 handler 是 函数执行入口 参数类型:string 取值说明:规则:xx.xx,必须包含.。举例:对于node.js函数:myfunction.handler,则表示函数的文件名为 myfunction.js,执行的入口函数名为handler 默认值:index.handler 使用建议:该字段通过get_input函数传入,在AOS界面创建资源栈填写输入参数时可获取 role 否 函数使用的权限委托名称 参数类型:string 取值说明:需要IAM 支持,并在IAM 界面创建委托,当函数需要访问其他服务时,必须提供该字段 timeout 是 函数的超时时间 参数类型:integer 取值说明:超时函数将被强行停止 默认值:3 取值约束:范围3~300秒 使用建议:将该字段通过get_input函数传入,在AOS界面创建资源栈填写输入参数时可获取 codeType 是 函数代码上传的类型 参数类型:string 取值说明:支持inline和obs。inline类型表示在线编辑函数代码,obs类型需将函数代码预先上传至OBS桶,然后配置codeUrl属性 取值约束:只能是如下取值 "inline" | "obs" 使用建议:将该字段通过get_input函数传入,在AOS界面创建资源栈填写输入参数时可获取 runtime 是 函数的执行环境 参数类型:string 取值说明:支持Node.js6.10、Node.js8.10、Python2.7、Python3.6、Java8、Go1.8、 C#(.NET Core 2.0)、 C#(.NET Core 2.1) 取值约束:只能是如下取值 "Node.js6.10" | "Python2.7" | "Python3.6" | "Java8" | "Go1.8" | "Node.js8.10" | "C#(.NET Core 2.0" | "C#(.NET Core 2.1" 使用建议:将该字段通过get_input函数传入,在AOS界面创建资源栈填写输入参数时可获取 codeUrl 是 函数代码包在OBS上的地址 参数类型:string 取值说明:当CodeType为obs时,该字段必选。该字段的值为函数代码包在OBS上的地址,CodeType为inline时,该字段为空 默认值:"" 使用建议:将该字段通过get_input函数传入,在AOS界面创建资源栈填写输入参数时可获取 name 是 函数名称 参数类型:string 取值说明:用户自定义 取值约束:只能以大小写字母开头,且只能包含字母、数字、下划线和中划线,以字母或者数字结尾 使用建议:将该字段通过get_input函数传入,在AOS界面创建资源栈填写输入参数时可自动获取
  • 字段说明 表1 字段说明 属性 是否必选 参数类型 描述 subnetId 是 HuaweiCloud.VPC.Subnet.Id 待创建云服务器的网卡信息。 取值说明:需要指定云服务器所属虚拟私有云下已创建的子网(subnet)的ID,或通过连线VPC.Subnet来自动生成 取值约束:满足UUID规则,最大64位 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建堆栈填写输入参数时可自动选择 2. 通过连线到subnet对象以get_reference方式获取一个新建的subnet的ID 参考ECS服务资料https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212668.html allowedAddressPairs 否 ECS.AddressPair 地址Paris 取值说明:根据实际情况选择 使用建议:无 ipAddress 否 ip 待创建云服务器网卡的IP地址 取值说明:IP地址,不填或空字符串为自动分配 取值约束:IPv4格式,不填或空字符串,默认在网络(network)对应的子网(subnet)中自动分配一个未使用的IP作网卡的IP地址。如果指定IP地址,该IP地址必须在网络(network)对应的子网的网段内,且未被使用。 使用建议:参考ECS服务资料:https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212668.html ipCheck 否 boolean 是否进行ip check 取值说明:根据实际情况选择 使用建议:无 portSecurityEnabled 否 boolean 是否打开PortSecurity 取值说明:根据实际情况选择 使用建议:无
  • 示例 获取参数并赋值给output的参数。 示例:获取my-first-vpc创建后的id,并赋值给资源栈的输出参数vpc_id。 tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: name: default: test-vpc cidr: default: 10.0.0.0/8 node_templates: my-first-vpc: type: HuaweiCloud.VPC.VPC properties: name: {get_input: name} ciddr: {get_input: cidr} outputs: vpc_id: value: {get_attribute: [my-first-vpc,refID]} 获取参数并作为其他资源创建的输入参数 示例:获取my-second-vpc创建后的id,并赋值给subnet资源,作为创建subnet资源的输入,实现一个blueprint中联动创建多个资源。 node_templates: my-subnet: type: HuaweiCloud.VPC.Subnet properties: name: {get_input: subnet-name} cidr: {get_input: vpc-cidr} gateway: {get_input: subnet-gateway} dnsList: {get_input: dnsList} vpc: {get_attribute: [my-second-vpc,refID]} availabilityZone: {get_input: az} requirements: - vpc: node: my-vpc relationship: HuaweiCloud.Relationships.ContainedIn my-second-vpc: type: HuaweiCloud.VPC.VPC properties: name: {get_input: vpc-name} cidr: {get_input: vpc-cidr}
  • blueprint样例 tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: statefulset-image-addr: default: "*.*.*.*:20202/***/redis:V1" description: "StatefulSet used image address." node_templates: ccess2u6: type: HuaweiCloud.CCE.StatefulSet properties: k8sManifest: kind: StatefulSet spec: replicas: 1 serviceName: statefulsettest template: spec: imagePullSecrets: - name: default-secret containers: - image: get_input: statefulset-image-addr terminationMessagePath: '/dev/termination-log' ports: - containerPort: 80 protocal: TCP name: mystatefulset-123 imagePullPolicy: IfNotPresent metadata: labels: app: statefulsettest name: mystatefulset selector: matchLabels: app: statefulsettest apiVersion: 'apps/v1' metadata: labels: 'cce/appgroup': mystatefulset name: statefulsettest
  • 模型属性 表1 模型定义属性说明 属性 是否必选 描述 namespace 否 资源在集群内所在的命名空间 参数类型:string 取值说明:需为集群下有效的namespace,示例:default 取值约束:由小写字母、数字和中划线组成,且必须以字母开头 使用建议:按需在CCE管理控制台-资源管理-命名空间查询选择 k8sManifest 是 kubernetes的StatefulSet对象的原生的manifest 参数类型:dict 取值说明:用户自定义,建议使用公开镜像(上传镜像到镜像仓库,设置类型为公开),建议更新时不要更改metadata下面的名称(name)和标签(labels),spec下面的replicas如果通过get_input获得,需要指定type为integer 取值约束:不可为空 使用建议:用户自定义,参考文档:https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/ clusterId 否 资源所属的CCE集群的ID,只支持在1.7及以上的集群中创建 参数类型:HuaweiCloud.CCE.Cluster.Id 取值说明:已有容器集群的ID或新建集群的ID 取值约束:满足UUID规则,最大64位 使用建议:1.直接填ID:进入CCE管理控制台-资源管理-集群管理,在集群详情页面查看集群ID。 2.通过get_reference获取。通过连线到cluster对象以get_reference自动获取
  • 关联关系 表2 关联关系说明 关系说明 关联节点 依赖关系 AOS.Batch 依赖关系 DCS.Redis 依赖关系 RDS.MySQL 依赖关系 CCE.Storage.EVS 依赖关系 OBS.Bucket 依赖关系 CCE.Storage.SFS 依赖关系 CCE.ConfigMap 依赖关系 CCE.Job 依赖关系 CCE.Storage.OBS 依赖关系 CCE.DaemonSet 依赖关系 CCE.Secret 依赖关系 CCE.Service 依赖关系 CCE.Ingress 依赖关系 CCE.StatefulSet 依赖关系 CCE.NodePool 依赖关系 CCE.Deployment 依赖关系 CCE.Pod 依赖关系 RDS.PostgreSQL 被包含关系 CCE.Cluster
  • 模型属性 表1 模型定义属性说明 属性 是否必选 描述 vpcId 是 云服务器所属VPC的ID 参数类型:HuaweiCloud.VPC.VPC.Id 取值说明:支持使用已有或新建虚拟私有云的ID。如果使用新建的,需在模板中定义VPC对象并建立依赖关系。建议拖拽元素到VPC内自动生成。 取值约束:满足UUID规则,最大64位 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时可自动选择2. 通过get_reference获取由本资源栈创建的VPC.VPC元素,使用设计器建立依赖关系时会自动指定3. 在VPC服务界面获取已经创建好的VPC的ID https://console.huaweicloud.com/vpc。 mountedVolumes 否 共享磁盘批量挂载到弹性云服务器,但是非共享盘只能挂载一个。 参数类型:ECS.MountedVolumes数组 取值说明:ECS.MountedVolumes类型数组 取值约束:满足ECS.MountedVolumes类型定义 使用建议:参考ECS服务资料:https://support.huaweicloud.com/api-ecs/ecs_02_0307.html imageId 是 云服务器使用的镜像ID 参数类型:HuaweiCloud.ECS.Image.Id 取值说明:待创建云服务器的系统镜像,需要指定已创建镜像的ID,ID格式为UUID。 取值约束:满足UUID规则,最大64位 使用建议:1. 建议通过get_input方式定义以便在使用模板时可以选择2. 查阅ECS服务资料获取https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212668.html serverTags 否 弹性云服务器的标签 参数类型:ECS.ServerTags数组 取值约束:最多可以添加10个标签,标签的key值只能包含大写字母(A~Z)、小写字母(a~z)、数字(0-9)、下划线(_)、中划线(-)。标签的value值只能包含大写字母(A~Z)、小写字母(a~z)、数字(0-9)、下划线(_)、中划线(-)、小数点(.)。 instances 是 创建云服务器数量 参数类型:integer 取值说明:实例数当前支持1-500 默认值:1 取值约束:范围在[1, 500]之间 使用建议:根据规格按需选择 securityGroups 否 云服务器所使用的安全组id的数组 参数类型:ECS.SecurityGroup数组 取值说明:ECS.SecurityGroup类型数组 取值约束:满足ECS.SecurityGroup类型定义 使用建议:参考ECS服务资料:https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212668.html flavor 是 云服务器的规格 参数类型:HuaweiCloud.ECS.Flavor.Name 取值说明:待创建云服务器的系统规格的ID,如c1.medium 表示1核|1G,c2.large 表示2核|4G,已上线的规格请参见《弹性云服务器产品介绍》的“实例类型与规格”章节:https://support.huaweicloud.com/productdesc-ecs/zh-cn_topic_0035470096.html。 取值约束:满足flavor格式定义 使用建议:建议通过get_input方式定义以便在使用模板时可以选择或者查阅ECS服务资料获取https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212668.html serverGroupId 否 主机所属的云服务器组ID 参数类型:HuaweiCloud.ECS.ServerGroup.Id 取值说明:当前租户下已存在的云服务器组ID 取值约束:当前租户下已存在的云服务器组ID 使用建议:添加到已有组的,直接使用云服务器组ID;如果是在同一个编排文件中新建云服务器组再添加的,使用get_reference来自动获取 nics 是 云服务器对应的网卡信息 参数类型:ECS.NICS数组 取值说明:ECS.NICS类型数组 取值约束:满足ECS.NICS类型定义,数组长度最小为1,最大为12 使用建议:参考ECS服务资料:https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212668.html rootVolume 是 云服务器对应系统盘相关配置。 参数类型:ECS.RootVolume 取值说明:ECS.RootVolume类型 默认值:{u'volumeType': u'unset', u'size': 40} 取值约束:满足ECS.RootVolume类型定义 使用建议:参考ECS服务资料:https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212668.html userData 否 创建云服务器过程中待注入用户数据。支持注入文本、文本文件或gzip文件。 参数类型:string 取值说明:用户自定义 取值约束:注入内容,需要进行base64格式编码。注入内容(编码之前的内容)最大长度32KB。当key_name没有指定时,user_data注入的数据默认为云服务器root账号的登录密码。创建密码方式鉴权的Linux弹性云服务器时为必填项,为root用户注入自定义初始化密码。 使用建议:根据规格按需选择,更多关于待注入用户数据的信息,请参见《弹性云服务器用户指南》的“用户数据注入”章节:https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0032380449.html availabilityZone 是 云服务器对应可用区信息 参数类型:HuaweiCloud.ECS.AvailabilityZone.Name 取值说明:待创建云服务器所在的可用区,需要指定可用区(AZ)的名称,例如cn-north-1a。 取值约束:根据所属区域选择。 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时可自动选择2. 各Region的可用区请参见:https://developer.huaweicloud.com/endpoint。 dataVolumes 否 云服务器对应数据盘相关配置。 参数类型:ECS.DataVolume数组 取值说明:ECS.DataVolume类型数组 取值约束:满足ECS.DataVolume类型定义 使用建议:参考ECS服务资料:https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212668.html。 name 是 云服务器名称 参数类型:string 取值说明:用户自定义,如myvm 取值约束:长度限制:1-64,租户唯一,正则规范要求:{"regex":"^[a-zA-Z][0-9a-zA-Z-_]*$","min_length":1,"max_length":64} 使用建议:自定义 publicIP 否 配置云服务器的弹性IP信息。 参数类型:ECS.PublicIP 取值说明:ECS.PublicIP类型 默认值:{} 取值约束:满足ECS.PublicIP类型定义 使用建议:参考ECS服务资料:https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212668.html adminPwd 否 指定云服务器管理员账户初始登录密码。 参数类型:password 取值说明:Linux管理员账户为root,Windows管理员账户为Administrator。密钥登录与密码登录只能选择其中一种。 取值约束:1、长度为8-26位。密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。2、密码不能包含用户名或用户名的逆序。3、Windows系统密码不能包含用户名或用户名的逆序,不能包含用户名中超过两个连续字符的部分。 使用建议:1. 建议通过get_input方式输入 sshKeyName 否 登录使用的ssh密钥对 参数类型:HuaweiCloud.ECS.KeyPair.Name 取值说明:需要在ECS服务界面提前创建,密钥登录与密码登录只能选择其中一种。 取值约束:长度限制:1-64,租户唯一,正则规范要求:{"regex":"^[a-zA-Z][0-9a-zA-Z-_]*$","min_length":1,"max_length":64} 使用建议:1. 建议通过get_input方式定义以便在使用模板时可以选择 2. 在ECS界面查询后输入
  • blueprint样例 以编排CloudServer资源的blueprint为例: 在现有的VPC、Subnet下创建ECS实例 tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: ecs-name: default: "my-cloudserver" ecs-image: default: "327946b5-e954-42c3-949a-3312688c9269" ecs-flavor: default: "c2.large" vpc-id: default: "ba6e4347-99d2-4649-b114-85c28d3d71b0" az: default: "az1.dc1" subnet-vpcid: default: "3be61f68-9bfc-41bf-8f5e-66c57122f270" ecs-volumetype: default: "SATA" ecs-sshKeyName: default: "KeyPair-magento" node_templates: my-ecs: type: HuaweiCloud.ECS.CloudServer properties: name: {get_input: ecs-name} instances: 2 imageId: {get_input: ecs-image} flavor: {get_input: ecs-flavor} vpcId: {get_input: vpc-id} availabilityZone: {get_input: az} nics: - subnetId: {get_input: subnet-vpcid} rootVolume: volumeType: {get_input: ecs-volumetype} dataVolumes: - volumeType: SATA size: 100 sshKeyName: {get_input: ecs-sshKeyName} 与VPC、Subnet联动,在新创建的VPC、Subnet下自动创建CloudServer 如果您没有创建过VPC、Subnet,或不需要使用已有的VPC、Subnet,那么可以通过一个blueprint文件,同时创建VPC、Subnet和CloudServer,创建CloudServer时可以自动关联新创建的VPC和Subnet。如下示例所描述: 在Subnet中加入依赖关系requirements,这样在blueprint执行时,会先创建Subnet所依赖的对象。 在Subnet中的vpcId字段,取值,使用了get_attribute函数,来获取所创建的VPC(my-vpc)的响应属性refID。 在CloudServer中的vpcId、nics的subnetId字段,取值,使用了get_attribute函数,来获取所创建的subnet(my-subnet)的响应属性refID。 tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: ecs-name: default: "my-cloudserver" ecs-image: default: "327946b5-e954-42c3-949a-3312688c9269" ecs-flavor: default: "c2.large" ecs-volumetype: default: "SATA" az: default: "az1.dc1" subnet-name: default: "my-ecs-subnet2" subnet-cidr: default: "192.168.1.0/24" subnet-gateway: default: "192.168.1.1" vpc-name: default: "my-ecs-vpc2" vpc-cidr: default: "192.168.0.0/16" node_templates: my-ecs: type: HuaweiCloud.ECS.CloudServer properties: name: {get_input: ecs-name} instances: 1 imageId: {get_input: ecs-image} flavor: {get_input: ecs-flavor} vpcId: {get_attribute: [my-vpc, refID]} availabilityZone: {get_input: az} nics: - subnetId: {get_attribute: [my-subnet, refID]} rootVolume: volumeType: {get_input: ecs-volumetype} dataVolumes: - volumeType: SATA size: 100 requirements: - nics.subnetId: node: my-subnet relationship: HuaweiCloud.Relationships.ConnectsTo my-subnet: type: HuaweiCloud.VPC.Subnet properties: name: {get_input: subnet-name} cidr: {get_input: subnet-cidr} gateway: {get_input: subnet-gateway} dnsList: [114.114.114.115,114.114.114.114] vpcId: {get_attribute: [my-vpc, refID]} availabilityZone: {get_input: az} requirements: - vpcId: node: my-vpc relationship: HuaweiCloud.Relationships.ContainedIn my-vpc: type: HuaweiCloud.VPC.VPC properties: name: {get_input: vpc-name} cidr: {get_input: vpc-cidr}
  • 类型转化函数 表4 类型转化函数 函数名称 函数描述 样例 运行结果 toset 将列表类型转换为集合类型 toset(["One", "Two", "One"]) ["One", "Two"] tolist 将集合类型转换为列表类型 toset(["One", "Two", "Three"]) ["One", "Two", "Three"] tonumber 将字符串类型转换为数字类型 tonumber("33") 33 tostring 将数字类型转换为字符串类型 tostring(33) "33"
  • 编码函数 表5 编码函数 函数名称 函数描述 样例 运行结果 base64encode 将UTF-8字符串转换为base64编码 base64encode("Hello, cloud!") SGVsbG8sIGNsb3VkIQ== base64decode 将base64编码解码为UTF-8字符串(结果非UTF-8格式会报错) base64decode("SGVsbG8sIGNsb3VkIQ==") Hello, cloud! base64gzip 将UTF-8字符串压缩并转换为base64编码 base64gzip("Hello, cloud!") H4sIAAAAAAAA//JIzcnJ11FIzskvTVEEAAAA//8BAAD//wbrhYUNAAAA
  • 文件操作函数 表7 文件操作函数 函数名称 函数描述 样例 运行结果 abspath 计算文件的绝对路径 abspath("./hello.txt") /home/demo/test/terraform/hello.txt dirname 计算字符串中包含的路径 dirname("foo/bar/baz.txt") foo/bar basename 计算字符串中的文件名 basename("foo/bar/baz.txt") baz.txt file 读取文件并返回文件内容 file("./hello.txt") Hello, cloud! filebase64 读取文件并返回文件内容的base64编码 filebase64("./hello.txt") SGVsbG8sIGNsb3VkIQ==
  • 哈希和加密函数 表6 哈希和加密函数 函数名称 函数描述 样例 运行结果 sha256 计算字符串的SHA256值(16进制) sha256("Hello, cloud!") 0ad167d1e3ac8e9f4e4f7ba83e92d0e3838177e959858631c770caaed8cc5e3a sha512 计算字符串的SHA512值(16进制) sha512("Hello, cloud!") 6eb6ed9fc4edffaf90e742e7697f6cc7d8548e98aa4d5aa74982e5cdf78359e84a3ae9f226313b2dec765bf1ea4c83922dbfe4a61636d585da44ffbd7e900f56 base64sha256 计算字符串的SHA256值,并转换为base64编码 base64sha256("Hello, cloud!") CtFn0eOsjp9OT3uoPpLQ44OBd+lZhYYxx3DKrtjMXjo= base64sha512 计算字符串的SHA512值,并转换为base64编码 base64sha512("Hello, cloud!") brbtn8Tt/6+Q50LnaX9sx9hUjpiqTVqnSYLlzfeDWehKOunyJjE7Lex2W/HqTIOSLb/kphY21YXaRP+9fpAPVg== md5 计算MD5值 md5("hello world") 5eb63bbbe01eeed093cb22bb8f5acdc3 base64sha512("Hello, cloud!")不等于base64encode(sha512("Hello, cloud!")),因为sha512计算的十六进制值结果在Terraform中是Unicode编码格式,并没指定UTF-8实现。
  • 数值计算函数 表2 数值计算函数 函数名称 函数描述 样例 运行结果 abs 计算绝对值 abs(-12.4) 12.4 max 计算最大值 max(12, 54, 6) max([12, 54, 6]...) 54 54 min 计算最小值 min(12, 54, 6) min([12, 54, 6]...) 6 6 log 计算对数 log(16, 2) 4 power 计算x的y次幂 power(3, 2) 9
  • 集合函数 表3 集合函数 函数名称 函数描述 样例 运行结果 element 通过下标从列表中检索对应元素值 element(["One", "Two", "Three"], 1) Two index 返回给定值在列表中的索引,如果该值不存在将报错。 index(["a", "b", "c"], "b") 1 lookup 使用给定的键从映射表中检索对应的值。如果给定的键不存在,则返回默认值。 lookup({IT="A", CT="B"}, "IT", "G") lookup({IT="A", CT="B"}, "IE", "G") A G flatten 展开列表中的嵌套元素 flatten([["a", "b"], [], ["c"]]) ["a", "b", "c"] keys 返回map中的所有key keys({a=1, b=2, c=3}) ["a", "b", "c"] length 获取列表、映射或是字符串的长度 length(["One", "Two", "Three"]) length({IT="A", CT="B"}) length("Hello, cloud!") 3 2 13
  • 字符串函数 表1 字符串函数 函数名称 函数描述 样例 运行结果 format 字符串格式化 format("Hello, %s!", "cloud") Hello, cloud! lower 将字符串中的字母转换为小写 lower("HELLO") hello upper 将字符串中的字母转换为大写 upper("hello") HELLO join 使用自定义字符将列表拼接成字符串 join(", ", ["One", "Two", "Three"]) One, Two, Three split 根据分隔符拆分字符串 split(", ", "One, Two, Three") ["One", "Two", "Three"] substr 通过偏移量和长度从给定的字符串中提取一个子串 substr("hello world!", 1, 4) ello replace 把字符串中的str1替换成str2 replace("hello, cloud!", "h", "H") Hello, cloud!
  • 模型属性 表1 模型定义属性说明 属性 是否必选 描述 subnetId 是 Nat网关所属子网的ID 参数类型:HuaweiCloud.VPC.Subnet.Id 取值说明:到VPC服务获取Subnet ID或通过连线NAT.Subnet来自动生成 取值约束:满足UUID规则,最大64位 使用建议:1. 将该字段通过get_input函数传入,在AOS界面创建堆栈填写输入参数时可自动选择 2. 通过连线到subnet对象以get_reference方式获取一个新建的subnet的ID flavor 是 Nat网关规格 参数类型:string 默认值:small 取值约束:需符合NAT网关的规格定义 使用建议:规格只能从small,middle,large,xlarge中选择,其他字段无效 vpcId 是 Nat网关所属VPC的ID 参数类型:HuaweiCloud.VPC.VPC.Id 取值说明:支持使用已有或新建虚拟私有云ID。如果使用新建的,需在模板中定义VPC对象并建立依赖关系。建议通过拖拽到VPC内自动生成 取值约束:满足UUID规则,最大64位 使用建议:1. 将该字段通过get_input函数传入,在AOS界面创建堆栈填写输入参数时可自动选择 2. 通过get_reference获取由本堆栈创建的VPC.VPC元素,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面获取已经创建好的VPC的ID https://console.huaweicloud.com/vpc description 否 Nat网关实例的描述信息 参数类型:string 取值说明:用户自定义 取值约束:长度不超过255,支持英文字母和数字 使用建议:用户自定义 name 是 nat的名称 参数类型:string 取值说明:用户自定义,例如my-nat 取值约束:长度限制为1~64,正则规范要求为[-_a-zA-Z0-9]*$ 使用建议:用户自定义
  • blueprint样例 tosca_definitions_version: huaweicloud_tosca_version_1_0 node_templates: nat: type: HuaweiCloud.NAT.Instance properties: subnetId: get_input: nat_subnetId flavor: small vpcId: get_input: nat_vpcId name: get_input: nat_name snatrule: type: HuaweiCloud.NAT.SNatRule properties: subnetId: get_input: snatrule_subnetId floatingIpId: get_input: snatrule_floatingIpId natGatewayId: get_reference: nat requirements: - natGatewayId: node: nat inputs: nat_subnetId: description: Nat网关所属子网的ID。 label: '' nat_vpcId: description: Nat网关所属VPC的ID label: '' nat_name: description: nat的名称 label: '' snatrule_subnetId: description: SNat规则所属子网的ID。 label: '' snatrule_floatingIpId: description: 用户EIP的ID label: ''
  • depends_on 在同一个 Terraform 配置文件中可以包含多个资源。通过在资源中引用其他资源的属性值,Terraform可以自动推断出资源的依赖关系。然而,某些资源的依赖关系对于Terraform是不可见的,这就需要使用 depends_on 来创建显式依赖。您可以使用 depends_on 来更改资源的创建顺序或执行顺序,使其在所依赖资源之后处理。depends_on 的表达式是依赖资源的地址列表。例如在远程操作一台ECS服务器之前,需要为其绑定EIP或配置NAT规则。 resource "huaweicloud_compute_instance" "myinstance" { ... } resource "huaweicloud_vpc_eip" "myeip" { ... } resource "huaweicloud_compute_eip_associate" "associated" { public_ip = huaweicloud_vpc_eip.myeip.address instance_id = huaweicloud_compute_instance.myinstance.id } resource "null_resource" "provision" { depends_on = [huaweicloud_compute_eip_associate.associated] provisioner "remote-exec" { connection { # 通过公网地址访问 ECS host = huaweicloud_vpc_eip.myeip.address ... } inline = [ ... ] } } 父主题: Metadata
  • 资源索引 服务 元素 元素说明 流量清洗 AntiDDos.Service 一种流量清洗服务,可对EIP预防DDos攻击。 应用编排服务 AOS.Batch Batch是一个批处理对象,用于批量创建执行任务、部署等。Batch通过定义包含的子对象及批处理的次数来实现其批量化处理的功能。在所有包含对象的批量化处理操作都执行完成后,Batch才会判定为执行成功。目前Batch支持包含的子对象有CCE.Job、CCE.Deployment和AOS.Stack这三种。 AOS.Stack 华为公有云解决方案部署模板,用于创建AOS服务的堆栈资源,实现AOS支持的各种资源的编排。AOS.Stack模型对应于真实场景的解决方案,可实现解决方案的一键式部署,模型定义好之后可以实现批量复制,助力服务快速上云。 API网关 APIG.API API提供方把API接口配置在API网关中,开放后端能力。API分为两部分,第一部分为面向API使用者的API接口,定义了使用者如何调用这个API;第二部分面向API提供者,由API提供者定义这个API的真实的后端情况,定义了API网关如何去访问真实的后端服务。 APIG.ApiGroup API分组是API的管理单元,一个API分组等同于一个服务入口,创建API分组时,返回一个子域名作为访问入口。 APIG.Throttle 流量控制可限制单位时间内API的被调用次数,保护后端服务。当API上线后,系统会默认给每个API提供一个访问控制策略,API提供者可以根据自身API的服务能力及负载情况变更这个访问控制策略。 应用性能管理 APM.AutoScaler APM.AutoScaler用于控制应用的自动弹性伸缩。 APM.Pinpoint APM.Pinpoint策略用于编排含有Pinpoint监控策略的堆栈。堆栈部署成功后,可在监控页面查看对应堆栈下应用的监控组及监控详情。 云容器引擎 CCE.Addon.AutoScaler CCE.Addon.AutoScaler是一款k8s集群自动扩容缩容node节点的插件。 CCE.Cluster CCE.Cluster用于部署华为云PaaS层的kubernetes集群资源。通过该模型创建master节点,可用于纳管和创建slave节点。通过该资源可以为用户提供编排用户应用功能。 CCE.ConfigMap CCE.ConfigMap用于为云容器引擎服务(CCE)的集群创建提供基本配置信息存储服务。ConfigMap中不能包括敏感信息。 CCE.DaemonSet CCE.DaemonSet用于创建kubernetes集群中的DaemonSet对象。目前支持直接使用kubernetes原生yaml文件进行创建。 CCE.Deployment CCE.Deployment用于为云容器引擎服务(CCE)的集群创建kubernetes集群中的Deployment对象。目前AOS支持直接使用kubernetes原生yaml文件进行创建。 CCE.HelmRelease Helm是CCE提供的一种基于K8S的打包规范,CCE.HelmRelease是Helm包的部署实例。 CCE.Ingress CCE.Ingress用于为云容器引擎服务(CCE)的集群创建kubernetes集群中的Ingress对象。目前AOS支持直接使用kubernetes原生yaml文件进行创建。 CCE.Job CCE.Job用于为云容器引擎服务(CCE)的集群创建kubernetes集群中的Job对象。 CCE.NodePool CCE.NodePool用于部署华为云PaaS层kubernetes节点资源。通过创建该资源,方便用户将华为云上资源编排在节点上,提供更加强大优质的功能。 CCE.Pod CCE.Pod用于为云容器引擎服务(CCE)的集群创建kubernetes集群中的Pod资源。 CCE.Secret CCE.Secret用于为云容器引擎服务(CCE)的集群创建提供加密信息存储服务。Secret中可包括用户名、密码、证书等敏感配置信息。 CCE.Service CCE.Service用于部署华为云PaaS层的K8S资源对象Service。通过创建Service,可为一组具有相同功能的容器应用提供一个统一的入口地址,并将请求进行负载分发到后端的各个容器应用上。 CCE.StatefulSet CCE.StatefulSet用于为云容器引擎服务(CCE)的集群创建有状态服务。 CCE.Storage.EVS CCE.Storage.EVS对应云容器引擎服务(CCE)存储管理功能中的云硬盘存储卷,该资源需要与CCE集群一起使用。 CCE.Storage.OBS CCE.Storage.OBS对应云容器引擎服务(CCE)存储管理功能中的对象存储卷,该资源需要与CCE集群一起使用。 CCE.Storage.SFS CCE.Storage.SFS对应云容器引擎服务(CCE)存储管理功能中的文件存储卷,该资源需要与CCE集群一起使用。 云容器实例 CCI.ConfigMap CCI.ConfigMap用于创建ConfigMap资源对象。 CCI.Deployment CCI.Deployment用于创建Deployment资源对象。 CCI.Ingress CCI.Ingress用于创建Ingress资源对象。 CCI.Job CCI.Job用于创建Job资源对象。 CCI.Namespace CCI.Namespace用于创建一个Namespace(命名空间)。 CCI.Secret CCI.Secret用于创建一个Secret资源类型,Kubernetes提供了Secret来处理敏感信息。 CCI.Service CCI.Service用于创建一个Service对象。 CCI.StatefulSet CCI.StatefulSet用于创建有状态服务。 CCI.Storage.EVS CCI.Storage.EVS用于在指定的Namespace下创建Persistent Volume Claim(PVC)。 CCI.Storage.SFS CCI.Storage.SFS用于在指定的Namespace下创建文件存储卷。 内容分发网络 CDN.Cache 设置CDN节点上缓存资源的缓存策略。 CDN.Domain 创建加速域名。 CDN.Host 修改回源HOST。回源HOST是CDN节点在回源过程中,在源站访问的站点域名,即http请求头中的host信息。 CDN.Https 设置加速域名HTTPS。通过配置加速域名的HTTPS证书,并将其部署在全网CDN节点,实现HTTPS安全加速。 CDN.PreheatJob 创建预热任务。 CDN.Referer 设置Referer过滤规则。通过设置过滤策略,对访问者身份进行识别和过滤,实现限制访问来源的目的。 CDN.RefreshJob 创建刷新缓存任务。 CDN.Source 修改源站信息。源站IP地址或域名都可以指引CDN节点回源到对应的源站服务器,源站域名不能与加速域名相同。 数据库安全服务 DBSS.Instance DBSS.Instance用于创建数据库安全服务(DBSS)资源。 分布式缓存服务 DCS.Redis 分布式缓存服务(Distributed Cache Service,简称DCS),用于提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,兼容Redis和Memcached,提供单机、主备、集群等丰富的实例类型,满足用户高并发及快速数据访问的业务诉求。 文档数据库服务 DDS.CommunityReplicaSetOrSingle DDS.CommunityReplicaSetOrSingle元素用于创建副本集实例或者单节点实例。 数据接入服务 DIS.Stream DIS.Stream用于创建华为云通道资源。通过创建该资源,方便用户使用高效采集、传输、分发能力。 弹性云服务器 ECS.CloudServer ECS.CloudServer用于部署华为云IaaS层的弹性云服务器,由CPU、内存、镜像、云硬盘组成的一种可随时获取、弹性可扩展的计算云服务器。 ECS.ServerGroup 通过云服务器组功能,弹性云服务器在创建时,将尽量分散地创建在不同的主机上,提高业务的可靠性。对于现有的弹性云服务器,不支持添加云服务器组操作。 ECS.KeyPair ECS.KeyPair用于创建远程登录身份验证的密钥对。为安全起见,弹性云服务器登录时建议使用密钥方式进行身份验证。 云硬盘 EVS.NonSharedVolume EVS.NonSharedVolume用于部署华为云IaaS层的非共享类型云硬盘。非共享云硬盘可以为云服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务。 EVS.SharedVolume EVS.SharedVolume用于部署华为云IaaS层的共享类型云硬盘。共享云硬盘是一种支持多个云服务器并发读写访问的数据块级存储设备,具备多挂载点、高并发性、高性能、高可靠性等特点。 函数工作流服务 FGS.ApigEventMap FGS.ApigEventMap元素用来创建函数工作流服务的APIG触发器资源,APIG触发器依赖API网关服务,需预先开通APIG服务,通过APIG事件触发函数执行。 FGS.CtsEventMap FGS.CtsEventMap元素用来创建函数工作流服务的CTS定时触发器资源。CTS触发器依赖云审计服务CTS,需要预先开通CTS服务,通过CTS事件触发函数执行。 FGS.DisEventMap FGS.DisEventMap元素用来创建函数工作流服务的DIS触发器资源。DIS触发器依赖数据接入服务DIS,通过DIS事件触发函数执行。创建DIS触发器需开通DIS服务,并为函数配置访问DIS服务的IAM委托。 FGS.DmsEventMap FGS.DmsEventMap元素用来创建函数工作流服务的DMS定时触发器资源。DMS触发器依赖分布式消息服务DMS,通过DMS事件触发函数执行。创建DMS触发器需开通DMS服务,并为函数配置访问DMS服务的IAM委托。 FGS.Function FGS.Function用于创建函数工作流服务的函数资源。 FGS.LtsEventMap FGS.LtsEventMap元素用来创建函数工作流服务的LTS触发器资源。LTS触发器依赖云日志服务LTS,需开通LTS服务,通过LTS事件触发函数执行。 FGS.ObsEventMap FGS.ObsEventMap元素用来创建函数工作流服务的OBS触发器资源。OBS触发器依赖对象存储服务OBS,需预先开通OBS服务,通过OBS事件触发函数执行 FGS.TimerEventMap FGS.TimerEventMap用于创建函数工作流服务的TIMER定时触发器资源。通过TIMER定时触发器,可定时触发函数执行。 FGS.SmnEventMap FGS.SmnEventMap元素用来创建函数工作流服务的SMN定时触发器资源。SMN触发器依赖消息通知服务SMN,需预先开通SMN服务,通过SMN事件触发函数执行。 企业主机安全 HSS.Instance HSS.Instance元素用来创建企业主机安全服务(HSS)资源。 统一身份认证服务 IAM.Agency IAM.Agency用于在IAM上创建委托,指定委托账号及对应的权限,委托账号的管理员为用户分配Agent Operator权限后,委托账号的用户即可管理您的资源。 IAM.UserGroup IAM.UserGroup用于创建用户组。 MapReduce服务 MRS.Cluster MRS是一个在华为云上部署和管理Hadoop系统的服务,一键即可部署Hadoop集群。通过MRS.Cluster创建集群,您可指定集群类型用于离线数据分析和流处理任务,也可指定集群中预置的弹性云服务器实例规格、实例数量、数据盘类型(普通IO、高 IO、超高 IO)、要安装的组件(Hadoop、Spark、HBase、Hive、Kafka、Storm等)。您还可以使用引导操作在集群启动前(或后)在指定的节点上执行脚本、安装其他第三方软件或修改集群运行环境等。 NAT网关 NAT.Instance NAT.Instance用于创建NAT网关实例。 NAT.SNatRule NAT.SNatRule用于创建SNatRule规则,设置访问外网的网段。 对象存储服务 OBS.Bucket OBS.Bucket用于部署华为云的对象存储服务的桶资源。对象存储服务提供海量安全、高可靠、低成本的数据存储能力,桶是其存放对象的容器。 关系型数据库 RDS.MySQL 关系型数据库(Relational Database Service,以下简称RDS)是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。 RDS.MySQL.DataBase 一个数据库实例可以包含多个由数据库用户创建的数据库,并且可以使用与独立数据库实例相同的客户端工具和应用程序进行访问。该元素的作用便是在指定的RDS实例内创建一个数据库。 RDS.MySQL.User 数据库用户账户用来连接数据库实例,可以控制对客户的数据库实例的访问。以MySQL数据库为例,在创建数据库实例时,已经默认创建名为root的用户账户。 RDS.PostgreSQL 关系型数据库(Relational Database Service,以下简称RDS)是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。 应用管理与运维平台 ServiceStage.Agent ServiceStage.Agent元素是对ServiceStage上原有功能的兼容。该元素在应用编排服务中即将下线,推荐您使用CCE服务的相关资源进行创建,或者使用后续即将上线的AOS.Application元素类型。 ServiceStage.AppGroup ServiceStage.AppGroup元素是对ServiceStage上原有功能的兼容。该元素在应用编排服务中即将下线,推荐您使用CCE服务的相关资源进行创建,或者使用后续即将上线的AOS.Application元素类型。 ServiceStage.ContainerComponent ServiceStage.ContainerComponent元素是对ServiceStage上原有功能的兼容。该元素在应用编排服务中即将下线,推荐您使用CCE服务的相关资源进行创建,或者使用后续即将上线的AOS.Application元素类型。 ServiceStage.Job ServiceStage.Job元素是对ServiceStage上原有功能的兼容。该元素在应用编排服务中即将下线,推荐您使用CCE服务的相关资源进行创建,或者使用后续即将上线的AOS.Application元素类型。 ServiceStage.StatefulApplication ServiceStage.StatefulApplication元素是对ServiceStage上原有功能的兼容。该元素在应用编排服务中即将下线,推荐您使用CCE服务的相关资源进行创建,或者使用后续即将上线的AOS.Application元素类型。 ServiceStage.StatelessApplication ServiceStage.StatelessApplication元素是对ServiceStage上原有功能的兼容。该元素在应用编排服务中即将下线,推荐您使用CCE服务的相关资源进行创建,或者使用后续即将上线的AOS.Application元素类型。 弹性文件服务 SFS.FileSystem 弹性文件服务,提供按需扩展的高性能文件存储,可供云上多个弹性云服务器共享访问。 消息通知服务 SMN.Subscription SMN.Subscription用于创建消息通知服务的订阅。 SMN.Topic SMN.Topic用于创建消息通知服务的主题。 共享型负载均衡 ULB.Healthmonitor 共享型负载均衡下的健康检查,一个Pool对应一个健康检查,一个健康检查管理多个弹性云服务器,支持对健康检查进行增加删除。 ULB.Listener 共享型负载均衡下的监听器,一个loadBalancer可对应多个监听器,支持对监听器进行增加、删除。 ULB.LoadBalancer ULB.LoadBalancer资源部署的是华为云PaaS层资源对象LoadBalancer(共享型)。通过创建LoadBalancer(共享型),可以为一组具有相同功能的容器应用提供一个统一的入口地址,并将请求进行负载分发到后端的各个容器应用上。LoadBalancer(共享型)适用于访问量较大的web业务,提供基于域名和URL的路由均衡能力,实现更加灵活的业务转发。与经典型负载均衡相比,提供了更丰富的HTTP和HTTPS转发能力,同时在转发性能和稳定性上也有较大提升。 ULB.Member 共享型负载均衡下的弹性云服务器,一个Pool可以对应多个弹性云服务器。支持对云服务器进行增加删除。 ULB.Pool 共享型负载均衡下的弹性云服务器组,一个Listener可以对应多个弹性云服务器组,并且可以对弹性云服务器组进行增加删除。一个弹性云服务器组管理多个云服务器。 VPC终端节点 VPCEndpoint.Endpoint VPCEndpoint.Endpoint元素用于创建终端节点。终端节点在VPC和终端节点服务之间提供连接通道。 VPCEndpoint.EndpointService VPCEndpoint.EndpointService元素用于创建终端节点服务。终端节点服务指将云服务或用户私有服务配置为VPC终端节点支持的服务。 虚拟私有云 VPC.EIP VPC.EIP用于创建弹性公网IP。弹性公网IP是基于互联网上的静态IP地址,将弹性公网IP地址和子网中关联的弹性云服务器绑定和解绑,可以实现VPC中的弹性云服务器通过固定的公网IP地址与互联网互通。 VPC.FirewallGroup 防火墙组是逻辑上的分组,对一个或多个子网的访问控制策略系统,根据与子网关联的入站/出站规则,判断数据包是否被允许流入/流出关联子网。 VPC.FirewallPolicy.Egress 出方向网络ACL策略,属于ACL组的成员,策略里面可以包含多个ACL规则。 VPC.FirewallPolicy.Ingress 入方向网络ACL策略,属于ACL组的成员,策略里面可以包含多个ACL规则。 VPC.FirewallRule VPC.FirewallRule元素可创建华为公有云产品中的网络ACL规则,用于进行子网的访问控制。 VPC.SecurityGroup 安全组是逻辑上的分组,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。 VPC.SecurityGroupRule 安全组规则是为弹性云服务器等添加的访问策略,以实现访问控制。 VPC.Subnet VPC.Subnet用于创建华为公有云产品虚拟私有云网络中的子网。 VPC.VIP VPC.VIP用于创建虚拟IP(一个未分配给真实云服务器网卡的IP地址)。用户可以通过虚拟IP访问此云服务器。 VPC.VPC VPC.VPC用于创建华为公有云产品中的虚拟私有云网络。 漏洞扫描服务 VSS.WebScan 漏洞扫描服务(VSS)集Web漏洞扫描、操作系统漏洞扫描、资产内容合规检测、配置基线扫描、弱密码检测五大核心功能,自动发现网站或服务器暴露在网络中的安全风险,为云上业务提供多维度的安全检测服务,满足合规要求,让安全弱点无所遁形。 Web应用防火墙 WAF.Service Web应用防火墙(WAF)对网站业务流量进行多维度检测和防护,结合深度机器学习智能识别恶意请求特征和防御未知威胁,阻挡诸如 SQL注入或跨站脚本等常见攻击,避免这些攻击影响Web应用程序的可用性、安全性或消耗过度的资源,降低数据被篡改、失窃的风险。
  • 模型说明 关系型数据库(Relational Database Service,以下简称RDS)是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。 RDS具有完善的性能监控体系和多重安全防护措施,并提供专业的数据库管理平台, 让用户能够在云中轻松设置、操作和扩展关系型数据库。通过RDS控制台,用户几乎可以执行所有必需任务而无需编程,简化运营流程,减少日常运维工作量,从而专注于应用开发和业务发展。
  • blueprint样例 tosca_definitions_version: huaweicloud_tosca_version_1_0 node_templates: rdsms528: type: HuaweiCloud.RDS.MySQL properties: dataStore: dbtype: MySQL version: '5.7' dbPort: 3306 vpcId: get_input: rdsms528_vpcId securityGroupId: get_input: rdsms528_securityGroupId availabilityZone: get_input: rdsms528_availabilityZone dbRootPassword: get_input: rdsms528_dbRootPassword volume: volumetype: COMMON size: 100 backupStrategy: keepDays: 0 endTime: '02:00' startTime: '01:00' subnetId: get_input: rdsms528_subnetId flavor: get_input: rdsms528_flavor HA: replicationMode: semisync enable: get_input: rdsms528_HA_enable inputs: rdsms528_vpcId: description: 实例所属的VPC ID label: '' rdsms528_securityGroupId: description: 实例所属的安全组ID label: '' rdsms528_availabilityZone: description: 实例所属的可用分区 label: '' rdsms528_dbRootPassword: description: '实例的root用户密码。参数非空,由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32位,非弱密码。' label: '' rdsms528_subnetId: description: 实例所属的子网ID label: '' rdsms528_flavor: description: 实例规格 label: '' rdsms528_HA_enable: description: 是否高可用 label: ''
  • 模型属性 表1 模型定义属性说明 属性 是否必选 描述 dbPort 否 访问实例的端口 参数类型:integer 取值说明:[2100, 9500],该字段目前无效。 默认值:3306 取值约束:{u'in_range': [2100, 9500]} 使用建议:按需在端口范围内填写 availabilityZone 是 实例所属的可用区 参数类型:HuaweiCloud.ECS.AvailabilityZone.Name 取值说明:待创建云服务器所在的可用区,需要指定可用区(AZ)的名称,例如cn-north-1a。 取值约束:根据所属区域选择。 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时时可自动选择 2. 各Region的可用区请参见:https://developer.huaweicloud.com/endpoint。 name 否 实例名称 参数类型:string 取值说明:用户自定义 默认值:"" 取值约束:1. 4位到64位之间,必须以字母开头,不区分大小写可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。 2. 同一租户下,同类型的实例名唯一。 使用建议:用户自定义 dataBase 否 实例自带数据库的配置 参数类型:MySQL.DataBase 默认值:{u'characterSet': u'utf8', u'name': u'unset', u'collate': u'utf8_general_ci'} 使用建议:在“组成部分”中选择 dataBase 字段根据提示的字段进行扩充填写 paramsGroupId 否 实例的参数组Id 参数类型:HuaweiCloud.RDS.ParamsGroup.Id 使用建议:建议设置成get_input形式,从下拉列表中选择;也支持填写一个默认参数组Id,默认值需要从RDS页面获取 securityGroupId 是 实例所属的安全组ID 参数类型:HuaweiCloud.VPC.SecurityGroup.Id 取值说明:到VPC服务获取安全组ID或通过连线VPC.SecurityGroup自动生成。 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时时可自动选择 2. 通过get_reference获取由本资源栈创建的VPC.SecurityGroup,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面中获取已创建好的安全组的ID,详见https://console.huaweicloud.com/vpc dbUser 否 实例自带用户的配置 参数类型:MySQL.DBUser 默认值:{u'userPassword': u'unset', u'name': u'unset'} 使用建议:在“组成部分”中选择 dbUser 字段根据提示的字段进行扩充填写 dbRootPassword 是 实例的root用户密码。参数非空,由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32位,非弱密码。 参数类型:password 取值说明:用户自定义 取值约束:1. 参数必须写入inputs内,通过get_input的方式传入 2. 参数非空,由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32位,非弱密码。 使用建议:建议定义为get_input方式获取,以保证安全性,避免明文密码 volume 是 实例使用的数据盘信息 参数类型:RDS.Volume 默认值:{u'volumetype': u'COMMON', u'size': 100} 使用建议:在“组成部分”中选择 volume 字段根据提示的字段进行扩充填写 timeZone 否 所在地时区(只支持包周期资源栈,按需资源栈暂不支持该属性设置) 参数类型:string 取值说明:不选择时,各个引擎时区如下:MySQL国内站、国际站默认为UTC时间。PostgreSQL国内站、国际站默认为UTC时间。选择填写时,取值范围为UTC-12:00~UTC+12:00,且只支持整段时间,如UTC+08:00,不支持UTC+08:30。 取值约束:{u'valid_values': [u'UTC-12:00', u'UTC-11:00', u'UTC-10:00', u'UTC-09:00', u'UTC-08:00', u'UTC-07:00', u'UTC-06:00', u'UTC-05:00', u'UTC-04:00', u'UTC-03:00', u'UTC-02:00', u'UTC-01:00', u'UTC', u'UTC+01:00', u'UTC+02:00', u'UTC+03:00', u'UTC+04:00', u'UTC+05:00', u'UTC+06:00', u'UTC+07:00', u'UTC+08:00', u'UTC+09:00', u'UTC+10:00', u'UTC+11:00', u'UTC+12:00']} 使用建议:将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时可自动选择 backupStrategy 是 实例备份策略 参数类型:RDS.BackupStrategy 默认值:{u'keepDays': 0, u'endTime': u'02:00', u'startTime': u'01:00'} 取值约束:用户按规格选择定义 subnetId 是 实例所属的子网ID 参数类型:HuaweiCloud.VPC.Subnet.Id 取值说明:使用已有或创建的子网ID。如果使用新建的,需在模板中定义子网对象并建立依赖关系。建议通过连线VPC.Subnet来自动生成 取值约束:所填子网必须为与VPC关联对应 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时可自动选择 2. 通过get_reference获取由本资源栈创建的VPC.Subnet,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面中获取已创建好的子网的ID,参见https://console.huaweicloud.com/vpc。 slaveAvailabilityZone 否 HA实例备机所属的可用区 参数类型:HuaweiCloud.ECS.AvailabilityZone.Name 取值说明:待创建云服务器所在的可用区,需要指定可用区(AZ)的名称,例如cn-north-1a。 取值约束:根据所属区域选择,参见https://developer.huaweicloud.com/endpoint。 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时时可自动选择 2. 各Region的可用区请参见:https://developer.huaweicloud.com/endpoint。 dataStore 是 数据库信息 参数类型:MySQL.DataStore 默认值:{u'dbtype': u'MySQL', u'version': u'5.7'} 使用建议:在“组成部分”中选择 dataStore 字段根据提示的字段进行扩充填写 HA 是 实例的高可用配置 参数类型:RDS.HA.Mysql 默认值:{u'replicationMode': u'semisync', u'enable': u'unset'} 使用建议:在“组成部分”中选择 HA 字段根据提示的字段进行扩充填写 vpcId 是 实例所属的VPC ID 参数类型:HuaweiCloud.VPC.VPC.Id 取值说明:支持使用已有或新建私有云ID。 如果使用新建的,需在模板中定义vpc对象并建立依赖关系。建议通过拖拽到VPC内自动生成。 取值约束:满足uuid的生成规则 使用建议:1. 将该字段通过get_input函数传入,通过在AOS界面创建资源栈填写输入参数时可自动选择 2. 通过get_reference获取由本资源栈创建的VPC.VPC元素,使用设计器建立依赖关系时会自动指定 3. 在VPC服务界面获取已经创建好的VPC的ID,参见https://console.huaweicloud.com/vpc flavor 是 实例规格 参数类型:HuaweiCloud.RDS.Flavor.Id 取值说明:待创建的数据库实例的规格,根据实例规格及用户project生成。 取值约束:不同Project所获取的FlavorID不一致,同时需要与所用的数据库类型、版本配套。资源规格编码,例如:rds.mysql.m1.xlarge。其中,rds代表RDS产品,mysql代表数据库引擎,m1.xlarge代表性能规格,为高内存类型。带"rr"的表示只读实例规格,反之表示单实例和HA实例规格。 使用建议:建议通过RDS API先获取,参考: https://support.huaweicloud.com/api-rds/rds_06_0002.html
  • blueprint样例 tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: delpoy1: default: false type: boolean delpoy2: default: true type: boolean delpoy3: default: true type: boolean description: default: nginx stack type: string template-id1: default: 370f60c6-afc2-e08a-d1c4-fd33bd58b785 type: string template-id2: default: 753c30cf-3b3b-cd63-f7f0-1550d058eaac type: string template-id3: default: 2fdd9e05-1406-15d4-7b35-1274a036bcfb type: string images: default: 192.168.0.249:20202/op_svc_servicestage_88b899/nginx:latest type: string node_templates: stackone: type: HuaweiCloud.AOS.Stack properties: deploy: {get_input: delpoy1} description: {get_input: description} templateId: {get_input: template-id1} inputs: images: {get_input: images} requirements: - dependency: node: stacktwo stacktwo: type: HuaweiCloud.AOS.Stack properties: deploy: {get_input: delpoy2} description: {get_input: description} templateId: {get_input: template-id2} inputs: images: {get_input: images} myport: {get_attribute: [stackthree,nginx-NodePort]} requirements: - dependency: node: stackthree stackthree: type: HuaweiCloud.AOS.Stack properties: deploy: {get_input: delpoy3} description: {get_input: description} templateId: {get_input: template-id3} inputs: image: {get_input: images}
共100000条