Public/Remove-DuneResourceProviderConfig.ps1
|
<# .SYNOPSIS Remove a resource provider configuration entry. .DESCRIPTION Deletes a named configuration entry for a `DuneResourceProvider`. Specify the provider by `ResourceProviderId` or by passing a `DuneResourceProvider` object via pipeline. The cmdlet supports `ShouldProcess`. .PARAMETER Name The name/key of the configuration entry to remove. .PARAMETER ResourceProviderId The GUID Id of the resource provider that owns the configuration entry. .PARAMETER ResourceProvider A `DuneResourceProvider` object supplied via pipeline. .EXAMPLE PS> Remove-DuneResourceProviderConfig -Name "connectionString" -ResourceProviderId 3d8f6b5a-... Removes the named configuration entry from the specified provider. .EXAMPLE PS> Get-DuneResourceProvider -Name "acme" | Remove-DuneResourceProviderConfig -Name "connectionString" Pipeline example removing a config entry from a provider object. #> function Remove-DuneResourceProviderConfig { [CmdletBinding( SupportsShouldProcess, ConfirmImpact = 'Low', DefaultParameterSetName = 'Id' )] param ( [Parameter(Mandatory, Position = 0)] [string]$Name, [Parameter(Mandatory, ParameterSetName = "Id")] [guid]$ResourceProviderId, [Parameter(Mandatory, ParameterSetName = "ResourceProvider", ValueFromPipeline)] [DuneResourceProvider]$ResourceProvider ) begin { Write-Debug "$($MyInvocation.MyCommand)|begin" $UriFormatString = "resourceproviders/{0}/config/{1}" # 0=ResourceProviderId / 1=ConfigEntryNanme } process { Write-Debug "$($MyInvocation.MyCommand)|process|$($PSCmdlet.ParameterSetName)" if ($ResourceProviderId) { $ResourceProvider = Get-DuneResourceProvider -Id $ResourceProviderId } $Url = $UriFormatString -f $ResourceProvider.Id, $Name if ($PSCmdlet.ShouldProcess($ResourceProvider.Name)) { $Null = Invoke-DuneApiRequest $Url -Method DELETE } } end { Write-Debug "$($MyInvocation.MyCommand)|end" } } |