[OCI] Python-Skript zum Abrufen der IP-Adresse einer Recheninstanz in Cloud Shell

In diesem Artikel geht es um [Schreiben von Python-Skripten zur Ausführung über die OCI Console Cloud Shell](https://medium.com/oracledevs/writing-python-scripts-to-run-from-the-oci-console-cloud-shell- Dies ist eine Ausführung des Inhalts von a0be1091384c).

OCI Cloud Shell OCI Cloud Shell ist ein Webbrowser-basiertes Shell-Terminal, auf das über die OCI-Webkonsole zugegriffen werden kann. Cloud Shell bietet die folgenden Funktionen:

Beispiel für ein Skript zur Erfassung der IP-Adresse einer Recheninstanz)

list_ipaddress.py


#!/usr/bin/env python
 
import oci
 
delegation_token = open('/etc/oci/delegation_token', 'r').read()
signer = oci.auth.signers.InstancePrincipalsDelegationTokenSigner(
  delegation_token=delegation_token
)

search_client = oci.resource_search.ResourceSearchClient({},signer=signer)
compute_client = oci.core.ComputeClient({},signer=signer)
network_client = oci.core.VirtualNetworkClient({},signer=signer)
 
resp = search_client.search_resources(
  oci.resource_search.models.StructuredSearchDetails(
  type="Structured",
  query="query instance resources"
  )
)
 
for instance in resp.data.items:
  resp = compute_client.list_vnic_attachments(
  compartment_id=instance.compartment_id,
  instance_id=instance.identifier
  )
 
  for vnic_attachment in resp.data:
    vnic = network_client.get_vnic(vnic_attachment.vnic_id).data
    print("\t".join([
    instance.display_name,
    vnic.display_name,
    vnic.private_ip,
    vnic.public_ip
    ]))

Ausführungsbeispiel

$ python ./list_ipaddress.py
fmwf    fmwf    10.0.0.4       150.136.236.XXX
db01    db01    10.0.0.3       150.136.37.XXX
gpu01   gpu01   10.0.0.5       150.136.89.XXX
fn      fn      10.0.0.2        158.101.118.XXX

Skriptergänzung

singer Beim Schreiben von Python-Skripten, die in Cloud Shell ausgeführt werden, können Sie die vorhandene Authentifizierung von Cloud Shell verwenden. Sie können die separaten API-Schlüsseleinstellungen weglassen, die zum Ausführen des Skripts erforderlich sind. Laden Sie ein vorhandenes Instanzprinzipaldelegationstoken und generieren Sie einen Unterzeichner.

#!/usr/bin/env python
 
import oci
 
delegation_token = open('/etc/oci/delegation_token', 'r').read()
signer = oci.auth.signers.InstancePrincipalsDelegationTokenSigner(
  delegation_token=delegation_token
)

Erstellen Sie einen authentifizierten Client

Suchen Sie nach allen Instanzen in der aktuellen Region Erkundigen Sie sich nach Instanzdetails und erhalten Sie eine IP-Adresse API-Client-Definition

search_client = oci.resource_search.ResourceSearchClient({},signer=signer)
compute_client = oci.core.ComputeClient({},signer=signer)
network_client = oci.core.VirtualNetworkClient({},signer=signer)

IP-Adresse abrufen

Finden Sie alle angehängten vnics für jede Instanz Holen Sie sich sowohl öffentliche als auch private IP-Adressen für jedes vnic

for instance in resp.data.items:
  resp = compute_client.list_vnic_attachments(
  compartment_id=instance.compartment_id,
  instance_id=instance.identifier
  )
 
  for vnic_attachment in resp.data:
    vnic = network_client.get_vnic(vnic_attachment.vnic_id).data
    print("\t".join([
    instance.display_name,
    vnic.display_name,
    vnic.private_ip,
    vnic.public_ip
    ]))

Referenzinformationen

Recommended Posts

[OCI] Python-Skript zum Abrufen der IP-Adresse einer Recheninstanz in Cloud Shell
Holen Sie sich den Aufrufer einer Funktion in Python
Holen Sie sich zu jeder Tageszeit eine Datums- / Uhrzeitinstanz in Python
Ein Memo eines Programms, das ein zweistelliges Datum mit Javascript, Ruby, Python oder einem Shell-Skript abruft.
So übergeben Sie das Ergebnis der Ausführung eines Shell-Befehls in einer Liste in Python
So ermitteln Sie die Anzahl der Stellen in Python
Python-Skript zum Abrufen einer Liste von Eingabebeispielen für den AtCoder-Wettbewerb
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Holen Sie sich den Skriptpfad in Python
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Übergeben des Ausführungsergebnisses eines Shell-Befehls in einer Liste in Python (nicht blockierende Version)
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
So bestimmen Sie die Existenz eines Selenelements in Python
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
Bedingte Verzweigung aufgrund des Vorhandenseins einer Shell-Skriptdatei
So überprüfen Sie die Speichergröße einer Variablen in Python
Erstellen Sie ein Shell-Skript, um die Python-Datei mehrmals auszuführen
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
So aktualisieren Sie die Python-Version von Cloud Shell in GCP
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Führen Sie den Python-Interpreter im Skript aus
Wie bekomme ich Stacktrace in Python?
Programmgesteuert eine lokale IP-Adresse abrufen
[Python] Ruft eine Liste der Instanzvariablen ab
Holen Sie sich Ihre eigene IP-Adresse in Python
Schreiben Sie ein Skript in Shell und Python, um Sie in Slack zu benachrichtigen, wenn der Vorgang abgeschlossen ist
Python VBA, um mit Selenium die gesamte WEB-Seite zu erfassen
Ein Skript, das die von wercker in der Sicherheitsgruppe verwendete IP-Adresse registriert
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Ruft den Rückgabewert eines externen Shell-Skripts (ls) mit python3 ab
Kopieren Sie die Liste in Python
So erhalten Sie die Dateien im Ordner [Python]
Ausgabe in Form eines Python-Arrays
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
Konvertieren der cURL-API in ein Python-Skript (mithilfe des IBM Cloud-Objektspeichers)
Ich habe ein Skript erstellt, das das aktive Fenster mit win32gui von Python aufzeichnet
Tool zum Einfügen des Ländernamens und des Ländercodes in einen Teil der IP-Adresse
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Ich habe ein Skript erstellt, um zu überprüfen, ob an der angegebenen Position der JSON-Datei in Python Englisch eingegeben wird.
So erhalten Sie den Variablennamen selbst in Python
[Python] Ruft die Liste der im Modul definierten Klassen ab
Ein Memorandum zum Ausführen eines Python-Skripts in einer Bat-Datei
Holen Sie sich den Rückkehrcode eines Python-Skripts von bat
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Skript zum Abrufen des Ablaufdatums des SSL-Zertifikats
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Um das Äquivalent von Rubys ObjectSpace._id2ref in Python zu tun
Python Hinweis: Das Rätsel, einer Variablen eine Variable zuzuweisen
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
Eine Geschichte über den Versuch, Linter mitten in einem Python (Flask) -Projekt vorzustellen
Nehmen Sie eine Instanz einer Python-Ausnahmeklasse nicht direkt als Argument für die Ausnahmeklasse!