...
The goal of the tutorial is to stop Stop the Azure Virtual Machine(s) using FlexDeploy Azure plugin operation. This automation includes:
Stop the Azure Virtual Machine using One or more Virtual Machine Id(s) / Virtual Machine Name and Resource group Name using Azure CLI.
We will walk through each of the FlexDeploy features that will needs to be created/configured to accomplish this goal and stop the Virtual Machine in a very short amount of time.
Checklist
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 stop. |
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 Azureaccount needs to be configured under Integrations. FlexDeploy will connect to the right Azure Subscription with provided details and stops the Virtual Machine(s).
Select Integrations from the FlexDeploy Menu .Navigate and navigate to the Cloud tab from the left-hand pane.
Create a new Cloud account of the provider type “Azure” with the “+ Create” button.
...
Provide the Cloud Account name.
Also provide the Cloud Account code.
Select “Azure” as Cloud Provider from drop down as shown below.
...
It should have a Client ID, Client Key, Tenant Id, and Subscription Id configured in it. The Client ID must have relevant access to the Virtual Machine and make other associated changes(Application Setting update etc).
...
...
Integration Instance Properties:
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 |
Azure Active Directory Domain |
| No | The domain name of the AAD to access. |
Keystore Path |
| No | The path to the JKS containing the management certificate. |
Keystore Password |
| No | The password for Keystore Path |
Azure Environment |
| No | The name of the environment. |
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.
Update the Client Key value under Secret Text. This is to make sure no one else can view/retrieve the password.
...
Save the credential
...
.
...
Do a Test Connection. The green color ticket mark will show that the connection is successful.
...
Utility Workflow
Navigate to the Workflows tab and create a workflow using the “+”(Click to create new Workflow) button
...
After entering the credential, click on Save on the cloud instance.
...
Utility Workflow
Next, we shall create one Utility workflow as shown below. The Workflow Type field defines the type of workflow.
...
Navigate to the Workflows tab
Selectthe “+” button from the left-hand pane to create a new workflow with type as Utility.
...
The steps of the workflow execution can be configured through the Definition section.
...
Navigate to Plugin Operations section and search for Azure plugin stopVM operation.
Drag the operation under workflow execution step as shown below.
...
Below given is a sample utility workflow to stop the Virtual Machine.
...
The StopVM operation returns three output variables. To capture them and use them for further processing/evaluation, one can create three variables and map them against the output parameters. Return As Output drop down option should be set as Yes.
First, navigate to the Workflow Definition tab and click on the Variables button.
Next use Create option to add three output variables.
...
Return As Output is marked as true so that the workflow will return the same variables as Output. These variables can then further be used for other purposes.
...
Map the variables against the output of the StopVM operation to capture the responses and also update the Workflow Input values.
...
Now, click on save and activate the workflow.
...
.
...
Save & Activate the workflow.
...
You can provide the VM Name & Resource Group or VM Resource Id(s) in the Project properties. Azure Plugin will consider the values and stop 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 |
---|---|---|
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 stop (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 |
Skip Shutdown | false | Skip shutdown and power-off immediately. (Defaults to false. |
) | ||
No Wait | false | Do Not Wait for Completion of stopping Virtual Machine. (Defaults to false.) |
Plugin Outputs
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 |
---|---|---|---|
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) |
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 Stop 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 stopped using Azure CLI by the plugin operation, the plugin itself will check for stopped status at periodic interval as mentioned above. Once the VM is stopped 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.
...