File: resourcemanagementapps.rst

package info (click to toggle)
python-azure 2.0.0~rc6%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 269,052 kB
  • ctags: 9,428
  • sloc: python: 81,857; makefile: 149
file content (111 lines) | stat: -rw-r--r-- 3,421 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Apps Management (Web Apps, Logic Apps)
======================================

For general information on resource management, see :doc:`Resource Management<resourcemanagement>`.

Create the management client
----------------------------

The following code creates an instance of the management client.

You will need to provide your ``subscription_id`` which can be retrieved
from `your subscription list <https://manage.windowsazure.com/#Workspaces/AdminTasks/SubscriptionMapping>`__.

See :doc:`Resource Management Authentication <resourcemanagementauthentication>`
for details on getting a ``Credentials`` instance.

.. code:: python

    from azure.mgmt.logic import LogicManagementClient
    from azure.mgmt.web import WebSiteManagementClient

    # TODO: Replace this with your subscription id
    subscription_id = '33333333-3333-3333-3333-333333333333'
    # TODO: See above how to get a Credentials instance
    credentials = ...

    logic_client = LogicManagementClient(
        credentials,
        subscription_id
    )
    web_client = WebSiteManagementClient(
        credentials,
        subscription_id
    )

Registration
------------

Some operations in the ARM APIs require a one-time registration of the
provider with your subscription.

Use the following code to do the registration. You can use the same
credentials you created in the previous section.

.. code:: python

    from azure.mgmt.resource.resources import ResourceManagementClient

    resource_client = ResourceManagementClient(
        credentials,
        subscription_id
    )
    resource_client.providers.register('Microsoft.Web')
    resource_client.providers.register('Microsoft.Logic')

Create an App Service Plan
--------------------------

The following code creates an App Service Plan under an existing resource group.
To create or manage resource groups, see :doc:`Resource Management<resourcemanagement>`.

.. code:: python

    from azure.mgmt.web.models import ServerFarmWithRichSku, SkuDescription

    group_name = 'myresourcegroup'
    app_service_plan_name = 'myserviceplan'
    app_service_plan = web_client.server_farms.create_or_update_server_farm(
        group_name,
        app_service_plan_name,
        ServerFarmWithRichSku(
            location='West US',
            sku = SkuDescription(
                name='F1',
                tier='Free'
            )
        )
    )
    # app_service_plan is a msrestazure.azure_operation.AzureOperationPoller instance
    # wait insure polling the underlying async operation until it's done.
    # result() will return a ServerFarmWithRichSku instance
    app_service_plan = app_service_plan.result()


    
Create a Logic App Workflow
---------------------------

The following code creates a logic app workflow.

.. code:: python

    from azure.mgmt.logic.models import Workflow

    group_name = 'myresourcegroup'
    workflow_name = '12HourHeartBeat'
    logic_client.workflows.create_or_update(
        group_name,
        workflow_name,
        Workflow(
            location = 'West US',
            definition={ 
                "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
                "contentVersion": "1.0.0.0",
                "parameters": {},
                "triggers": {},
                "actions": {},
                "outputs": {}
            }
        )
    )