Metadata-Version: 1.1
Name: simpleazure
Version: 0.1.5
Summary: Python Library for Windows Azure
Home-page: http://simple-azure.readthedocs.io/
Author: Hyungro Lee
Author-email: hroe.lee@gmail.com
License: GPLv3
Description: Simple Azure
        ===============================================================================
        
        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
        <https://github.com/Azure/azure-quickstart-templates/tree/master/101-vm-sshkey>`_
        template:
        
        .. code-block::
        
                >>> 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:
        
        .. code-block:: 
        
                docker run -i -t lee212/simpleazure
        
        - With IPython Notebook:
        
        .. code-block::
        
                docker run -d -p 8888:8888 lee212/simpleazure_with_ipython
        
        Open a browser with the port number **8888**.
        
        Installation
        -------------------------------------------------------------------------------
        
        From github.com:
        
        .. code-block::
        
           git clone https://github.com/lee212/simpleazure.git
           cd simpleazure
           pip install -r requirements.txt
           python setup.py install
        
        from Pypi:
        
        .. code-block::
        
           pip install simpleazure
        
        Caveats
        -------------------------------------------------------------------------------
        
        - Classic (legacy) Python SDK is based on
          https://github.com/Azure/azure-sdk-for-python/blob/master/azure-servicemanagement-legacy
        - Virtual Machines, Cloud Services and Storage are only used in the classic mode to deploy virtrual machines.
        
        Prerequisite
        -------------------------------------------------------------------------------
        
        - Azure Cli installation
        
        .. code-block::
        
            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)
        
        .. code-block::
        
                from simpleazure import SimpleAzure as saz
        
                azure = saz()
                azure.asm.create_vm()
        
        Status can be seen here.
        
        .. code-block::
        
                print vars(azure.get_status())
                {'error': None, 'http_status_code': u'200', 'id': u'', 'status': u'Succeeded'}
        
        or
        
        .. code-block::
        
                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.
        
        
        .. code-block::
        
                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 
        
        
        .. code-block::
        
                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
        -------------------------------------------------------------------------------
        
        .. code-block::
        
                vars(azure.asm.list_deployments().hosted_services)
        
        Terminating VM
        -------------------------------------------------------------------------------
        
        .. code-block::
        
                azure.asm.delete_vm()
        
        or
        
        .. code-block::
        
                azure.asm.delete_vm('vm-name')
        
        Clustering
        -------------------------------------------------------------------------------
        
        TBD
        
        
        Contact
        -------------------------------------------------------------------------------
        
        hroe.lee at gmail.com
        
Keywords: SimpleAzure,Azure,Template deployment
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Topic :: Scientific/Engineering
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
