private BasicDeployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters) { BasicDeployment deployment = new BasicDeployment { Mode = DeploymentMode.Incremental, Template = GetTemplate(parameters.TemplateFile, parameters.GalleryTemplateIdentity), Parameters = GetDeploymentParameters(parameters.TemplateParameterObject) }; return(deployment); }
protected override void ProcessRecord() { ValidatePSResourceGroupDeploymentParameters parameters = new ValidatePSResourceGroupDeploymentParameters() { ResourceGroupName = ResourceGroupName, TemplateFile = TemplateUri ?? this.TryResolvePath(TemplateFile), TemplateParameterObject = GetTemplateParameterObject(TemplateParameterObject), ParameterUri = TemplateParameterUri }; WriteObject(ResourcesClient.ValidatePSResourceGroupDeployment(parameters, Mode)); }
public override void ExecuteCmdlet() { ValidatePSResourceGroupDeploymentParameters parameters = new ValidatePSResourceGroupDeploymentParameters() { ResourceGroupName = ResourceGroupName, TemplateFile = TemplateUri ?? this.TryResolvePath(TemplateFile), TemplateParameterObject = GetTemplateParameterObject(TemplateParameterObject), ParameterUri = TemplateParameterUri }; WriteObject(ResourcesClient.ValidatePSResourceGroupDeployment(parameters, Mode)); }
private Deployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters, DeploymentMode deploymentMode) { Deployment deployment = new Deployment { Properties = new DeploymentProperties { Mode = deploymentMode, Template = GetTemplate(parameters.TemplateFile, parameters.GalleryTemplateIdentity), Parameters = GetDeploymentParameters(parameters.TemplateParameterObject) } }; return(deployment); }
public override void ExecuteCmdlet() { ValidatePSResourceGroupDeploymentParameters parameters = new ValidatePSResourceGroupDeploymentParameters() { ResourceGroupName = ResourceGroupName, GalleryTemplateIdentity = GalleryTemplateIdentity, TemplateFile = TemplateUri ?? this.TryResolvePath(TemplateFile), TemplateParameterObject = GetTemplateParameterObject(TemplateParameterObject), TemplateVersion = TemplateVersion, StorageAccountName = StorageAccountName }; WriteObject(ResourcesClient.ValidatePSResourceGroupDeployment(parameters, Mode)); }
private BasicDeployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters) { BasicDeployment deployment = new BasicDeployment { Mode = DeploymentMode.Incremental, TemplateLink = new TemplateLink { Uri = GetTemplateUri(parameters.TemplateFile, parameters.GalleryTemplateIdentity, parameters.StorageAccountName), ContentVersion = parameters.TemplateVersion }, Parameters = GetDeploymentParameters(parameters.TemplateParameterObject) }; return(deployment); }
public override void ExecuteCmdlet() { this.WriteWarning("The Test-AzureResourceGroupTemplate cmdlet is being renamed to Test-AzureResourceGroupDeployment in a future release."); ValidatePSResourceGroupDeploymentParameters parameters = new ValidatePSResourceGroupDeploymentParameters() { ResourceGroupName = ResourceGroupName, GalleryTemplateIdentity = GalleryTemplateIdentity, TemplateFile = TemplateUri ?? this.TryResolvePath(TemplateFile), TemplateParameterObject = GetTemplateParameterObject(TemplateParameterObject), ParameterUri = TemplateParameterUri, TemplateVersion = TemplateVersion, StorageAccountName = StorageAccountName }; WriteObject(ResourcesClient.ValidatePSResourceGroupDeployment(parameters, Mode)); }
public void ValidatesPSResourceGroupDeploymentWithUserTemplate() { ValidatePSResourceGroupDeploymentParameters expectedParameters = new ValidatePSResourceGroupDeploymentParameters() { TemplateFile = templateFile, StorageAccountName = storageAccountName, TemplateVersion = "1.0" }; ValidatePSResourceGroupDeploymentParameters actualParameters = new ValidatePSResourceGroupDeploymentParameters(); List<PSResourceManagerError> expected = new List<PSResourceManagerError>() { new PSResourceManagerError() { Code = "202", Message = "bad input", }, new PSResourceManagerError() { Code = "203", Message = "bad input 2", }, new PSResourceManagerError() { Code = "203", Message = "bad input 3", } }; resourcesClientMock.Setup(f => f.ValidatePSResourceGroupDeployment( It.IsAny<ValidatePSResourceGroupDeploymentParameters>())) .Returns(expected) .Callback((ValidatePSResourceGroupDeploymentParameters p) => { actualParameters = p; }); cmdlet.ResourceGroupName = resourceGroupName; cmdlet.TemplateFile = expectedParameters.TemplateFile; cmdlet.TemplateVersion = expectedParameters.TemplateVersion; cmdlet.ExecuteCmdlet(); Assert.Equal(expectedParameters.GalleryTemplateIdentity, actualParameters.GalleryTemplateIdentity); Assert.Equal(expectedParameters.TemplateFile, actualParameters.TemplateFile); Assert.NotNull(actualParameters.TemplateParameterObject); Assert.Equal(expectedParameters.TemplateVersion, actualParameters.TemplateVersion); Assert.Equal(null, actualParameters.StorageAccountName); commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Once()); }
private Deployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters, DeploymentMode deploymentMode, string debugSetting) { Deployment deployment = new Deployment { Properties = new DeploymentProperties { Mode = deploymentMode } }; if (!string.IsNullOrEmpty(debugSetting)) { deployment.Properties.DebugSetting = new DeploymentDebugSetting { DeploymentDebugDetailLevel = debugSetting }; } if (Uri.IsWellFormedUriString(parameters.TemplateFile, UriKind.Absolute)) { deployment.Properties.TemplateLink = new TemplateLink { Uri = new Uri(parameters.TemplateFile) }; } else { deployment.Properties.Template = FileUtilities.DataStore.ReadFileAsText(parameters.TemplateFile); } if (Uri.IsWellFormedUriString(parameters.ParameterUri, UriKind.Absolute)) { deployment.Properties.ParametersLink = new ParametersLink { Uri = new Uri(parameters.ParameterUri) }; } else { deployment.Properties.Parameters = GetDeploymentParameters(parameters.TemplateParameterObject); } return(deployment); }
private Deployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters, DeploymentMode deploymentMode) { Deployment deployment = new Deployment { Properties = new DeploymentProperties { Mode = deploymentMode } }; if (Uri.IsWellFormedUriString(parameters.TemplateFile, UriKind.Absolute)) { deployment.Properties.TemplateLink = new TemplateLink { Uri = new Uri(parameters.TemplateFile) }; } else if (!string.IsNullOrEmpty(parameters.GalleryTemplateIdentity)) { deployment.Properties.TemplateLink = new TemplateLink { Uri = new Uri(GalleryTemplatesClient.GetGalleryTemplateFile(parameters.GalleryTemplateIdentity)) }; } else { deployment.Properties.Template = FileUtilities.DataStore.ReadFileAsText(parameters.TemplateFile); } if (Uri.IsWellFormedUriString(parameters.ParameterUri, UriKind.Absolute)) { deployment.Properties.ParametersLink = new ParametersLink { Uri = new Uri(parameters.ParameterUri) }; } else { deployment.Properties.Parameters = GetDeploymentParameters(parameters.TemplateParameterObject); } return(deployment); }
public override void ExecuteCmdlet() { this.WriteWarning("The Test-AzureResourceGroupTemplate cmdlet is being renamed to Test-AzureResourceGroupDeployment in a future release."); if (!string.IsNullOrEmpty(TemplateVersion) || !string.IsNullOrEmpty(StorageAccountName) || !string.IsNullOrEmpty(GalleryTemplateIdentity)) { WriteWarning("The GalleryTemplateIdentity, TemplateVersion and StorageAccountName parameters are being deprecated and will be removed in a future release."); } ValidatePSResourceGroupDeploymentParameters parameters = new ValidatePSResourceGroupDeploymentParameters() { ResourceGroupName = ResourceGroupName, GalleryTemplateIdentity = GalleryTemplateIdentity, TemplateFile = TemplateUri ?? this.TryResolvePath(TemplateFile), TemplateParameterObject = GetTemplateParameterObject(TemplateParameterObject), ParameterUri = TemplateParameterUri, TemplateVersion = TemplateVersion, StorageAccountName = StorageAccountName }; WriteObject(ResourcesClient.ValidatePSResourceGroupDeployment(parameters, Mode)); }
public void ValidatesPSResourceGroupDeploymentWithUserTemplate() { ValidatePSResourceGroupDeploymentParameters expectedParameters = new ValidatePSResourceGroupDeploymentParameters() { TemplateFile = templateFile }; ValidatePSResourceGroupDeploymentParameters actualParameters = new ValidatePSResourceGroupDeploymentParameters(); List<PSResourceManagerError> expected = new List<PSResourceManagerError>() { new PSResourceManagerError() { Code = "202", Message = "bad input", }, new PSResourceManagerError() { Code = "203", Message = "bad input 2", }, new PSResourceManagerError() { Code = "203", Message = "bad input 3", } }; resourcesClientMock.Setup(f => f.ValidatePSResourceGroupDeployment( It.IsAny<ValidatePSResourceGroupDeploymentParameters>(), DeploymentMode.Incremental)) .Returns(expected) .Callback((ValidatePSResourceGroupDeploymentParameters p, DeploymentMode m) => { actualParameters = p; m = DeploymentMode.Incremental; }); cmdlet.ResourceGroupName = resourceGroupName; cmdlet.TemplateFile = expectedParameters.TemplateFile; cmdlet.ExecuteCmdlet(); Assert.Equal(expectedParameters.TemplateFile, actualParameters.TemplateFile); Assert.NotNull(actualParameters.TemplateParameterObject); commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Once()); }
private BasicDeployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters) { BasicDeployment deployment = new BasicDeployment { Mode = DeploymentMode.Incremental, Template = GetTemplate(parameters.TemplateFile, parameters.GalleryTemplateIdentity), Parameters = GetDeploymentParameters(parameters.TemplateParameterObject) }; return deployment; }
public void TestTemplateShowsErrorMessage() { Uri templateUri = new Uri("http://templateuri.microsoft.com"); BasicDeployment deploymentFromValidate = new BasicDeployment(); ValidatePSResourceGroupDeploymentParameters parameters = new ValidatePSResourceGroupDeploymentParameters() { ResourceGroupName = resourceGroupName, TemplateFile = templateFile, StorageAccountName = storageAccountName, }; resourceGroupMock.Setup(f => f.CheckExistenceAsync(parameters.ResourceGroupName, new CancellationToken())) .Returns(Task.Factory.StartNew(() => new ResourceGroupExistsResult { Exists = true })); deploymentsMock.Setup(f => f.ValidateAsync(resourceGroupName, It.IsAny<string>(), It.IsAny<BasicDeployment>(), new CancellationToken())) .Returns(Task.Factory.StartNew(() => new DeploymentValidateResponse { IsValid = false, Error = new ResourceManagementErrorWithDetails() { Code = "404", Message = "Awesome error message", Details = new List<ResourceManagementError>(new[] { new ResourceManagementError { Code = "SubError", Message = "Sub error message" }}) } })) .Callback((string rg, string dn, BasicDeployment d, CancellationToken c) => { deploymentFromValidate = d; }); IEnumerable<PSResourceManagerError> error = resourcesClient.ValidatePSResourceGroupDeployment(parameters); Assert.Equal(2, error.Count()); }
private Deployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters, DeploymentMode deploymentMode, string debugSetting) { Deployment deployment = new Deployment { Properties = new DeploymentProperties { Mode = deploymentMode } }; if(!string.IsNullOrEmpty(debugSetting)) { deployment.Properties.DebugSetting = new DeploymentDebugSetting { DeploymentDebugDetailLevel = debugSetting }; } if (Uri.IsWellFormedUriString(parameters.TemplateFile, UriKind.Absolute)) { deployment.Properties.TemplateLink = new TemplateLink { Uri = new Uri(parameters.TemplateFile) }; } else { deployment.Properties.Template = FileUtilities.DataStore.ReadFileAsText(parameters.TemplateFile); } if (Uri.IsWellFormedUriString(parameters.ParameterUri, UriKind.Absolute)) { deployment.Properties.ParametersLink = new ParametersLink { Uri = new Uri(parameters.ParameterUri) }; } else { deployment.Properties.Parameters = GetDeploymentParameters(parameters.TemplateParameterObject); } return deployment; }
/// <summary> /// Validates a given deployment. /// </summary> /// <param name="parameters">The deployment create options</param> /// <returns>True if valid, false otherwise.</returns> public virtual List <PSResourceManagerError> ValidatePSResourceGroupDeployment(ValidatePSResourceGroupDeploymentParameters parameters) { BasicDeployment deployment = CreateBasicDeployment(parameters); TemplateValidationInfo validationInfo = CheckBasicDeploymentErrors(parameters.ResourceGroupName, Guid.NewGuid().ToString(), deployment); if (validationInfo.Errors.Count == 0) { WriteVerbose(ProjectResources.TemplateValid); } return(validationInfo.Errors.Select(e => e.ToPSResourceManagerError()).ToList()); }
/// <summary> /// Validates a given deployment. /// </summary> /// <param name="parameters">The deployment create options</param> /// <returns>True if valid, false otherwise.</returns> public virtual List<PSResourceManagerError> ValidatePSResourceGroupDeployment(ValidatePSResourceGroupDeploymentParameters parameters) { BasicDeployment deployment = CreateBasicDeployment(parameters); List<ResourceManagementError> errors = CheckBasicDeploymentErrors(parameters.ResourceGroupName, Guid.NewGuid().ToString(), deployment); if (errors.Count == 0) { WriteVerbose(ProjectResources.TemplateValid); } return errors.Select(e => e.ToPSResourceManagerError()).ToList(); }
private BasicDeployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters) { BasicDeployment deployment = new BasicDeployment { Mode = DeploymentMode.Incremental, TemplateLink = new TemplateLink { Uri = GetTemplateUri(parameters.TemplateFile, parameters.GalleryTemplateIdentity, parameters.StorageAccountName), ContentVersion = parameters.TemplateVersion }, Parameters = GetDeploymentParameters(parameters.TemplateParameterObject) }; return deployment; }
private Deployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters, DeploymentMode deploymentMode) { Deployment deployment = new Deployment { Properties = new DeploymentProperties { Mode = deploymentMode, Template = GetTemplate(parameters.TemplateFile, parameters.GalleryTemplateIdentity), Parameters = GetDeploymentParameters(parameters.TemplateParameterObject) } }; return deployment; }
private Deployment CreateBasicDeployment(ValidatePSResourceGroupDeploymentParameters parameters, DeploymentMode deploymentMode) { Deployment deployment = new Deployment { Properties = new DeploymentProperties { Mode = deploymentMode } }; if (Uri.IsWellFormedUriString(parameters.TemplateFile, UriKind.Absolute)) { deployment.Properties.TemplateLink = new TemplateLink { Uri = new Uri(parameters.TemplateFile) }; } else if (!string.IsNullOrEmpty(parameters.GalleryTemplateIdentity)) { deployment.Properties.TemplateLink = new TemplateLink { Uri = new Uri(GalleryTemplatesClient.GetGalleryTemplateFile(parameters.GalleryTemplateIdentity)) }; } else { deployment.Properties.Template = FileUtilities.DataStore.ReadFileAsText(parameters.TemplateFile); } if (Uri.IsWellFormedUriString(parameters.ParameterUri, UriKind.Absolute)) { deployment.Properties.ParametersLink = new ParametersLink { Uri = new Uri(parameters.ParameterUri) }; } else { deployment.Properties.Parameters = GetDeploymentParameters(parameters.TemplateParameterObject); } return deployment; }
/// <summary> /// Validates a given deployment. /// </summary> /// <param name="parameters">The deployment create options</param> /// <returns>True if valid, false otherwise.</returns> public virtual List<PSResourceManagerError> ValidatePSResourceGroupDeployment(ValidatePSResourceGroupDeploymentParameters parameters, DeploymentMode deploymentMode) { Deployment deployment = CreateBasicDeployment(parameters, deploymentMode); TemplateValidationInfo validationInfo = CheckBasicDeploymentErrors(parameters.ResourceGroupName, Guid.NewGuid().ToString(), deployment); if (validationInfo.Errors.Count == 0) { WriteVerbose(ProjectResources.TemplateValid); } return validationInfo.Errors.Select(e => e.ToPSResourceManagerError()).ToList(); }