SlideShare a Scribd company logo
Interoute VDC API 101:
Hello World Cloud Computing:
10 steps to cloud automation
throughout Europe!




   Jonathan.graham@interoute.com
API 101
    • Interoute VDC API RESTful (jClouds compliant) web service.
    • 10 steps to cloud automation throughout Europe (London, Amsterdam, Berlin,
       Geneva, Paris…._!
    1. [ Steps 1-6] Determine resource IDs for VDC, Template Repositories and Templates
    2. [Steps 7 -10] Create Appliances; create VMs inside the VApps and deploy them.




1
1] API Username, Password & Enterprise
• Ensure that your VDC account has been enabled (by your VDC Administrator) with API
  access




• From the Hub you will need to know the Enterprise ID and login credentials
• Write these down – they will be needed later




2
2] Get VirtualDatacenters
• API command to query the VDCs provisioned and available to create cloud
  environments in.
• USE API credentials
• Output includes virtualdatacenters id



curl --verbose -X GET -u username:password
-H 'Accept: application/vnd.abiquo.virtualdatacenters+xml;version=2.0' 
-H 'Content-Type: application/vnd.abiquo.virtualdatacenters+xml;version=2.0' 
'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters'




3
3] Get VirtualDatacenter
• API Command to query an individual virtualdatacenter
• Specify virtualdatacenters ID




curl --verbose -X GET -u username:password
-H 'Accept: application/vnd.abiquo.virtualdatacenter+xml;version=2.0' 
-H 'Content-Type: application/vnd.abiquo.virtualdatacenter+xml;version=2.0' 
'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/205'




4
4] Get VirtualDatacenterRepositories
• API Command to determine an enterprises repository (where VM templates are
  stored)
• Specify enterprises ID (determined from Hub and recorded from earlier)
• Output includes datacenterrepositories ID on a per geography basis (e.g. 6 for London,
  12 for Amsterdam)
curl --verbose -X GET -u username:password
-H 'Accept: application/vnd.abiquo.datacenterRepositories+xml;version=2.0' 
-H 'Content-Type: application/vnd.abiquo.datacenterRepositories+xml;version=2.0' 
'http://vdcbridge.interoute.com/jclouds/api/admin/enterprises/137/datacenterreposito
ries'




5
5] Get VirtualMachineTemplates
• API Command to determine VM templates available in an enterprises repository
• Specify enterprises ID and datacenterrepositories ID
• Output includes virtualmachinetemplatesid (e.g. UBUNTU-10.04-LTS_LAMP is 231)
curl --verbose -X GET -u username:password
-H 'Accept: application/vnd.abiquo.virtualmachinetemplates+xml;version=2.0' 
-H 'Content-Type: application/vnd.abiquo.virtualmachinetemplates+xml;version=2.0' 
'http://vdcbridge.interoute.com/jclouds/api/admin/enterprises/137/datacenterreposito
ries/6/virtualmachinetemplates'




6
6] Get VirtualMachineTemplate
• API Command to determine specific VM template properties
• Specify enterprises ID, datacenterrepositories ID and virtualmachinetemplatesid


curl --verbose -X GET -u username:password
-H 'Accept: application/vnd.abiquo.virtualmachinetemplate+xml;version=2.0' 
-H 'Content-Type: application/vnd.abiquo.virtualmachinetemplate+xml;version=2.0' 
'http://vdcbridge.interoute.com/jclouds/api/admin/enterprises/137/datacenterreposito
ries/6/virtualmachinetemplates/318'




7
7] Post VirtualAppliance
• API Command to create VDC Virtual Appliance
• Specify virtualdatacenters ID and virtualAppliance name


curl --verbose -X POST -u username:password
-H 'Accept: application/vnd.abiquo.virtualappliance+xml;version=2.0' 
-H 'Content-Type: application/vnd.abiquo.virtualappliance+xml;version=2.0' 
'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappl
iances' 
-d '<virtualAppliance><name>JGMagic</name></virtualAppliance>'
-H 'Content-Length: 999'




8
8] Post VirtualMachine
• API Command to create VDC Virtual Machine (as part of Virtual Appliance)
• Specify virtualdatacenters ID, virtualAppliance ID, virtualmachinetemplates ID and VM
  name
• Output includes virtualMachine ID (e.g. 1189)
curl --verbose -X POST -u username:password
-H 'Accept: application/vnd.abiquo.virtualmachine+xml;version=2.0' 
-H 'Content-Type: application/vnd.abiquo.virtualmachine+xml;version=2.0' 
'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappl
iances/1643/virtualmachines' 
-d '<virtualMachine><link href="http://vdc-
mgmt.interoute,com/api/admin/enterprises/137/datacenterrepositories/6/virtualmachine
templates/318" rel="virtualmachinetemplate"
title="INTEROUTE_CENTOS_6.0_WEB_SERVER_(SPARSE)"/><name>HelloCloudComputing</name></
virtualMachine>'
-H 'Content-Length: 999'




9
9] Post VirtualMachine Action Deploy
 • API Command to deploy VDC Virtual Machine
 • Specify virtualdatacenters ID, virtualAppliance ID, virtualmachinetemplates ID and
   virtualmachines ID

 curl -X POST -u username:password
 -H 'Accept: application/vnd.abiquo.acceptedrequest+xml;version=2.0' 
 -H 'Content-Type: application/vnd.abiquo.acceptedrequest+xml;version=2.0' 
 'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappl
 iances/1643/virtualmachines/1189/action/deploy' 
 -H 'Content-Length: 0'




10
Beyond the basics
 • Geo aware
 • Auto Scaling
echo -e "n Determining External [FW] IP address"
MYIP=$(curl ifconfig.me)
echo "$MYIP"
echo -e "n Determining GEO location from IP n"
MYLOC=$(curl -D - "http://freegeoip.net/xml/"$MYIP"" | grep -E -m 1 -o "<CountryCode>(.*)</CountryCode>" | sed -e
's,.*<CountryCode>([^<]*)</CountryCode>.*,1,g')
echo "$MYLOC"
if [ $MYLOC == "GB" ]
then
echo -e "n" "Your IP address is $MYIP. Your location is $MYLOC." "n”
echo -e "n" "London VDC is closest." "n”
JGVM1=$(curl -X POST -u username:password 
-H 'Accept: application/vnd.abiquo.virtualmachine+xml;version=2.0' 
-H 'Content-Type: application/vnd.abiquo.virtualmachine+xml;version=2.0' 
'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappliances/1643/virtualmachines' 
-d '<virtualMachine><link href="http://vdc-mgmt.interoute.com/api/admin/enterprises/137/datacenterrepositories/6/virtualmachinetemplates/108"
rel="virtualmachinetemplate" title="UBUNTU 10.04 LTS LAMP"/><name>Hello</name></virtualMachine>')
JGIDVM1=$(echo $JGVM1 | grep -E -m 1 -o "<id>(.*)</id>")
JGIDVM1RAW=$(echo $JGIDVM1 | sed -e 's,.*<id>([^<]*)</id>.*,1,g')
curl -X POST -u username:password 
-H 'Accept: application/vnd.abiquo.acceptedrequest+xml;version=2.0' 
-H 'Content-Type: application/vnd.abiquo.acceptedrequest+xml;version=2.0' 
'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappliances/1643/virtualmachines/'$JGIDVM1RAW'/action/deploy' 
-H 'Content-Length: 0'
11
Further information

     • Free VDC trial
       -   http://Interoute.com/vdc
     • Online wiki and tutorials including API detail
     • http://Kc.interoute.com
       -   http://kc.interoute.com/library/articles/help-topics/vdc-apis
     • Contact: vdcsales@interoute.com




12

More Related Content

Viewers also liked

Tu_Participation Certificate_AA Level
Tu_Participation Certificate_AA LevelTu_Participation Certificate_AA Level
Tu_Participation Certificate_AA LevelTrần Quốc Tứ
 
SMS Berlin 2016 Cultural Perspectives on Strategic Management
SMS Berlin 2016 Cultural Perspectives on Strategic ManagementSMS Berlin 2016 Cultural Perspectives on Strategic Management
SMS Berlin 2016 Cultural Perspectives on Strategic Management
Joel Gehman
 
Mba strategic management 2
Mba strategic management 2Mba strategic management 2
Mba strategic management 2Ahmed Hamza
 
Notes for mba (strategic management) unit i
Notes for mba (strategic management) unit iNotes for mba (strategic management) unit i
Notes for mba (strategic management) unit i
snselvaraj
 
Concepts of Strategic Management
Concepts of Strategic ManagementConcepts of Strategic Management
Concepts of Strategic Management
saberkhosravi
 
Strategic management
Strategic managementStrategic management
Strategic management
apverma01
 
Strategic management full notes
Strategic management full notesStrategic management full notes
Strategic management full notesKiruthika Ruthi
 

Viewers also liked (8)

Tu_Participation Certificate_AA Level
Tu_Participation Certificate_AA LevelTu_Participation Certificate_AA Level
Tu_Participation Certificate_AA Level
 
SMS Berlin 2016 Cultural Perspectives on Strategic Management
SMS Berlin 2016 Cultural Perspectives on Strategic ManagementSMS Berlin 2016 Cultural Perspectives on Strategic Management
SMS Berlin 2016 Cultural Perspectives on Strategic Management
 
Mba strategic management 2
Mba strategic management 2Mba strategic management 2
Mba strategic management 2
 
Notes for mba (strategic management) unit i
Notes for mba (strategic management) unit iNotes for mba (strategic management) unit i
Notes for mba (strategic management) unit i
 
Concepts of Strategic Management
Concepts of Strategic ManagementConcepts of Strategic Management
Concepts of Strategic Management
 
Strategic management
Strategic managementStrategic management
Strategic management
 
Strategic management ppt
Strategic management pptStrategic management ppt
Strategic management ppt
 
Strategic management full notes
Strategic management full notesStrategic management full notes
Strategic management full notes
 

Similar to Interoute Virtual Data Centre api 101

Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 MinutesFederico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Codemotion
 
FIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 MinutesFIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca
 
The Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud NativeThe Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud Native
Ben Hall
 
ILM - Pipeline in the cloud
ILM - Pipeline in the cloudILM - Pipeline in the cloud
ILM - Pipeline in the cloud
Aaron Carey
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
Jen Andre
 
Fiware cloud developers week brussels
Fiware cloud developers week brusselsFiware cloud developers week brussels
Fiware cloud developers week brussels
Fernando Lopez Aguilar
 
MesosCon - Be a microservices hero
MesosCon - Be a microservices heroMesosCon - Be a microservices hero
MesosCon - Be a microservices hero
Dragos Dascalita Haut
 
(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure
Amazon Web Services
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with Docker
Docker, Inc.
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016
Patrick Chanezon
 
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Jeffrey Holden
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
Ben Hall
 
网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...
网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...
网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...
Xiaohui Chen
 
Simple docker hosting in FIWARE Lab
Simple docker hosting in FIWARE LabSimple docker hosting in FIWARE Lab
Simple docker hosting in FIWARE Lab
Fernando Lopez Aguilar
 
Shashi Raina [AWS] & Al Sargent [InfluxData] | Build Modern Monitoring with I...
Shashi Raina [AWS] & Al Sargent [InfluxData] | Build Modern Monitoring with I...Shashi Raina [AWS] & Al Sargent [InfluxData] | Build Modern Monitoring with I...
Shashi Raina [AWS] & Al Sargent [InfluxData] | Build Modern Monitoring with I...
InfluxData
 
Lab Manual Combaring Redis with Relational
Lab Manual Combaring Redis with RelationalLab Manual Combaring Redis with Relational
Lab Manual Combaring Redis with Relational
Amazon Web Services
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
Ben Hall
 
citus™ iot ecosystem
citus™ iot ecosystemcitus™ iot ecosystem
citus™ iot ecosystem
DUONG Dinh Cuong
 
Deploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows ContainersDeploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows Containers
Ben Hall
 
Citrix Octoblu Architecture Breakdown
Citrix Octoblu Architecture BreakdownCitrix Octoblu Architecture Breakdown
Citrix Octoblu Architecture Breakdown
John Moody
 

Similar to Interoute Virtual Data Centre api 101 (20)

Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 MinutesFederico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
 
FIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 MinutesFIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 Minutes
 
The Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud NativeThe Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud Native
 
ILM - Pipeline in the cloud
ILM - Pipeline in the cloudILM - Pipeline in the cloud
ILM - Pipeline in the cloud
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
 
Fiware cloud developers week brussels
Fiware cloud developers week brusselsFiware cloud developers week brussels
Fiware cloud developers week brussels
 
MesosCon - Be a microservices hero
MesosCon - Be a microservices heroMesosCon - Be a microservices hero
MesosCon - Be a microservices hero
 
(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with Docker
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016
 
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...
网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...
网易云K8S应用实践 | practices for kubernetes cluster provisioning, management and ap...
 
Simple docker hosting in FIWARE Lab
Simple docker hosting in FIWARE LabSimple docker hosting in FIWARE Lab
Simple docker hosting in FIWARE Lab
 
Shashi Raina [AWS] & Al Sargent [InfluxData] | Build Modern Monitoring with I...
Shashi Raina [AWS] & Al Sargent [InfluxData] | Build Modern Monitoring with I...Shashi Raina [AWS] & Al Sargent [InfluxData] | Build Modern Monitoring with I...
Shashi Raina [AWS] & Al Sargent [InfluxData] | Build Modern Monitoring with I...
 
Lab Manual Combaring Redis with Relational
Lab Manual Combaring Redis with RelationalLab Manual Combaring Redis with Relational
Lab Manual Combaring Redis with Relational
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
 
citus™ iot ecosystem
citus™ iot ecosystemcitus™ iot ecosystem
citus™ iot ecosystem
 
Deploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows ContainersDeploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows Containers
 
Citrix Octoblu Architecture Breakdown
Citrix Octoblu Architecture BreakdownCitrix Octoblu Architecture Breakdown
Citrix Octoblu Architecture Breakdown
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

Interoute Virtual Data Centre api 101

  • 1. Interoute VDC API 101: Hello World Cloud Computing: 10 steps to cloud automation throughout Europe! Jonathan.graham@interoute.com
  • 2. API 101 • Interoute VDC API RESTful (jClouds compliant) web service. • 10 steps to cloud automation throughout Europe (London, Amsterdam, Berlin, Geneva, Paris…._! 1. [ Steps 1-6] Determine resource IDs for VDC, Template Repositories and Templates 2. [Steps 7 -10] Create Appliances; create VMs inside the VApps and deploy them. 1
  • 3. 1] API Username, Password & Enterprise • Ensure that your VDC account has been enabled (by your VDC Administrator) with API access • From the Hub you will need to know the Enterprise ID and login credentials • Write these down – they will be needed later 2
  • 4. 2] Get VirtualDatacenters • API command to query the VDCs provisioned and available to create cloud environments in. • USE API credentials • Output includes virtualdatacenters id curl --verbose -X GET -u username:password -H 'Accept: application/vnd.abiquo.virtualdatacenters+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.virtualdatacenters+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters' 3
  • 5. 3] Get VirtualDatacenter • API Command to query an individual virtualdatacenter • Specify virtualdatacenters ID curl --verbose -X GET -u username:password -H 'Accept: application/vnd.abiquo.virtualdatacenter+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.virtualdatacenter+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/205' 4
  • 6. 4] Get VirtualDatacenterRepositories • API Command to determine an enterprises repository (where VM templates are stored) • Specify enterprises ID (determined from Hub and recorded from earlier) • Output includes datacenterrepositories ID on a per geography basis (e.g. 6 for London, 12 for Amsterdam) curl --verbose -X GET -u username:password -H 'Accept: application/vnd.abiquo.datacenterRepositories+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.datacenterRepositories+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/admin/enterprises/137/datacenterreposito ries' 5
  • 7. 5] Get VirtualMachineTemplates • API Command to determine VM templates available in an enterprises repository • Specify enterprises ID and datacenterrepositories ID • Output includes virtualmachinetemplatesid (e.g. UBUNTU-10.04-LTS_LAMP is 231) curl --verbose -X GET -u username:password -H 'Accept: application/vnd.abiquo.virtualmachinetemplates+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.virtualmachinetemplates+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/admin/enterprises/137/datacenterreposito ries/6/virtualmachinetemplates' 6
  • 8. 6] Get VirtualMachineTemplate • API Command to determine specific VM template properties • Specify enterprises ID, datacenterrepositories ID and virtualmachinetemplatesid curl --verbose -X GET -u username:password -H 'Accept: application/vnd.abiquo.virtualmachinetemplate+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.virtualmachinetemplate+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/admin/enterprises/137/datacenterreposito ries/6/virtualmachinetemplates/318' 7
  • 9. 7] Post VirtualAppliance • API Command to create VDC Virtual Appliance • Specify virtualdatacenters ID and virtualAppliance name curl --verbose -X POST -u username:password -H 'Accept: application/vnd.abiquo.virtualappliance+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.virtualappliance+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappl iances' -d '<virtualAppliance><name>JGMagic</name></virtualAppliance>' -H 'Content-Length: 999' 8
  • 10. 8] Post VirtualMachine • API Command to create VDC Virtual Machine (as part of Virtual Appliance) • Specify virtualdatacenters ID, virtualAppliance ID, virtualmachinetemplates ID and VM name • Output includes virtualMachine ID (e.g. 1189) curl --verbose -X POST -u username:password -H 'Accept: application/vnd.abiquo.virtualmachine+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.virtualmachine+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappl iances/1643/virtualmachines' -d '<virtualMachine><link href="http://vdc- mgmt.interoute,com/api/admin/enterprises/137/datacenterrepositories/6/virtualmachine templates/318" rel="virtualmachinetemplate" title="INTEROUTE_CENTOS_6.0_WEB_SERVER_(SPARSE)"/><name>HelloCloudComputing</name></ virtualMachine>' -H 'Content-Length: 999' 9
  • 11. 9] Post VirtualMachine Action Deploy • API Command to deploy VDC Virtual Machine • Specify virtualdatacenters ID, virtualAppliance ID, virtualmachinetemplates ID and virtualmachines ID curl -X POST -u username:password -H 'Accept: application/vnd.abiquo.acceptedrequest+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.acceptedrequest+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappl iances/1643/virtualmachines/1189/action/deploy' -H 'Content-Length: 0' 10
  • 12. Beyond the basics • Geo aware • Auto Scaling echo -e "n Determining External [FW] IP address" MYIP=$(curl ifconfig.me) echo "$MYIP" echo -e "n Determining GEO location from IP n" MYLOC=$(curl -D - "http://freegeoip.net/xml/"$MYIP"" | grep -E -m 1 -o "<CountryCode>(.*)</CountryCode>" | sed -e 's,.*<CountryCode>([^<]*)</CountryCode>.*,1,g') echo "$MYLOC" if [ $MYLOC == "GB" ] then echo -e "n" "Your IP address is $MYIP. Your location is $MYLOC." "n” echo -e "n" "London VDC is closest." "n” JGVM1=$(curl -X POST -u username:password -H 'Accept: application/vnd.abiquo.virtualmachine+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.virtualmachine+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappliances/1643/virtualmachines' -d '<virtualMachine><link href="http://vdc-mgmt.interoute.com/api/admin/enterprises/137/datacenterrepositories/6/virtualmachinetemplates/108" rel="virtualmachinetemplate" title="UBUNTU 10.04 LTS LAMP"/><name>Hello</name></virtualMachine>') JGIDVM1=$(echo $JGVM1 | grep -E -m 1 -o "<id>(.*)</id>") JGIDVM1RAW=$(echo $JGIDVM1 | sed -e 's,.*<id>([^<]*)</id>.*,1,g') curl -X POST -u username:password -H 'Accept: application/vnd.abiquo.acceptedrequest+xml;version=2.0' -H 'Content-Type: application/vnd.abiquo.acceptedrequest+xml;version=2.0' 'http://vdcbridge.interoute.com/jclouds/api/cloud/virtualdatacenters/200/virtualappliances/1643/virtualmachines/'$JGIDVM1RAW'/action/deploy' -H 'Content-Length: 0' 11
  • 13. Further information • Free VDC trial - http://Interoute.com/vdc • Online wiki and tutorials including API detail • http://Kc.interoute.com - http://kc.interoute.com/library/articles/help-topics/vdc-apis • Contact: vdcsales@interoute.com 12