industrialisez le déploiement de vos infrastructures cloud depuis votre système d’information...
TRANSCRIPT
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
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
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
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
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}
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...