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异常。
- 对于大多数
patch
和post
请求,同步客户端将返回结果对象,而不是空的主体或只是引用。
调试
在下面添加这一行,将输出进一步的调试信息
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密钥
- 获取密钥事件
事件
- 事件全部获取
对象存储
- 获取存储桶
- 获取访问键
- 获取访问键
- 创建访问键
- 删除访问键