forked from geekzter/azure-minecraft-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimport_plugins.ps1
executable file
·35 lines (28 loc) · 1.54 KB
/
import_plugins.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
#!/usr/bin/env pwsh
<#
.SYNOPSIS
When enabling 'enable_log_filter', you can use this to import pre-existing resources into Terraform state
#>
#Requires -Version 7
. (Join-Path $PSScriptRoot functions.ps1)
try {
AzLogin
$tfdirectory = $(Join-Path (Get-Item $PSScriptRoot).Parent.FullName "terraform")
Push-Location $tfdirectory
$minecraftConfig = (terraform output -json minecraft | ConvertFrom-Json -AsHashtable)
$storageAccount = (Get-TerraformOutput "storage_account")
$suffix = $storageAccount.Substring($storageAccount.Length-4)
if ((![string]::IsNullOrEmpty($storageAccount)) -and $minecraftConfig) {
foreach ($minecraftConfigName in $minecraftConfig.Keys) {
$shareUrl = ("https://${storageAccount}.file.core.windows.net/minecraft-aci-${minecraftConfigName}-data-${suffix}" -replace "-primary","")
Import-TerraformResource -ResourceName "module.minecraft[`"$minecraftConfigName`"].azurerm_storage_share_directory.plugins" -ResourceID "${shareUrl}/plugins"
Import-TerraformResource -ResourceName "module.minecraft[`"$minecraftConfigName`"].azurerm_storage_share_directory.bstats" -ResourceID "${shareUrl}/plugins/bStats"
Import-TerraformResource -ResourceName "module.minecraft[`"$minecraftConfigName`"].azurerm_storage_share_file.bstats_config" -ResourceID "${shareUrl}/plugins/bStats/config.yml"
}
} else {
Write-Warning "Storage Account has not been created, nothing to do"
exit
}
} finally {
Pop-Location
}