ibmcloud-python-sdk pretende conversar com o IBM Cloud. Para fazer isso, requer um arquivo de configuração. O arquivo ibmcloud-python-sdk favorece clouds.yaml , mas também pode usar variáveis de ambiente (veja abaixo) . Um exemplo:
---
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@@ O arquivo clouds.yaml será pesquisado primeiro no diretório ~/.ibmcloud mas esse comportamento pode ser substituído por uma variável de ambiente.
| Variável | Descrição | Exemplo | Obrigatório |
|---|---|---|---|
IC_CONFIG_FILE | Caminho absoluto para as clouds.yaml . | ~/vault/ibm.yaml | [] |
IC_CONFIG_NAME | Nome da configuração de nuvem padrão | demo | [] |
IC_REGION | Região deveria se conectar | us-south | [x] |
IC_VERSION | Solicita a versão da API | 2021-06-15 | [x] |
IC_GENERATION | A geração de infraestrutura para o pedido | 2 | [x] |
IC_SDK_CONFIG_FILE | Caminho absoluto para o arquivo sdk.yaml | ~/.config/ibmcloud/sdk.yaml | [] |
IC_API_KEY | Chave da API criada pelo sistema IBM Cloud IAM | XxX1234567890XxX | [x] |
SL_USERNAME | Usuário do SoftLayer | goldyfruit | [] |
SL_API_KEY | Chave da API do softlayer | abc123def456ghi789klm0n | [] |
A documentação para o IBM Cloud Python SDK está disponível aqui.
IBM Cloud Python SDK aproveita os SDKs Python existentes, como:
Somente o VPC Gen 2 é suportado por este SDK.
| Serviço | Recurso |
|---|---|
| Cis | Baremetal, armazenamento de objetos |
| Dns | Zona pública, zona privada |
| Em | Obtenha conta, obtenha empresa |
| EU SOU | Políticas, papéis |
| PODER | Sistema de energia |
| RECURSO | Vinculação, grupo, instância, chave |
| VPC | ACL, fip, gateway, geo, imagem, instância, chave, balanceador de carga, segurança, sub -rede, volume, VPC, VPN |
Instale de Pypi via pip :
python -m venv ~ /virtualenvs/ibmcloud-python-sdk
source ~ /virtualenvs/ibmcloud-python-sdk/bin/activate
pip install ibmcloud-python-sdkOu você pode instalar na fonte:
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 .Recomendamos usar o ambiente virtual do Python para instalar o SDK.
O SDK possui capacidade de cache ( memcached por enquanto) para melhorar a velocidade de solicitações HTTP. Para ativar este mecanisim, configure o SDK corretamente usando o arquivo ~/.ibmcloud/sdk.yaml .
---
sdk :
cache_ttl : 60
memcached :
- 127.0.0.1:11211Os servidores de cache de muttiple também podem ser configurados.
---
sdk :
cache_ttl : 60
memcached :
- 127.0.0.1:11211
- 127.0.0.1:11212
- 127.0.0.1:11213 Uma maneira fácil de implantar servidor memcached é usar o contêiner.
podman run -dt -p 11211:11211 --name memcached -d memcachedsudo docker run -dt -p 11211:11211 --name memcached -d memcachedUma lista de exemplos sobre como usar este SDK pode ser encontrada aqui.
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 não puderam ser usados como ID para recuperar recursosPATCH (atualização) ainda não está suportado, o que significa que um recurso não pode ser atualizado Consulte o arquivo de licença agrupado para obter mais informações.