Azure Start VM

Objective

The goal of the tutorial is to start the Azure Virtual Machine(s) using FlexDeploy Azure plugin operation. This automation includes:

  • Start the Azure Virtual Machine using One or more Virtual Machine Id(s) / Virtual Machine Name and Resource group Name.

We will walk through each of the FlexDeploy features that needs to be created/configured to accomplish this goal and start the Virtual Machine in a very short amount of time.

Checklist

Checklist

Description

Checklist

Description

Azure Tenant Id

Azure Tenant Id for the company.

Azure Subscription Id

Azure Subscription where the Virtual Machine exists.

Azure Client ID

Client ID to connect to desired Azure Subscription.

Azure Client Key

Password for the Client ID

Virtual Machine Name

The Name of the Virtual Machine to start.

Virtual Machine Resource Id(s)

Provide either comma or space separated Resource Ids of the Virtual Machine(s).

Azure Resource Group

The Resource Group containing the Virtual Machine.

Azure CLI installation

Azure CLI needs to be installed where the plugin operation shall run (preferably FlexDeploy server)

Azure CLI in class path

Azure CLI should be added to class path in the Server of execution. Else the path can also be set under FlexDeploy environment level property.

Configure Cloud Account

First, an Azure account needs to be configured under Integrations. FlexDeploy will connect to the right Azure Subscription with provided details and starts the Virtual Machine(s).

  1. Select Integrations from the FlexDeploy Menu and navigate to the Cloud tab from the left-hand pane.

  2. Create a new Cloud account with the “+ Create” button.

  3. Provide the Cloud Account name.

  4. Also provide the Cloud Account code.

  5. Select “Azure” as Cloud Provider from drop down as shown below.

Update Client ID, Client Key, Tenant Id, and Subscription Id against the Cloud Account. The Client ID must have relevant access to the Virtual Machine to start the VM.

Integration Instance Properties:

Property Name

Value for this tutorial

Mandatory

Description

Property Name

Value for this tutorial

Mandatory

Description

Username

 

No

User name for the registered Azure account

Password

 

No

Password for the registered Azure account.

Subscription Id

01bc8c42-614c-4d8c-a7c2-608d22e8407b

Yes

The subscription ID is a GUID that uniquely identifies your subscription to use Azure services.

Tenant Id

62968c10-0ab4-4eb8-9ba0-df1240a626eb

Yes

The tenant ID of resource.

Azure Application Client ID

e6b83891-b341-465b-bc7e-5e522193bf40

Yes

The Client ID assigned to Application

Azure Application Client Key

<<Secured Value>>

Yes

The key assigned to Application

  1. Client Key is a password field and hence needs to be kept hidden. To update the same, click on the pencil icon as shown below.

  2. Update the Client Key value under Secret Text. This is to make sure no one else can view/retrieve the password.

  3. Save the credential.

  1. Do a Test Connection. The green color ticket mark will show that the connection is successful. If it is not and you see an error code containing “403: Check api permissions”, see Granting enterprise applications access to your Virtual Machines.

  2. After entering the credential, click on Save on the cloud instance.

Utility Workflow

Navigate to Workflows and create a utility workflow using the button as highlighted below.

Below is a sample utility workflow to start the Virtual Machine.

The StartVM operation returns three output variables. To capture them and use them for further processing/evaluation, create three variables and map them against the output parameters. Return As Output option should be checked.

  1. Click on the X2 button to open the Variables popup.

  2. Create three output variables. Return As Output is checked so that the workflow will return these variables as Outputs. These variables can then further be used for other purposes.

Map the variables against the output of the StartVM operation to capture the responses.

You can provide the VM Name & Resource Group or VM Resource Id(s) in the Project properties. Azure Plugin will consider the values and start the servers.

However, one can also provide the VM Resource Id/ VM name directly to Plugin input as well as shown below.

Workflow Inputs

Property Name

Value for this tutorial

Description

Property Name

Value for this tutorial

Description

Virtual Machine Resource Id(s)

 

Provide comma or space separated Virtual Machine Resource Id(s)

(eg. /subscriptions/01bc8c42-614c-4d8c-a7c2-608d22e8407b/resourceGroups/srimukhi-resource-grp/providers/Microsoft.Compute/virtualMachines/srimukhi-test-vm ).

Virtual Machine Name

srimukhi-test-vm

The name of the virtual machine to start (eg. srimukhi-test-vm ). Requires the Resource group name (eg. srimukhi-resource-grp) to be set at Project Property when Virtual Machine name is given either as input / property

Plugin Outputs

Output Name

Description

Output Name

Description

FDAZ_OUT_VM_STATUS

Captures the Virtual Machine Status code

FDAZ_OUT_VM_RESP

Captures the Virtual Machine Response

FDAZ_OUT_VM_ERR

Captures the Error Message of the Virtual Machine

Topology

For detailed steps on how to configure the topology and map the workflows manually, please refer to Configure the Topology for Azure

Target Properties

Selecting the DEV environment mapped to the Target Group will display the configurable properties/Endpoint and allows to the configure the properties.

Provide the value for AzureCloudAccount, and AzureCLIPath(optional if set in classPath), Number of Iterations (optional, default value is 6), and Interval Duration (optional default value is 30sec) and map the localhost as Endpoint as shown below.

Target Properties Info

Property Name

Mandatory

Values for this Tutorial

Description

Property Name

Mandatory

Values for this Tutorial

Description

Azure Cloud Account

Yes

AzureFlexDev

The Azure Cloud Account Name configured.

Absolute path of Azure CLI

Optional

 

The path to the directory where Azure CLI is installed. (Optional)
eg: /u01/azure/bin

Number of Iterations

Optional (default is 6)

6

The number of iterations to perform the status check.

Interval between status check

Optional (default is 30)

30

The interval between Azure VM status check.

Create the Azure Start VM Project using Blank Project

For details steps on how to configure the project and execution, please refer to Create the Azure Start/Stop/Restart VM Project

Once the VM is started using Azure CLI by the plugin operation, the plugin itself will check for startup status at periodic interval as mentioned above. Once the VM is up & running the plugin operation will successfully conclude.

Reports

With the successful execution of the Utility workflow, a text (.txt) file is created, stored in the reports tab. Every execution will generate a new report with execution Id appended to the text file in the Reports tab.

Click on the text file generated to see the details. This file captures the details of each instance i.e., VM Resource Id, Provision State, and Power State. In the workflow, there were two Azure VM Resource Id’s are provided as input. Hence, the report contains the details of both the Azure VM's. Also, user can download the report file generated.

Congratulations! You have successfully completed the Azure Start Virtual Machine tutorial.

Now that you have configured FlexDeploy for one Azure VM operation, it is extremely easy to replicate the same for other Azure VM operations. Simply use the Copy Project feature and a new project will be created with all of the configuration completed already. You just need to make the necessary configuration changes.

 

The following macros are not currently supported in the footer:
  • style