/// <summary> /// Creates a new resource group /// </summary> /// <param name="parameters">The create parameters</param> public virtual PSResourceGroup CreatePSResourceGroup(PSCreateResourceGroupParameters parameters) { bool resourceExists = ResourceManagementClient.ResourceGroups.CheckExistence(parameters.ResourceGroupName).Value; ResourceGroup resourceGroup = null; Action createOrUpdateResourceGroup = () => { resourceGroup = CreateOrUpdateResourceGroup(parameters.ResourceGroupName, parameters.Location, parameters.Tag); WriteVerbose(string.Format(ProjectResources.CreatedResourceGroup, resourceGroup.Name, resourceGroup.Location)); }; if (resourceExists && !parameters.Force) { parameters.ConfirmAction(parameters.Force, ProjectResources.ResourceGroupAlreadyExists, ProjectResources.NewResourceGroupMessage, parameters.DeploymentName, createOrUpdateResourceGroup); resourceGroup = ResourceManagementClient.ResourceGroups.Get(parameters.ResourceGroupName); } else { createOrUpdateResourceGroup(); } return(resourceGroup.ToPSResourceGroup()); }
/// <summary> /// Creates a new resource group /// </summary> /// <param name="parameters">The create parameters</param> public virtual PSResourceGroup CreatePSResourceGroup(PSCreateResourceGroupParameters parameters) { bool resourceExists = ResourceManagementClient.ResourceGroups.CheckExistence(parameters.ResourceGroupName); ResourceGroup resourceGroup = null; parameters.ConfirmAction(parameters.Force, ProjectResources.ResourceGroupAlreadyExists, ProjectResources.NewResourceGroupMessage, parameters.DeploymentName, () => { resourceGroup = CreateOrUpdateResourceGroup(parameters.ResourceGroupName, parameters.Location, parameters.Tag); WriteVerbose(string.Format(ProjectResources.CreatedResourceGroup, resourceGroup.Name, resourceGroup.Location)); }, () => resourceExists); return resourceGroup != null ? resourceGroup.ToPSResourceGroup() : null; }