rest api定义为yaml并用lastapi调用。

lastapi的Python项目详细描述


lastapi

omni rest api客户端

这仍然是WIP,但我已经有了使用CloudFlareAPI更新DNS函数的原型。

这个项目是用python 3编写的。您可以使用安装依赖项

pip3 install --user -r requirements.txt

穿行

rest api模式

架构在schemas/cloudflare.yaml

中定义
---
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

如果这对你不起作用,请发表评论或提出问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
html如何在JavaScript中获取当前Windows用户的名称   用于屏蔽电子邮件的java正则表达式   java Jsoup Android解析   为了避免在运行时缺少Java泛型,将超类型绑定到子类实例   java JTextArea。setText(空);不会释放内存   安卓源Java OutOfMemoryError在构建AOSP 10时出错   java打印到达数组末尾所需的最小跳数序列   使用mvn命令的java Selenium TestNG并行执行   javasocket编程:在关闭服务器之前通知所有客户端   java如何在加载新的安卓片段时显示progressbar?   java从actor系统中删除AKKA actor,并创建另一个具有相同路径名的actor   java我可以用浓缩咖啡做性能测试,还是应该用其他东西?   JavaTreeView(TreeItem)是否可以获取层次结构索引?   带远程服务的java Android应用程序