首先安装阿里云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创建服务器的更多相关文章

  1. Python 调用阿里云 API 收集 ECS 数据

    #!/usr/bin/env python # coding: utf-8 # author: Wang XiaoQiang ''' 功能介绍: 1.调用阿里云API,收集所有区域 ECS 信息 2. ...

  2. C#调用阿里云CDN API刷新缓存

    使用CDN必须要解决CDN缓存的问题,要么在每次更新文件时生成不同的URL,要么在每次更新文件时刷新CDN缓存.我们在一个实际应用场景中用到了后者,所以需要调用阿里云CDN的API进行缓存刷新的操作. ...

  3. python 调用阿里云云解析api添加记录

    首先安装阿里云SDK pip install aliyun-python-sdk-core pip install aliyun-python-sdk-alidns 可以配合jenkins传递参数 # ...

  4. 用Python调用阿里云的短信接口

    #!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Frank import uuidimport datetimeimport hmacimpor ...

  5. 阿里云日志api创建logStore

    , shardCount =  });                 string date = FormatRfc822Date(time);                 string con ...

  6. 阿里云RDS与ECS服务器数据库做主从

    阿里云RDS与ECS服务器数据库做主从 [精] 里云RDS(数据库)基于飞天大规模分布式计算和存储能力,提供超高性价比的单机版实例,同时利用读写分离横向扩展读能力,满足网站类的业务需求.提供稳定.高性 ...

  7. 使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解

    使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解 背景:这几天从阿里云上面购买了云服务器,最垃圾的那种,还送oss和EDS数据库服务器,只不过EDS数据库服务器只有一个 ...

  8. 基于Apache的阿里云部署Node.js服务器(Windows环境)

    1 前言 由于nodejs项目对方开放了多个端口,而且阿里云上的Apache服务器(windows)已经挂载了网站,此时需要把此项目也挂上去,网上查询资料,方法略少,基本是基于nginx版本的. 2  ...

  9. 关于阿里云专有网络搭建FTP服务器的深坑

    之前用的FTP服务器都是,随便搭建一下就能用了, 昨天因为服务器的问题,换了个服务器,搭建FTP服务器的时候发现, 搭建的服务器居然只能使用 主动模式访问,改成被动后 无法获取目录, 百度了 各大论坛 ...

随机推荐

  1. centos 安装教程 服务器配置教程 服务器中安装python 服务器中安装Django 安装MySQL 配置MySQL

    一 .解决python编译安装所需的软件依赖 yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel opens ...

  2. python web篇 创建数据库

    python3 manage.py migrate ls sqlite3 使用单文件数据库,管理方便 运行测试 python manage.py runserver 输入http://127.0.0. ...

  3. 开发人员如何从官网首页进入下载JDK历史版本

    就是下面的这篇文章,好心好意提交到百度经验,希望给需要的人一个帮助,结果被拒,说有广告.呵呵,oracle和java真的需要在你百度上面做广告吗?倒是能理解,可能是外行人做的,只是看到链接就拒了,但是 ...

  4. UDP,TCP的套接字编程的Python实现

    UDP,TCP的套接字编程的Python实现 套接字:连接应用层和运输层,应用层的网络应用程序使用IP地址+端口号来标识自己,然后通过套接字调用运输层为其服务,网络应用程序只能指定自己要使用的网络类型 ...

  5. MySQL的一些概念

    数据库与服务器.客户端的层次关系 关于数据库 程序中需要存储数据的方式: 1 变量(列表.元组.集合.字典.嵌套) 2 外存(文件)(*.ini) 3 表格.Excel(*.xls.*.xlsx.*. ...

  6. angularjs 在 iframe 里面无法正确显示 src 指定的内容

    原 controller : $scope.myURL = URL; 页面: <iframe ng-src='{{myURL}}' class="width-100 height-10 ...

  7. 优化网站设计(十):最小化JAVASCRIPT和CSS

    前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议.这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题. 作为通用的原则,雅虎的工程师团队曾经给出过35个 ...

  8. 2015年蓝桥杯省赛A组c++第3题

    /* 小明发现了一个奇妙的数字.它的平方和立方正好把0~9的10个数字每个用且只用了一次. 你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容. */ #include<cstdi ...

  9. Entity Framework 6如何进行导航属性的筛选(context.Msg.First(t=>t.Id==1).Include(t=>t.MsgDetail),筛选MsgDetail带条件)

    问题: https://q.cnblogs.com/q/98333/ Msg表(Id,Content,IsDel).内有 virtual ICollection<MsgDetail> Ms ...

  10. Delphi中DLL初始化和退出处理

    来自delphibbs: zhousy_2000, 时间: 2005-09-13 13:53:00, ID: 3203484 <1>利用Unit的Initalization与Finaliz ...