added way to add objects
This commit is contained in:
28
JSONfunctions.psm1
Normal file
28
JSONfunctions.psm1
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
function Get-ServerConfig {
|
||||||
|
param(
|
||||||
|
[string]$Path = ".\servers.json"
|
||||||
|
)
|
||||||
|
|
||||||
|
if (-not (Test-Path $Path)) {
|
||||||
|
throw "Config-Datei nicht gefunden: $Path"
|
||||||
|
}
|
||||||
|
|
||||||
|
return Get-Content $Path -Raw | ConvertFrom-Json
|
||||||
|
}
|
||||||
|
|
||||||
|
function Set-ServerConfig {
|
||||||
|
param(
|
||||||
|
[string]$Path = ".\servers.json",
|
||||||
|
[string]$Name
|
||||||
|
)
|
||||||
|
|
||||||
|
$servers = Get-ServerConfig -Path $Path
|
||||||
|
|
||||||
|
$server = $servers.groups.TST | Where-Object {$_.name -eq $Name}
|
||||||
|
$server | Add-Member -MemberType NoteProperty -Name "role" -Value "web"
|
||||||
|
|
||||||
|
$servers | ConvertTo-Json -Depth 10 | Set-Content $Path
|
||||||
|
|
||||||
|
|
||||||
|
return $server
|
||||||
|
}
|
||||||
23
servers.json
23
servers.json
@@ -1,15 +1,26 @@
|
|||||||
{
|
{
|
||||||
"groups": {
|
"groups": {
|
||||||
"TST": [
|
"TST": [
|
||||||
{ "name": "serverTST1" },
|
{
|
||||||
{ "name": "serverTST2" }
|
"name": "serverTST1",
|
||||||
|
"role": "web"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "serverTST2"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"ABN": [
|
"ABN": [
|
||||||
{ "name": "serverABN1" }
|
{
|
||||||
|
"name": "serverABN1"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"PRD": [
|
"PRD": [
|
||||||
{ "name": "serverPRD1" },
|
{
|
||||||
{ "name": "serverPRD2" }
|
"name": "serverPRD1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "serverPRD2"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user