#!/usr/bin/env python
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
import datetime
network_much='5'                #提升网络速度到多少
ecsid='i-wz9c913ulnzfabbtm22d'  #传入你要临时提升得ecs服务器名称id
autopay='false'                 # true | false  true为直接扣费 false 为下单状态(调试使用false 即可)
ecsformat='cn-shenzhen'         #设置服务器所在地 查看api帮助文档即可
start_time=2019,01,24,23,10,00  #设置开始执行时间
year,month,day,hour,Minute,second=start_time    #将多个值赋给多个变量无需修改
Ago=4         #设置总时长不能小于3小时
def main():     
  start,stop=start_end(0)    #start_end 可以通过传入参数改变启动时间单位为往后推移天数,0即不改变
  aliyunpay(start,stop)      #续费请求
def aliyunpay(startTime,endTime):
  client = AcsClient('<accessKeyId>', '<accessSecret>',ecsformat)    #填写在阿里云申请得密钥
  request = CommonRequest()
  request.set_accept_format('json')
  request.set_domain('ecs.aliyuncs.com')
  request.set_method('POST')
  request.set_version('2014-05-26')
  request.set_action_name('ModifyInstanceNetworkSpec')
  request.add_query_param('RegionId', ecsformat)
  request.add_query_param('AutoPay', autopay)
  request.add_query_param('StartTime',startTime)
  request.add_query_param('EndTime',endTime)
  request.add_query_param('InstanceId', ecsid)
  request.add_query_param('InternetMaxBandwidthOut', network_much)
  response = client.do_action(request)
  print(response)
def start_end(onday):    #时间参数阿里云得是utc 函数实现以阿里云格式输出日期格式 只要你输入cst格式得日期即可(cst即使正常得时间)
  defaulttime=datetime.datetime(year, month , day , hour , Minute ,second,00)-datetime.timedelta(hours=8)+datetime.timedelta(days=onday)
  startTime=defaulttime.strftime("%Y-%m-%dT%H:%MZ")
  endTime=(defaulttime + datetime.timedelta(hours=Ago)).strftime("%Y-%m-%dT%HZ")
  return startTime,endTime
main()

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐