[OCI] Script Python pour obtenir l'adresse IP d'une instance de calcul dans Cloud Shell

Cet article concerne [l'écriture de scripts Python à exécuter à partir de la console OCI Cloud Shell](https://medium.com/oracledevs/writing-python-scripts-to-run-from-the-oci-console-cloud-shell- Ceci est une exécution du contenu de a0be1091384c).

OCI Cloud Shell OCI Cloud Shell est un terminal Shell basé sur un navigateur Web accessible depuis la console Web OCI. Cloud Shell présente les fonctionnalités suivantes:

Exemple de script d'acquisition d'adresse IP d'instance de calcul)

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
    ]))

Exemple d'exécution

$ 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

Supplément de script

singer Lorsque vous écrivez des scripts Python qui s'exécutent dans Cloud Shell, vous pouvez utiliser l'authentification existante de Cloud Shell. Vous pouvez omettre les paramètres de clé API séparés requis pour exécuter le script. Chargez un jeton de délégation de principal d'instance existant et générez un signataire.

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

Créer un client authentifié

Rechercher toutes les instances de la région actuelle Renseignez-vous sur les détails de l'instance et obtenez une adresse IP Définition du client API

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

Obtenir l'adresse IP

Trouvez tous les vnics attachés pour chaque instance Obtenez des adresses IP publiques et privées pour chaque 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
    ]))

Informations de référence

Recommended Posts

[OCI] Script Python pour obtenir l'adresse IP d'une instance de calcul dans Cloud Shell
Récupérer l'appelant d'une fonction en Python
Obtenez une instance datetime à tout moment de la journée en Python
Un mémo d'un programme qui récupère une date à deux chiffres avec javascript, Ruby, Python ou un script shell.
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python
Comment obtenir le nombre de chiffres en Python
Script Python pour obtenir une liste d'exemples d'entrée pour le concours AtCoder
Comment obtenir une liste de fichiers dans le même répertoire avec python
Obtenez le nombre d'éléments spécifiques dans la liste python
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
Obtenez le chemin du script en Python
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python (version non bloquante)
Traitez le contenu du fichier dans l'ordre avec un script shell
Comment déterminer l'existence d'un élément sélénium en Python
Essayez d'obtenir la liste des fils du bulletin d'information (je n'aime pas) avec Python.
Branche conditionnelle en raison de l'existence d'un fichier de script shell
Comment vérifier la taille de la mémoire d'une variable en Python
Créez un script shell pour exécuter le fichier python plusieurs fois
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
Comment mettre à jour la version Python de Cloud Shell dans GCP
Créez une fonction pour obtenir le contenu de la base de données dans Go
Obtenez le nombre de lecteurs d'articles sur Mendeley en Python
Exécuter l'interpréteur Python dans le script
Comment obtenir stacktrace en python
Pour obtenir une adresse IP locale par programme
[python] Obtenir une liste de variables d'instance
Obtenez votre propre adresse IP en Python
Écrivez un script dans Shell et Python pour vous avertir dans Slack lorsque le processus est terminé
Python VBA pour obtenir une capture de la page WEB entière avec Selenium
Un script qui enregistre l'adresse IP utilisée par wercker dans le groupe de sécurité
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
Obtenez la valeur de retour d'un script shell externe (ls) avec python3
Copiez la liste en Python
Comment obtenir les fichiers dans le dossier [Python]
Sortie sous la forme d'un tableau python
Touchons une partie de l'apprentissage automatique avec Python
Différentes façons de lire la dernière ligne d'un fichier csv en Python
Convertir l'API cURL en script Python (à l'aide du stockage d'objets IBM Cloud)
J'ai fait un script pour enregistrer la fenêtre active en utilisant win32gui de Python
Outil pour insérer le nom du pays et le code du pays dans une partie de l'adresse IP
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
J'ai créé un script pour vérifier si l'anglais est entré dans la position spécifiée du fichier JSON en Python.
Comment obtenir le nom de la variable lui-même en python
[python] Récupère la liste des classes définies dans le module
Un mémorandum pour exécuter un script python dans un fichier bat
Récupérer le code retour d'un script Python depuis bat
Obtenir la taille (nombre d'éléments) de Union Find en Python
Script pour obtenir la date d'expiration du certificat SSL
Obtenez l'URL de la destination de la redirection HTTP en Python
Un mémorandum sur la mise en œuvre des recommandations en Python
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
Note Python: Le mystère de l'attribution d'une variable à une variable
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
Une histoire sur la tentative d'introduire Linter au milieu d'un projet Python (Flask)
Ne prenez pas une instance d'une classe d'exception Python directement comme argument de la classe d'exception!