首先安装阿里云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. 最全面的Android Studio使用教程【申明:来源于网络】

    最全面的Android Studio使用教程[申明:来源于网络] http://www.admin10000.com/document/5496.html

  2. Docker多主机网络

    网络术语概念 二层交换技术:工作在OSI七层网络模型的第二层,通过MAC地址进行帧转发 三层交换技术:也称为IP交换技术,工作在OSI七层网络模型的第三层,通过IP地址进行包转发.它解决了局域网中网段 ...

  3. Echarts 的Formatter的回调函数

    option = { tooltip: { trigger: 'axis', formatter: function (params,ticket,callback) { let res = para ...

  4. C# 方法中的this参数

    x 先看下面的代码: public static class StringExtension { public static void Foo(this string s) { Console.Wri ...

  5. hadoop 0.20.2伪分布式安装详解

    adoop 0.20.2伪分布式安装详解 hadoop有三种运行模式: 伪分布式不需要安装虚拟机,在同一台机器上同时启动5个进程,模拟分布式. 完全分布式至少有3个节点,其中一个做master,运行名 ...

  6. JavaScript:改变 HTML 图像

    JavaScript:改变 HTML 图像 1.代码如下: <!DOCTYPE HTML> <html> <head> <meta charset=" ...

  7. 区块链共识机制:POW、POS、DPOS、PBFT、POOL

    共识机制作为区块链的关键技术之一,在业务吞吐量.交易速度.不可篡改性.准入门槛等等方面发挥重要的作用. 区块链是去中心化的,没有中心记账节点,所以需要全网对账本达成共识.目前有POW.POS.DPOS ...

  8. lua--openresty--

    lua-openresty---docker-- https://blog.csdn.net/boling_cavalry/article/details/79290944 lua-practice ...

  9. 转:java内部类作用

    原文地址:https://www.cnblogs.com/uu5666/p/8185061.html 一. 定义 放在一个类的内部的类我们就叫内部类. 二. 作用 1.内部类可以很好的实现隐藏, 一般 ...

  10. Django实现邮件发送功能

    首先申请邮箱并在设置中申请到授权码,授权码的目的仅仅是让你有权限发邮件,但是不能登录到邮箱进行修改,发送邮件时,可以代替密码 1,配置文件settings.py #邮件服务配置文件 EMAIL_USE ...