Skip to main content

Python Library for Windows Azure

Project description

Simple Azure deploys Azure Templates and launches Virtual Machines with Service Management API with a few steps like other cloud providers e.g. AWS. [Documentation](https://simple-azure.readthedocs.org/)

QuickStart

Starting 101-vm-sshkey template:

>>> from simpleazure import SimpleAzure
>>> saz = SimpleAzure()

# aqst is for Azure QuickStart Templates
>>> vm_sshkey_template = saz.aqst.get_template('101-vm-sshkey')

# arm is for Azure Resource Manager
>>> saz.arm.load_template(vm_sshkey_template)
>>> saz.arm.set_parameter("sshKeyData", "ssh-rsa AAAB... hrlee@quickstart")
>>> saz.arm.deploy()

Docker Image

Simple Azure is available in Docker image to run.

  • Simple Azure only:

docker run -i -t lee212/simpleazure
  • With IPython Notebook:

docker run -d -p 8888:8888 lee212/simpleazure_with_ipython

Open a browser with the port number 8888.

Installation

From github.com:

git clone https://github.com/lee212/simpleazure.git
cd simpleazure
pip install -r requirements.txt
python setup.py install

from Pypi:

pip install simpleazure

Caveats

Prerequisite

  • Azure Cli installation

sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm install -g azure-cli

Account Setup for ASM

  • Open a browser to http://go.microsoft.com/fwlink/?LinkId=254432

  • *-DD-MM-YYYY-credentials.publishsettings is downloaded on a local directory

  • Run azure config mode as # To run azure cli tool via the classic service management certificate.

  • Run azure account import <publishsettings file>

  • Run azure account cert export ~/.azure/managementCertificate.pem

Example (classic mode for launching VMs)

Create a VM on Windows Azure (ubuntu 14.04 is a default image)

from simpleazure import SimpleAzure as saz

azure = saz()
azure.asm.create_vm()

Status can be seen here.

print vars(azure.get_status())
{'error': None, 'http_status_code': u'200', 'id': u'', 'status': u'Succeeded'}

or

print vars(azure.get_deployment())
{'configuration': u'<ServiceConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">\r\n  <Role name="myvm-20735">\r\n    <Instances count="1" />\r\n  </Role>\r\n</ServiceConfiguration>',
 'created_time': u'2013-07-22T16:10:18Z',
 'deployment_slot': u'Production',
 'extended_properties': {},
 'input_endpoint_list': None,
 'label': u'bXl2bS0yMDczNQ==',
 'last_modified_time': u'',
 'locked': False,
 'name': u'myvm-20735',
 'persistent_vm_downtime_info': None,
 'private_id': u'17071ce8bea345cf1575341c8510c84a',
 'role_instance_list': <azure.servicemanagement.RoleInstanceList at 0x333b5d0>,
 'role_list': <azure.servicemanagement.RoleList at 0x333b610>,
 'rollback_allowed': False,
 'sdk_version': u'',
 'status': u'Running',
 'upgrade_domain_count': u'1',
 'upgrade_status': None,
 'url': u'http://myvm-20735.cloudapp.net/'}

Example for multiple deployment (classic)

cluster() function helps to deploy several VMs at once.

azure = saz()
azure.asm.create_cluster()

my-cluster-vm-0-87412
{'request_id': '88c94c00288d42acaf877783f09c4558'}
my-cluster-vm-1-61293
{'request_id': 'abfd563c2c4f4926872b6b1dba27a93b'}
my-cluster-vm-2-96085
{'request_id': '29b55f6cb5e94cfdbf244a7c848c854d'}
my-cluster-vm-3-46927
{'request_id': 'b1a3446ebafe47a295df4c9d1b7d743c'}

Example for multiple deployment with Azure Data Science Core

Deploy 5 VMs with Azure Data Science Core at West Europe

azure = saz()
q = azure.asm.get_registered_image(name="Azure-Data-Science-Core")
azure.asm.set_image(image=q,refresh=True)
azure.asm.set_location("West Europe")
azure.asm.create_cluster(num=5)

List of VMs

vars(azure.asm.list_deployments().hosted_services)

Terminating VM

azure.asm.delete_vm()

or

azure.asm.delete_vm('vm-name')

Clustering

TBD

Contact

hroe.lee at gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simpleazure-0.1.5.tar.gz (26.0 kB view details)

Uploaded Source

File details

Details for the file simpleazure-0.1.5.tar.gz.

File metadata

  • Download URL: simpleazure-0.1.5.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for simpleazure-0.1.5.tar.gz
Algorithm Hash digest
SHA256 4e11691d7a9682b8401feba32f4869e1cf03f0404949c29feccfb76d42e1f7c5
MD5 4b7ed43bf32e3eab3fed1e9742666f34
BLAKE2b-256 b4101881a2e57e622c17554d33d0fa9836c628b996d46f5f9b3c93216034d2f3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page