Copyright Outscale SAS - All rights reserved - www.outscale.com


3DS OUTSCALE oAPI Call

Présentation de Outscale Api

#Cloud Public Beginner

Version 0.18

https://www.outscale.com

Copyright Outscale SAS - All rights reserved - www.outscale.com


3DS OUTSCALE | Gérer les ressources Cloud

▶️ Installer / Configurer osc-cli manuellement / automatiquement
▶️ Générer des Access Key / Secret Key
▶️ Récupérer mon Access Key (AK)
▶️ Récupérer ma Secret Key (SK)
▶️ Demander à Tina de générer une clé privée
▶️ Importer ma clé publique dans Tina
▶️ Créer mon premier Security Groupe (SG)
▶️ Provisionner ma première VM

image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Installation / Configuration de osc-cli sur Ubuntu

🔗 https://github.com/outscale/osc-cli
📦 Installation des paquets python3 et python3-pip
📦 Installation de v1.10.0
▶️ Ajouter les AK/SK de la région

# Update de l'OS
sudo apt-get update
# Installation des dépendances
sudo apt-get -y install python3-pip jq
cd $HOME
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python3 get-pip.py --user
pip3 --version
wget https://github.com/outscale/osc-cli/releases/download/v1.10.0/osc_sdk-1.10.0-py2.py3-none-any.whl
pip3 install osc_sdk-1.10.0-py2.py3-none-any.whl
mkdir $HOME/.osc && cd $HOME/.osc
wget https://raw.githubusercontent.com/outscale/osc-cli/master/osc_sdk/config.json
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Installation / Configuration de osc-cli sur Ubuntu automatiquement

🔗 https://github.com/outscale/osc-cli
📦 Installation des paquets python3 et python3-pip
📦 Installation de osc-sdk via pip3
📦 Recommandation v1.10.0 18 novembre 2022
▶️ Ajouter le fichier de configuration ${HOME}/.osc/config.json

# Update de l'OS
sudo apt-get update
# Installation des dépendances
sudo apt-get -y install python3 python3-pip jq
cd $HOME
mkdir ${HOME}/.osc/ && curl https://raw.githubusercontent.com/outscale/osc-cli/master/osc_sdk/config.json > ${HOME}/.osc/config.json
pip3 install osc-sdk
# Vérification de la version installé
pip3 show osc-sdk
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Configurer osc-cli | Gestion des profils avec osc-cli

La gestion des profils est souvent associée aux régions

  • Nommer un profil avec le nom de la région, par exemple eu-west-2
# Les profils dans la configuration de osc-cli
$> cat ${HOME}/.osc/config.json
"default":
    {"access_key": "H6WC181XXXXX",
     "secret_key": "F6JXXXXXXXXXXXXXXX",
     "host": "outscale.com",
     "https": true,
     "method": "POST",
     "region_name": "eu-west-2",
     "version": "2018-11-19"},
"cloudgouv-eu-west-1":
    {"access_key": "M3HXXXXXXXXXX6W1",
     "secret_key": "F11XXXXXXXXXXXXXXXXXX",
     "host": "outscale.com",
     "https": true,
     "method": "POST",
     "region_name": "cloudgouv-eu-west-1",
     "version": "2018-11-19"}
}

Manipulation de profils

  • Paramètre : --profile
# Lister les profils
$> cat ~/.osc/config.json | jq keys                                                                                                                                                          
{ 
"cloudgouv-eu-west-1","default"
}
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Mon premier call public avec Outscale Api

Deux types de Call :
📌 Call Public sans authentification (Pas de AK/SK), exemple : ReadPublicIpRanges
📌 Call Privé authentifié, exemple : LinkPublicIp

$> osc-cli api ReadPublicIpRanges
{
    "PublicIps": [
        "5.104.96.0/24",
        "5.104.97.0/24"
        ...
}

Tester un appel api API avec le DryRun

ℹ️ Réaliser un test dans lequel les effets d’une défaillance éventuelle sont intentionnellement mis à l'épreuve

# Test validé
$> osc-cli api ReadPublicIpRanges --DryRun True
{
    "ResponseContext": {
        "RequestId": "20b287d8-03b5-4b52-a5dc-ac17e5367cb2"
    }
}
# Test avec erreur
$> osc-cli api ReadPublicIpRange --DryRun True 2>&1 | grep "Error -->"
osc_sdk.sdk.OscApiException: Error --> status = 404, code = 12000, code_type = InvalidAction
Reason = The action is invalid for this web service: 'ReadPublicIpRange'., request_id = d691fec2-9bcb-40c4-b860-a2a426302859
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Obtenir les AK/SK avec une authentification Login / Password

Un exemple avec l'utilisation de Outscale Web Services (OWS)

# Varibales dans le shell courant
$> export OSCEMAIL="monuser@domaine.com" ; export OSCPASSWORD="motdepasse" ; export PROFILE="eu-west-2"

$> osc-cli api ReadAccessKeys --profile "$PROFILE" \
   --authentication-method "password" \
   --login "$OSCEMAIL" \
   --password "$OSCPASSWORD" \
   --Filters '{ "States": ["ACTIVE"] }'
   
{
  "status": "ACTIVE",
  "tags": [], <-- Pas utilisable
  "createDate": "2024-08-23T08:49:12.000Z",
  "accessKeyId": "451OYBJ1QIRF0QGBC",
  "secretAccessKey": "DXA41WC8LX",
  "expirationDate": "2099-01-01T00:00:00.000Z",
  "touchDate": "2024-08-23T08:49:12.000Z",
  "ownerId": "214312172364"
}
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Génération des AK/SK

# Création d'un jeu de AK/SK
$> osc-cli api CreateAccessKey --ExpirationDate "2022-12-31"
{
    "AccessKey": {
        "AccessKeyId": "KC95B8GK7ZCHMCMIPJUD",
        "CreationDate": "2020-05-19T14:28:34.810Z",
        "ExpirationDate": "2022-12-31T00:00:00.000Z",
        "LastModificationDate": "2020-05-19T14:28:34.810Z",
        "SecretKey": "GOT3ODZ",
        "State": "ACTIVE"
    },
    "ResponseContext": { "RequestId": "da599663-5b8a-4131-9832-ecdb4c68878a"}
}
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Récupérer mon Access Key

# Lister les AKs du compte
$> osc-cli api ReadAccessKeys
{
    "AccessKeys": [{
            "AccessKeyId": "451OYBJK2J1QIRF0QGBC",
            "CreationDate": "2017-08-23T08:49:12.000Z",
             "ExpirationDate": "2023-06-30T00:00:00.000Z",
            "LastModificationDate": "2017-08-23T08:49:12.000Z",
            "State": "ACTIVE"
    }],
    "ResponseContext": { "RequestId": "1060710f-6bfd-4fd1-91e2-e055e771d07a"}
}
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Obtenir un couple Access Key (AK) et Secret Key (SK) pour un utilisateur EIM

# Création de l'utilisateur Franck
$> osc-cli eim CreateUser --UserName franck

# Création de la Secret Key pour l'utilisateur Franck
$> osc-cli eim CreateAccessKey --UserName franck \
  | jq '.CreateAccessKeyResponse.CreateAccessKeyResult.AccessKey'

ℹ️ Une Access Key peut être dans l’un des états suivants :
Active : L’utilisateur auquel elle est associée peut l’utiliser pour signer les requêtes API.
Inactive : L’utilisateur auquel elle est associée ne peut pas l’utiliser pour signer les requêtes API.

ℹ️ UserName Que des caractères alphanumériques et/ou des caractères +=,.@-_, la taille est comprise entre 1 et 64
ℹ️ UserPath : doit commencer et se terminer par / et ne doit contenir que des caractères alphanumériques et/ou les caractères /_, la taille doit être comprise entre 1 et 512

⚠️ Pour des raisons de sécurité, la Secrète Key est uniquement disponible lors de sa création. Sauvegardez-là soigneusement car vous ne pourrez pas la retrouver ultérieurement. Si vous perdez votre Secrète Key, vous pouvez la supprimer et vous devez en créer une nouvelle pour l’utilisateur.

image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Récupérer ma Secret Key avec une Access Key

# Lister la SK avec une AK
$> osc-cli api ReadSecretAccessKey --AccessKeyId 4NKHK22RXW89UFC4W411
{
    "AccessKey": {
        "AccessKeyId": "4NKHK22RXW89UFC4W411",
        "CreationDate": "2020-04-28T10:21:54.000Z",
        "ExpirationDate": "2023-12-31T00:00:00.000Z",
        "LastModificationDate": "2020-04-28T10:21:54.000Z",
        "SecretKey": "2E2WTDZ05YSVEL",
        "State": "ACTIVE"
    },
    "ResponseContext": { "RequestId": "33eab591-2834-45c3-9b9c-4ee1923a4aa6"}
}
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Importer une clé publique pour le protocole SSH

# Générer la clé pour le protocole SSH au format base64
$> openssl enc -base64 -in .ssh/outscale.Keypublic.pub | tr -d "\n" > key.pub_base64
# Import de la clé publique pour le protocole SSH
$> osc-cli api CreateKeypair --KeypairName "TESTKEY" --PublicKey $(cat key.pub.base64)
{
    "Keypair": {
        "KeypairFingerprint": "35:8b:9f:f3:e0:69:29:3c:7d:d7:d6:40:96:92:60:d4",
        "KeypairName": "TESTKEY"
    },
    "ResponseContext": { "RequestId": "ef016b7d-c75a-4590-b55b-60d6ebffb3be"}
}
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Génération d'une clé privée pour le protocole SSH depuis TINA

#  Génération d'une clé privée pour le protocole SSH depuis TINA
$> osc-cli api CreateKeypair --KeypairName "TEST KEY" --PublicKey "" \
  | jq .Keypair.PrivateKey --raw-output > outscale.key.priv.rsa
{
    "Keypair": {
        "KeypairFingerprint": "69:6c:8c:a3:50:d7:8d:83:0d:19:62:00:cd:07:f0:5d",
        "KeypairName": "TEST_KEY",
        "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEoQIBAAKCAQEAoxpyfp8/dbWqJv/fyIzw5zaDcRHkeW8DhHegi\
        wd1T58b8IgZAJgB1gnsXU0NxbS3i1qt7Isk2c2SkgWBzT\ngdGexbZ8pF0I6bT\n-----END RSA PRIVATE KEY-----"
    },
    "ResponseContext": { "RequestId": "2a12b2af-6efd-4dd4-9469-2f1c0832c9cc" }
}
# Connexion pour le protocole SSH avec une clé privée
$> ssh -i outscale.key.priv.rsa 171.33.10.22
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Lister les régions 3DS Outscale

# Lister les Regions 3D Outscale ReadRegions

$> osc-cli api ReadRegions                          

{ "Regions": [
    {"RegionName": "eu-west-2","Endpoint": "api.eu-west-2.outscale.com"},
    {"RegionName": "us-east-2","Endpoint": "api.us-east-2.outscale.com"},
    {"RegionName": "us-west-1","Endpoint": "api.us-west-1.outscale.com"}
  ]
}
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Lister les AZ 3DS Outscale de la région du profil

#  Lister les AZ de la région du profil
$> osc-cli api ReadSubregions --profile eu-west-2
{   
    "Subregions": [
        { "RegionName": "eu-west-2", "State": "available", "SubregionName": "eu-west-2a"},
        { "RegionName": "eu-west-2", "State": "available", "SubregionName": "eu-west-2b"}
    ]
}

Lister les Quotas de VMs

$> osc-cli api ReadQuotas \
| jq '.QuotaTypes[].Quotas[] \
| select (.ShortDescription == "VM Limit")'
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Création d'un Security Group (SG)

#  Création d'un Security Group (SG)
$> osc-cli api CreateSecurityGroup \
    --SecurityGroupName "MON_SG" \
    --Description "Mon SG"

Obtenir l'id du SG (sg-6817eeaa)

Parsing de la réponse avec l'outil JQ

$> osc-cli api CreateSecurityGroup \
    --SecurityGroupName "MON_SG" \
    --Description "Mon SG" \
    | jq .SecurityGroup.SecurityGroupId --raw-output
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Parsing de la réponse, après création d'un SG

⚡ Utilisation du tool en CLI Jq | 📚 https://stedolan.github.io/jq/

| jq .SecurityGroup.SecurityGroupId --raw-output
{
  "ResponseContext": { "RequestId": "a1cca6b9-d164-4013-a37e-5f5be90b9e1e" },
  "SecurityGroup": {
    "AccountId": "214312172364",
    "Description": "Mon SG",
    "InboundRules": [],
    "OutboundRules": [],
    "SecurityGroupId": "sg-6817eeaa",
    "SecurityGroupName": "MON_SG1"
  }
}
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Création d'une règle de sécurité dans le SG

#  CreateRules
$> osc-cli api CreateSecurityGroupRule \
    --SecurityGroupId "sg-6817eeaa" \
    --Flow "Inbound" \
    --Rules '[{"FromPortRange":22, "ToPortRange":22,\
    "IpProtocol":"tcp","IpRanges":["171.33.118.215/32"]}]'

⚠️ La structure du paramètre Rules est un tableau
⚠️ Pour les Ips nous avons deux tableaux imbriqués

image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Création d'une VM avec un Boot disk en GP2

#  Création d'une VM avec un Boot disk en GP2
$> osc-cli api CreateVms --ImageId "ami-976177b8" \
    --KeypairName "KeyFirstVm" --VmType "tinav4.c4r4"\
    --SecurityGroupIds "['sg-539837d3']" \
    --Placement '{"SubregionName":"eu-west-2a", "Tenancy":"default"}' \
    --BlockDeviceMappings \
    '[{"Bsu": { "DeleteOnVmDeletion": True, "VolumeSize": 30, "VolumeType": "gp2"},\
    "DeviceName": "/dev/sda1"}]'
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Les attributs d’une VM

Le comportement des VMs avec un changement de statut sur une VM

  • Attribut DisableApiTermination
    Cet attribut permet d'empêcher la suppression de l'instance (par défaut, la suppression est autorisée).

  • Attribut InstanceInitiatedShutDownBehavior
    Cet attribut vous permet de définir le comportement de la VM lorsque vous l'arrêtez ou la terminez.

ℹ️ Par défaut ou si paramétré sur stop, la VM est arrêtée.
Si paramétré sur restart, la VM est arrêtée puis automatiquement redémarrée.
Si paramétré sur Terminate, l'instance est arrêtée puis terminée.

💡 Vous pouvez par exemple automatiquement terminer l'instance à la fin d'une application en paramétrant cet attribut sur Terminate et en demandant à l'instance de s'arrêter quand l'application est fermée.

# Avec oApi : Modifier l'attribut VmInitiatedShutdownBehavior
$> osc-cli api UpdateVm --VmId i-12345678 --VmInitiatedShutdownBehavior restart

# Avec Ows : Modifier l'attribut instance-initiated-shutdown-behavior
$> aws ec2 modify-instance-attribute --instance-id i-12345678 --instance-initiated-shutdown-behavior restart
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Lecture de l'état de la VM

#  Lecture du State de la VM
$> osc-cli api ReadVmsState \
   | jq '.VmStates[] | select(.VmId == "i-2c355bbd")'
{
  "MaintenanceEvents": [],
  "SubregionName": "eu-west-2a",
  "VmId": "i-42edcf5c",
  "VmState": "running"
}
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Update du type de VM

Les call API sont définis comme des méthodes asynchrone

🌀 Etape 1 : StopVms | Etape 2 UpdateVm | Etape 3StartVms
📚 https://docs.outscale.com/api#updatevm

#  Update "VMtype" de la VM
$> osc-cli api StopVms --VmIds="['i-2c355bbd']" 
$> sleep 30 
$> osc-cli api UpdateVm --VmId "i-2c355bbd" --VmType "tinav4.c2r2"
$> sleep 60 
$> osc-cli api StartVms --VmIds="['i-2c355bbd']"
# Get du Status de la VM
$> osc-cli api ReadVmsState | jq '.VmStates[] | select(.VmId == "i-2c355bbd")'
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Création d'une VM avec des user-data

Un exemple d'utilisation avec le tag : osc.fcu.repulse_server

# Encodage des données User Data en base64
$> cat repulse.clair
-----BEGIN OUTSCALE SECTION-----
tags.osc.fcu.repulse_server=toto
-----END OUTSCALE SECTION-----

# Suppression \n avec tr -d "\n"
$> openssl enc -base64 -in repulse.clair | tr -d "\n" > repulse
$> cat repulse
LS0tLS1CRUdJTiBPVVRTQ0FMRSBTRUNUSU9OLS0tLS0KdGFncy5vc2MuZmN1LnJlcHVsc2Vfc2VydmVyPXRvdG8KLS0tLS1FTkQgT1VUU0NBTEUgU0VDVElPTi0tLS0t=
# TESTED OK CreatVM with UserData
$> osc-cli api CreateVms --ImageId "ami-976177b8" --KeypairName "MyKey" \
   --VmType "tinav4.c4r4" \
   --Placement '{"SubregionName":"eu-west-2a", "Tenancy":"default"}' \
   --UserData \
   "LS0tLS1CRUdJTiBPVVRTQ0FMRSBTRUNUSU9OLS0tLS0KdGFncy5vc2MuZmN1LnJlcHVsc2Vfc2VydmVyPXRvdG8KLS0tLS1FTkQgT1VUU0NBTEUgU0VDVElPTi0tLS0t="

⚠️ Le raccourci avec file://, ne fonctionne pas
💡 --UserData $(cat repulse)

image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Augmenter la taille d'un volume

Pour augmenter la taille d'un volumes, le volume doit étre détaché

# Vérifier la taille du volume
$> osc-cli api ReadVolumes --Filters '{"VolumeIds": ["vol-63d372a9"]}' | jq .Volumes[].Size
50
# Détachement du volume vol-63d372a9
$> osc-cli api UnlinkVolume --DryRun True --ForceUnlink True --VolumeId "vol-63d372a9"
# Augemnter la taille du volume, 30 GiB
$> osc-cli api UpdateVolume --DryRun False --Size 60 --VolumeId "vol-63d372a9"
# Attachement du volume
$> osc-cli api LinkVolume --DeviceName "/dev/xvdb" --DryRun False --VmId "i-0358b87f" --VolumeId "vol-63d372a9"
  • Augmenter la taille de la Partition déclarée sur votre systéme
# Pour une partition en ext
sudo resize2fs DEVICE_NAME                                                                                      
# Pour une partition en xfs                                                                                               
sudo xfs_growfs DEVICE_NAME                                                                                                     
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Utilisation des filtres avec oAPI

Rechercher une OMI en particulier

# Rechercher une OMI
$> osc-cli api ReadImages --Filters '{"TagKeys": ["version"]}' --Filters '{"TagValues": ["latest"]}' \
  | jq '.Images[] | {Date: .CreationDate, Name: .ImageName}'
{
  "Date": "2020-10-12T17:10:53.647070Z",
  "Name": "packer_osc_1602522411"
}
  • Rechercher une OMI avec son id-image
$> osc-cli api ReadImages --Filters '{"ImageIds": ["ami-78183cce"]}'
  • Rechercher une OMI avec un filtre dans un filtre
$> osc-cli api ReadImages --Filters '{"ImageNames": ["packer*"]}'
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Les flexibles GPU

Des ressources Cloud pour du GPU onDemand

Un fGPU peut être dans l’un des états suivants

🚩 allocated Le fGPU est réservé pour votre compte.
🚩attaching L'attachement du fGPU à une instance est prévu. Vous devez arrêter l’instance pour faire passer le fGPU à l'état attached.
🚩attached Le fGPU est utilisé par l'instance. Il est considéré comme un périphérique connecté à l'instance.
🚩detaching Le détachement du fGPU est prévu. Vous devez arrêter l'instance pour faire passer le fGPU à l’état allocated.

ℹ️ Un fGPU est une ressource qui peut être allouée à votre compte et attachée ou détachée de vos instances. Vous pouvez attacher plusieurs fGPU à la même instance si ces fGPU sont du même modèle.
⚡ On peut attacher ou de détacher un flexible GPU sur une VM comportant exactement le nombre de cœurs virtuels et de RAM dont vos applications ont besoin
⚡ 2 GPUs du même modèle Maximum par VM

# Obtenir la liste des modèles de GPU
$> osc-cli api ReadFlexibleGpuCatalog | jq -r .FlexibleGpuCatalog[].ModelName
nvidia-p6
nvidia-p100
nvidia-k2
image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Suppression de ma première VM

Suppression d'une VM avec le VmId

# Pour supprimer une VM on utilise un tableau
$> osc-cli api DeleteVms --VmIds '["i-2c355bbd"]' 

⚠️ La facturation se termine quand vous réalisez un DeleteVms
💡 Les volumes attachés à votre VM sont également supprimés si le volume a été créé avec l'attribut DeleteOnVmDeletion = True

image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Accès au support 3DS OUTSCALE

Besoin d’aide, nous sommes là pour vous aider et vous accompagner

🕐 support disponible 24/7 en français 🇫🇷 et en anglais 🇬🇧
📞 par téléphone +33 1 53 27 52 70
📧 par email support@outscale.com
📄 en ligne sur https://support.outscale.com (possibilité de créer un compte,
support pour suivre vos tickets dans Zendesk)

Exemples de demandes dans les tickets

🎫 Création de compte cloud*
🎫 Modification de quotas
🎫 Clôture de compte cloud*
🎫 Accès à un journal d’activité (log)
🎫 Information sur les services

*Une liste de personnes habilitées à demander l'ouverture et la clôture de comptes cloud doit être fournie par le client

image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Documentation

Où trouver des ressources documentaires sur l’API et les services ? 📚

Documentation publique des services

Documentation API OWS/ oAPI

Vidéos d’on-boarding Générique et présentation de Cockpit

Consommation Cloud

image
Copyright Outscale SAS - All rights reserved - www.outscale.com

Ressources et Code Source

Où trouver des ressources pour exploiter les Services 3DS Outscale ?

image

Font DS Outscale

• SLIDE 1 : Titre de la présentation

• SLIDE 2 INDEX de la présentation

• SLIDE 3 Installation de Osc-cli

• SLIDE 3 Bis Installation de Osc-cli en automatique

• SLIDE 4 Gestion des profils avec Osc-cli

• SLIDE 5 Mon premier Call Public avec Outscale Api

• SLIDE 6 AK/SK avec une authentification Login / Password

• SLIDE 7 Génération d'AK/SK

• SLIDE 8 Récupérer mon Accés Key

• SLIDE 8 Bis Créer mon Accés Key pour un user EIM

• SLIDE 9 # Lister les SK

• SLIDE 10 # Importer une Clé Public pour le protocole SSH

• SLIDE 11 # Génération d'une clé depuis TINA

• SLIDE 12 # Quel Region

• SLIDE 13 # Quel AZ de la région

• SLIDE 14 # Creation d'un SG

• SLIDE 15 # Creation d'un SG

• SLIDE 16 # Creation d'une Rule dans le SG

• SLIDE 17 # Creation d'une VM Avec un boot Disk de 30 GB en GP2

• SLIDE 17 Bis # Les attribut d’une VM

• SLIDE 18 # Récupérer le status de la VM

• SLIDE 19 # Update de Type de VM

• SLIDE 20 # Update de Type de VM

• SLIDE 22 # Augmenter la taille d'un fichier

• SLIDE 21 # Utilisation des filtres

• SLIDE 21 Bis # Les flexibles GPU

• SLIDE 22 # Suppression de la VM via VMID

• SLIDE 22 # Accès au support 3DS OUTSCALE

• SLIDE 23 # Documentation

• SLIDE 22 # Documentation