industrialisez le déploiement de vos infrastructures cloud depuis votre système d’information...

27
ArubaCloud API & WebServices

Upload: microsoft-decideurs-it

Post on 16-Jul-2015

127 views

Category:

Technology


4 download

TRANSCRIPT

ArubaCloud

API & WebServices

Plusieurs API

●WsCommon

●WsCloudStorage

●WsDomains

●WsDns

●WsEndUser

●WsLicense

●WsMonitoring

●Object Storage S3

SOAP REST

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

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:

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.

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

...

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

Le compte est disponible immédiatement sur le Control Panel

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

...

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

{...}

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

...

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

L’entrée apparait au niveau du Control Panel

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.

...

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

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

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

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

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

...

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

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

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

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

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}

Le fichier est maintenant visible (ici dans Dragondisk)

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>

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...