ibmcloud-python-sdk zielt darauf ab, mit IBM Cloud zu sprechen. Dazu sind eine Konfigurationsdatei erforderlich. ibmcloud-python-sdk bevorzugt clouds.yaml Datei, kann aber auch Umgebungsvariablen verwenden (siehe unten) . Ein Beispiel:
---
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@@ Die Datei clouds.yaml wird zunächst in ~/.ibmcloud -Verzeichnis durchsucht, dieses Verhalten kann jedoch durch eine Umgebungsvariable überschrieben werden.
| Variable | Beschreibung | Beispiel | Obligatorisch |
|---|---|---|---|
IC_CONFIG_FILE | Absolute Pfad zur Datei clouds.yaml | ~/vault/ibm.yaml | [] |
IC_CONFIG_NAME | Name der Standard -Cloud -Konfiguration | demo | [] |
IC_REGION | Region sollte sich verbinden | us-south | [X] |
IC_VERSION | Fordert die Version der API an | 2021-06-15 | [X] |
IC_GENERATION | Die Infrastrukturgenerierung für die Anfrage | 2 | [X] |
IC_SDK_CONFIG_FILE | Absolute Pfad zur Datei sdk.yaml | ~/.config/ibmcloud/sdk.yaml | [] |
IC_API_KEY | API -Schlüssel über das IBM Cloud IAM -System erstellt | XxX1234567890XxX | [X] |
SL_USERNAME | Softlayer -Benutzer | goldyfruit | [] |
SL_API_KEY | Softlayer -API -Schlüssel | abc123def456ghi789klm0n | [] |
Dokumentation für das IBM Cloud Python SDK ist hier verfügbar.
IBM Cloud Python SDK nutzt vorhandene Python -SDKs wie:
Nur VPC Gen 2 wird von diesem SDK unterstützt.
| Service | Besonderheit |
|---|---|
| Cis | Baremetal, Objektspeicher |
| DNS | Öffentliche Zone, Privatzone |
| Em | Konto holen, Enterprise holen |
| ICH BIN | Richtlinien, Rollen |
| LEISTUNG | Stromversorgungssystem |
| RESSOURCE | Bindung, Gruppe, Instanz, Schlüssel |
| VPC | ACL, FIP, Gateway, GEO, Bild, Instanz, Schlüssel, Lastbalancer, Sicherheit, Subnetz, Volumen, VPC, VPN |
Installieren Sie von PYPI über pip :
python -m venv ~ /virtualenvs/ibmcloud-python-sdk
source ~ /virtualenvs/ibmcloud-python-sdk/bin/activate
pip install ibmcloud-python-sdkOder Sie können aus Quelle installieren:
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 .Wir empfehlen, die virtuelle Python -Umgebung zu verwenden, um die SDK zu installieren.
Das SDK verfügt über die Caching -Fähigkeit (nur vorerst memcached ), um die Geschwindigkeit der HTTP -Anforderungen zu verbessern. So konfigurieren Sie diesen Mechanisim bitte die SDK mit ~/.ibmcloud/sdk.yaml -Datei.
---
sdk :
cache_ttl : 60
memcached :
- 127.0.0.1:11211Muttiple -Cache -Server könnten ebenfalls konfiguriert werden.
---
sdk :
cache_ttl : 60
memcached :
- 127.0.0.1:11211
- 127.0.0.1:11212
- 127.0.0.1:11213 Eine einfache Möglichkeit, memcached Server bereitzustellen, besteht darin, den Container zu verwenden.
podman run -dt -p 11211:11211 --name memcached -d memcachedsudo docker run -dt -p 11211:11211 --name memcached -d memcachedEine Liste von Beispielen zur Verwendung dieses SDK finden Sie hier.
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 oder HREF konnten nicht als ID verwendet werden, um Ressourcen abzurufenPATCH -Methode (Update) wird noch nicht unterstützt, was bedeutet, dass eine Ressource nicht aktualisiert werden kann Weitere Informationen finden Sie in der gebündelten Lizenzdatei.