rest api定义为yaml并用lastapi调用。
lastapi的Python项目详细描述
lastapi
omni rest api客户端
这仍然是WIP,但我已经有了使用CloudFlareAPI更新DNS函数的原型。
这个项目是用python 3编写的。您可以使用安装依赖项
pip3 install --user -r requirements.txt
穿行
rest api模式
中定义---
Name: cloudflare
Base:
Protocol: https
Host: api.cloudflare.com
Headers:
X-Auth-Key: ${auth_key}
X-Auth-Email: ${auth_email}
Content-Type: application/json
Actions:
update_dns:
Path:
- /client/v4/zones/
- ${zone_id}
- /dns_records/
- ${dns_id}
Method: PUT
Payload:
type: ${dns_type}
name: ${dns_name}
content: ${dns_content}
ttl: 1
proxied: true
将使用pykwalify对schemas/schema.yaml进行验证。
全局参数
api的全局参数,通常是api密钥和帐户的内容,在schemas/cloudflare-params.yaml.example中。您应该复制它并删除.example
后缀并放入真正的凭证。
---
auth_key: sample-api-key
auth_email: raynix@some.email
调用模式中的操作
要调用模式中定义的update_dns
操作,请运行:
./lapi --schema schemas/cloudflare --func update_dns --vars zone_id=xxx,dns_id=xxx,dns_type=A,dns_name=mydomain.com,dns_content=1.2.3.4
如果这对你不起作用,请发表评论或提出问题。