-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathentry.ps1
93 lines (88 loc) · 3.54 KB
/
entry.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Param(
[string]$resourceGroupName,
[string]$resourceGroupLocation,
[string]$resourceGroupCommand,
[string]$templateFile,
[string]$parametersFile,
[string]$templateUri,
[string]$parametersUri
)
$context = Get-AzContext
if (!$context) {
Write-Output "##########`nNo Azure context found! Please make sure azlogin has run before.`n##########"
exit
}
if (-not $resourceGroupName) {
Write-Output "##########`nresourceGroupName is not set.`n##########"
exit
}
Try {
if ($resourceGroupCommand -and ($resourceGroupCommand -like "create")) {
Write-Output "##########`nExecuting commands to create/update resource group $resourceGroupName ...`n"
if (-not (Get-AzResourceGroup -Name $resourceGroupName -ErrorAction SilentlyContinue)) {
if ($resourceGroupLocation) {
New-AzResourceGroup -Name $resourceGroupName -Location "$resourceGroupLocation" -Force
}
}
if ($templateFile -and $parametersFile) {
Write-Output "##########`nDeploying with templateFile and parametersFile in $resourceGroupName ...`n##########"
Write-Output "templateFile: $templateFile"
Write-Output "parametersFile: $parametersFile"
$DeploymentInputs = @{
Name = "$($env:GITHUB_WORKFLOW)-$($env:GITHUB_ACTOR)-$(Get-Date -Format yyyyMMddHHMMss)"
ResourceGroupName = "$resourceGroupName"
TemplateFile = "$templateFile"
TemplateParameterFile = "$parametersFile"
Mode = "Incremental"
Verbose = $true
ErrorAction = "Stop"
}
New-AzResourceGroupDeployment @DeploymentInputs
}
elseif ($templateUri -and $parametersUri) {
Write-Output "##########`nDeploying with templateUri and parametersUri in $resourceGroupName ...`n##########"
Write-Output "templateUri: $templateUri"
Write-Output "parametersUri: $parametersUri"
$DeploymentInputs = @{
Name = "$($env:GITHUB_WORKFLOW)-$($env:GITHUB_ACTOR)-$(Get-Date -Format yyyyMMddHHMMss)"
ResourceGroupName = "$resourceGroupName"
TemplateUri = "$templateUri"
TemplateParameterUri = "$parametersUri"
Mode = "Incremental"
Verbose = $true
ErrorAction = "Stop"
}
New-AzResourceGroupDeployment @DeploymentInputs
}
elseif ($templateUri -and $parametersFile) {
Write-Output "##########`nDeploying with templateUri and parametersFile in $resourceGroupName ...`n##########"
Write-Output "templateUri: $templateUri"
Write-Output "parametersFile: $parametersFile"
$DeploymentInputs = @{
Name = "$($env:GITHUB_WORKFLOW)-$($env:GITHUB_ACTOR)-$(Get-Date -Format yyyyMMddHHMMss)"
ResourceGroupName = "$resourceGroupName"
TemplateUri = "$templateUri"
TemplateParameterFile = "$parametersFile"
Mode = "Incremental"
Verbose = $true
ErrorAction = "Stop"
}
New-AzResourceGroupDeployment @DeploymentInputs
}
else {
Write-Output "##########`nTemplate or parameters file does not exist. ...`n##########"
}
}
elseif ($resourceGroupCommand -like "delete") {
Write-Output "resourceGroupCommand is set to 'delete'. Removing $resourceGroupName now. "
Remove-AzResourceGroup -Name $resourceGroupName -Force
}
else {
Write-Output "##########`nSomething went wrong ...`n##########"
}
}
Catch {
$_.Exception.Message
$_.Exception.ItemName
Throw
}