@@ -24,54 +24,68 @@ function Update-AzMySqlFirewallRule {
2424[CmdletBinding (DefaultParameterSetName = ' UpdateExpanded' , PositionalBinding = $false , SupportsShouldProcess , ConfirmImpact = ' Medium' )]
2525param (
2626 [Parameter (ParameterSetName = ' UpdateExpanded' , Mandatory )]
27+ [Parameter (ParameterSetName = ' ClientIPAddress' , Mandatory )]
2728 [Alias (' FirewallRuleName' )]
2829 [Microsoft.Azure.PowerShell.Cmdlets.MySql.Category (' Path' )]
2930 [System.String ]
3031 # The name of the server firewall rule.
3132 ${Name} ,
3233
3334 [Parameter (ParameterSetName = ' UpdateExpanded' , Mandatory )]
35+ [Parameter (ParameterSetName = ' ClientIPAddress' , Mandatory )]
3436 [Microsoft.Azure.PowerShell.Cmdlets.MySql.Category (' Path' )]
3537 [System.String ]
3638 # The name of the resource group.
3739 # The name is case insensitive.
3840 ${ResourceGroupName} ,
3941
4042 [Parameter (ParameterSetName = ' UpdateExpanded' , Mandatory )]
43+ [Parameter (ParameterSetName = ' ClientIPAddress' , Mandatory )]
4144 [Microsoft.Azure.PowerShell.Cmdlets.MySql.Category (' Path' )]
4245 [System.String ]
4346 # The name of the server.
4447 ${ServerName} ,
4548
4649 [Parameter (ParameterSetName = ' UpdateExpanded' )]
50+ [Parameter (ParameterSetName = ' ClientIPAddress' )]
4751 [Microsoft.Azure.PowerShell.Cmdlets.MySql.Category (' Path' )]
4852 [Microsoft.Azure.PowerShell.Cmdlets.MySql.Runtime.DefaultInfo (Script= ' (Get-AzContext).Subscription.Id' )]
4953 [System.String ]
5054 # The ID of the target subscription.
5155 ${SubscriptionId} ,
5256
5357 [Parameter (ParameterSetName = ' UpdateViaIdentityExpanded' , Mandatory , ValueFromPipeline )]
58+ [Parameter (ParameterSetName = ' ClientIPAddressViaIdentity' , Mandatory , ValueFromPipeline )]
5459 [Microsoft.Azure.PowerShell.Cmdlets.MySql.Category (' Path' )]
5560 [Microsoft.Azure.PowerShell.Cmdlets.MySql.Models.IMySqlIdentity ]
5661 # Identity Parameter
5762 # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
5863 ${InputObject} ,
5964
60- [Parameter ()]
65+ [Parameter (ParameterSetName = ' UpdateExpanded' , Mandatory )]
66+ [Parameter (ParameterSetName = ' UpdateViaIdentityExpanded' , Mandatory )]
6167 [Microsoft.Azure.PowerShell.Cmdlets.MySql.Category (' Body' )]
6268 [System.String ]
6369 # The end IP address of the server firewall rule.
6470 # Must be IPv4 format.
6571 ${EndIPAddress} ,
6672
67- [Parameter (Mandatory )]
73+ [Parameter (ParameterSetName = ' UpdateExpanded' , Mandatory )]
74+ [Parameter (ParameterSetName = ' UpdateViaIdentityExpanded' , Mandatory )]
6875 [Microsoft.Azure.PowerShell.Cmdlets.MySql.Category (' Body' )]
6976 [System.String ]
7077 # The start IP address of the server firewall rule.
7178 # Must be IPv4 format.
72- # If range contains one IP, use StartIPAddress only.
7379 ${StartIPAddress} ,
7480
81+ [Parameter (ParameterSetName = ' ClientIPAddress' , Mandatory )]
82+ [Parameter (ParameterSetName = ' ClientIPAddressViaIdentity' , Mandatory )]
83+ [Microsoft.Azure.PowerShell.Cmdlets.MySql.Category (' Body' )]
84+ [System.String ]
85+ # Client specified single IP of the server firewall rule.
86+ # Must be IPv4 format.
87+ ${ClientIPAddress} ,
88+
7589 [Parameter ()]
7690 [Alias (' AzureRMContext' , ' AzureCredential' )]
7791 [ValidateNotNull ()]
@@ -134,9 +148,11 @@ param(
134148
135149process {
136150 try {
137- if (! $PSBoundParameters.ContainsKey (' EndIPAddress ' ))
151+ if ($PSBoundParameters.ContainsKey (' ClientIPAddress ' ))
138152 {
139- $PSBoundParameters [' EndIPAddress' ] = $PSBoundParameters [' StartIPAddress' ]
153+ $PSBoundParameters [' StartIPAddress' ] = $PSBoundParameters [' ClientIPAddress' ]
154+ $PSBoundParameters [' EndIPAddress' ] = $PSBoundParameters [' ClientIPAddress' ]
155+ $null = $PSBoundParameters.Remove (' ClientIPAddress' )
140156 }
141157 Az.MySql.internal\Update-AzMySqlFirewallRule @PSBoundParameters
142158 } catch {
0 commit comments