一个简单的命令行工具,用于列出、创建和删除DigitalOcean液滴。

do-cli的Python项目详细描述


DigitalOcean CLI工具

一个简单的命令行工具,用于列出、创建和删除DigitalOcean 飞沫。

开始

用pip3安装do-cli,如:

pip3 install do-cli

您需要在DO_API_KEY环境中存储DigitalOcean API密钥 变量,如下:

export DO_API_KEY=[your_api_key_here]

您可以运行该行来设置环境变量。但是,如果你愿意, 您还可以将该行复制到~/.bashrc文件中,以便它始终 自动设置。但是要小心保护你的api密钥。任何人 它可以在您的帐户中创建/删除DigitalOcean虚拟专用数据库。

用法

首先,选择一个子命令,或者listcreate,或者delete

$ do-cli -h
usage: do [-h] {list,create,delete} ...

positional arguments:
  {list,create,delete}
    list                List droplets
    create              Create a new droplet
    delete              Delete a droplet

optional arguments:
  -h, --help            show this help message and exit

清单不需要任何额外的参数。

创建需要一个名称,您可以选择大小、图像和 要创建的液滴区域。注意do-cli将 自动上载在~/.ssh/id_rsa.pub中找到的ssh公钥 如果它不在你的帐户上,把它加到新的液滴上 它被创造出来。

$ do-cli create -h
usage: do create [-h] [--size SIZE] [--image IMAGE] [--region REGION] name

positional arguments:
  name             Name of droplet

optional arguments:
  -h, --help       show this help message and exit
  --size SIZE      Size (in RAM) of the droplet (default: 512mb)
  --image IMAGE    Base image of the droplet (default: ubuntu-18-10-x64)
  --region REGION  Region of the droplet (default: sfo2)

删除需要一个液滴ID,您可以通过运行列表获得该ID。什么时候? 删除液滴时,必须包含可选标志--force或 否则它不会删除它。

$ do-cli delete -h
usage: do delete [-h] [--force] id

positional arguments:
  id          Id of droplet

optional arguments:
  -h, --help  show this help message and exit
  --force     Required to actually delete the droplet

示例

我的DigitalOcean帐户还没有任何液滴,因此我将创建一个:

$ do-cli create test1
Added your SSH key, 'user@dev' to DigitalOcean
Droplet    IP address           id    Memory    Disk  Region
---------  ------------  ---------  --------  ------  --------
test1                    115661631       512      20  sfo2

注意,do-cli向digitalocean添加了我的ssh密钥。的IP地址 新的水滴还没有显示,因为它刚刚创建,但我可以运行 列表查看:

$ do-cli list
Droplet    IP address              id    Memory    Disk  Region
---------  ---------------  ---------  --------  ------  --------
test1      138.68.12.60     115661631       512      20  sfo2

很好,现在我再加一滴,但这次是在纽约 拥有1GB的内存,而不是512MB。

$ do-cli create test2 --size 1gb --region nyc1
Droplet    IP address           id    Memory    Disk  Region
---------  ------------  ---------  --------  ------  --------
test2                    115661894      1024      30  nyc1

现在我要看看我的液滴列表:

$ do-cli list
Droplet    IP address              id    Memory    Disk  Region
---------  ---------------  ---------  --------  ------  --------
test1      138.68.12.60     115661631       512      20  sfo2
test2      159.65.229.223   115661894      1024      30  nyc1

现在我要删除test1滴:

$ do-cli delete test1
The resource you were accessing could not be found.

这不起作用,因为我应该提供液滴的ID, 不是名字。(这很重要,因为id是唯一的,而名称不是。 可以有多个同名的液滴。)让我们再试一次,但是 这次的身份证是“115661631”。

$ do-cli delete 115661631
To delete the following droplet, run again with --force.

Droplet    IP address           id    Memory    Disk  Region
---------  ------------  ---------  --------  ------  --------
test1      138.68.12.60  115661631       512      20  sfo2

差不多了。为了避免意外地永久删除错误的液滴,您 必须将--force传递到do-cli

$ do-cli delete 115661631 --force
The following droplet has been deleted.

Droplet    IP address           id    Memory    Disk  Region
---------  ------------  ---------  --------  ------  --------
test1      138.68.12.60  115661631       512      20  sfo2

已经被删除了。现在让我们列出水滴。

$ do-cli list
Droplet    IP address              id    Memory    Disk  Region
---------  ---------------  ---------  --------  ------  --------
test2      159.65.229.223   115661894      1024      30  nyc1

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

推荐PyPI第三方库


热门话题
image Java:设置iconimage而不使用完整路径   javaant和Eclipse构建   Java标签检查图像   java为什么我的glassfish服务器会重定向到另一台服务器?   java MySQL简单查询错误   java你能告诉我如何在图像视图中显示图像吗   Java驱动程序4.0:是否支持对象映射?   java在通过SourceDataLine播放音频时发出一致的爆裂声   java组织。金特罗普。dcom。常见的JIException:未找到错误代码0xC0000070的消息   运行Dijkstra算法实现时的java IndexOutOfBoundsException   java swing gui闪烁白色错误   java单元测试:我应该使用null还是可选的。返回()中的空()?   javajaxb创建空对象   如何拒绝Java构造函数中的非限定参数?   单元测试的java分类