diff --git a/src/AzWorkspaceManager.psm1 b/src/AzWorkspaceManager.psm1 index 198e826..0908822 100644 --- a/src/AzWorkspaceManager.psm1 +++ b/src/AzWorkspaceManager.psm1 @@ -5,7 +5,7 @@ $SessionVariables = [ordered]@{ baseUri = '' ExpiresOn = '' workspace = '' - apiVersion = '2023-10-01' + apiVersion = '2025-01-01-preview' } Set-Variable -Name Guid -Value (New-Guid).Guid -Scope Script -Force diff --git a/src/Private/Get-LogAnalyticsWorkspace.ps1 b/src/Private/Get-LogAnalyticsWorkspace.ps1 index 5bf73fc..dc78779 100644 --- a/src/Private/Get-LogAnalyticsWorkspace.ps1 +++ b/src/Private/Get-LogAnalyticsWorkspace.ps1 @@ -14,9 +14,13 @@ function Get-LogAnalyticsWorkspace { param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage = "It does not match expected pattern '{1}'")] - [string]$Name, + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$Name, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName ) diff --git a/src/Public/Add-AzWorkspaceManager.ps1 b/src/Public/Add-AzWorkspaceManager.ps1 index c0bdb18..c0d667d 100644 --- a/src/Public/Add-AzWorkspaceManager.ps1 +++ b/src/Public/Add-AzWorkspaceManager.ps1 @@ -7,6 +7,7 @@ function Add-AzWorkspaceManager { [string]$Name, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipeline = $true)] diff --git a/src/Public/Add-AzWorkspaceManagerAssignment.ps1 b/src/Public/Add-AzWorkspaceManagerAssignment.ps1 index 0392a38..32444ee 100644 --- a/src/Public/Add-AzWorkspaceManagerAssignment.ps1 +++ b/src/Public/Add-AzWorkspaceManagerAssignment.ps1 @@ -4,10 +4,13 @@ function Add-AzWorkspaceManagerAssignment { [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] [ValidateNotNullOrEmpty()] - [string]$WorkspaceName, + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] - [ValidateNotNullOrEmpty()] + [ValidateNotNullOrEmpty()][Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $true, ValueFromPipeline = $false)] diff --git a/src/Public/Add-AzWorkspaceManagerAssignmentJob.ps1 b/src/Public/Add-AzWorkspaceManagerAssignmentJob.ps1 index 1e43834..10fcd41 100644 --- a/src/Public/Add-AzWorkspaceManagerAssignmentJob.ps1 +++ b/src/Public/Add-AzWorkspaceManagerAssignmentJob.ps1 @@ -4,10 +4,14 @@ function Add-AzWorkspaceManagerAssignmentJob { [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] - [string]$WorkspaceName, # //TODO: Add validation for workspace name + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipeline = $false)] diff --git a/src/Public/Add-AzWorkspaceManagerGroup.ps1 b/src/Public/Add-AzWorkspaceManagerGroup.ps1 index 4b875c5..c20cd4d 100644 --- a/src/Public/Add-AzWorkspaceManagerGroup.ps1 +++ b/src/Public/Add-AzWorkspaceManagerGroup.ps1 @@ -4,10 +4,14 @@ function Add-AzWorkspaceManagerGroup { [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $true, ValueFromPipeline = $false)] diff --git a/src/Public/Add-AzWorkspaceManagerMember.ps1 b/src/Public/Add-AzWorkspaceManagerMember.ps1 index fb5ac2f..eea9736 100644 --- a/src/Public/Add-AzWorkspaceManagerMember.ps1 +++ b/src/Public/Add-AzWorkspaceManagerMember.ps1 @@ -4,9 +4,13 @@ function Add-AzWorkspaceManagerMember { [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $false)] diff --git a/src/Public/Get-AzWorkspaceManager.ps1 b/src/Public/Get-AzWorkspaceManager.ps1 index 79db625..a3cb24a 100644 --- a/src/Public/Get-AzWorkspaceManager.ps1 +++ b/src/Public/Get-AzWorkspaceManager.ps1 @@ -3,10 +3,13 @@ function Get-AzWorkspaceManager { param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage = "It does not match expected pattern '{1}'")] - [string]$Name, + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$Name, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] - [ValidateNotNullOrEmpty()] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName ) @@ -22,7 +25,7 @@ function Get-AzWorkspaceManager { Get-LogAnalyticsWorkspace -Name $Name } - try { + # try { if ($SessionVariables.workspace) { Write-Verbose "Get Microsoft Sentinel Workspace Manager Configuration for workspace '$Name'" $uri = "$($SessionVariables.workspace)/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations?api-version=$($SessionVariables.apiVersion)" @@ -47,10 +50,10 @@ function Get-AzWorkspaceManager { Write-Message -FunctionName $($MyInvocation.MyCommand.Name) -Message "Workspace Manager is not configured for workspace '$Name'" -Severity 'Information' $SessionVariables.workspaceManagerConfiguration = $false } - } - catch { - Write-Message -FunctionName $($MyInvocation.MyCommand.Name) -Message $($_.Exception.Message) -Severity 'Error' - } + # } + # catch { + # Write-Message -FunctionName $($MyInvocation.MyCommand.Name) -Message $($_.Exception.Message) -Severity 'Error' + # } } <# .SYNOPSIS diff --git a/src/Public/Get-AzWorkspaceManagerAssignment.ps1 b/src/Public/Get-AzWorkspaceManagerAssignment.ps1 index c3aea1d..e43ad0b 100644 --- a/src/Public/Get-AzWorkspaceManagerAssignment.ps1 +++ b/src/Public/Get-AzWorkspaceManagerAssignment.ps1 @@ -1,13 +1,16 @@ function Get-AzWorkspaceManagerAssignment { [cmdletbinding()] param ( - [Parameter(Mandatory = $false, ValueFromPipeline = $true)] + [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, - [Parameter(Mandatory = $false, ValueFromPipeline = $true)] - [ValidateNotNullOrEmpty()] + [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipeline = $true)] diff --git a/src/Public/Get-AzWorkspaceManagerAssignmentJob.ps1 b/src/Public/Get-AzWorkspaceManagerAssignmentJob.ps1 index b79d9ac..6791a92 100644 --- a/src/Public/Get-AzWorkspaceManagerAssignmentJob.ps1 +++ b/src/Public/Get-AzWorkspaceManagerAssignmentJob.ps1 @@ -4,10 +4,13 @@ function Get-AzWorkspaceManagerAssignmentJob { [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] - [ValidateNotNullOrEmpty()] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $false)] diff --git a/src/Public/Get-AzWorkspaceManagerGroup.ps1 b/src/Public/Get-AzWorkspaceManagerGroup.ps1 index 78851e8..022bc48 100644 --- a/src/Public/Get-AzWorkspaceManagerGroup.ps1 +++ b/src/Public/Get-AzWorkspaceManagerGroup.ps1 @@ -3,16 +3,18 @@ function Get-AzWorkspaceManagerGroup { param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] - [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage = "It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] - [ValidateNotNullOrEmpty()] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $false)] [ValidateNotNullOrEmpty()] - # [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage = "It does not match expected pattern '{1}'")] [string]$Name ) diff --git a/src/Public/Get-AzWorkspaceManagerItem.ps1 b/src/Public/Get-AzWorkspaceManagerItem.ps1 index f8d167f..b902214 100644 --- a/src/Public/Get-AzWorkspaceManagerItem.ps1 +++ b/src/Public/Get-AzWorkspaceManagerItem.ps1 @@ -3,10 +3,14 @@ function Get-AzWorkspaceManagerItem { param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] - [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage = "It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $false)] diff --git a/src/Public/Get-AzWorkspaceManagerMember.ps1 b/src/Public/Get-AzWorkspaceManagerMember.ps1 index 13ef340..0d52d8f 100644 --- a/src/Public/Get-AzWorkspaceManagerMember.ps1 +++ b/src/Public/Get-AzWorkspaceManagerMember.ps1 @@ -3,10 +3,14 @@ function Get-AzWorkspaceManagerMember { param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] - [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage = "It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $false)] diff --git a/src/Public/Remove-AzWorkspaceManager.ps1 b/src/Public/Remove-AzWorkspaceManager.ps1 index 5943d39..f4b1805 100644 --- a/src/Public/Remove-AzWorkspaceManager.ps1 +++ b/src/Public/Remove-AzWorkspaceManager.ps1 @@ -4,9 +4,13 @@ function Remove-AzWorkspaceManager { [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] - [string]$Name, + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$Name, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false)] diff --git a/src/Public/Remove-AzWorkspaceManagerAssignment.ps1 b/src/Public/Remove-AzWorkspaceManagerAssignment.ps1 index 2b48081..5aa169e 100644 --- a/src/Public/Remove-AzWorkspaceManagerAssignment.ps1 +++ b/src/Public/Remove-AzWorkspaceManagerAssignment.ps1 @@ -4,9 +4,13 @@ function Remove-AzWorkspaceManagerAssignment { [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $false)] diff --git a/src/Public/Remove-AzWorkspaceManagerAssignmentJob.ps1 b/src/Public/Remove-AzWorkspaceManagerAssignmentJob.ps1 index 9ac5af4..2d04a45 100644 --- a/src/Public/Remove-AzWorkspaceManagerAssignmentJob.ps1 +++ b/src/Public/Remove-AzWorkspaceManagerAssignmentJob.ps1 @@ -2,10 +2,15 @@ function Remove-AzWorkspaceManagerAssignmentJob { [cmdletbinding(SupportsShouldProcess = $true, ConfirmImpact = 'High')] param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] - [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage = "It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [ValidateNotNullOrEmpty()] + [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] diff --git a/src/Public/Remove-AzWorkspaceManagerGroup.ps1 b/src/Public/Remove-AzWorkspaceManagerGroup.ps1 index b05c785..244bb3c 100644 --- a/src/Public/Remove-AzWorkspaceManagerGroup.ps1 +++ b/src/Public/Remove-AzWorkspaceManagerGroup.ps1 @@ -3,10 +3,14 @@ function Remove-AzWorkspaceManagerGroup { param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] - [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage = "It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] diff --git a/src/Public/Remove-AzWorkspaceManagerMember.ps1 b/src/Public/Remove-AzWorkspaceManagerMember.ps1 index b5b2899..a52bfa0 100644 --- a/src/Public/Remove-AzWorkspaceManagerMember.ps1 +++ b/src/Public/Remove-AzWorkspaceManagerMember.ps1 @@ -3,10 +3,14 @@ function Remove-AzWorkspaceManagerMember { param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] - [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage = "It does not match expected pattern '{1}'")] - [string]$WorkspaceName, + [ValidatePattern('^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$', ErrorMessage="It does not match expected pattern '{1}'")] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceNameCompleterAttribute( + "Microsoft.OperationalInsights/workspaces", + "ResourceGroupName" + )][string]$WorkspaceName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)] + [Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters.ResourceGroupCompleterAttribute()] [string]$ResourceGroupName, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $true)]