阿里云ros实例
模板文件
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"Description": {
"Type": "String",
"Description": "Description of the instance, [2, 256] characters. Do not fill or empty, the default is empty.",
"Default": "msync"
},
"DataDiskName": {
"Type": "String",
"Default": "datadisk"
},
"DataDiskSize": {
"Type": "Number",
"Default": 100
},
"SystemDiskSize": {
"Type": "Number",
"Description": "Disk size of the system disk, range from 40 to 500 GB. If you specify with your own image, make sure the system disk size bigger than image size. ",
"MinValue": 40,
"MaxValue": 500,
"Default": 80
},
"MaxAmount": {
"Type": "Number",
"Description": "Max number of instances to create, should be smaller than 'MaxAmount' and smaller than 100.",
"MinValue": 1,
"MaxValue": 100,
"Default": 1
},
"NetworkType": {
"Type": "String",
"Description": "Instance network type. Support 'vpc' and 'classic', for compatible reason, default is 'classic'. If vswitch id and vpc id is specified, the property will be forced to be set to 'vpc' ",
"Default": "classic"
},
"MinAmount": {
"Type": "Number",
"Description": "Max number of instances to create, should be bigger than 'MinAmount' and smaller than 100.",
"MinValue": 1,
"MaxValue": 100,
"Default": 1
},
"ImageId": {
"Type": "String",
"Description": "Image ID to create ecs instance.",
"Default": "m-2ze5ahokm5p8zeblr3sm"
},
"InstanceType": {
"Type": "String",
"Description": "Ecs instance supported instance type, make sure it should be correct.",
"Default": "ecs.s3.large"
},
"AllocatePublicIP": {
"Type": "Boolean",
"Description": "The public ip for ecs instance, if properties is true, will allocate public ip. If property InternetMaxBandwidthOut set to 0, it will not assign public ip.",
"Default": false
},
"HostName": {
"Type": "String",
"Description": "Host name of created ecs instance. at least 2 characters, and '.' '-' Is not the first and last characters as hostname, not continuous use. Windows platform can be up to 15 characters, allowing letters (without limiting case), numbers and '-', and does not support the number of points, not all is digital ('.').Other (Linux, etc.) platform up to 30 characters, allowing support number multiple points for the period between the points, each permit letters (without limiting case), numbers and '-' components.",
"Default": "ebs-ali-beijing-msync"
},
"Password": {
"Type": "String",
"Description": "Password of created ecs instance. Must contain at least 3 types of special character, lower character, upper character, number.",
"Default": "passwordishere"
},
"IoOptimized": {
"Type": "String",
"Description": "The 'optimized' instance can provide better IO performance. Support 'none' and 'optimized' only, default is 'none'.",
"Default": "optimized"
},
"ZoneId": {
"Type": "String",
"Description": "current zone to create the instance.",
"Default": "cn-beijing-a"
},
"SecurityGroupId": {
"Type": "String",
"Description": "Security group to create ecs instance. For classic instance need the security group not belong to VPC, for VPC instance, please make sure the security group belong to specified VPC.",
"Default": "sg-2zegx612vcgzlkzpydsi"
},
"InternetChargeType": {
"Type": "String",
"Description": "Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only. Default is PayByTraffic",
"Default": "PayByBandwidth"
},
"SystemDiskCategory": {
"Type": "String",
"Description": "Category of system disk. Default is cloud.support cloud|cloud_efficiency|cloud_ssd|ephemeral_ssd",
"Default": "cloud_efficiency"
},
"InstanceName": {
"Type": "String",
"Description": "Display name of the instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'",
"Default": "msync"
},
"InternetMaxBandwidthOut": {
"Type": "Number",
"Description": "Set internet output bandwidth of instance. Unit is Mbps(Mega bit per second). Range is [0,100]. Default is 1.While the property is not 0, public ip will be assigned for instance.",
"MinValue": 0,
"MaxValue": 200,
"Default": 1
},
"InternetMaxBandwidthIn": {
"Type": "Number",
"Description": "Max internet out band width setting, unit in Mbps(Mega bit per second). The range is [1,200], default is 200 Mbps.",
"MinValue": 1,
"MaxValue": 200,
"Default": 200
}
},
"Resources": {
"InstanceGroup": {
"Type": "ALIYUN::ECS::InstanceGroup",
"Properties": {
"Description": {
"Ref": "Description"
},
"DiskMappings": [
{
"Size": {
"Ref": "DataDiskSize"
},
"DiskName": {
"Ref": "DataDiskName"
}
}
],
"SystemDiskSize": {
"Ref": "SystemDiskSize"
},
"MaxAmount": {
"Ref": "MaxAmount"
},
"NetworkType": {
"Ref": "NetworkType"
},
"MinAmount": {
"Ref": "MinAmount"
},
"ImageId": {
"Ref": "ImageId"
},
"InstanceType": {
"Ref": "InstanceType"
},
"AllocatePublicIP": {
"Ref": "AllocatePublicIP"
},
"HostName": {
"Ref": "HostName"
},
"Password": {
"Ref": "Password"
},
"IoOptimized": {
"Ref": "IoOptimized"
},
"ZoneId": {
"Ref": "ZoneId"
},
"SecurityGroupId": {
"Ref": "SecurityGroupId"
},
"InternetChargeType": {
"Ref": "InternetChargeType"
},
"InstanceName": {
"Ref": "InstanceName"
},
"InternetMaxBandwidthOut": {
"Ref": "InternetMaxBandwidthOut"
},
"InternetMaxBandwidthIn": {
"Ref": "InternetMaxBandwidthIn"
}
}
}
},
"Outputs": {
"HostNames": {
"Description": "Host names of created instance.",
"Value": {
"Fn::GetAtt": [
"InstanceGroup",
"HostNames"
]
}
},
"InnerIps": {
"Description": "Inner IP address list of the specified instance. Only for classical instance.",
"Value": {
"Fn::GetAtt": [
"InstanceGroup",
"InnerIps"
]
}
},
"ZoneIds": {
"Description": "Zone id of created instance.",
"Value": {
"Fn::GetAtt": [
"InstanceGroup",
"ZoneIds"
]
}
},
"OrderId": {
"Description": "The order id list of created instance.",
"Value": {
"Fn::GetAtt": [
"InstanceGroup",
"OrderId"
]
}
},
"InstanceIds": {
"Description": "The instance id list of created ecs instance",
"Value": {
"Fn::GetAtt": [
"InstanceGroup",
"InstanceIds"
]
}
}
}
}
代码:
class AliyunROS(object):
def __init__(self, region_id, template_render):
tpl = Environment(loader=FileSystemLoader(searchpath='./')) \
.get_template('msync.template')
template = tpl.render(template_render.get(region_id))
self.region_id = region_id
self.client = AcsClient('aaa', 'bbb', region_id)
self.create_stack_body = '''
{
"Name": "%s",
"TimeoutMins": %d,
"DisableRollback": false,
"Template": %s
}
''' % ('msync_%s' % (time.strftime('%Y%m%d_%H%M%S')), 15, template.encode('utf-8'))
print(self.create_stack_body)
raise SystemExit
def create_ecs_instace(self):
""" :return: {"Id":"String", "Name":"String"} """
req = CreateStacksRequest.CreateStacksRequest()
req.set_headers({'x-acs-region-id': self.region_id})
req.set_content(self.create_stack_body)
return self.client.do_action_with_exception(req)
阿里云ros实例的更多相关文章
- 不服跑个分:ARM鲲鹏云服务器实战评测——华为云鲲鹏KC1实例 vs. 阿里云G5实例【华为云技术分享】
原文链接:https://m.ithome.com/html/444828.htm 今年一月份,华为正式发布了鲲鹏920数据中心高性能处理器,该处理器兼容ARM架构,采用7纳米制造,最高支持64核,主 ...
- [转帖]华为鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例
鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例 https://m.ithome.com/html/444828.htm 2019-09-12 15:25IT之家 (阿迷) 今年一月份 ...
- 【故障公告】阿里云 RDS 实例 CPU 100% 故障引发全站无法正常访问
非常抱歉,今天凌晨 3:20~8:30 左右,我们使用的阿里云 RDS 实例 SQL Server 2016 标准版突然出现 CPU 100% 故障,造成全站无法正常访问,由此给您带来巨大的麻烦,请您 ...
- python3 获取阿里云ECS 实例及监控的方法
#!/usr/bin/env python3.5 # -*- coding:utf8 -*- try: import httplib except ImportError: import http.c ...
- 阿里云rds实例恢复到本地
摘要: 前提: 1,阿里云数据库备份实例,恢复数据的时候需要将数据恢复到本地数据库,是不能直接恢复到RDS上的. 2,需要在本地服务器上下载一个数据库,尽量和RDS数据库版本保持一致.(我现在用的是5 ...
- 阿里云RDS实例内不同数据库之间的数据迁移
适用场景 本文适用于使用DTS实现相同实例下库名不同的数据库之间的数据迁移.本文以使用DTS将同一RDS实例下的amptest库迁移到jiangliu_amptest库为例来说明如何使用DTS实现相同 ...
- 阿里云ECS 实例Centos7系统磁盘扩容
需求:一台阿里云的数据盘磁盘空间不足,需要扩容,我这里只有一个主分区,ext4文件系统. 因为磁盘扩容场景不同,阿里云的文档比较全面一些,所以先奉上阿里云的文档,下面开始我的操作步骤: 1.登录控制台 ...
- 阿里云数据库实例的一个db被开发人员删除了 如何恢复
1没有 逻辑备份的话. 如下操作即可 可以将那个临时实例的需要导的db用逻辑备份出来恢复到主实例就行了 好多朋友都在问,RDS中把数据恢复到7天内任意时间点的功能在哪里啊? 其实挺简单的,只需要五步操 ...
- 阿里云 RDS实例间的数据迁移
使用数据传输DTS可以实现两个RDS实例间的数据迁移.对于支持增量迁移的存储引擎,还可以使用DTS在源RDS实例不停服的情况下,将数据迁移到目标RDS实例.目前对于RDS不同存储引擎,只支持同构迁移( ...
随机推荐
- linux 解析json
epel源 yum install jq ====================== [root@mhc NaHan-master]# curl 127.0.0.1:5000/v2/_catalog ...
- Python运维开发基础08-文件基础
一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...
- Axure知识点
1 一个事件包含N个用例:一个用例包含N个动作.
- ubuntu14.04环境下利用docker搭建solrCloud集群
在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...
- CentOS6,7不同
centos6与centos7,防火墙,开机自启不同 6用iptables,7用firewall-cmd http://www.cnblogs.com/liyuanhong/articles/7064 ...
- Python爬虫进阶三之Scrapy框架安装配置
初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 ...
- wmi收集系统信息 发送到服务器打印
#include "WMIManager.h" #include <vector> #include <string> #include <boost ...
- SVN下的文件被locked不能update和commit
一次早上开机svn更新代码,提示某一个文件夹被locked,提示clean up,但是clearn up也不行,get lock不行,release lock不行 根据网上搜的,.svn(隐藏文件夹) ...
- IntelliJ IDEA 2017版 SpringBoot的Json字符串返回
一.说明 SpringBoot框架已经自动封装好json字符串解析,所以我们只需要用它的注解来返回操作就可以了. 二.实战 1.书写一个实体类User,设置属性id和name package com. ...
- UVa 11925 Generating Permutations (构造法)
题意:给定一个序列,让你从一个升序列变成该序列,并且只有两种操作,操作1:交换前两个元素,操作2:把第一个元素移动到最后. 析:一开始的时候吧,不会,还是看的题解,首先是要逆序来做,这样可能好做一点, ...