`gcloud compute instances create` 有什么作用? - POST https://compute.googleapis.com…
What does `gcloud compute instances create` do? - POST https://compute.googleapis.com…
使用 gcloud
CLI 可以很容易地完成一些事情,例如:
$ export network='default' instance='example-instance' firewall='ssh-http-icmp-fw'
$ gcloud compute networks create "$network"
$ gcloud compute firewall-rules create "$firewall" --network "$network" \
--allow 'tcp:22,tcp:80,icmp'
$ gcloud compute instances create "$instance" --network "$network" \
--tags 'http-server' \
--metadata \
startup-script='#! /bin/bash
# Installs apache and a custom homepage
apt update
apt -y install apache2
cat <<EOF > /var/www/html/index.html
<html><body><h1>Hello World</h1>
<p>This page was created from a start up script.</p>
</body></html>'
$ # sleep 15s
$ curl $(gcloud compute instances list --filter='name=('"$instance"')' \
--format='value(EXTERNAL_IP)')
(命令详尽,拆解)
$ gcloud compute networks delete -q "$network"
$ gcloud compute firewall-rules delete -q "$firewall"
$ gcloud compute instances delete -q "$instance"
…但不清楚来自 REST API 端的等效命令是什么。特别是考虑到大量的选项,例如 https://cloud.google.com/compute/docs/reference/rest/v1/instances/insert
因此,当我为 Google 云计算编写自定义 REST API 客户端时,我想 窃取 gcloud
在内部所做的任何事情引擎。
运行 rg
我发现了一堆这样的行:
https://github.com/googleapis/google-auth-library-python/blob/b1a12d2/google/auth/transport/requests.py#L182
特别是 lib/third_party
中的这 5 个:
google/auth/transport/{_aiohttp_requests.py,requests.py,_http_client.py,urllib3.py}
google_auth_httplib2/__init__.py
我在每一个下面添加了 _LOGGER.debug("With body: %s", body)
。但是似乎有一些 fancy batching 正在发生,因为我几乎从来没有得到 With body
行
现在正在使用 Wireshark 看看我能找到什么,但我相信这是一个很难掉下去的兔子洞。 https://console.cloud.google.com/home/activity.
同上
如何找出 gcloud
正在设置的主体?
添加命令行选项 --log-http
以查看 REST API 参数。
没有简单的答案,因为 CLI 随着时间的推移而变化。添加、删除等新功能
使用 gcloud
CLI 可以很容易地完成一些事情,例如:
$ export network='default' instance='example-instance' firewall='ssh-http-icmp-fw'
$ gcloud compute networks create "$network"
$ gcloud compute firewall-rules create "$firewall" --network "$network" \
--allow 'tcp:22,tcp:80,icmp'
$ gcloud compute instances create "$instance" --network "$network" \
--tags 'http-server' \
--metadata \
startup-script='#! /bin/bash
# Installs apache and a custom homepage
apt update
apt -y install apache2
cat <<EOF > /var/www/html/index.html
<html><body><h1>Hello World</h1>
<p>This page was created from a start up script.</p>
</body></html>'
$ # sleep 15s
$ curl $(gcloud compute instances list --filter='name=('"$instance"')' \
--format='value(EXTERNAL_IP)')
(命令详尽,拆解)
$ gcloud compute networks delete -q "$network"
$ gcloud compute firewall-rules delete -q "$firewall"
$ gcloud compute instances delete -q "$instance"
…但不清楚来自 REST API 端的等效命令是什么。特别是考虑到大量的选项,例如 https://cloud.google.com/compute/docs/reference/rest/v1/instances/insert
因此,当我为 Google 云计算编写自定义 REST API 客户端时,我想 窃取 gcloud
在内部所做的任何事情引擎。
运行 rg
我发现了一堆这样的行:
https://github.com/googleapis/google-auth-library-python/blob/b1a12d2/google/auth/transport/requests.py#L182
特别是 lib/third_party
中的这 5 个:
google/auth/transport/{_aiohttp_requests.py,requests.py,_http_client.py,urllib3.py}
google_auth_httplib2/__init__.py
我在每一个下面添加了 _LOGGER.debug("With body: %s", body)
。但是似乎有一些 fancy batching 正在发生,因为我几乎从来没有得到 With body
行
现在正在使用 Wireshark 看看我能找到什么,但我相信这是一个很难掉下去的兔子洞。 https://console.cloud.google.com/home/activity.
同上如何找出 gcloud
正在设置的主体?
添加命令行选项 --log-http
以查看 REST API 参数。
没有简单的答案,因为 CLI 随着时间的推移而变化。添加、删除等新功能