> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FlexDeploy - Azure Plugin Guide

> A plugin to manage deployment/interaction with various Azure Cloud Hosted applications as shown below: Many of these operations require the Azure cli

A plugin to manage deployment/interaction with various Azure Cloud Hosted applications as shown below:

Many of these operations require the Azure cli to be installed. Please see [https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=dnf](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=dnf) for information on installing the azure-cli package.

> [!NOTE]
>
> Refrain from installing the 2.74 version of Azure CLI, as there are issues reported. Ref: [https://github.com/azure/azure-cli/issues/31591](https://github.com/azure/azure-cli/issues/31591) [https://github.com/Azure/azure-cli/issues/31633](https://github.com/Azure/azure-cli/issues/31633)

# Key Features

* Start/Stop/Restarts the Virtual Machines

* Interaction with Azure Functions

  * Deploys the Azure FunctionApp

  * Execute Slot swap in Function App Service

  * Insert/update Application Setting properties for Function App

  * Insert/update ConnectionString properties in Function App

* Interaction with Web App Service

  * Deploys the code or achieve to Azure Web App

  * Execute Slot swap in Web App Service

  * Insert/update Application Setting properties in Web App

  * Insert/update Connection String properties in Web App

* Interaction with Azure DevOps

  * publish the Artifacts to the Azure DevOps Artifacts Source

  * download the Artifacts from Azure DevOps Artifacts Source

  * Insert/Update the secret or non-secret variables in the Variable-Group

  * Triggers the Pipeline Build

  * Creates the Azure DevOps Release based on the given Release Definition ID

  * Trigger the Manual Deployment based on the Release ID and Release Environment ID.

* Execute Azure ARM Template.

  * Executes ARM template for Azure infrastructure create/update.

* Execute Azure CLI command.

  * Run the Azure command/script, and the user can select the type of CLI from the drop-down.

  * Available options are Shell, PowerShell, and WindowsShell. The default CLI type is the shell.

  * Configured cloud account will be used to execute the command.

# Plugin Operations

## VM Related Operations

* [startVM](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/startvm.md)

* [stopVM](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/stopvm.md)

* [restartVM](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/restartvm.md)

* See [Granting enterprise applications access to your Virtual Machines](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/azure-plugin-appendix/granting-enterprise-applications-access-to-your-virtual-machines.md) for information about giving permissions for that.

## Infra (ARM Template)

* [buildARMTemplate](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/buildarmtemplate.md)

* [executeARMTemplate](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/executearmtemplate.md)

## FunctionApp

* [deployFunctions](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/deployfunctions.md)

* [executeFunctionAppSlotSwap](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/executefunctionappslotswap.md)

* [upsertFunctionApplicationSetting](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/upsertfunctionapplicationsetting.md)

* [upsertFunctionConnectionString](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/upsertfunctionconnectionstring.md)

## WebApp

* [deployWebApp](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/deploywebapp.md)

* [executeWebAppSlotSwap](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/executewebappslotswap.md)

* [upsertWebAppApplicationSetting](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/upsertwebappapplicationsetting.md)

* [upsertWebAppConnectionString](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/upsertwebappconnectionstring.md)

## Azure DevOps

* [publishArtifacts](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/publishartifacts.md)

* [downloadArtifacts](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/downloadartifacts.md)

* [upsertVariables](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/upsertvariables.md)

* [buildPipeline](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/buildpipeline.md)

* [createRelease](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/createrelease.md)

* [updateReleaseEnvironmentStatus](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/updatereleaseenvstatus.md)

## Azure CLI

* [executeAzureCommand](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/executeazurecommand.md)

# Appendix

[Application Setting/Connection String file & input content acceptable structure](https://docs.flexagon.com/flexdeploy-11-2-documentation/flexdeploy-plugin-guides/flexdeploy-azure-plugin-guide/azure-plugin-appendix/application-setting-connection-string-file-input-content-acceptable-structure.md)
