23 lines
1.3 KiB
Python
23 lines
1.3 KiB
Python
import os
|
|
import paramiko
|
|
|
|
pw = os.environ["DEPLOY_PASSWORD"]
|
|
c = paramiko.SSHClient()
|
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
c.connect("20.191.152.26", username="wakka", password=pw, timeout=30)
|
|
|
|
meta_cmds = [
|
|
"curl -s -H Metadata:true 'http://169.254.169.254/metadata/instance/compute/name?api-version=2021-02-01&format=text'",
|
|
"curl -s -H Metadata:true 'http://169.254.169.254/metadata/instance/compute/resourceGroupName?api-version=2021-02-01&format=text'",
|
|
"curl -s -H Metadata:true 'http://169.254.169.254/metadata/instance/compute/location?api-version=2021-02-01&format=text'",
|
|
"curl -s -H Metadata:true 'http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2021-02-01&format=text'",
|
|
"curl -s -H Metadata:true 'http://169.254.169.254/metadata/instance?api-version=2021-02-01' | python3 -c \"import sys,json; d=json.load(sys.stdin); print('vm',d['compute']['name']); print('rg',d['compute']['resourceGroupName']); print('loc',d['compute']['location']); print('pubip',d['network']['interface'][0]['ipv4']['ipAddress'][0].get('publicIpAddress','?'))\" 2>/dev/null || true",
|
|
]
|
|
|
|
for cmd in meta_cmds:
|
|
print(">>>", cmd[-60:])
|
|
_, o, _ = c.exec_command(cmd, timeout=20)
|
|
print(o.read().decode().strip())
|
|
|
|
c.close()
|