Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information...

27
ArubaCloud API & WebServices

Transcript of Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information...

Page 1: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

ArubaCloud

API & WebServices

Page 2: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Plusieurs API

●WsCommon

●WsCloudStorage

●WsDomains

●WsDns

●WsEndUser

●WsLicense

●WsMonitoring

●Object Storage S3

SOAP REST

Page 3: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Repères

●Base de tous les outils Aruba

○Toujours à jour

○100% des fonctionnalités

●Nouvelles versions regulières

○Version actuelle : 2.8

●Retro compatibilité avec les 3 dernières versions

Page 4: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

WsCommon

●GetUserAuthenticationToken

●GetUserInfo

●DeactivateUserOtp

●GetCredit

●GetPriceList

●...

17 méthodes disponibles

relatives:

-à l’authentification utilisateur et système OTP (One Time Password)

-aux permissions de visibilité et d’utilisation des différents services et actions

-au crédit

-aux informations sur les Datacenters

-aux Price Lists

-à différents services annexes (News, Produits et services personnalisés, …)

Exemples:

Page 5: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

WsCommon.GetCredit()

OverdraftLimit 0

Value 550.32530000

Paramètres: aucun

Retour:

-> Pas de découvert autorisé (OverdraftLimit)

-> Le crédit actuel est 550,32 Euros.

Page 6: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

WsCloudStorage

17 méthodes disponibles

Relatives à l’administration du services Cloud Object Storage: gestion utilisateurs et plans tarifaires,

informations générales.

L’utilisation effective du service (accès aux buckets et fichiers) se fait avec l’API Object Storage S3

Exemples:

●GetCloudStorageAccounts

●GetCloudStoragePricingTypes

●GetRegions

●SetCloudStorageAccountPassword

●SetCloudStorageAccountPricingType

●SetCreateCloudStorageAccount

...

Page 7: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

SetCreateCloudStorageAccount()

Paramètres:

CloudStoragePricingTypeID Obtenu via GetCloudStoragePricingTypes() 10 (pack storage250)

OverLimitBehavior {Rate, Renew, Restrict, PayPerUse} (voir le XSD) Restrict

UserName Choix libre cos-compte001

PrivateKey Choix libre azerty123456789

RegionID Obtenu via GetRegions() 3 (r1-fr)

Type de retour:booléen + message en cas d’erreurs

Page 8: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Le compte est disponible immédiatement sur le Control Panel

Page 9: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

WsDomains

24 méthodes disponiblesRelatives à la gestion des noms de domaines: inventaire, vérification de disponibilité, achat, renouvellement, transfert,

choix des serveurs DNS….

Exemples:

●GetAllDomains

oListe les domaines associés au compte, leur statut, infos sur le TLD...

●GetAllDomainsCost

oCoûts effectifs des domaines et des services et actions associés

●GetDomainDetails

oAjoute des détails comparé à GetAllDomains(): AuthCodes, contacts, DNS

●GetIsAvailableDomainName

oListe les extensions disponible pour le nom de domaine demandé, avec les détails sur le TLD.

●SetDomainAutoRenew

oActive l’auto renouvellement pour le domaine spécifié.

●SetDomainNameServers

oDéfinie la valeur des serveurs DNS

...

Page 10: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

GetIsAvailableDomainName()

Paramètres:

DomainFullName nom du domaine désiré (avec TLD) workshoparuba-techdays2015.com

Type de retour:Liste détaillée des extensions disponibles

DomainFullName workshoparuba-

techdays2015.com

SecondLevelDomain workshoparuba-techdays2015

AuthCodeRequired true

DnsMaxQuantity 13

DomainPrivacyAvailab

le

true

... ...

IsAvailable True

DomainFullName workshoparuba-techdays2015.org

SecondLevelDomain workshoparuba-techdays2015

AuthCodeRequired true

DnsMaxQuantity 13

DomainPrivacyAvailable true

... ...

IsAvailable True

{...}

Page 11: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

WsDns

14 méthodes disponibles

Relatives au paramétrage des serveurs DNS (Aruba ou externes)

Exemples:

●GetAllDNS

oListe les services DNS associés au compte

●GetDNSRecords

oListes les enregistrements DNS des domaines associés au compte

●GetPurchasedDNS

oListe les serveurs DNS actifs pour chaque domaine associé au compte

●SetDnsRecords

oAjout d’entrée(s) DNS

...

Page 12: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

SetDnsRecords()

Paramètres:

DNSRecord(s). Plusieurs peuvent être envoyés en même temps pour un même Service DNS.

Content Valeur de l’entrée 185.8.48.77

Name Nom de l’entrée techdays2015.arubafr-test1.com

Priority Priority de L’entrée 0

RecordType A, MX, NS, SPF, TXT… voir le XSD A

TTL Valeur de TTL en secondes 3600

DNSServiceID Obtenu via GetAllDNS() 22 (arubafr-test1)

Type de retour:booléen + JobID

Page 13: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

L’entrée apparait au niveau du Control Panel

Page 14: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

WsEndUser

114 méthodes disponiblesCorrespond aux fonctionnalité globale du Panneau de Contrôle Aruba, et également aux services de Cloud Computing

publiques et privés, et les fonctionnalités associées: FTP, Tâches planifiées, Unified Storage, Templates etc...

Exemples:

●GetHypervisors

oListe les hyperviseurs disponibles et leur déclinaison (ex. Pro vs Smart)

●GetLoadBalancers

oListe les services de LoadBalancing associés au compte

●GetPuchasedPrivateClouds

oListes les Clouds Privés associés au compte

●GetServers

oListe les VM définies sur le compte, avec specifications détaillées

●SetEnqueueServerStop

oLance une commande d’arrêt d’une VM*

●SetEnqueueServerCreation

oPermet de créer un VM, avec plus ou moins de détails fournis.

...

Page 15: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

SetEnqueueServerCreation()Paramètres:

Ne sont présentés ici que les paramètres essentiels. Peuvent également être spécifiés des Virtual

Switch, des disque dur multiples, des commentaires etc...

AdministratorPassword Mot de passe administrateur xxxxxxxxxxxxxxxxx

CPUQuantity Nombre de vCPU 2

Name Priority de L’entrée serveur-workshop01

NetworkAdaptersConfiguratio

n

Si non spécifié: IP publique sur Ethernet0

OSTemplateId Obtenu via GetHypervisors() 30 (Windows 2012 64bit - HyperV LC)

RAMQuantity En GB 4

VirtualDisks.Size Taille en GB 40

VirtualDisks.VirtualDiskType Disque principal ou secondaire PrimaryVirtualDisk

Page 16: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Vm en cours de création (logs) et une fois la création terminée (Control Panel)

Page 17: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

WsLicense

4 méthodes disponiblesGestion des licences logicielles.

Exemples:

●GetAvailableLicenses

oListe les licences disponibles

●GetPurchasedLicenses

oListe les licences achetées associées au compte

●SetEnqueuePurchasePleskLicense

oAcheter une licence Plesk

●SetRemoveLicense

oSupprimer une licence

Page 18: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

GetPurchasedLicenses()

Paramètres: aucun

Retour:

Listes de licences, par exemples des PleskLicense telles que:

CreationDate 2014-11-07 12:21:58.627

LicenseCode PLSK.0XXXXXXXXXXX.0000

LicenseDescription Plesk Panel - 10 Domains - Linux

LicenseID 165

LicenseKey xxxxxxxxxxxxxxxxxxx

... ...

LicenseStatus Active

Page 19: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

WsMonitoring

25 méthodes disponiblesCorrespond à la gestion du service Cloud Monitoring

Exemples:

●GetMonitoringCheckType

oListe les types de services monitorables (HTTP, DNS, SQL, SSL etc…)

●GetMonitoringServicesChecks

oListe les sondes de services avec leur détails

●SetActivateMonitoringService

oActive un service de monitoring

...

Page 20: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

GetMonitoringServiceChecks()

Paramètres: aucun

Retour:

Listes services de monitoring avec détails (nombreux), tels que:

CreationDate 2013-07-23 11:55:23.54

MonitoringServiceID 91

DataCenterID 1001 (voir wsEndUser)

MonitoringServiceStatus Active

Name MonitoringTest03

MonitoringCheckDetails.Name Ping-Host

MonitoringCheckType Active

Page 21: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Cloud Object Storage S3

●Compatible Amazon S3 et la plupart des outils et bibliothèques tierces

●Packs mensuels ou Pay-as-you-go

●Dans les deux cas : trafic entrant et requêtes non payantes

●Résilience: chaque fichier est copié sur 3 serveurs différents

●Gestion multi-comptes

●Présence sur 6 Datacenters Européens

Page 22: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Création d’un bucket ‘workshop01’, avec CURL

bucket="workshop01"

resource="/${bucket}/"

contentType="application/octet-stream"

dateValue=`date -Ru`

stringToSign="PUT\n\n${contentType}\n${dateValue}\n${resource}"

s3Key=MIDA-FROS1

s3Secret=XXXXXXXXXXXXXXXXXXXXX

signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${s3Secret} -binary | base64`

curl -X PUT -T "/" \

-H "Host:${bucket}.r1-fr.storage.arubacloud.fr" \

-H "Content-Length:0" \

-H "Content-Type:application/octet-stream" \

-H "Date:${dateValue}" \

-H "Authorization:AWS ${s3Key}:${signature}" \

https://${bucket}.r1-fr.storage.arubacloud.fr:443

Page 23: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Le bucket ‘workshop01’ est maintenant visible (ici dans Dragondisk)

Page 24: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Upload d’un fichier vers le bucket ‘workshop01’, avec CURL

file=fic1.txt

bucket="workshop01"

resource="/${bucket}/${file}"

contentType="text/plain"

dateValue=`date -Ru`

stringToSign="PUT\n\n${contentType}\n${dateValue}\n${resource}"

s3Key=MIDA-FROS1

s3Secret=XXXXXXXXXXXXXXXXXXXXX

signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${s3Secret} -binary | base64`

curl -X PUT -T "${file}" \

-H "Host: ${bucket}.r1-fr.storage.arubacloud.fr" \

-H "Date: ${dateValue}" \

-H "Content-Type: ${contentType}" \

-H "Authorization: AWS ${s3Key}:${signature}" \

https://${bucket}.r1-fr.storage.arubacloud.fr/${file}

Page 25: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Le fichier est maintenant visible (ici dans Dragondisk)

Page 26: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Lister les buckets Object Storage via une instance Deltacloud

curl -v --user "USERNAME:PASSWORD" "http://IP_DELTACLOUD:3001/api/buckets?format=xml"

<?xml version='1.0' encoding='utf-8' ?>

<buckets>

<bucket href='http://IP_DELTACLOUD:3001/api/buckets/workshop01' id='workshop01'>

<name>workshop01</name>

</bucket>

{...}

<bucket href='http://IP_DELTACLOUD:3001/api/buckets/workshop04' id='workshop04'>

<name>workshop04</name>

</bucket>

</buckets>

Page 27: Industrialisez le déploiement de vos infrastructures Cloud depuis votre système d’information avec les APIs Aruba

Références & Liens

●KB Aruba http://assistance.arubacloud.fr/KB/browse.aspx

●Homepage Arubacloud http://www.arubacloud.fr/

●Le Blog Arubacloud http://www.arubacloud-leblog.com/

●WS-SE http://www.oasis-open.org/committees/wss/documents/WSS-Username-02-0223-merged.pdf

TODO: ajouter liens site web, KB etc...