public async Task CreateDeploymentsUsingJsonElement()
        {
            #region Snippet:Managing_Deployments_CreateADeploymentUsingJsonElement
            // First we need to get the deployment collection from the resource group
            ArmDeploymentCollection ArmDeploymentCollection = resourceGroup.GetArmDeployments();
            // Use the same location as the resource group
            string deploymentName = "myDeployment";
            // Create a parameter object
            var parametersObject = new { storageAccountType = new { value = "Standard_GRS" } };
            //convert this object to JsonElement
            var parametersString = JsonSerializer.Serialize(parametersObject);
            var parameters       = JsonDocument.Parse(parametersString).RootElement;
            var input            = new ArmDeploymentInput(new ArmDeploymentProperties(ArmDeploymentMode.Incremental)
            {
                TemplateLink = new ArmDeploymentTemplateLink()
                {
                    Uri = new Uri("https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json")
                },
                Parameters = BinaryData.FromString(parameters.GetRawText())
            });
            ArmOperation <ArmDeploymentResource> lro = await ArmDeploymentCollection.CreateOrUpdateAsync(WaitUntil.Completed, deploymentName, input);

            ArmDeploymentResource deployment = lro.Value;
            #endregion Snippet:Managing_Deployments_CreateADeployment
        }
        public async Task CreateDeployments()
        {
            #region Snippet:Managing_Deployments_CreateADeployment
            // First we need to get the deployment collection from the resource group
            ArmDeploymentCollection ArmDeploymentCollection = resourceGroup.GetArmDeployments();
            // Use the same location as the resource group
            string deploymentName = "myDeployment";
            var    input          = new ArmDeploymentInput(new ArmDeploymentProperties(ArmDeploymentMode.Incremental)
            {
                TemplateLink = new ArmDeploymentTemplateLink()
                {
                    Uri = new Uri("https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json")
                },
                Parameters = BinaryData.FromObjectAsJson(new JsonObject()
                {
                    { "storageAccountType", new JsonObject()
                      {
                          { "value", "Standard_GRS" }
                      } }
                })
            });
            ArmOperation <ArmDeploymentResource> lro = await ArmDeploymentCollection.CreateOrUpdateAsync(WaitUntil.Completed, deploymentName, input);

            ArmDeploymentResource deployment = lro.Value;
            #endregion Snippet:Managing_Deployments_CreateADeployment
        }
        public async Task DeleteDeployments()
        {
            #region Snippet:Managing_Deployments_DeleteADeployment
            // First we need to get the deployment collection from the resource group
            ArmDeploymentCollection ArmDeploymentCollection = resourceGroup.GetArmDeployments();
            // Now we can get the deployment with GetAsync()
            ArmDeploymentResource deployment = await ArmDeploymentCollection.GetAsync("myDeployment");

            // With DeleteAsync(), we can delete the deployment
            await deployment.DeleteAsync(WaitUntil.Completed);

            #endregion Snippet:Managing_Deployments_DeleteADeployment
        }
 public async Task ListDeployments()
 {
     #region Snippet:Managing_Deployments_ListAllDeployments
     // First we need to get the deployment collection from the resource group
     ArmDeploymentCollection ArmDeploymentCollection = resourceGroup.GetArmDeployments();
     // With GetAllAsync(), we can get a list of the deployments in the collection
     AsyncPageable <ArmDeploymentResource> response = ArmDeploymentCollection.GetAllAsync();
     await foreach (ArmDeploymentResource deployment in response)
     {
         Console.WriteLine(deployment.Data.Name);
     }
     #endregion Snippet:Managing_Deployments_ListAllDeployments
 }
        public async Task CreateDeploymentsUsingString()
        {
            #region Snippet:Managing_Deployments_CreateADeploymentUsingString
            // First we need to get the deployment collection from the resource group
            ArmDeploymentCollection ArmDeploymentCollection = resourceGroup.GetArmDeployments();
            // Use the same location as the resource group
            string deploymentName = "myDeployment";
            // Passing string to template and parameters
            var input = new ArmDeploymentInput(new ArmDeploymentProperties(ArmDeploymentMode.Incremental)
            {
                Template   = BinaryData.FromString(File.ReadAllText("storage-template.json")),
                Parameters = BinaryData.FromString(File.ReadAllText("storage-parameters.json"))
            });
            ArmOperation <ArmDeploymentResource> lro = await ArmDeploymentCollection.CreateOrUpdateAsync(WaitUntil.Completed, deploymentName, input);

            ArmDeploymentResource deployment = lro.Value;
            #endregion Snippet:Managing_Deployments_CreateADeployment
        }