ibmcloud-python-sdk vise à parler à IBM Cloud. Pour ce faire, il nécessite un fichier de configuration. ibmcloud-python-sdk favorise le fichier clouds.yaml , mais peut également utiliser des variables d'environnement (voir ci-dessous) . Un exemple:
---
clouds :
default : demo-acc
demo-acc :
profile : demo
description : Credentials from my IBM Cloud demo account
key : XxX1234567890XxX
region : us-south
version : 2021-06-15
generation : 2
cis_username : [email protected]
cis_apikey : abc123def456ghi789klm0n
prod-acc :
profile : prod
description : Credentials from my IBM Cloud production account
key : zZz1234567890zZz
region : us-south
version : 2021-06-15
generation : 2
cis_username : [email protected]
cis_apikey : @@abc123def456ghi789klm0n@@ Le fichier clouds.yaml sera d'abord recherché dans le répertoire ~/.ibmcloud mais ce comportement pourrait être remplacé par une variable d'environnement.
| Variable | Description | Exemple | Obligatoire |
|---|---|---|---|
IC_CONFIG_FILE | Chemin absolu vers le fichier clouds.yaml | ~/vault/ibm.yaml | [] |
IC_CONFIG_NAME | Nom de la configuration du cloud par défaut | demo | [] |
IC_REGION | La région devait se connecter | us-south | [x] |
IC_VERSION | Demande la version de l'API | 2021-06-15 | [x] |
IC_GENERATION | La génération d'infrastructure pour la demande | 2 | [x] |
IC_SDK_CONFIG_FILE | Chemin absolu vers le fichier sdk.yaml | ~/.config/ibmcloud/sdk.yaml | [] |
IC_API_KEY | Clé API créé via le système IBM Cloud IAM | XxX1234567890XxX | [x] |
SL_USERNAME | Utilisateur SoftLayer | goldyfruit | [] |
SL_API_KEY | Clé API SoftLayer | abc123def456ghi789klm0n | [] |
La documentation du SDK IBM Cloud Python est disponible ici.
IBM Cloud Python SDK exploite les SDK Python existants tels que:
Seul VPC Gen 2 est soutenu par ce SDK.
| Service | Fonctionnalité |
|---|---|
| Cis | Baremetal, stockage d'objets |
| DNS | Zone publique, zone privée |
| Em | Obtenez un compte, obtenez l'entreprise |
| JE SUIS | Politiques, rôles |
| POUVOIR | Système d'alimentation |
| RESSOURCE | Liaison, groupe, instance, clé |
| VPC | ACL, FIP, passerelle, géo, image, instance, clé, équilibreur de chargement, sécurité, sous-réseau, volume, VPC, VPN |
Installer à partir de PYPI via pip :
python -m venv ~ /virtualenvs/ibmcloud-python-sdk
source ~ /virtualenvs/ibmcloud-python-sdk/bin/activate
pip install ibmcloud-python-sdkOu vous pouvez installer à partir de la source:
cd ~ /Git
git clone https://github.com/goldyfruit/ibmcloud-python-sdk.git
python -m venv ~ /virtualenvs/ibmcloud-python-sdk
source ~ /virtualenvs/ibmcloud-python-sdk/bin/activate
cd ~ /Git/ibmcloud-python-sdk
pip install .Nous vous recommandons d'utiliser un environnement virtuel Python pour installer le SDK.
Le SDK a une capacité de mise en cache ( memcached uniquement pour l'instant) pour améliorer la vitesse des demandes HTTP. Pour activer ce mécanisim, veuillez configurer correctement le SDK à l'aide du fichier ~/.ibmcloud/sdk.yaml .
---
sdk :
cache_ttl : 60
memcached :
- 127.0.0.1:11211Les serveurs de cache Muttiple peuvent également être configurés.
---
sdk :
cache_ttl : 60
memcached :
- 127.0.0.1:11211
- 127.0.0.1:11212
- 127.0.0.1:11213 Un moyen facile de déployer le serveur memcached est d'utiliser un conteneur.
podman run -dt -p 11211:11211 --name memcached -d memcachedsudo docker run -dt -p 11211:11211 --name memcached -d memcachedUne liste d'exemples sur la façon d'utiliser ce SDK peut être trouvée ici.
from ibmcloud_python_sdk . vpc import vpc as ic
vpc = ic . Vpc ()
vpc . get_vpc ( "ibmcloud-vpc-baby" ) from ibmcloud_python_sdk . vpc import vpc as icv
from ibmcloud_python_sdk . resource import resource_group as icr
import sys
# Variables
vpc_name = 'ibmcloud-vpc-baby'
resource_group_name = 'ibmcloud-resource-group-baby'
# Intentiate classes
vpc = icv . Vpc ()
rg = icr . ResourceGroup ()
# Retrieve resource group ID and check for error
resource_group_info = rg . get_resource_group ( resource_group_name )
if 'errors' in resource_group_info :
print ( resource_group_info [ 'errors' ])
sys . exit ()
# Create the VPC based on variable and resource group ID
response = vpc . create_vpc (
name = vpc_name ,
resource_group = resource_group_info [ 'id' ],
address_prefix_management = 'auto' ,
classic_access = True
)
# Check for error during the VPC creation process
if 'errors' in response :
print ( response [ 'errors' ])
else :
print ( response )CRN ou HREF ne pouvaient pas être utilisés comme identifiant pour récupérer les ressourcesPATCH (mise à jour) n'est pas encore prise en charge, ce qui signifie qu'une ressource ne peut pas être mise à jour Voir le fichier de licence groupé pour plus d'informations.