Добавьте правило брандмауэра в базу данных Azure для сервера MySQL из powershell

0

Я развернул базу данных Azure для MySQL, и я хочу добавить к ней правило брандмауэра. Мне нужно сделать это от PowerShell, потому что этот шаг является частью большего решения. Я попробовал следующий код:

$resource = Get-AzureRmResource -ResourceGroupName $ResourceGroup.Variables.ResourceGroup '
                                -ResourceType "Microsoft.DBforMySQL/servers" -ResourceName $MySQLServer.ResourceName
$props = $resource.Properties
$props | Add-Member @{ipV4FirewallSettings = [ordered] @{ "firewallRules" = @() } }
$props.ipV4FirewallSettings.firewallRules = $MySQLServer.FirewallRules
$props | Add-Member @{administratorLoginPassword = "Qwerty123!" }
Set-AzureRmResource -PropertyObject $props -ResourceGroupName $ResourceGroup.Variables.ResourceGroup '
                    -ResourceType "Microsoft.DBforMySQL/servers" -ResourceName $MySQLServer.ResourceName  -Force

Где $MySQLServer.FirewallRules из json файла в следующем формате:

"FirewallRules" : [
  { "firewallRuleName" : "test", "rangeStart": "0.0.0.0", "rangeEnd": "0.0.0.0" },
  { "firewallRuleName" : "test2", "rangeStart": "0.0.0.1", "rangeEnd": "255.255.255.255" }
],

Этот код не вызывает никаких ошибок, но не добавляет правил к ресурсу.
Мне нужен указатель на то, где я допустил ошибку или какую-то документацию, как правильно обрабатывать такую задачу.

Теги:
azure
powershell
firewall

1 ответ

1
Лучший ответ

Вы можете использовать команду New-AzureRmResource для добавления правил брандмауэра Mysql:

PS C:\Users\jason> $b = New-Object Psobject -Property @{startIpAddress="172.0.0.1" ; endIpAddress="172.0.0.8"}
PS C:\Users\jason> $b

startIpAddress endIpAddress
-------------- ------------
172.0.0.1      172.0.0.8


PS C:\Users\jason> New-AzureRmResource -ResourceId "/subscriptions/b83c1ed3-xxxx-xxxx-xxxx-2b83a074c23f/resourceGroups/jasonmysql/providers/Microsoft.DBforMySQL/servers/jasonmysql/firewallRules/rule2" -Properties $b -ApiVer
sion 2017-04-30-preview -Force

Name              : rule2
ResourceId        : /subscriptions/b83c1ed3-xxxx-xxxx-xxxx-2b83a074c23f/resourceGroups/jasonmysql/providers/Microsoft.DBforMySQL/servers/jasonmysql/firewallRules/rule2
ResourceName      : jasonmysql/rule2
ResourceType      : Microsoft.DBforMySQL/servers/firewallRules
ResourceGroupName : jasonmysql
SubscriptionId    : b83c1ed3-xxxx-xxxx-xxxx-2b83a074c23f
Properties        : @{startIpAddress=172.0.0.1; endIpAddress=172.0.0.8}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню