NetScalerToolkit.Configuration/Public/ns-functions-config-api.ps1
|
# Generated NetScalerToolkit Configuration bundle for category 'api'. # region Invoke-NSAddAPIProfile function Invoke-NSAddAPIProfile { <# .SYNOPSIS Creates a NetScaler apiprofile resource. .DESCRIPTION Configuration for API profile resource. .PARAMETER APIVisibility Enable/Disable the schema lookup for the requests/apispecs that are bounded to the API profile. The default value of this parameter is DISABLED. Default value: DISABLED Possible values = ENABLED, DISABLED .PARAMETER Name Name of the API profile to add. Minimum length = 1 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSAddAPIProfile -Name 'example' -PassThru .EXAMPLE Invoke-NSAddAPIProfile -Name 'example' -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter()] [ValidateSet('ENABLED', 'DISABLED')] [string] $APIVisibility, [Parameter(Mandatory, Position = 0)] [string] $Name, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $properties = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($PSBoundParameters.ContainsKey('APIVisibility')) { $properties['apivisibility'] = $APIVisibility } if ($PSBoundParameters.ContainsKey('Name')) { $properties['name'] = $Name } $body = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) foreach ($key in $properties.Keys) { if ($null -ne $properties[$key] -and (-not ($properties[$key] -is [string]) -or $properties[$key] -ne '')) { $body[$key] = $properties[$key] } } if ($PSCmdlet.ShouldProcess("$Name", 'Create apiprofile')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method POST -Task config -Type apiprofile -Payload @{ apiprofile = $body } -RawResponse if ($PassThru) { return Invoke-NSGetAPIProfile -Name $Name -Session $Session } return $response } } # endregion Invoke-NSAddAPIProfile # region Invoke-NSAddAPIProfileAPISpecBinding function Invoke-NSAddAPIProfileAPISpecBinding { <# .SYNOPSIS Creates a NetScaler apiprofile_apispec_binding resource. .DESCRIPTION Binding object showing the apispec that can be bound to apiprofile. .PARAMETER APISpec Name for the API spec which will be binded to the profile. Minimum length = 1 .PARAMETER Name Name of the API profile in which to bind the API apispec(s). Minimum length = 1 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSAddAPIProfileAPISpecBinding -Name 'example' -APISpec 'example' -PassThru .EXAMPLE Invoke-NSAddAPIProfileAPISpecBinding -Name 'example' -APISpec 'example' -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter(Mandatory)] [string] $APISpec, [Parameter(Mandatory, Position = 0)] [string] $Name, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $properties = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($PSBoundParameters.ContainsKey('APISpec')) { $properties['apispec'] = $APISpec } if ($PSBoundParameters.ContainsKey('Name')) { $properties['name'] = $Name } $body = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) foreach ($key in $properties.Keys) { if ($null -ne $properties[$key] -and (-not ($properties[$key] -is [string]) -or $properties[$key] -ne '')) { $body[$key] = $properties[$key] } } if ($PSCmdlet.ShouldProcess("$Name", 'Create apiprofile_apispec_binding')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method POST -Task config -Type apiprofile_apispec_binding -Payload @{ apiprofile_apispec_binding = $body } -RawResponse if ($PassThru) { return Invoke-NSGetAPIProfileAPISpecBinding -Name $Name -Session $Session } return $response } } # endregion Invoke-NSAddAPIProfileAPISpecBinding # region Invoke-NSAddAPISpec function Invoke-NSAddAPISpec { <# .SYNOPSIS Creates a NetScaler apispec resource. .DESCRIPTION Configuration for API specification resource. .PARAMETER Encrypted Specify the encrypted API spec. Must be in NetScaler format. .PARAMETER File Name of and, optionally, path to the api spec file. The spec file should be present on the appliance's hard-disk drive or solid-state drive. Storing a spec file in any location other than the default might cause inconsistency in a high availability setup. /nsconfig/apispec/ is the default path. Minimum length = 1 .PARAMETER Name Name for the spec. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the spec is created. The following requirement applies only to the Citrix ADC CLI: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my spec" or 'my spec'). Minimum length = 1 .PARAMETER Skipvalidation Disabling openapi spec validation while adding it. Default value: NO Possible values = YES, NO .PARAMETER Type Input format of the spec file. The three formats supported by the appliance are: PROTO OAS/Swagger GRAPHQL. Default value: OAS Possible values = PROTO, OAS, GRAPHQL .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSAddAPISpec -Name 'example' -File 'example' -PassThru .EXAMPLE Invoke-NSAddAPISpec -Name 'example' -File 'example' -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter()] [bool] $Encrypted, [Parameter(Mandatory)] [string] $File, [Parameter(Mandatory, Position = 0)] [string] $Name, [Parameter()] [ValidateSet('YES', 'NO')] [string] $Skipvalidation, [Parameter()] [ValidateSet('PROTO', 'OAS', 'GRAPHQL')] [string] $Type, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $properties = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($PSBoundParameters.ContainsKey('Encrypted')) { $properties['encrypted'] = $Encrypted } if ($PSBoundParameters.ContainsKey('File')) { $properties['file'] = $File } if ($PSBoundParameters.ContainsKey('Name')) { $properties['name'] = $Name } if ($PSBoundParameters.ContainsKey('Skipvalidation')) { $properties['skipvalidation'] = $Skipvalidation } if ($PSBoundParameters.ContainsKey('Type')) { $properties['type'] = $Type } $body = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) foreach ($key in $properties.Keys) { if ($null -ne $properties[$key] -and (-not ($properties[$key] -is [string]) -or $properties[$key] -ne '')) { $body[$key] = $properties[$key] } } if ($PSCmdlet.ShouldProcess("$Name", 'Create apispec')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method POST -Task config -Type apispec -Payload @{ apispec = $body } -RawResponse if ($PassThru) { return Invoke-NSGetAPISpec -Name $Name -Session $Session } return $response } } # endregion Invoke-NSAddAPISpec # region Invoke-NSDeleteAPIProfile function Invoke-NSDeleteAPIProfile { <# .SYNOPSIS Removes a NetScaler apiprofile resource. .DESCRIPTION Configuration for API profile resource. .PARAMETER Name Name of the API profile to add. Minimum length = 1 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSDeleteAPIProfile -Name 'example' -Confirm:$false .EXAMPLE Invoke-NSGetAPIProfile -Name 'apiprofile_example' | Invoke-NSDeleteAPIProfile -Confirm:$false .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')] param( [Parameter(Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } if ($PSCmdlet.ShouldProcess("$Name", 'Delete apiprofile')) { Invoke-NSRestRequest @transportParameters -Session $Session -Method DELETE -Task config -Type apiprofile -Resource $Name -RawResponse } } } # endregion Invoke-NSDeleteAPIProfile # region Invoke-NSDeleteAPIProfileAPISpecBinding function Invoke-NSDeleteAPIProfileAPISpecBinding { <# .SYNOPSIS Removes a NetScaler apiprofile_apispec_binding resource. .DESCRIPTION Binding object showing the apispec that can be bound to apiprofile. .PARAMETER Name Name of the API profile in which to bind the API apispec(s). Minimum length = 1 .PARAMETER APISpec Name for the API spec which will be binded to the profile. Minimum length = 1 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSDeleteAPIProfileAPISpecBinding -Name 'example' -APISpec 'example' -Confirm:$false .EXAMPLE Invoke-NSGetAPIProfileAPISpecBinding -Name 'apiprofile_apispec_binding_example' | Invoke-NSDeleteAPIProfileAPISpecBinding -Confirm:$false .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')] param( [Parameter(Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter(Mandatory)] [string] $APISpec, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) $argumentParts = @() if ($PSBoundParameters.ContainsKey('APISpec')) { $argumentParts += 'apispec:' + $APISpec } if ($argumentParts.Count -gt 0) { $query.args = $argumentParts -join ',' } if ($PSCmdlet.ShouldProcess("$Name", 'Delete apiprofile_apispec_binding')) { Invoke-NSRestRequest @transportParameters -Session $Session -Method DELETE -Task config -Type apiprofile_apispec_binding -Resource $Name -Query $query -RawResponse } } } # endregion Invoke-NSDeleteAPIProfileAPISpecBinding # region Invoke-NSDeleteAPISpec function Invoke-NSDeleteAPISpec { <# .SYNOPSIS Removes a NetScaler apispec resource. .DESCRIPTION Configuration for API specification resource. .PARAMETER Name Name for the spec. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the spec is created. The following requirement applies only to the Citrix ADC CLI: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my spec" or 'my spec'). Minimum length = 1 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSDeleteAPISpec -Name 'example' -Confirm:$false .EXAMPLE Invoke-NSGetAPISpec -Name 'apispec_example' | Invoke-NSDeleteAPISpec -Confirm:$false .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')] param( [Parameter(Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } if ($PSCmdlet.ShouldProcess("$Name", 'Delete apispec')) { Invoke-NSRestRequest @transportParameters -Session $Session -Method DELETE -Task config -Type apispec -Resource $Name -RawResponse } } } # endregion Invoke-NSDeleteAPISpec # region Invoke-NSDeleteAPISpecFile function Invoke-NSDeleteAPISpecFile { <# .SYNOPSIS Removes a NetScaler apispecfile resource. .DESCRIPTION Configuration for API specification file resource. .PARAMETER Name Name to assign to the imported spec file. Must begin with an ASCII alphanumeric or underscore(_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals (=), and hyphen (-) characters. The following requirement applies only to the Citrix ADC CLI: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my file" or 'my file'). Minimum length = 1 Maximum length = 31 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSDeleteAPISpecFile -Name 'example' -Confirm:$false .EXAMPLE Invoke-NSGetAPISpecFile -Name 'apispecfile_example' | Invoke-NSDeleteAPISpecFile -Confirm:$false .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')] param( [Parameter(Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } if ($PSCmdlet.ShouldProcess("$Name", 'Delete apispecfile')) { Invoke-NSRestRequest @transportParameters -Session $Session -Method DELETE -Task config -Type apispecfile -Resource $Name -RawResponse } } } # endregion Invoke-NSDeleteAPISpecFile # region Invoke-NSGetAPIProfile function Invoke-NSGetAPIProfile { <# .SYNOPSIS Gets NetScaler apiprofile configuration. .DESCRIPTION Configuration for API profile resource. .PARAMETER Name Name of the API profile to add. Minimum length = 1 .PARAMETER Filter NITRO filter values as a hashtable. .PARAMETER ViewSummary Requests the NITRO summary view. .PARAMETER Count Returns only the number of matching resources. .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSGetAPIProfile .EXAMPLE Invoke-NSGetAPIProfile -Name 'apiprofile_example' .EXAMPLE Invoke-NSGetAPIProfile -Filter @{ servicetype = 'HTTP' } .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(ParameterSetName = 'ByName', Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter(ParameterSetName = 'All')] [hashtable] $Filter, [Parameter(ParameterSetName = 'All')] [switch] $ViewSummary, [Parameter(ParameterSetName = 'Count')] [switch] $Count, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($Filter) { $query.filter = (($Filter.GetEnumerator() | Sort-Object Name | ForEach-Object { "{0}:{1}" -f $_.Key, $_.Value }) -join ',') } if ($ViewSummary) { $query.view = 'summary' } if ($Count) { $query.count = 'yes' } $request = @{ Session = $Session Method = 'GET' Task = 'config' Type = 'apiprofile' Query = $query } if ($PSCmdlet.ParameterSetName -eq 'ByName') { $request.Resource = $Name } foreach ($key in $transportParameters.Keys) { $request[$key] = $transportParameters[$key] } Invoke-NSRestRequest @request } } # endregion Invoke-NSGetAPIProfile # region Invoke-NSGetAPIProfileAPISpecBinding function Invoke-NSGetAPIProfileAPISpecBinding { <# .SYNOPSIS Gets NetScaler apiprofile_apispec_binding configuration. .DESCRIPTION Binding object showing the apispec that can be bound to apiprofile. .PARAMETER Name Name of the API profile in which to bind the API apispec(s). Minimum length = 1 .PARAMETER Filter NITRO filter values as a hashtable. .PARAMETER ViewSummary Requests the NITRO summary view. .PARAMETER Count Returns only the number of matching resources. .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSGetAPIProfileAPISpecBinding .EXAMPLE Invoke-NSGetAPIProfileAPISpecBinding -Name 'apiprofile_apispec_binding_example' .EXAMPLE Invoke-NSGetAPIProfileAPISpecBinding -Filter @{ servicetype = 'HTTP' } .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(ParameterSetName = 'ByName', Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter(ParameterSetName = 'All')] [hashtable] $Filter, [Parameter(ParameterSetName = 'All')] [switch] $ViewSummary, [Parameter(ParameterSetName = 'Count')] [switch] $Count, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($Filter) { $query.filter = (($Filter.GetEnumerator() | Sort-Object Name | ForEach-Object { "{0}:{1}" -f $_.Key, $_.Value }) -join ',') } if ($ViewSummary) { $query.view = 'summary' } if ($Count) { $query.count = 'yes' } $request = @{ Session = $Session Method = 'GET' Task = 'config' Type = 'apiprofile_apispec_binding' Query = $query } if ($PSCmdlet.ParameterSetName -eq 'ByName') { $request.Resource = $Name } foreach ($key in $transportParameters.Keys) { $request[$key] = $transportParameters[$key] } Invoke-NSRestRequest @request } } # endregion Invoke-NSGetAPIProfileAPISpecBinding # region Invoke-NSGetAPIProfileBinding function Invoke-NSGetAPIProfileBinding { <# .SYNOPSIS Gets NetScaler apiprofile_binding configuration. .DESCRIPTION Binding object which returns the resources bound to apiprofile. .PARAMETER Name Name of the API profile. Minimum length = 1 .PARAMETER Filter NITRO filter values as a hashtable. .PARAMETER ViewSummary Requests the NITRO summary view. .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSGetAPIProfileBinding .EXAMPLE Invoke-NSGetAPIProfileBinding -Name 'apiprofile_binding_example' .EXAMPLE Invoke-NSGetAPIProfileBinding -Filter @{ servicetype = 'HTTP' } .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(ParameterSetName = 'ByName', Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter(ParameterSetName = 'All')] [hashtable] $Filter, [Parameter(ParameterSetName = 'All')] [switch] $ViewSummary, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($Filter) { $query.filter = (($Filter.GetEnumerator() | Sort-Object Name | ForEach-Object { "{0}:{1}" -f $_.Key, $_.Value }) -join ',') } if ($ViewSummary) { $query.view = 'summary' } $request = @{ Session = $Session Method = 'GET' Task = 'config' Type = 'apiprofile_binding' Query = $query } if ($PSCmdlet.ParameterSetName -eq 'ByName') { $request.Resource = $Name } foreach ($key in $transportParameters.Keys) { $request[$key] = $transportParameters[$key] } Invoke-NSRestRequest @request } } # endregion Invoke-NSGetAPIProfileBinding # region Invoke-NSGetAPISpec function Invoke-NSGetAPISpec { <# .SYNOPSIS Gets NetScaler apispec configuration. .DESCRIPTION Configuration for API specification resource. .PARAMETER Name Name for the spec. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the spec is created. The following requirement applies only to the Citrix ADC CLI: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my spec" or 'my spec'). Minimum length = 1 .PARAMETER Filter NITRO filter values as a hashtable. .PARAMETER ViewSummary Requests the NITRO summary view. .PARAMETER Count Returns only the number of matching resources. .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSGetAPISpec .EXAMPLE Invoke-NSGetAPISpec -Name 'apispec_example' .EXAMPLE Invoke-NSGetAPISpec -Filter @{ servicetype = 'HTTP' } .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(ParameterSetName = 'ByName', Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter(ParameterSetName = 'All')] [hashtable] $Filter, [Parameter(ParameterSetName = 'All')] [switch] $ViewSummary, [Parameter(ParameterSetName = 'Count')] [switch] $Count, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($Filter) { $query.filter = (($Filter.GetEnumerator() | Sort-Object Name | ForEach-Object { "{0}:{1}" -f $_.Key, $_.Value }) -join ',') } if ($ViewSummary) { $query.view = 'summary' } if ($Count) { $query.count = 'yes' } $request = @{ Session = $Session Method = 'GET' Task = 'config' Type = 'apispec' Query = $query } if ($PSCmdlet.ParameterSetName -eq 'ByName') { $request.Resource = $Name } foreach ($key in $transportParameters.Keys) { $request[$key] = $transportParameters[$key] } Invoke-NSRestRequest @request } } # endregion Invoke-NSGetAPISpec # region Invoke-NSGetAPISpecBinding function Invoke-NSGetAPISpecBinding { <# .SYNOPSIS Gets NetScaler apispec_binding configuration. .DESCRIPTION Binding object which returns the resources bound to apispec. .PARAMETER Name Name of the spec for which to show detailed information. Minimum length = 1 .PARAMETER Filter NITRO filter values as a hashtable. .PARAMETER ViewSummary Requests the NITRO summary view. .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSGetAPISpecBinding .EXAMPLE Invoke-NSGetAPISpecBinding -Name 'apispec_binding_example' .EXAMPLE Invoke-NSGetAPISpecBinding -Filter @{ servicetype = 'HTTP' } .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(ParameterSetName = 'ByName', Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter(ParameterSetName = 'All')] [hashtable] $Filter, [Parameter(ParameterSetName = 'All')] [switch] $ViewSummary, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($Filter) { $query.filter = (($Filter.GetEnumerator() | Sort-Object Name | ForEach-Object { "{0}:{1}" -f $_.Key, $_.Value }) -join ',') } if ($ViewSummary) { $query.view = 'summary' } $request = @{ Session = $Session Method = 'GET' Task = 'config' Type = 'apispec_binding' Query = $query } if ($PSCmdlet.ParameterSetName -eq 'ByName') { $request.Resource = $Name } foreach ($key in $transportParameters.Keys) { $request[$key] = $transportParameters[$key] } Invoke-NSRestRequest @request } } # endregion Invoke-NSGetAPISpecBinding # region Invoke-NSGetAPISpecFile function Invoke-NSGetAPISpecFile { <# .SYNOPSIS Gets NetScaler apispecfile configuration. .DESCRIPTION Configuration for API specification file resource. .PARAMETER ViewSummary Requests the NITRO summary view. .PARAMETER Count Returns only the number of matching resources. .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSGetAPISpecFile .EXAMPLE Invoke-NSGetAPISpecFile -Filter @{ servicetype = 'HTTP' } .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(ParameterSetName = 'All')] [hashtable] $Filter, [Parameter(ParameterSetName = 'All')] [switch] $ViewSummary, [Parameter(ParameterSetName = 'Count')] [switch] $Count, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($Filter) { $query.filter = (($Filter.GetEnumerator() | Sort-Object Name | ForEach-Object { "{0}:{1}" -f $_.Key, $_.Value }) -join ',') } if ($ViewSummary) { $query.view = 'summary' } if ($Count) { $query.count = 'yes' } $request = @{ Session = $Session Method = 'GET' Task = 'config' Type = 'apispecfile' Query = $query } foreach ($key in $transportParameters.Keys) { $request[$key] = $transportParameters[$key] } Invoke-NSRestRequest @request } } # endregion Invoke-NSGetAPISpecFile # region Invoke-NSGetAPISpecSpecEndpointBinding function Invoke-NSGetAPISpecSpecEndpointBinding { <# .SYNOPSIS Gets NetScaler apispec_specendpoint_binding configuration. .DESCRIPTION Binding object showing the specendpoint that can be bound to apispec. .PARAMETER Name Name of the spec for which to show detailed information. Minimum length = 1 .PARAMETER Filter NITRO filter values as a hashtable. .PARAMETER ViewSummary Requests the NITRO summary view. .PARAMETER Count Returns only the number of matching resources. .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSGetAPISpecSpecEndpointBinding .EXAMPLE Invoke-NSGetAPISpecSpecEndpointBinding -Name 'apispec_specendpoint_binding_example' .EXAMPLE Invoke-NSGetAPISpecSpecEndpointBinding -Filter @{ servicetype = 'HTTP' } .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(ParameterSetName = 'ByName', Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter(ParameterSetName = 'All')] [hashtable] $Filter, [Parameter(ParameterSetName = 'All')] [switch] $ViewSummary, [Parameter(ParameterSetName = 'Count')] [switch] $Count, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($Filter) { $query.filter = (($Filter.GetEnumerator() | Sort-Object Name | ForEach-Object { "{0}:{1}" -f $_.Key, $_.Value }) -join ',') } if ($ViewSummary) { $query.view = 'summary' } if ($Count) { $query.count = 'yes' } $request = @{ Session = $Session Method = 'GET' Task = 'config' Type = 'apispec_specendpoint_binding' Query = $query } if ($PSCmdlet.ParameterSetName -eq 'ByName') { $request.Resource = $Name } foreach ($key in $transportParameters.Keys) { $request[$key] = $transportParameters[$key] } Invoke-NSRestRequest @request } } # endregion Invoke-NSGetAPISpecSpecEndpointBinding # region Invoke-NSImportAPISpecFile function Invoke-NSImportAPISpecFile { <# .SYNOPSIS Imports NetScaler apispecfile data. .DESCRIPTION Configuration for API specification file resource. .PARAMETER Name Name to assign to the imported spec file. Must begin with an ASCII alphanumeric or underscore(_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals (=), and hyphen (-) characters. The following requirement applies only to the Citrix ADC CLI: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my file" or 'my file'). Minimum length = 1 Maximum length = 31 .PARAMETER Overwrite Overwrite any existing schema file of the same name. .PARAMETER Src URL specifying the protocol, host, and path, including file name, to the spec file to be imported. For example, http://www.example.com/spec_file. NOTE: The import fails if the object to be imported is on an HTTPS server that requires client certificate authentication for access. Minimum length = 1 Maximum length = 2047 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSImportAPISpecFile -Name 'example' -Src 'example' .EXAMPLE Invoke-NSImportAPISpecFile -Name 'example' -Src 'example' -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter(Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter()] [bool] $Overwrite, [Parameter(Mandatory)] [string] $Src, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $body = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($PSBoundParameters.ContainsKey('Name')) { $body['name'] = $Name } if ($PSBoundParameters.ContainsKey('Overwrite')) { $body['overwrite'] = $Overwrite } if ($PSBoundParameters.ContainsKey('Src')) { $body['src'] = $Src } if ($PSCmdlet.ShouldProcess('apispecfile', 'Import apispecfile')) { Invoke-NSRestRequest @transportParameters -Session $Session -Method POST -Task config -Type apispecfile -Action Import -Payload @{ apispecfile = $body } -RawResponse } } } # endregion Invoke-NSImportAPISpecFile # region Invoke-NSUnsetAPIProfile function Invoke-NSUnsetAPIProfile { <# .SYNOPSIS Clears one or more NetScaler apiprofile resource properties. .DESCRIPTION Configuration for API profile resource. .PARAMETER Name Name of the API profile to add. Minimum length = 1 .PARAMETER APIVisibility Enable/Disable the schema lookup for the requests/apispecs that are bounded to the API profile. The default value of this parameter is DISABLED. Default value: DISABLED Possible values = ENABLED, DISABLED .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSUnsetAPIProfile -Name 'example' -APIVisibility ENABLED -PassThru .EXAMPLE Invoke-NSUnsetAPIProfile -Name 'example' -APIVisibility ENABLED -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter(Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter()] [ValidateSet('ENABLED', 'DISABLED')] [switch] $APIVisibility, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $body = @{ name = $Name } if ($PSBoundParameters.ContainsKey('APIVisibility')) { $body['apivisibility'] = $true } if ($body.Count -le 1) { throw 'Specify at least one property switch to clear.' } if ($PSCmdlet.ShouldProcess("$Name", 'Clear apiprofile properties')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method POST -Task config -Type apiprofile -Action unset -Payload @{ apiprofile = $body } -RawResponse if ($PassThru) { return Invoke-NSGetAPIProfile -Name $Name -Session $Session } return $response } } } # endregion Invoke-NSUnsetAPIProfile # region Invoke-NSUpdateAPIProfile function Invoke-NSUpdateAPIProfile { <# .SYNOPSIS Updates a NetScaler apiprofile resource. .DESCRIPTION Configuration for API profile resource. .PARAMETER APIVisibility Enable/Disable the schema lookup for the requests/apispecs that are bounded to the API profile. The default value of this parameter is DISABLED. Default value: DISABLED Possible values = ENABLED, DISABLED .PARAMETER Name Name of the API profile to add. Minimum length = 1 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSUpdateAPIProfile -Name 'example' -PassThru .EXAMPLE Invoke-NSUpdateAPIProfile -Name 'example' -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter()] [ValidateSet('ENABLED', 'DISABLED')] [string] $APIVisibility, [Parameter(Mandatory, Position = 0)] [string] $Name, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $properties = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($PSBoundParameters.ContainsKey('APIVisibility')) { $properties['apivisibility'] = $APIVisibility } if ($PSBoundParameters.ContainsKey('Name')) { $properties['name'] = $Name } $body = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) foreach ($key in $properties.Keys) { if ($null -ne $properties[$key] -and (-not ($properties[$key] -is [string]) -or $properties[$key] -ne '')) { $body[$key] = $properties[$key] } } if ($PSCmdlet.ShouldProcess("$Name", 'Update apiprofile')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method PUT -Task config -Type apiprofile -Payload @{ apiprofile = $body } -RawResponse if ($PassThru) { return Invoke-NSGetAPIProfile -Name $Name -Session $Session } return $response } } # endregion Invoke-NSUpdateAPIProfile # region Invoke-NSUpdateAPISpec function Invoke-NSUpdateAPISpec { <# .SYNOPSIS Invokes the change operation for a NetScaler apispec resource. .DESCRIPTION Configuration for API specification resource. .PARAMETER File Name of and, optionally, path to the api spec file. The spec file should be present on the appliance's hard-disk drive or solid-state drive. Storing a spec file in any location other than the default might cause inconsistency in a high availability setup. /nsconfig/apispec/ is the default path. Minimum length = 1 .PARAMETER Name Name for the spec. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the spec is created. The following requirement applies only to the Citrix ADC CLI: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my spec" or 'my spec'). Minimum length = 1 .PARAMETER Skipvalidation Disabling openapi spec validation while adding it. Default value: NO Possible values = YES, NO .PARAMETER Type Input format of the spec file. The three formats supported by the appliance are: PROTO OAS/Swagger GRAPHQL. Default value: OAS Possible values = PROTO, OAS, GRAPHQL .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSUpdateAPISpec -Name 'example' -File 'example' .EXAMPLE Invoke-NSUpdateAPISpec -Name 'example' -File 'example' -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter(Mandatory)] [string] $File, [Parameter(Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter()] [ValidateSet('YES', 'NO')] [string] $Skipvalidation, [Parameter()] [ValidateSet('PROTO', 'OAS', 'GRAPHQL')] [string] $Type, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $body = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($PSBoundParameters.ContainsKey('File')) { $body['file'] = $File } if ($PSBoundParameters.ContainsKey('Name')) { $body['name'] = $Name } if ($PSBoundParameters.ContainsKey('Skipvalidation')) { $body['skipvalidation'] = $Skipvalidation } if ($PSBoundParameters.ContainsKey('Type')) { $body['type'] = $Type } if ($PSCmdlet.ShouldProcess('apispec', 'Change apispec')) { Invoke-NSRestRequest @transportParameters -Session $Session -Method POST -Task config -Type apispec -Action update -Payload @{ apispec = $body } -RawResponse } } } # endregion Invoke-NSUpdateAPISpec # SIG # Begin signature block # MIImdwYJKoZIhvcNAQcCoIImaDCCJmQCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBOQK1PnIMBZd9J # taae9uYgi2zw4u+JdPgGvv44Xiy986CCIAowggYUMIID/KADAgECAhB6I67aU2mW # D5HIPlz0x+M/MA0GCSqGSIb3DQEBDAUAMFcxCzAJBgNVBAYTAkdCMRgwFgYDVQQK # Ew9TZWN0aWdvIExpbWl0ZWQxLjAsBgNVBAMTJVNlY3RpZ28gUHVibGljIFRpbWUg # U3RhbXBpbmcgUm9vdCBSNDYwHhcNMjEwMzIyMDAwMDAwWhcNMzYwMzIxMjM1OTU5 # WjBVMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSwwKgYD # VQQDEyNTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIENBIFIzNjCCAaIwDQYJ # KoZIhvcNAQEBBQADggGPADCCAYoCggGBAM2Y2ENBq26CK+z2M34mNOSJjNPvIhKA # VD7vJq+MDoGD46IiM+b83+3ecLvBhStSVjeYXIjfa3ajoW3cS3ElcJzkyZlBnwDE # JuHlzpbN4kMH2qRBVrjrGJgSlzzUqcGQBaCxpectRGhhnOSwcjPMI3G0hedv2eNm # GiUbD12OeORN0ADzdpsQ4dDi6M4YhoGE9cbY11XxM2AVZn0GiOUC9+XE0wI7CQKf # OUfigLDn7i/WeyxZ43XLj5GVo7LDBExSLnh+va8WxTlA+uBvq1KO8RSHUQLgzb1g # bL9Ihgzxmkdp2ZWNuLc+XyEmJNbD2OIIq/fWlwBp6KNL19zpHsODLIsgZ+WZ1AzC # s1HEK6VWrxmnKyJJg2Lv23DlEdZlQSGdF+z+Gyn9/CRezKe7WNyxRf4e4bwUtrYE # 2F5Q+05yDD68clwnweckKtxRaF0VzN/w76kOLIaFVhf5sMM/caEZLtOYqYadtn03 # 4ykSFaZuIBU9uCSrKRKTPJhWvXk4CllgrwIDAQABo4IBXDCCAVgwHwYDVR0jBBgw # FoAU9ndq3T/9ARP/FqFsggIv0Ao9FCUwHQYDVR0OBBYEFF9Y7UwxeqJhQo1SgLqz # YZcZojKbMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMBMGA1Ud # JQQMMAoGCCsGAQUFBwMIMBEGA1UdIAQKMAgwBgYEVR0gADBMBgNVHR8ERTBDMEGg # P6A9hjtodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29QdWJsaWNUaW1lU3Rh # bXBpbmdSb290UjQ2LmNybDB8BggrBgEFBQcBAQRwMG4wRwYIKwYBBQUHMAKGO2h0 # dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1B1YmxpY1RpbWVTdGFtcGluZ1Jv # b3RSNDYucDdjMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAN # BgkqhkiG9w0BAQwFAAOCAgEAEtd7IK0ONVgMnoEdJVj9TC1ndK/HYiYh9lVUacah # RoZ2W2hfiEOyQExnHk1jkvpIJzAMxmEc6ZvIyHI5UkPCbXKspioYMdbOnBWQUn73 # 3qMooBfIghpR/klUqNxx6/fDXqY0hSU1OSkkSivt51UlmJElUICZYBodzD3M/SFj # eCP59anwxs6hwj1mfvzG+b1coYGnqsSz2wSKr+nDO+Db8qNcTbJZRAiSazr7KyUJ # Go1c+MScGfG5QHV+bps8BX5Oyv9Ct36Y4Il6ajTqV2ifikkVtB3RNBUgwu/mSiSU # ice/Jp/q8BMk/gN8+0rNIE+QqU63JoVMCMPY2752LmESsRVVoypJVt8/N3qQ1c6F # ibbcRabo3azZkcIdWGVSAdoLgAIxEKBeNh9AQO1gQrnh1TA8ldXuJzPSuALOz1Uj # b0PCyNVkWk7hkhVHfcvBfI8NtgWQupiaAeNHe0pWSGH2opXZYKYG4Lbukg7HpNi/ # KqJhue2Keak6qH9A8CeEOB7Eob0Zf+fU+CCQaL0cJqlmnx9HCDxF+3BLbUufrV64 # EbTI40zqegPZdA+sXCmbcZy6okx/SjwsusWRItFA3DE8MORZeFb6BmzBtqKJ7l93 # 9bbKBy2jvxcJI98Va95Q5JnlKor3m0E7xpMeYRriWklUPsetMSf2NvUQa/E5vVye # fQIwggZFMIIELaADAgECAhAIMk+dt9qRb2Pk8qM8Xl1RMA0GCSqGSIb3DQEBCwUA # MFYxCzAJBgNVBAYTAlBMMSEwHwYDVQQKExhBc3NlY28gRGF0YSBTeXN0ZW1zIFMu # QS4xJDAiBgNVBAMTG0NlcnR1bSBDb2RlIFNpZ25pbmcgMjAyMSBDQTAeFw0yNDA0 # MDQxNDA0MjRaFw0yNzA0MDQxNDA0MjNaMGsxCzAJBgNVBAYTAk5MMRIwEAYDVQQH # DAlTY2hpam5kZWwxIzAhBgNVBAoMGkpvaG4gQmlsbGVrZW5zIENvbnN1bHRhbmN5 # MSMwIQYDVQQDDBpKb2huIEJpbGxla2VucyBDb25zdWx0YW5jeTCCAaIwDQYJKoZI # hvcNAQEBBQADggGPADCCAYoCggGBAMslntDbSQwHZXwFhmibivbnd0Qfn6sqe/6f # os3pKzKxEsR907RkDMet2x6RRg3eJkiIr3TFPwqBooyXXgK3zxxpyhGOcuIqyM9J # 28DVf4kUyZHsjGO/8HFjrr3K1hABNUszP0o7H3o6J31eqV1UmCXYhQlNoW9FOmRC # 1amlquBmh7w4EKYEytqdmdOBavAD5Xq4vLPxNP6kyA+B2YTtk/xM27TghtbwFGKn # u9Vwnm7dFcpLxans4ONt2OxDQOMA5NwgcUv/YTpjhq9qoz6ivG55NRJGNvUXsM3w # 2o7dR6Xh4MuEGrTSrOWGg2A5EcLH1XqQtkF5cZnAPM8W/9HUp8ggornWnFVQ9/6M # ga+ermy5wy5XrmQpN+x3u6tit7xlHk1Hc+4XY4a4ie3BPXG2PhJhmZAn4ebNSBwN # Hh8z7WTT9X9OFERepGSytZVeEP7hgyptSLcuhpwWeR4QdBb7dV++4p3PsAUQVHFp # wkSbrRTv4EiJ0Lcz9P1HPGFoHiFAQQIDAQABo4IBeDCCAXQwDAYDVR0TAQH/BAIw # ADA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY2NzY2EyMDIxLmNybC5jZXJ0dW0u # cGwvY2NzY2EyMDIxLmNybDBzBggrBgEFBQcBAQRnMGUwLAYIKwYBBQUHMAGGIGh0 # dHA6Ly9jY3NjYTIwMjEub2NzcC1jZXJ0dW0uY29tMDUGCCsGAQUFBzAChilodHRw # Oi8vcmVwb3NpdG9yeS5jZXJ0dW0ucGwvY2NzY2EyMDIxLmNlcjAfBgNVHSMEGDAW # gBTddF1MANt7n6B0yrFu9zzAMsBwzTAdBgNVHQ4EFgQUO6KtBpOBgmrlANVAnyiQ # C6W6lJwwSwYDVR0gBEQwQjAIBgZngQwBBAEwNgYLKoRoAYb2dwIFAQQwJzAlBggr # BgEFBQcCARYZaHR0cHM6Ly93d3cuY2VydHVtLnBsL0NQUzATBgNVHSUEDDAKBggr # BgEFBQcDAzAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAEQsN8wg # PMdWVkwHPPTN+jKpdns5AKVFjcn00psf2NGVVgWWNQBIQc9lEuTBWb54IK6Ga3hx # QRZfnPNo5HGl73YLmFgdFQrFzZ1lnaMdIcyh8LTWv6+XNWfoyCM9wCp4zMIDPOs8 # LKSMQqA/wRgqiACWnOS4a6fyd5GUIAm4CuaptpFYr90l4Dn/wAdXOdY32UhgzmSu # xpUbhD8gVJUaBNVmQaRqeU8y49MxiVrUKJXde1BCrtR9awXbqembc7Nqvmi60tYK # lD27hlpKtj6eGPjkht0hHEsgzU0Fxw7ZJghYG2wXfpF2ziN893ak9Mi/1dmCNmor # GOnybKYfT6ff6YTCDDNkod4egcMZdOSv+/Qv+HAeIgEvrxE9QsGlzTwbRtbm6gwY # YcVBs/SsVUdBn/TSB35MMxRhHE5iC3aUTkDbceo/XP3uFhVL4g2JZHpFfCSu2TQr # rzRn2sn07jfMvzeHArCOJgBW1gPqR3WrJ4hUxL06Rbg1gs9tU5HGGz9KNQMfQFQ7 # 0Wz7UIhezGcFcRfkIfSkMmQYYpsc7rfzj+z0ThfDVzzJr2dMOFsMlfj1T6l22GBq # 9XQx0A4lcc5Fl9pRxbOuHHWFqIBD/BCEhwniOCySzqENd2N+oz8znKooSISStnkN # aYXt6xblJF2dx9Dn89FK7d1IquNxOwt0tI5dMIIGYjCCBMqgAwIBAgIRAKQpO24e # 3denNAiHrXpOtyQwDQYJKoZIhvcNAQEMBQAwVTELMAkGA1UEBhMCR0IxGDAWBgNV # BAoTD1NlY3RpZ28gTGltaXRlZDEsMCoGA1UEAxMjU2VjdGlnbyBQdWJsaWMgVGlt # ZSBTdGFtcGluZyBDQSBSMzYwHhcNMjUwMzI3MDAwMDAwWhcNMzYwMzIxMjM1OTU5 # WjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOV2VzdCBZb3Jrc2hpcmUxGDAWBgNV # BAoTD1NlY3RpZ28gTGltaXRlZDEwMC4GA1UEAxMnU2VjdGlnbyBQdWJsaWMgVGlt # ZSBTdGFtcGluZyBTaWduZXIgUjM2MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC # CgKCAgEA04SV9G6kU3jyPRBLeBIHPNyUgVNnYayfsGOyYEXrn3+SkDYTLs1crcw/ # ol2swE1TzB2aR/5JIjKNf75QBha2Ddj+4NEPKDxHEd4dEn7RTWMcTIfm492TW22I # 8LfH+A7Ehz0/safc6BbsNBzjHTt7FngNfhfJoYOrkugSaT8F0IzUh6VUwoHdYDpi # ln9dh0n0m545d5A5tJD92iFAIbKHQWGbCQNYplqpAFasHBn77OqW37P9BhOASdmj # p3IijYiFdcA0WQIe60vzvrk0HG+iVcwVZjz+t5OcXGTcxqOAzk1frDNZ1aw8nFhG # EvG0ktJQknnJZE3D40GofV7O8WzgaAnZmoUn4PCpvH36vD4XaAF2CjiPsJWiY/j2 # xLsJuqx3JtuI4akH0MmGzlBUylhXvdNVXcjAuIEcEQKtOBR9lU4wXQpISrbOT8ux # +96GzBq8TdbhoFcmYaOBZKlwPP7pOp5Mzx/UMhyBA93PQhiCdPfIVOCINsUY4U23 # p4KJ3F1HqP3H6Slw3lHACnLilGETXRg5X/Fp8G8qlG5Y+M49ZEGUp2bneRLZoyHT # yynHvFISpefhBCV0KdRZHPcuSL5OAGWnBjAlRtHvsMBrI3AAA0Tu1oGvPa/4yeei # Ayu+9y3SLC98gDVbySnXnkujjhIh+oaatsk/oyf5R2vcxHahajMCAwEAAaOCAY4w # ggGKMB8GA1UdIwQYMBaAFF9Y7UwxeqJhQo1SgLqzYZcZojKbMB0GA1UdDgQWBBSI # YYyhKjdkgShgoZsx0Iz9LALOTzAOBgNVHQ8BAf8EBAMCBsAwDAYDVR0TAQH/BAIw # ADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDBKBgNVHSAEQzBBMDUGDCsGAQQBsjEB # AgEDCDAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZn # gQwBBAIwSgYDVR0fBEMwQTA/oD2gO4Y5aHR0cDovL2NybC5zZWN0aWdvLmNvbS9T # ZWN0aWdvUHVibGljVGltZVN0YW1waW5nQ0FSMzYuY3JsMHoGCCsGAQUFBwEBBG4w # bDBFBggrBgEFBQcwAoY5aHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVi # bGljVGltZVN0YW1waW5nQ0FSMzYuY3J0MCMGCCsGAQUFBzABhhdodHRwOi8vb2Nz # cC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAYEAAoE+pIZyUSH5ZakuPVKK # 4eWbzEsTRJOEjbIu6r7vmzXXLpJx4FyGmcqnFZoa1dzx3JrUCrdG5b//LfAxOGy9 # Ph9JtrYChJaVHrusDh9NgYwiGDOhyyJ2zRy3+kdqhwtUlLCdNjFjakTSE+hkC9F5 # ty1uxOoQ2ZkfI5WM4WXA3ZHcNHB4V42zi7Jk3ktEnkSdViVxM6rduXW0jmmiu71Z # pBFZDh7Kdens+PQXPgMqvzodgQJEkxaION5XRCoBxAwWwiMm2thPDuZTzWp/gUFz # i7izCmEt4pE3Kf0MOt3ccgwn4Kl2FIcQaV55nkjv1gODcHcD9+ZVjYZoyKTVWb4V # qMQy/j8Q3aaYd/jOQ66Fhk3NWbg2tYl5jhQCuIsE55Vg4N0DUbEWvXJxtxQQaVR5 # xzhEI+BjJKzh3TQ026JxHhr2fuJ0mV68AluFr9qshgwS5SpN5FFtaSEnAwqZv3IS # +mlG50rK7W3qXbWwi4hmpylUfygtYLEdLQukNEX1jiOKMIIGgjCCBGqgAwIBAgIQ # NsKwvXwbOuejs902y8l1aDANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMCVVMx # EzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYD # VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBS # U0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjEwMzIyMDAwMDAwWhcNMzgw # MTE4MjM1OTU5WjBXMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1p # dGVkMS4wLAYDVQQDEyVTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIFJvb3Qg # UjQ2MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAiJ3YuUVnnR3d6Lkm # gZpUVMB8SQWbzFoVD9mUEES0QUCBdxSZqdTkdizICFNeINCSJS+lV1ipnW5ihkQy # C0cRLWXUJzodqpnMRs46npiJPHrfLBOifjfhpdXJ2aHHsPHggGsCi7uE0awqKggE # /LkYw3sqaBia67h/3awoqNvGqiFRJ+OTWYmUCO2GAXsePHi+/JUNAax3kpqstbl3 # vcTdOGhtKShvZIvjwulRH87rbukNyHGWX5tNK/WABKf+Gnoi4cmisS7oSimgHUI0 # Wn/4elNd40BFdSZ1EwpuddZ+Wr7+Dfo0lcHflm/FDDrOJ3rWqauUP8hsokDoI7D/ # yUVI9DAE/WK3Jl3C4LKwIpn1mNzMyptRwsXKrop06m7NUNHdlTDEMovXAIDGAvYy # nPt5lutv8lZeI5w3MOlCybAZDpK3Dy1MKo+6aEtE9vtiTMzz/o2dYfdP0KWZwZIX # bYsTIlg1YIetCpi5s14qiXOpRsKqFKqav9R1R5vj3NgevsAsvxsAnI8Oa5s2oy25 # qhsoBIGo/zi6GpxFj+mOdh35Xn91y72J4RGOJEoqzEIbW3q0b2iPuWLA911cRxgY # 5SJYubvjay3nSMbBPPFsyl6mY4/WYucmyS9lo3l7jk27MAe145GWxK4O3m3gEFEI # kv7kRmefDR7Oe2T1HxAnICQvr9sCAwEAAaOCARYwggESMB8GA1UdIwQYMBaAFFN5 # v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBT2d2rdP/0BE/8WoWyCAi/QCj0U # JTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zATBgNVHSUEDDAKBggr # BgEFBQcDCDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0 # cDovL2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25B # dXRob3JpdHkuY3JsMDUGCCsGAQUFBwEBBCkwJzAlBggrBgEFBQcwAYYZaHR0cDov # L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEADr5lQe1oRLjl # ocXUEYfktzsljOt+2sgXke3Y8UPEooU5y39rAARaAdAxUeiX1ktLJ3+lgxtoLQhn # 5cFb3GF2SSZRX8ptQ6IvuD3wz/LNHKpQ5nX8hjsDLRhsyeIiJsms9yAWnvdYOdEM # q1W61KE9JlBkB20XBee6JaXx4UBErc+YuoSb1SxVf7nkNtUjPfcxuFtrQdRMRi/f # InV/AobE8Gw/8yBMQKKaHt5eia8ybT8Y/Ffa6HAJyz9gvEOcF1VWXG8OMeM7Vy7B # s6mSIkYeYtddU1ux1dQLbEGur18ut97wgGwDiGinCwKPyFO7ApcmVJOtlw9FVJxw # /mL1TbyBns4zOgkaXFnnfzg4qbSvnrwyj1NiurMp4pmAWjR+Pb/SIduPnmFzbSN/ # G8reZCL4fvGlvPFk4Uab/JVCSmj59+/mB2Gn6G/UYOy8k60mKcmaAZsEVkhOFuoj # 4we8CYyaR9vd9PGZKSinaZIkvVjbH/3nlLb0a7SBIkiRzfPfS9T+JesylbHa1LtR # V9U/7m0q7Ma2CQ/t392ioOssXW7oKLdOmMBl14suVFBmbzrt5V5cQPnwtd3UOTpS # 9oCG+ZZheiIvPgkDmA8FzPsnfXW5qHELB43ET7HHFHeRPRYrMBKjkb8/IN7Po0d0 # hQoF4TeMM+zYAJzoKQnVKOLg8pZVPT8wgga5MIIEoaADAgECAhEAmaOACiZVO2Wr # 3G6EprPqOTANBgkqhkiG9w0BAQwFADCBgDELMAkGA1UEBhMCUEwxIjAgBgNVBAoT # GVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0 # aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0 # d29yayBDQSAyMB4XDTIxMDUxOTA1MzIxOFoXDTM2MDUxODA1MzIxOFowVjELMAkG # A1UEBhMCUEwxITAfBgNVBAoTGEFzc2VjbyBEYXRhIFN5c3RlbXMgUy5BLjEkMCIG # A1UEAxMbQ2VydHVtIENvZGUgU2lnbmluZyAyMDIxIENBMIICIjANBgkqhkiG9w0B # AQEFAAOCAg8AMIICCgKCAgEAnSPPBDAjO8FGLOczcz5jXXp1ur5cTbq96y34vuTm # flN4mSAfgLKTvggv24/rWiVGzGxT9YEASVMw1Aj8ewTS4IndU8s7VS5+djSoMcbv # IKck6+hI1shsylP4JyLvmxwLHtSworV9wmjhNd627h27a8RdrT1PH9ud0IF+njvM # k2xqbNTIPsnWtw3E7DmDoUmDQiYi/ucJ42fcHqBkbbxYDB7SYOouu9Tj1yHIohzu # C8KNqfcYf7Z4/iZgkBJ+UFNDcc6zokZ2uJIxWgPWXMEmhu1gMXgv8aGUsRdaCtVD # 2bSlbfsq7BiqljjaCun+RJgTgFRCtsuAEw0pG9+FA+yQN9n/kZtMLK+Wo837Q4QO # ZgYqVWQ4x6cM7/G0yswg1ElLlJj6NYKLw9EcBXE7TF3HybZtYvj9lDV2nT8mFSkc # SkAExzd4prHwYjUXTeZIlVXqj+eaYqoMTpMrfh5MCAOIG5knN4Q/JHuurfTI5XDY # O962WZayx7ACFf5ydJpoEowSP07YaBiQ8nXpDkNrUA9g7qf/rCkKbWpQ5boufUnq # 1UiYPIAHlezf4muJqxqIns/kqld6JVX8cixbd6PzkDpwZo4SlADaCi2JSplKShBS # ND36E/ENVv8urPS0yOnpG4tIoBGxVCARPCg1BnyMJ4rBJAcOSnAWd18Jx5n858JS # qPECAwEAAaOCAVUwggFRMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFN10XUwA # 23ufoHTKsW73PMAywHDNMB8GA1UdIwQYMBaAFLahVDkCw6A/joq8+tT4HKbROg79 # MA4GA1UdDwEB/wQEAwIBBjATBgNVHSUEDDAKBggrBgEFBQcDAzAwBgNVHR8EKTAn # MCWgI6Ahhh9odHRwOi8vY3JsLmNlcnR1bS5wbC9jdG5jYTIuY3JsMGwGCCsGAQUF # BwEBBGAwXjAoBggrBgEFBQcwAYYcaHR0cDovL3N1YmNhLm9jc3AtY2VydHVtLmNv # bTAyBggrBgEFBQcwAoYmaHR0cDovL3JlcG9zaXRvcnkuY2VydHVtLnBsL2N0bmNh # Mi5jZXIwOQYDVR0gBDIwMDAuBgRVHSAAMCYwJAYIKwYBBQUHAgEWGGh0dHA6Ly93 # d3cuY2VydHVtLnBsL0NQUzANBgkqhkiG9w0BAQwFAAOCAgEAdYhYD+WPUCiaU58Q # 7EP89DttyZqGYn2XRDhJkL6P+/T0IPZyxfxiXumYlARMgwRzLRUStJl490L94C9L # GF3vjzzH8Jq3iR74BRlkO18J3zIdmCKQa5LyZ48IfICJTZVJeChDUyuQy6rGDxLU # UAsO0eqeLNhLVsgw6/zOfImNlARKn1FP7o0fTbj8ipNGxHBIutiRsWrhWM2f8pXd # d3x2mbJCKKtl2s42g9KUJHEIiLni9ByoqIUul4GblLQigO0ugh7bWRLDm0CdY9rN # LqyA3ahe8WlxVWkxyrQLjH8ItI17RdySaYayX3PhRSC4Am1/7mATwZWwSD+B7eMc # ZNhpn8zJ+6MTyE6YoEBSRVrs0zFFIHUR08Wk0ikSf+lIe5Iv6RY3/bFAEloMU+vU # BfSouCReZwSLo8WdrDlPXtR0gicDnytO7eZ5827NS2x7gCBibESYkOh1/w1tVxTp # V2Na3PR7nxYVlPu1JPoRZCbH86gc96UTvuWiOruWmyOEMLOGGniR+x+zPF/2DaGg # K2W1eEJfo2qyrBNPvF7wuAyQfiFXLwvWHamoYtPZo0LHuH8X3n9C+xN4YaNjt2yw # zOr+tKyEVAotnyU9vyEVOaIYMk3IeBrmFnn0gbKeTTyYeEEUz/Qwt4HOUBCrW602 # NCmvO1nm+/80nLy5r0AZvCQxaQ4xggXDMIIFvwIBATBqMFYxCzAJBgNVBAYTAlBM # MSEwHwYDVQQKExhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xJDAiBgNVBAMTG0Nl # cnR1bSBDb2RlIFNpZ25pbmcgMjAyMSBDQQIQCDJPnbfakW9j5PKjPF5dUTANBglg # hkgBZQMEAgEFAKCBhDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3 # DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEV # MC8GCSqGSIb3DQEJBDEiBCBYSXYdVXs/r6sYBGLxmJ/3HcJ4q2sDb201wdaFRBHu # BTANBgkqhkiG9w0BAQEFAASCAYACIT8BOYcvmkh02fG/8u63EONR94oY1+Xdc3K3 # mlYxsKLAaTDYKICacd1ISWaFjKU+9REQ4m5OCPX+PAWbDt3cfPUZkHoBSiHxCy/Q # Y79l3GftJY/yD/bSJ+2CFqjz2kRkhQjwG9qNvegZ9PnmPcUwzoIWxhtf6rE4BEuq # zcgnkMIbnm5MkZ36Cbr48qBbW7Fn2t5dg16snRJYA+p/Lf+S6AHz6m1FAKl8N101 # EPQAoO4yWgXH9R90Bcp02gLTACdiOrjJrvj8CfLYHnJQz4/4hBDE0s27CuujoVpv # gdpZ+N40Sn/cKIr7xxNm1eSJMBDBa3Nhdr18NmOJ5oi1eZn1rMvaJcNa+T1/Ek/O # 4RbX+0g0hPYGKqSQyQ3r0b90zf9ruWgLbl5mMUgfRq8AAMckzbLIDMSzvyrDbATw # TqBFj3hZxsHy56wu+H02lDSuuzjS1DVv7EMYt+6g9w0wnIuFwITwQ3L8GmwO9bZe # Vxf1xoPDfMlGYwKnKJisZ0sthHWhggMjMIIDHwYJKoZIhvcNAQkGMYIDEDCCAwwC # AQEwajBVMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSww # KgYDVQQDEyNTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIENBIFIzNgIRAKQp # O24e3denNAiHrXpOtyQwDQYJYIZIAWUDBAICBQCgeTAYBgkqhkiG9w0BCQMxCwYJ # KoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNjA2MDExOTU0MDVaMD8GCSqGSIb3 # DQEJBDEyBDB2v5Zp9YC9znCJrZI2XYHOANC62/Shh+26ADJ78i8Fjrow0LM1YtGr # wSwNhmA/cuowDQYJKoZIhvcNAQEBBQAEggIADX1BTsU/vTt3mWyADYGB9anDqkfC # X8VGq1not+oBH7KFkhRlmzjjKmvlZ0h9gLcMi16YL1ang8h/USfEB6GjOOtZ++ZK # 2OuLeQZ8pXbI+lKXD6xc/5Qvkx8SXAJhaXuzurMj9TFUIho5HZwfb4vCvWDpumLu # oA3USmygXaxjVvEoZlRHXP/5iUNukI9PHGNvtEEPhpHCE1SKQzvA0LaJsrpdTW7L # dbUX+rPN3s146IealX2yN3qq1IT7bZrUeiYgEgAnIfgKeDaZGdYn6ptcZzDja7ze # +/2PkJoE5UF/6GHoTMEb4sqRz2SuBa19XQpMhpuUMKOBe/ker+C/2pquoL8BdUBL # yrgq6Y+HDo0IsgqngqedwH67H8VCmkAk1s8zfs/RJChyXjqZYs99R8ZD2+Gv6rHl # 9Mw49GkKFepjESo1ovB9Z+OIiXMHGMokeaV1lypI2UIumCvYQtz1kAnpvPftUFgL # CYPnwo1fBA4Hl8I78O0e7df+SAusegScwvBAJS3cT4eMbo4gYtBCWmw+cgnyCb8I # jG9TrboydrKhbVRV9TApJ2G/3D3Pnmfi27ARF3GESTEEF7RARvCOrgQzDHLChU6x # Qg//zfFZwehOJfrMhSUHx69Nc6xxPuNJu7kCX/IW/CiMrz2mhA1Jz/k3PHyeGXK6 # A518s7XIEjeKRS4= # SIG # End signature block |