Skip to content

Commit

Permalink
Code review
Browse files Browse the repository at this point in the history
  • Loading branch information
r30e committed Jun 7, 2021
1 parent 918f2ea commit f9c25b6
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 12 deletions.
14 changes: 7 additions & 7 deletions src/Farmer/Deploy.fs
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ let setSubscription (subscriptionId:Guid) =
Az.setSubscription (subscriptionId.ToString())

/// Validates that the parameters supplied meet the deployment requirements.
let validateParameters suppliedParameters (deployment:#IDeploymentSource) =
let validateParameters suppliedParameters (deployment:IDeploymentSource) =
let expected = deployment.Deployment.Template.Parameters |> List.map(fun (SecureParameter p) -> p) |> Set
let supplied = suppliedParameters |> List.map fst |> Set
let missing = Set.toList (expected - supplied)
Expand All @@ -203,7 +203,7 @@ let validateParameters suppliedParameters (deployment:#IDeploymentSource) =

let NoParameters : (string * string) list = []

let private prepareForDeployment parameters resourceGroupName (deployment:#IDeploymentSource) = result {
let private prepareForDeployment parameters resourceGroupName (deployment:IDeploymentSource) = result {
do! deployment |> validateParameters parameters

let! version = checkVersion Az.MinimumVersion
Expand Down Expand Up @@ -234,20 +234,20 @@ let private prepareForDeployment parameters resourceGroupName (deployment:#IDepl
}

/// Validates a deployment against a resource group. If the resource group does not exist, it will be created automatically.
let tryValidate resourceGroupName parameters (deployment:#IDeploymentSource) = result {
let tryValidate resourceGroupName parameters (deployment:IDeploymentSource) = result {
let! deploymentParameters = deployment |> prepareForDeployment parameters resourceGroupName
return! Az.validate resourceGroupName deploymentParameters.DeploymentName deploymentParameters.TemplateFilename parameters
}

/// Validates a deployment against a resource group. If the resource group does not exist, it will be created automatically.
let tryWhatIf resourceGroupName parameters (deployment:#IDeploymentSource) = result {
let tryWhatIf resourceGroupName parameters (deployment:IDeploymentSource) = result {
let! deploymentParameters = deployment |> prepareForDeployment parameters resourceGroupName
return! Az.whatIf resourceGroupName deploymentParameters.DeploymentName deploymentParameters.TemplateFilename parameters
}

/// Executes the supplied Deployment against a resource group using the Azure CLI.
/// If successful, returns a Map of the output keys and values.
let tryExecute resourceGroupName parameters (deployment:#IDeploymentSource) = result {
let tryExecute resourceGroupName parameters (deployment:IDeploymentSource) = result {
let! deploymentParameters = deployment |> prepareForDeployment parameters resourceGroupName

printfn "Deploying ARM template (please be patient, this can take a while)..."
Expand All @@ -272,12 +272,12 @@ let tryExecute resourceGroupName parameters (deployment:#IDeploymentSource) = re

/// Executes the supplied Deployment against a resource group using the Azure CLI.
/// If successful, returns a Map of the output keys and values, otherwise returns any error as an exception.
let execute resourceGroupName parameters (deployment:#IDeploymentSource) =
let execute resourceGroupName parameters (deployment:IDeploymentSource) =
match tryExecute resourceGroupName parameters deployment with
| Ok output -> output
| Error message -> failwith (Az.tryGetError message)

let whatIf resourceGroupName parameters (deployment:#IDeploymentSource) =
let whatIf resourceGroupName parameters (deployment:IDeploymentSource) =
match tryWhatIf resourceGroupName parameters deployment with
| Ok output -> output
| Error message -> failwith message
2 changes: 1 addition & 1 deletion src/Farmer/Writer.fs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ let toFile folder templateName json =
filename

/// Converts the supplied ARMTemplate to JSON and then writes it out to the provided template name. The postfix ".json" will automatically be added to the filename.
let quickWrite templateName (deployment:#IDeploymentSource) =
let quickWrite templateName (deployment:IDeploymentSource) =
deployment.Deployment.Template
|> toJson
|> toFile "." templateName
Expand Down
2 changes: 1 addition & 1 deletion src/Tests/AzCli.fs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ open Farmer
open System
open TestHelpers

let deployTo resourceGroupName parameters (deployment:#IDeploymentSource) =
let deployTo resourceGroupName parameters (deployment:IDeploymentSource) =
printfn "Creating resource group %s..." resourceGroupName
let deployResponse = deployment.Deployment |> Deploy.tryExecute resourceGroupName parameters
let deleteResponse = Deploy.Az.delete resourceGroupName
Expand Down
2 changes: 1 addition & 1 deletion src/Tests/Helpers.fs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ let getResourceAtIndex serializationSettings index (builder:#IBuilder) =
builder.BuildResources Location.WestEurope
|> fun r -> r.[index].JsonModel |> farmerToMs serializationSettings

let findAzureResources<'T when 'T : null> (serializationSettings:Newtonsoft.Json.JsonSerializerSettings) (deployment:#IDeploymentSource) =
let findAzureResources<'T when 'T : null> (serializationSettings:Newtonsoft.Json.JsonSerializerSettings) (deployment:IDeploymentSource) =
let template = deployment.Deployment.Template |> Writer.TemplateGeneration.processTemplate

template.resources
Expand Down
2 changes: 1 addition & 1 deletion src/Tests/ServiceBus.fs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ let getTopicResource = getResource<Topic>

let getResources (v:IBuilder) = v.BuildResources Location.WestUS

let getResourceDependsOnByName (template:#IDeploymentSource) (resourceName:ResourceName) =
let getResourceDependsOnByName (template:IDeploymentSource) (resourceName:ResourceName) =
let json = template.Deployment.Template |> Writer.toJson
let jobj = Newtonsoft.Json.Linq.JObject.Parse(json)
let dependsOn = jobj.SelectToken($"resources[?(@.name=='{resourceName.Value}')].dependsOn")
Expand Down
2 changes: 1 addition & 1 deletion src/Tests/Template.fs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ open Microsoft.Rest
open System
open Newtonsoft.Json.Linq

let toTemplate (deployment:#IDeploymentSource) =
let toTemplate (deployment:IDeploymentSource) =
deployment.Deployment.Template
|> Writer.TemplateGeneration.processTemplate

Expand Down

0 comments on commit f9c25b6

Please sign in to comment.