python 调用阿里云服务器api创建服务器
首先安装阿里云SDK
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-ecs
可以配合jenkins传递参数
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2018/1/26 0026 12:01
# @Author : sanmuyan
# @FileName: aliyun_ecs_cre.py
import json,time,os
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkecs.request.v20140526 import CreateInstanceRequest,StartInstanceRequest,DescribeInstancesRequest AccessKey = os.environ.get('AccessKey')
Secret = os.environ.get('Secret')
Regions = os.environ.get('Regions') # 创建 AcsClient 实例
client = AcsClient(
AccessKey,
Secret,
Regions
); def ecs_start(InstanceId):
request = StartInstanceRequest.StartInstanceRequest()
request.set_InstanceId(InstanceId)
response = client.do_action_with_exception(request)
print(response,'\n',"INFO:Starting results") def ecs_des(InstanceId):
request = DescribeInstancesRequest.DescribeInstancesRequest()
request.set_InstanceIds(InstanceId)
response = client.do_action_with_exception(request)
data = json.loads(response)
data = json.dumps(data, sort_keys=True, indent=2)
print(data) def ecs_cre():
request = CreateInstanceRequest.CreateInstanceRequest()
request.set_ImageId(ImageId)
request.set_InstanceType(InstanceType)
request.set_SecurityGroupId(SecurityGroupId)
request.set_ZoneId(ZoneId)
request.set_InstanceName(InstanceName)
request.set_HostName(HostName)
request.set_Password(Password)
request.set_SystemDiskCategory(SystemDiskCategory)
request.set_DataDisks(({'DataDisk':''},{'Size':DataDiskSize},{'Category':'cloud_efficiency'}))
request.set_SystemDiskSize(SystemDiskSize)
request.set_VSwitchId(VSwitchId)
request.set_InstanceChargeType(InstanceChargeType)
request.set_Period(Period)
if (Period == "PrePaid"):
request.set_AutoRenew(AutoRenew)
request.set_AutoRenewPeriod(AutoRenewPeriod)
response = client.do_action_with_exception(request) response = client.do_action_with_exception(request)
data = json.loads(response)
print(data,'\n'"INFO:Create success")
InstanceId = (data['InstanceId'])
time.sleep(10)
ecs_start(InstanceId=InstanceId)
time.sleep(20)
ecs_des(InstanceId=[InstanceId]) if __name__ == '__main__': ImageId = os.environ.get('ImageId') # 镜像
InstanceType = os.environ.get('InstanceType') # 实例规格
SecurityGroupId = os.environ.get('SecurityGroupId') # 安全组
ZoneId = os.environ.get('ZoneId') # 可用区
InstanceName = os.environ.get('InstanceName') # 实例名
HostName = os.environ.get('HostName') # 主机名
Password = os.environ.get('Password') # 主机密码
SystemDiskCategory = os.environ.get('SystemDiskCategory') # 系统盘类型
SystemDiskSize = os.environ.get('SystemDiskSize') # 系统盘大小
DataDiskSize = os.environ.get('DataDiskSize') # 数据盘大小
VSwitchId = os.environ.get('VSwitchId') # 交换机
InstanceChargeType = os.environ.get('InstanceChargeType') # 实例付费类型
Period = os.environ.get('Period') # 购买时长
AutoRenew = os.environ.get('AutoRenew') # 是否开启自动续费
AutoRenewPeriod = os.environ.get('AutoRenewPeriod') # 自动续费时长
ecs_cre()
python 调用阿里云服务器api创建服务器的更多相关文章
- Python 调用阿里云 API 收集 ECS 数据
#!/usr/bin/env python # coding: utf-8 # author: Wang XiaoQiang ''' 功能介绍: 1.调用阿里云API,收集所有区域 ECS 信息 2. ...
- C#调用阿里云CDN API刷新缓存
使用CDN必须要解决CDN缓存的问题,要么在每次更新文件时生成不同的URL,要么在每次更新文件时刷新CDN缓存.我们在一个实际应用场景中用到了后者,所以需要调用阿里云CDN的API进行缓存刷新的操作. ...
- python 调用阿里云云解析api添加记录
首先安装阿里云SDK pip install aliyun-python-sdk-core pip install aliyun-python-sdk-alidns 可以配合jenkins传递参数 # ...
- 用Python调用阿里云的短信接口
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Frank import uuidimport datetimeimport hmacimpor ...
- 阿里云日志api创建logStore
, shardCount = }); string date = FormatRfc822Date(time); string con ...
- 阿里云RDS与ECS服务器数据库做主从
阿里云RDS与ECS服务器数据库做主从 [精] 里云RDS(数据库)基于飞天大规模分布式计算和存储能力,提供超高性价比的单机版实例,同时利用读写分离横向扩展读能力,满足网站类的业务需求.提供稳定.高性 ...
- 使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解
使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解 背景:这几天从阿里云上面购买了云服务器,最垃圾的那种,还送oss和EDS数据库服务器,只不过EDS数据库服务器只有一个 ...
- 基于Apache的阿里云部署Node.js服务器(Windows环境)
1 前言 由于nodejs项目对方开放了多个端口,而且阿里云上的Apache服务器(windows)已经挂载了网站,此时需要把此项目也挂上去,网上查询资料,方法略少,基本是基于nginx版本的. 2 ...
- 关于阿里云专有网络搭建FTP服务器的深坑
之前用的FTP服务器都是,随便搭建一下就能用了, 昨天因为服务器的问题,换了个服务器,搭建FTP服务器的时候发现, 搭建的服务器居然只能使用 主动模式访问,改成被动后 无法获取目录, 百度了 各大论坛 ...
随机推荐
- Oracle数据库入门——基础知识
1.安装完成Oracle数据库后,使用sqlplus客户端登录数据库管理系统,只输入用户名,没有输入密码时,会提示口令为空,登录被拒绝. 请输入用户名:system 输入口令: ERROR:ORA-0 ...
- .NET学习从入门到精通100+源代码(申明:来源于网络)
.NET学习从入门到精通100+源代码大放送 (20161128更新)(申明:来源于网络) 地址:http://download.csdn.net/album/detail/3364
- maven项目启动报错:SLF4J: Class path contains multiple SLF4J bindings.
SringBoot的Application启动报错: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding ...
- .NET Core错误:The specified framework 'Microsoft.NETCore.App', version '1.0.0-rc2-3002702' was not found.
本地Dos命令行中,cd到你的项目目录下,生成, dotnet {U_Project_Name}.dll 发布 dotnet publish ,然后将发布的文件夹中的文件全部拷贝到服务器中,至此,问题 ...
- Python全栈-magedu-2018-笔记11
第三章 - Python 内置数据结构 简单选择排序 简单选择排序 属于选择排序 两两比较大小,找出极值(极大值或极小值)被放置在固定的位置,这个固定位置一般指的是某一端 结果分为升序和降序排列 降序 ...
- 微信token验证失败的几种情况
最近在研究用PHP做微信开发的时候,“修改配置时”,总是遇到token验证失败的提示.历经一番查找,种种输出日志和echo,发现,如果不echo调试信息,也不写日志,就不需要ob_clean(),如果 ...
- Codeforces 777C - Alyona and Spreadsheet - [DP]
题目链接:http://codeforces.com/problemset/problem/777/C 题意: 给定 $n \times m$ 的一个数字表格,给定 $k$ 次查询,要你回答是否存在某 ...
- [No0000DD]C# StringEx 扩展字符串类 类封装
using System; using System.Text.RegularExpressions; namespace Helpers { /// <summary> /// 包含常用 ...
- Kafka – kafka consumer
ConsumerRecords<String, String> records = consumer.poll(100); /** * Fetch data for the topic ...
- SR锁存器
CRM(临界连续模式)BOOST PFC 电路控制系统 SR锁存器 S和R都等于0的时候为什么有两个不同的Q?正因为这样才叫锁存器.Q’是Q的取反,不可能相同.Q*和Q‘不一样.Q是Q*的前一个状态. ...