python 调用阿里云云解析api添加记录
首先安装阿里云SDK
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-alidns
可以配合jenkins传递参数
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2018/1/24 0024 13:42
# @Author : sanmuyan
# @FileName: aliyun_domain_des.py
import json,jsonpath,os
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkalidns.request.v20150109 import DescribeDomainRecordsRequest
from aliyunsdkalidns.request.v20150109 import AddDomainRecordRequest
from aliyunsdkalidns.request.v20150109 import DeleteDomainRecordRequest
from aliyunsdkalidns.request.v20150109 import DescribeDomainRecordInfoRequest AccessKey = os.environ.get('AccessKey')
Secret = os.environ.get('Secret')
Regions = os.environ.get('Regions')
# 创建 AcsClient 实例
client = AcsClient(
AccessKey,
Secret,
Regions
); def dns_des(RecordId):
request = DescribeDomainRecordInfoRequest.DescribeDomainRecordInfoRequest()
request.set_RecordId(RecordId)
response = client.do_action_with_exception(request)
data = json.loads(response)
data = json.dumps(data, sort_keys=True, indent=2)
print(data) def dns_del(DomainName, RR):
request = DescribeDomainRecordsRequest.DescribeDomainRecordsRequest()
request.set_DomainName(DomainName)
request.set_RRKeyWord(RR)
response = client.do_action_with_exception(request)
data = json.loads(response)
TotalCount = jsonpath.jsonpath(data,"$..TotalCount")
if TotalCount[0] != 0:
data1 = jsonpath.jsonpath(data,"$..RR")
data2 = jsonpath.jsonpath(data,"$..RecordId")
if RR in data1:
index = data1.index(RR)
RecordId = data2[index]
print("WARNING: Delete the existing records")
dns_des(RecordId)
request = DeleteDomainRecordRequest.DeleteDomainRecordRequest()
request.set_RecordId(RecordId)
response = client.do_action_with_exception(request)
return response def dns_add(DomainName, RR, Type, Value):
dns_del(DomainName, RR)
request = AddDomainRecordRequest.AddDomainRecordRequest()
request.set_DomainName(DomainName)
request.set_RR(RR)
request.set_Type(Type)
request.set_Value(Value)
response = client.do_action_with_exception(request)
data = json.loads(response)
print("INFO: Record adding success")
RecordId = (data['RecordId'])
dns_des(RecordId) if __name__ == '__main__':
DomainName = os.environ.get('DomainName')
RR = os.environ.get('RR')
Type = os.environ.get('Type')
Value = os.environ.get('Value')
dns_add(DomainName, RR, Type, Value)
python 调用阿里云云解析api添加记录的更多相关文章
- python 调用阿里云服务器api创建服务器
首先安装阿里云SDK pip install aliyun-python-sdk-core pip install aliyun-python-sdk-ecs 可以配合jenkins传递参数 #!/u ...
- Python 调用阿里云 API 收集 ECS 数据
#!/usr/bin/env python # coding: utf-8 # author: Wang XiaoQiang ''' 功能介绍: 1.调用阿里云API,收集所有区域 ECS 信息 2. ...
- 【终极版】利用阿里云云解析API实现动态域名解析(ddns),搭建私有服务器【含可执行文件和源码】
前言:懒人可以直接往下看,有代码和全部资源可以下载.此文章是先前文章的定时版,主要是添加了定时执行的功能,并且将代码中的配置项放置到了app.config文件中,方便不懂开发的朋友修改使用.未经许可请 ...
- 【升级版】如何使用阿里云云解析API实现动态域名解析,搭建私有服务器【含可执行文件和源码】
原文地址:http://www.yxxrui.cn/article/179.shtml 未经许可请勿转载,如有疑问,请联系作者:yxxrui@163.com 我遇到的问题:公司的网络没有固定的公网IP ...
- C#调用阿里云CDN API刷新缓存
使用CDN必须要解决CDN缓存的问题,要么在每次更新文件时生成不同的URL,要么在每次更新文件时刷新CDN缓存.我们在一个实际应用场景中用到了后者,所以需要调用阿里云CDN的API进行缓存刷新的操作. ...
- 如何使用阿里云云解析API实现动态域名解析,搭建私有服务器
原文地址:http://www.yxxrui.cn/article/116.shtml 未经许可请勿转载,如有疑问,请联系作者:yxxrui@163.com 公司的网络没有固定的公网IP地址,但是能够 ...
- python调用有道翻译api实现翻译
通过调用有道翻译的api,实现中译英.其他语言译中文 代码: # coding=utf-8 import urllib import urllib2 import json import time i ...
- Python调用腾讯云API,实现人脸年龄变化
网上看到了一个教程,调用腾讯云的人脸识别api和修改年龄api来实现模拟人物不同年龄的面貌 但是大多数教程的代码都是想同的,估计是抄袭哪个人的关键是执行不了 刚好周杰伦马上要发新专辑了,小改一下,拿杰 ...
- 用Python调用阿里云的短信接口
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Frank import uuidimport datetimeimport hmacimpor ...
随机推荐
- customer.java
package banking; public class Customer { private String firstName; private String lastName; private ...
- Echarts Map 值域为小数的原因
最近做一个项目用到了Echarts Map不知道怎么回事,有时多了一位小时,可这个意义不用小数表示(1.0个人似乎觉得有点奇怪嘞 {boolean}calculable false 是否启用值域漫游, ...
- ubuntu经常断网、掉线、上不去网的原因
方案一: ubuntu经常断网.掉线.上不去网的原因,很可能是因为IPv6的关系,Ubuntu默认开启IPv6,在“设置--wifi--齿轮图标”中关掉就可以了. 经我环境测试,此方法无效 方案二: ...
- [No000015A]SQL语句分类
1.Data Definition Language(DDL) 数据定义 CREATE - 在数据库中创建对象: ALTER - 修改数据库结构: DROP - 删除对象: RENAME - 重命名对 ...
- tensorRT 构建推理引擎
- 启用hive hwi方法
hive启动hwi: ./hive --service hwi ls: cannot access /opt/cdh-5.3.6/hive-0.13.1/lib/hive-hwi-*.war: No ...
- cordova 内部API 用ssl https,报错
环境:node6.10.1 cordova 6.x, ionic 2.2.1 用cordova/ionic 建立的app我们的api 地址要用https,做了安全加密之后,按照正常的流程,打包,然后跑 ...
- Xml文件删除节点总是留有空标签
---恢复内容开始--- 在删除Xml文件时,删除成功后还有标签,让我百思不得其解,因为xml文档中留着这空标签会对后续的操作带来很多麻烦,会取出空值,人后导致程序中止. 导致这种情况的原因是删除xm ...
- 占满屏幕的宽高,当把textarea换成其他标签的时候,怎么才能编辑?
$('.nav').width($(window).width()); $('.nav').height($(window).height()); 当把textarea换成其他标签的时候,怎么才能 ...
- 洛谷P3724 大佬 [AH2017/HNOI2017] dp+bfs
正解:dp+bfs 解题报告: 传送门! 这题看起来很复杂的样子其实真的很复杂 但是仔细看一下题目,会发现其实操作只有两个目的嘛,一个是保证自己不死,一个是让对手减血 而且保证自己不死只有一种操作 而 ...