public async Task<Microsoft.Azure.Management.Resources.Models.DeploymentExtended> CreateDeployment(
[Metadata("Id", "The Id of the resource group to deploy to.")]string resourceGroupId,
[Metadata("Parameters", "The parameters for the template.")]string parameters,
[Metadata("Template", "The deployment template to deploy.")]string template,
[Metadata("Deployment name", "A custom name for the deployment.", VisibilityType.Advanced)]string deploymentName = null
)
{
var client = await ResourceUtilities.GetClient().ConfigureAwait(continueOnCapturedContext: false);
var deployment = new Deployment()
{
Properties = new DeploymentProperties()
{
Mode = DeploymentMode.Incremental,
Parameters = parameters,
Template = template
}
};
if (deploymentName == null)
{
deploymentName = "AzureResourceConnector-" + Guid.NewGuid().ToString("n");
}
var result = await client.Deployments.CreateOrUpdateAsync(ResourceUtilities.GetResourceGroupFromId(resourceGroupId), deploymentName, deployment, CancellationToken.None).ConfigureAwait(continueOnCapturedContext: false);
return result.Deployment;
}
}