首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用vultr-cli在Vultr部署后检索实例ID?

使用vultr-cli在Vultr部署后检索实例ID?
EN

Stack Overflow用户
提问于 2021-01-24 01:09:03
回答 1查看 178关注 0票数 0

我正在用vultr-cli编写一个进程脚本。我需要在Vultr部署一个新的VPS,执行一些中间步骤,然后在bash脚本中销毁VPS。如何在部署后检索脚本中的实例值?有没有办法将信息捕获为JSON或直接设置环境变量?

到目前为止,我的脚本如下所示:

代码语言:javascript
复制
#!/bin/bash

## Create an instance. How do I retrieve the instance ID 
## for use later in the script?
vultr-cli instance create --plan vc2-1c-1gb --os 387 --region ewr

## With the instance ID, retrieve the main IPv4 address.
## Note: I only want the main IP, but there may be multiple. 
vultr-cli instance ipv4 list $INSTANCE_ID

## Perform some tasks here with the IPv4. Assuming I created 
## the instance with my SSH key, for example:
scp root@$INSTANCE_IPv4:/var/log/logfile.log ./logfile.log

## Destroy the instance. 
vultr-cli instance delete $INSTANCE_ID
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-24 01:45:27

vultr-cli将输出从API返回的响应,如下所示

代码语言:javascript
复制
☁  ~  vultr-cli instance create --plan vc2-1c-1gb --os 387 --region ewr
INSTANCE INFO
ID          87e98eb0-a189-4519-8b4e-fc46bb0a5331
Os          Ubuntu 20.04 x64
RAM         1024
DISK            0
MAIN IP         0.0.0.0
VCPU COUNT      1
REGION          ewr
DATE CREATED        2021-01-23T17:39:45+00:00
STATUS          pending
ALLOWED BANDWIDTH   1000
NETMASK V4
GATEWAY V4      0.0.0.0
POWER STATUS        running
SERVER STATE        none
PLAN            vc2-1c-1gb
LABEL
INTERNAL IP
KVM URL
TAG
OsID            387
AppID           0
FIREWALL GROUP ID
V6 MAIN IP
V6 NETWORK
V6 NETWORK SIZE     0
FEATURES        []

因此,您可能希望从响应中捕获ID及其值。这是一个粗略的例子,但它确实有效。

vultr-cli instance create --plan vc2-1c-1gb --os 387 --region ewr | grep -m1 -w "ID" | sed 's/ID//g' | tr -d " \t\n\r"

我们需要有ID的第一行(它始终是第一行)。然后删除单词ID,然后删除所有空格和换行符。

您将希望执行与您已有的ipv4 list调用类似的操作。

同样,可能有一种更好的方法来写出grep/sed/tr部分,但这将满足您的需要。希望这能有所帮助!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65862020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档