gridscale服务的正式python惯用客户端

gs-api-client的Python项目详细描述


这是gridscale的官方python包装器api。允许您从自己的应用程序管理自己的基础架构。

先决条件

首先,需要安装python编程语言。这可以通过使用官方下载页面来完成。

完成后,通过pypi下载并安装

PIP3安装GS API客户机

简介

首先,您需要您的api凭证

在examples.py中,用您的凭证替换auth令牌。

认证

在运行其他命令之前,需要设置这些导入和配置。如果不需要同步或异步请求,可以分别省略SyncGridScaleApiclient&;GridScaleApiclient

fromgs_api_clientimportConfigurationfromgs_api_clientimportSyncGridscaleApiClient,GridscaleApiClient# Initiate the configurationapi_config=Configuration()api_config.api_key['X-Auth-Token']="AUTH_TOKEN"api_config.api_key['X-Auth-UserId']="USER_UUID"# Setup the clientsync_api=SyncGridscaleApiClient(configuration=api_config)async_api=GridscaleApiClient(configuration=api_config)

异步与同步客户端

我们提供两个客户机syncgridscaleapiclient&;gridscaleapiclient。gridscale的api在后台异步执行长时间运行操作,同时返回202响应代码,请求标识符位于x-request-id响应头中。

主要区别是:

  • gridscalepiclient公开了裸gridscale api功能,而syncgridscalepiclient在上面添加了一个方便层。
  • syncgridscalepiclient确定请求是同步还是异步。
  • 使异步操作的行为如同它们是同步的:
    • 客户端将阻塞,直到请求完成、成功或失败。
    • 在失败的情况下抛出一个AsynchronousAPIError异常。
  • 对于大多数patchpost请求,同步客户端将返回结果对象,而不是空的主体或只是引用。

调试

在下面添加这一行,将输出进一步的调试信息

api_config.debug=True

访问响应头

当实例化客户机时,返回值将是响应、响应代码和响应头(dict)的元组。

sync_api=SyncGridscaleApiClient(http_info=True)async_api=GridscaleApiClient(http_info=True)

基本请求示例

from pprint import pprint

# Get all Servers
pprint(async_api.get_servers())

# Create a Server
pprint(async_api.create_server({'name':'test', 'cores': 1, 'memory': 2}))

# Update a Server
pprint(async_api.update_server('<UUID>', {
    'name':'windows production Server',
    'cores': 2,
    'memory': 4
    }))

# Delete a Server
pprint(client.delete_storage('<UUID>'))

所有功能的详尽列表

在examples.py文件中,您可以看到一些示例请求来开始。所有端点都在我们的api中有完整的文档记录

请求

  • 获取请求

位置

  • 获取位置
  • 获取位置
  • 获取IP地址
  • 获取isoimages的位置
  • 获取位置网络
  • 获取位置服务器
  • 获取位置快照
  • 获取存储位置
  • 获取位置模板

服务器

  • 获取服务器
  • 获取服务器
  • 创建服务器
  • 更新服务器
  • 删除服务器
  • 获取已删除的服务器
  • 获取服务器事件
  • 获取服务器度量
  • 获取服务器电源
  • 更新服务器电源
  • 服务器电源关闭

服务器关系

  • 获取服务器链接的IP
  • 获取服务器链接的IP
  • 获取服务器链接的isoimage
  • 获取服务器链接的isoimages
  • 获取服务器链接的网络
  • 获取服务器链接的网络
  • 获取服务器链接存储
  • 获取服务器链接的存储
  • 将IP连接到服务器,
  • 将isoimage链接到服务器
  • 将网络链接到服务器
  • 将存储链接到服务器
  • 更新服务器链接的isoimage
  • 更新服务器连接的网络
  • 更新服务器链接存储
  • 取消IP与服务器的链接
  • 从服务器上取消iSoImage的链接
  • 取消网络与服务器的链接
  • 取消存储与服务器的链接

存储量

  • 获取存储空间
  • 获取存储空间
  • 创建存储
  • 删除存储
  • 获取已删除的存储空间
  • 存储回滚
  • 更新存储
  • 获取存储事件

快照

  • 获取快照
  • 获取快照
  • 创建快照
  • 删除快照
  • 获取快照计划
  • 获取快照计划
  • 更新快照
  • 创建快照计划
  • 更新快照计划
  • 删除快照计划
  • 快照导出到S3
  • 获取已删除的快照

模板

  • 获取模板
  • 获取模板
  • 创建模板
  • 更新模板
  • 删除模板
  • 获取模板事件
  • 获取已删除的模板

市场模板

  • 获取市场模板
  • 获取市场模板
  • 创建"市场"模板
  • 更新"市场"模板
  • 删除"市场"模板
  • 获取市场模板事件

网络

  • 获取网络
  • 获取网络
  • 创建网络
  • 更新网络
  • 删除网络
  • 获取网络事件
  • 删除网络

IPs

  • 获取IP
  • 获取IP
  • 创建IP
  • 更新IP
  • 删除IP
  • 获取IP事件
  • 删除IP

负载平衡器

  • 获取负载平衡器
  • 获取负载均衡器
  • 创建负载均衡器
  • 更新"loadbalancer"
  • 删除负载均衡器
  • 获取负载均衡器事件

PaaS

  • 获得PaaS服务
  • 获得PaaS服务
  • 创建PaaS服务
  • 更新PaaS服务
  • 删除PaaS服务
  • 获取PaaS服务指标
  • 获取"PaaS"安全区域
  • 进入帕斯安全区
  • 创建"PaaS"安全区域
  • 更新"PaaS"安全区域
  • 删除安全区域
  • 获取PaaS服务模板
  • 获取已删除的PaaS服务

防火墙

  • 获取防火墙
  • 获取防火墙
  • 创建防火墙
  • 更新防火墙
  • 删除防火墙
  • 获取防火墙事件

ISO图像

  • 获取isoimages
  • 获取isoimage
  • 创建ISO映像
  • 更新isoimage
  • 删除isoimage
  • 获取isoimage事件
  • 获取已删除的isoimages

标签

  • 获取标签
  • 创建标签
  • 删除标签

ssh密钥

  • 获取ssh密钥
  • 获取ssh密钥
  • 创建密钥
  • 更新ssh密钥
  • 删除ssh密钥
  • 获取密钥事件

事件

  • 事件全部获取

对象存储

  • 获取存储桶
  • 获取访问键
  • 获取访问键
  • 创建访问键
  • 删除访问键

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

推荐PyPI第三方库


热门话题
java如何显示因用户而异的SQLite存储数据?   转换java。sql。将映射传递给Jackon的valueToTree方法时StringNode的时间戳   从java中的列表json获取值   unicode Java字符存储在什么编码中?   java如何让Spring数据存储库中的默认方法命中缓存?   java使用readClassDescriptor()和resolveClass()来允许序列化版本控制   数组通过另一个矩阵的一部分填充矩阵   如果包含使用正则表达式的字符串,则替换父XML标记的java   java清除SharedReference中的单个变量   java将变量值从一个jsp页面传输到另一个jsp页面   java JDBC+SQLite:DriveManager不加载所需的驱动程序   相同源代码的java Kotlin构建生成不同的二进制文件   Java中的元组枚举