Modules/bConnectV2.Endpoints/Api/BCEndpointsLinuxEndpointsApi.ps1

#
# bConnect Endpoints API
# <p>Endpoints are the main objects within the baramundi Management Suite (see <a target=""_blank"" href=""https://docs.baramundi.com/helpsetid=m_t_environment&externalid=t_environment"" rel=""noopener noreferrer"" class=""link""><span class=""url""> documentation</span></a>). These can be manually created or automatically discovered by network scans or via Active Directory synchronization. The methods offered here provide support for manual creation of endpoints and their enrollment. Afterwards the endpoints are ready to be managed by the baramundi Management Suite and jobs can be distributed to these endpoints to gather information or execute logic for the various modules of the baramundi Management Suite (e.g. Compliance, Defense Control, Update Management, etc.).</p> The bConnect V2 PowerShell module is available from the <a target=""_blank"" href=""https://www.powershellgallery.com/packages/bConnectV2"" rel=""noopener noreferrer"" class=""link""><span class=""url"">PowerShell Gallery</span></a>.
# Version: 2.0


<#
.SYNOPSIS
 
Creates a Linux endpoint according to the specified properties
 
.DESCRIPTION
 
No description available.
 
.PARAMETER LinuxEndpointForCreation
The Linux endpoint to be created Initialize in PowerShell with `Initialize-bCEndpointsLinuxEndpointForCreation`
 
.OUTPUTS
 
LinuxEndpoint
#>

function New-bCEndpointsLinuxEndpoint {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${LinuxEndpointForCreation}
    )

    Process {
        'Calling method: New-bCEndpointsLinuxEndpoint' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/v2.0/LinuxEndpoints'

        if (!$LinuxEndpointForCreation) {
            throw "Error! The required parameter `LinuxEndpointForCreation` missing when calling createLinuxEndpoint."
        }

        $LocalVarBodyParameter = $LinuxEndpointForCreation | ConvertTo-Json -Depth 100

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpoint" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Deletes an endpoint by ID
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.OUTPUTS
 
None
#>

function Remove-bCEndpointsLinuxEndpoint {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id}
    )

    Process {
        'Calling method: Remove-bCEndpointsLinuxEndpoint' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/LinuxEndpoints/{id}'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling deleteLinuxEndpoint."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $Id
        $LocalVarUri = $LocalVarUri.replace('{id}', $encodedValue)

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Gets a Linux endpoint by ID
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.OUTPUTS
 
LinuxEndpoint
#>

function Get-bCEndpointsLinuxEndpoint {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id}
    )

    Process {
        'Calling method: Get-bCEndpointsLinuxEndpoint' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/LinuxEndpoints/{id}'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling getLinuxEndpoint."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $Id
        $LocalVarUri = $LocalVarUri.replace('{id}', $encodedValue)

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpoint" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Gets all Linux endpoints
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.OUTPUTS
 
LinuxEndpointPagedList
#>

function Get-bCEndpointsLinuxEndpoints {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName}
    )

    Process {
        'Calling method: Get-bCEndpointsLinuxEndpoints' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/LinuxEndpoints'

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all Linux endpoints assigned to a specific AD user
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER AdUserId
No description available.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.OUTPUTS
 
LinuxEndpointPagedList
#>

function Get-bCEndpointsLinuxEndpointsByADObjectId {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${AdUserId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName}
    )

    Process {
        'Calling method: Get-bCEndpointsLinuxEndpointsByADObjectId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/ADUsers/{adUserId}/LinuxEndpoints'
        if (!$AdUserId) {
            throw "Error! The required parameter `AdUserId` missing when calling getLinuxEndpointsByADObjectId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $AdUserId
        $LocalVarUri = $LocalVarUri.replace('{adUserId}', $encodedValue)

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all Linux endpoints contained by a logical group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER LogicalGroupId
No description available.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.PARAMETER IncludeSubfolders
No description available.
 
.OUTPUTS
 
LinuxEndpointPagedList
#>

function Get-bCEndpointsLinuxEndpointsByLogicalGroupId {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${LogicalGroupId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Boolean]]
        ${IncludeSubfolders}
    )

    Process {
        'Calling method: Get-bCEndpointsLinuxEndpointsByLogicalGroupId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/LogicalGroups/{logicalGroupId}/LinuxEndpoints'
        if (!$LogicalGroupId) {
            throw "Error! The required parameter `LogicalGroupId` missing when calling getLinuxEndpointsByLogicalGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $LogicalGroupId
        $LocalVarUri = $LocalVarUri.replace('{logicalGroupId}', $encodedValue)

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        if ($IncludeSubfolders) {
            $LocalVarQueryParameters['includeSubfolders'] = $IncludeSubfolders
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all Linux endpoints contained by a static group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER StaticGroupId
No description available.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.OUTPUTS
 
LinuxEndpointPagedList
#>

function Get-bCEndpointsLinuxEndpointsByStaticGroupId {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${StaticGroupId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName}
    )

    Process {
        'Calling method: Get-bCEndpointsLinuxEndpointsByStaticGroupId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/StaticGroups/{staticGroupId}/LinuxEndpoints'
        if (!$StaticGroupId) {
            throw "Error! The required parameter `StaticGroupId` missing when calling getLinuxEndpointsByStaticGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $StaticGroupId
        $LocalVarUri = $LocalVarUri.replace('{staticGroupId}', $encodedValue)

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all Linux endpoints contained by a universal dynamic group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER UniversalDynamicGroupId
No description available.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.OUTPUTS
 
LinuxEndpointPagedList
#>

function Get-bCEndpointsLinuxEndpointsByUniversalDynamicGroupId {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${UniversalDynamicGroupId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName}
    )

    Process {
        'Calling method: Get-bCEndpointsLinuxEndpointsByUniversalDynamicGroupId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/UniversalDynamicGroups/{universalDynamicGroupId}/LinuxEndpoints'
        if (!$UniversalDynamicGroupId) {
            throw "Error! The required parameter `UniversalDynamicGroupId` missing when calling getLinuxEndpointsByUniversalDynamicGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $UniversalDynamicGroupId
        $LocalVarUri = $LocalVarUri.replace('{universalDynamicGroupId}', $encodedValue)

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Updates a Linux endpoint according to the specified properties
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.PARAMETER Operation
A JSON Patch document consists of a set of operations that allow specific partial changes to an object. Initialize patch operations in PowerShell with `Initialize-bCPatchOperation`
 
.OUTPUTS
 
LinuxEndpoint
#>

function Update-bCEndpointsLinuxEndpoint {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject[]]
        ${Operation}
    )

    Process {
        'Calling method: Update-bCEndpointsLinuxEndpoint' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json-patch+json')

        $LocalVarUri = '/v2.0/LinuxEndpoints/{id}'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling updateLinuxEndpoint."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $Id
        $LocalVarUri = $LocalVarUri.replace('{id}', $encodedValue)

        if (!$Operation) {
            throw "Error! The required parameter `Operation` missing when calling updateLinuxEndpoint."
        }

        $LocalVarBodyParameter = ConvertTo-Json @($Operation) -Depth 100

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'PATCH' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "LinuxEndpoint" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}


# SIG # Begin signature block
# MIIoYgYJKoZIhvcNAQcCoIIoUzCCKE8CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAARPzQvBMLR3xo
# JEan/958S2UDoREobZTGCxZg4p9doaCCIV8wggWNMIIEdaADAgECAhAOmxiO+dAt
# 5+/bUOIIQBhaMA0GCSqGSIb3DQEBDAUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV
# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0yMjA4MDEwMDAwMDBa
# Fw0zMTExMDkyMzU5NTlaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lD
# ZXJ0IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
# ggIBAL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3E
# MB/zG6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKy
# unWZanMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsF
# xl7sWxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU1
# 5zHL2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJB
# MtfbBHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObUR
# WBf3JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6
# nj3cAORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxB
# YKqxYxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5S
# UUd0viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+x
# q4aLT8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjggE6MIIB
# NjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTs1+OC0nFdZEzfLmc/57qYrhwP
# TzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzAOBgNVHQ8BAf8EBAMC
# AYYweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp
# Y2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNv
# bS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0
# aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENB
# LmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQEMBQADggEBAHCgv0Nc
# Vec4X6CjdBs9thbX979XB72arKGHLOyFXqkauyL4hxppVCLtpIh3bb0aFPQTSnov
# Lbc47/T/gLn4offyct4kvFIDyE7QKt76LVbP+fT3rDB6mouyXtTP0UNEm0Mh65Zy
# oUi0mcudT6cGAxN3J0TU53/oWajwvy8LpunyNDzs9wPHh6jSTEAZNUZqaVSwuKFW
# juyk1T3osdz9HNj0d1pcVIxv76FQPfx2CWiEn2/K2yCNNWAcAgPLILCsWKAOQGPF
# mCLBsln1VWvPJ6tsds5vIy30fnFqI2si/xK4VC0nftg62fC2h5b9W9FcrBjDTZ9z
# twGpn1eqXijiuZQwggawMIIEmKADAgECAhAIrUCyYNKcTJ9ezam9k67ZMA0GCSqG
# SIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMx
# GTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRy
# dXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0zNjA0MjgyMzU5NTlaMGkx
# CzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4
# RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEzODQg
# MjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVtC9C0Cit
# eLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0JAfhS0/TeEP0F9ce2vnS
# 1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJrQ5qZ8sU7H/Lvy0daE6ZM
# swEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhFLqGfLOEYwhrMxe6TSXBC
# Mo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+FLEikVoQ11vkunKoAFdE3
# /hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh3K3kGKDYwSNHR7OhD26j
# q22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJwZPt4bRc4G/rJvmM1bL5
# OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQayg9Rc9hUZTO1i4F4z8ujo
# 7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbIYViY9XwCFjyDKK05huzU
# tw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchApQfDVxW0mdmgRQRNYmtwm
# KwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRroOBl8ZhzNeDhFMJlP/2NP
# TLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IBWTCCAVUwEgYDVR0TAQH/
# BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHwYDVR0j
# BBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMGA1Ud
# JQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYYaHR0
# cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2FjZXJ0
# cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNVHR8E
# PDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVz
# dGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAEDMAgGBmeBDAEEATANBgkq
# hkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql+Eg08yy25nRm95RysQDK
# r2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFFUP2cvbaF4HZ+N3HLIvda
# qpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1hmYFW9snjdufE5BtfQ/g+
# lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3RywYFzzDaju4ImhvTnhOE7a
# brs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5UbdldAhQfQDN8A+KVssIhdXNS
# y0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw8MzK7/0pNVwfiThV9zeK
# iwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnPLqR0kq3bPKSchh/jwVYb
# KyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatEQOON8BUozu3xGFYHKi8Q
# xAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bnKD+sEq6lLyJsQfmCXBVm
# zGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQjiWQ1tygVQK+pKHJ6l/aCn
# HwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbqyK+p/pQd52MbOoZWeE4w
# gga0MIIEnKADAgECAhANx6xXBf8hmS5AQyIMOkmGMA0GCSqGSIb3DQEBCwUAMGIx
# CzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
# dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBH
# NDAeFw0yNTA1MDcwMDAwMDBaFw0zODAxMTQyMzU5NTlaMGkxCzAJBgNVBAYTAlVT
# MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1
# c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5NiBTSEEyNTYgMjAyNSBDQTEwggIi
# MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC0eDHTCphBcr48RsAcrHXbo0Zo
# dLRRF51NrY0NlLWZloMsVO1DahGPNRcybEKq+RuwOnPhof6pvF4uGjwjqNjfEvUi
# 6wuim5bap+0lgloM2zX4kftn5B1IpYzTqpyFQ/4Bt0mAxAHeHYNnQxqXmRinvuNg
# xVBdJkf77S2uPoCj7GH8BLuxBG5AvftBdsOECS1UkxBvMgEdgkFiDNYiOTx4OtiF
# cMSkqTtF2hfQz3zQSku2Ws3IfDReb6e3mmdglTcaarps0wjUjsZvkgFkriK9tUKJ
# m/s80FiocSk1VYLZlDwFt+cVFBURJg6zMUjZa/zbCclF83bRVFLeGkuAhHiGPMvS
# GmhgaTzVyhYn4p0+8y9oHRaQT/aofEnS5xLrfxnGpTXiUOeSLsJygoLPp66bkDX1
# ZlAeSpQl92QOMeRxykvq6gbylsXQskBBBnGy3tW/AMOMCZIVNSaz7BX8VtYGqLt9
# MmeOreGPRdtBx3yGOP+rx3rKWDEJlIqLXvJWnY0v5ydPpOjL6s36czwzsucuoKs7
# Yk/ehb//Wx+5kMqIMRvUBDx6z1ev+7psNOdgJMoiwOrUG2ZdSoQbU2rMkpLiQ6bG
# RinZbI4OLu9BMIFm1UUl9VnePs6BaaeEWvjJSjNm2qA+sdFUeEY0qVjPKOWug/G6
# X5uAiynM7Bu2ayBjUwIDAQABo4IBXTCCAVkwEgYDVR0TAQH/BAgwBgEB/wIBADAd
# BgNVHQ4EFgQU729TSunkBnx6yuKQVvYv1Ensy04wHwYDVR0jBBgwFoAU7NfjgtJx
# XWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUF
# BwMIMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGln
# aWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5j
# b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJo
# dHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNy
# bDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQEL
# BQADggIBABfO+xaAHP4HPRF2cTC9vgvItTSmf83Qh8WIGjB/T8ObXAZz8OjuhUxj
# aaFdleMM0lBryPTQM2qEJPe36zwbSI/mS83afsl3YTj+IQhQE7jU/kXjjytJgnn0
# hvrV6hqWGd3rLAUt6vJy9lMDPjTLxLgXf9r5nWMQwr8Myb9rEVKChHyfpzee5kH0
# F8HABBgr0UdqirZ7bowe9Vj2AIMD8liyrukZ2iA/wdG2th9y1IsA0QF8dTXqvcnT
# mpfeQh35k5zOCPmSNq1UH410ANVko43+Cdmu4y81hjajV/gxdEkMx1NKU4uHQcKf
# ZxAvBAKqMVuqte69M9J6A47OvgRaPs+2ykgcGV00TYr2Lr3ty9qIijanrUR3anzE
# wlvzZiiyfTPjLbnFRsjsYg39OlV8cipDoq7+qNNjqFzeGxcytL5TTLL4ZaoBdqbh
# OhZ3ZRDUphPvSRmMThi0vw9vODRzW6AxnJll38F0cuJG7uEBYTptMSbhdhGQDpOX
# gpIUsWTjd6xpR6oaQf/DJbg3s6KCLPAlZ66RzIg9sC+NJpud/v4+7RWsWCiKi9EO
# LLHfMR2ZyJ/+xhCx9yHbxtl5TPau1j/1MIDpMPx0LckTetiSuEtQvLsNz3Qbp7wG
# WqbIiOWCnb5WqxL3/BAPvIXKUjPSxyZsq8WhbaM2tszWkPZPubdcMIIG7TCCBNWg
# AwIBAgIQCoDvGEuN8QWC0cR2p5V0aDANBgkqhkiG9w0BAQsFADBpMQswCQYDVQQG
# EwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0
# IFRydXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0Ex
# MB4XDTI1MDYwNDAwMDAwMFoXDTM2MDkwMzIzNTk1OVowYzELMAkGA1UEBhMCVVMx
# FzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBTSEEy
# NTYgUlNBNDA5NiBUaW1lc3RhbXAgUmVzcG9uZGVyIDIwMjUgMTCCAiIwDQYJKoZI
# hvcNAQEBBQADggIPADCCAgoCggIBANBGrC0Sxp7Q6q5gVrMrV7pvUf+GcAoB38o3
# zBlCMGMyqJnfFNZx+wvA69HFTBdwbHwBSOeLpvPnZ8ZN+vo8dE2/pPvOx/Vj8Tch
# TySA2R4QKpVD7dvNZh6wW2R6kSu9RJt/4QhguSssp3qome7MrxVyfQO9sMx6ZAWj
# FDYOzDi8SOhPUWlLnh00Cll8pjrUcCV3K3E0zz09ldQ//nBZZREr4h/GI6Dxb2Uo
# yrN0ijtUDVHRXdmncOOMA3CoB/iUSROUINDT98oksouTMYFOnHoRh6+86Ltc5zjP
# KHW5KqCvpSduSwhwUmotuQhcg9tw2YD3w6ySSSu+3qU8DD+nigNJFmt6LAHvH3KS
# uNLoZLc1Hf2JNMVL4Q1OpbybpMe46YceNA0LfNsnqcnpJeItK/DhKbPxTTuGoX7w
# JNdoRORVbPR1VVnDuSeHVZlc4seAO+6d2sC26/PQPdP51ho1zBp+xUIZkpSFA8vW
# doUoHLWnqWU3dCCyFG1roSrgHjSHlq8xymLnjCbSLZ49kPmk8iyyizNDIXj//cOg
# rY7rlRyTlaCCfw7aSUROwnu7zER6EaJ+AliL7ojTdS5PWPsWeupWs7NpChUk555K
# 096V1hE0yZIXe+giAwW00aHzrDchIc2bQhpp0IoKRR7YufAkprxMiXAJQ1XCmnCf
# gPf8+3mnAgMBAAGjggGVMIIBkTAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBTkO/zy
# Me39/dfzkXFjGVBDz2GM6DAfBgNVHSMEGDAWgBTvb1NK6eQGfHrK4pBW9i/USezL
# TjAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwgZUGCCsG
# AQUFBwEBBIGIMIGFMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5j
# b20wXQYIKwYBBQUHMAKGUWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdp
# Q2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQwOTZTSEEyNTYyMDI1Q0ExLmNy
# dDBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGln
# aUNlcnRUcnVzdGVkRzRUaW1lU3RhbXBpbmdSU0E0MDk2U0hBMjU2MjAyNUNBMS5j
# cmwwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEB
# CwUAA4ICAQBlKq3xHCcEua5gQezRCESeY0ByIfjk9iJP2zWLpQq1b4URGnwWBdEZ
# D9gBq9fNaNmFj6Eh8/YmRDfxT7C0k8FUFqNh+tshgb4O6Lgjg8K8elC4+oWCqnU/
# ML9lFfim8/9yJmZSe2F8AQ/UdKFOtj7YMTmqPO9mzskgiC3QYIUP2S3HQvHG1FDu
# +WUqW4daIqToXFE/JQ/EABgfZXLWU0ziTN6R3ygQBHMUBaB5bdrPbF6MRYs03h4o
# bEMnxYOX8VBRKe1uNnzQVTeLni2nHkX/QqvXnNb+YkDFkxUGtMTaiLR9wjxUxu2h
# ECZpqyU1d0IbX6Wq8/gVutDojBIFeRlqAcuEVT0cKsb+zJNEsuEB7O7/cuvTQasn
# M9AWcIQfVjnzrvwiCZ85EE8LUkqRhoS3Y50OHgaY7T/lwd6UArb+BOVAkg2oOvol
# /DJgddJ35XTxfUlQ+8Hggt8l2Yv7roancJIFcbojBcxlRcGG0LIhp6GvReQGgMgY
# xQbV1S3CrWqZzBt1R9xJgKf47CdxVRd/ndUlQ05oxYy2zRWVFjF7mcr4C34Mj3oc
# CVccAvlKV9jEnstrniLvUxxVZE/rptb7IRE2lskKPIJgbaP5t2nGj/ULLi49xTcB
# ZU8atufk+EMF/cWuiC7POGT75qaL6vdCvHlshtjdNXOCIUjsarfNZzCCB20wggVV
# oAMCAQICEAeWORKotX7L33/aMY+MKvMwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UE
# BhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2Vy
# dCBUcnVzdGVkIEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENB
# MTAeFw0yNDEyMDMwMDAwMDBaFw0yODAxMDcyMzU5NTlaMHUxCzAJBgNVBAYTAkRF
# MQ8wDQYDVQQIEwZCYXllcm4xETAPBgNVBAcTCEF1Z3NidXJnMSAwHgYDVQQKExdi
# YXJhbXVuZGkgc29mdHdhcmUgR21iSDEgMB4GA1UEAxMXYmFyYW11bmRpIHNvZnR3
# YXJlIEdtYkgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC+S6cECzQO
# u8A60a+OXaQRRhXyPzkiZCDqO+mh7CBJg5vF3CLA6JMhWwSAUsCfmKqL2Eu2biUK
# CgVnhRgZboZvIUTF4VuOfOOwUGduJ6Z7Y1Fcq7m0hbaRZy0a7YI6Bj/BcOqFQHOT
# +XfR+TXOLx1oelgJAfo5xSgCKvg7K/LVYN/nkuyY+tz22Xpu3s6oenFNpVz2tg+l
# I4wD7rxwuZjkm8Jxn1JvOHbJndOdHYmtaCp+ui1EqU2upHJrDjdd1D+tIiRhQEMs
# j9NUrQMR5BdmWrUyRBo0QcP/Tr7QUMjYTWPTLXYkKT+4ucVqCUfcI2bgmsmLRsbs
# o35i5QbkDoeim2ABLe+tfTgRZ0kO3ksMLwzqPX/TcZsIrUPKSKczVZ49rSThiKmD
# 1kdA208IgixWFJt8ZEfz48gCBixLK2ZZOMAmuaWkwFqk2LTpsaDkctt9xdCCT5l5
# DS3+xPIs27dA/qUBSQ5br73n30YbypEoMr37mBKhlhvciIECtbXrcFyYwGLaL/VR
# XxHEh0Ww40ZEZRllo+XZAFyE7nSzG2k9v/ojlZ2WHnLWCcSPssdx1JGJK6ifmE21
# D/Z3S5mM3xQ9ygj99DYjihRAUHLr4nxtz51EiBw0/0iiHlCDlBmgfb3Qxgtkoo3p
# al8MO9AdRGZI4xbNayEr70dYTkAM4Cqj+wIDAQABo4ICAzCCAf8wHwYDVR0jBBgw
# FoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHQYDVR0OBBYEFLv54WJIjznuTWLFbjBC
# Lq4QqTnEMD4GA1UdIAQ3MDUwMwYGZ4EMAQQBMCkwJwYIKwYBBQUHAgEWG2h0dHA6
# Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAww
# CgYIKwYBBQUHAwMwgbUGA1UdHwSBrTCBqjBToFGgT4ZNaHR0cDovL2NybDMuZGln
# aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hB
# Mzg0MjAyMUNBMS5jcmwwU6BRoE+GTWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9E
# aWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEu
# Y3JsMIGUBggrBgEFBQcBAQSBhzCBhDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au
# ZGlnaWNlcnQuY29tMFwGCCsGAQUFBzAChlBodHRwOi8vY2FjZXJ0cy5kaWdpY2Vy
# dC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQy
# MDIxQ0ExLmNydDAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4ICAQA+bqWjJhzW
# +fzGu1RdCjuiQ3Cb0IKcwgvyaa9ggYBB2Y+oeixw1KlNTWXE6jXP33B5qWEexwSo
# d24vmOSFeA6XoINPjVewXxW/oTa8rg/v2Gho056msV6pevg5yb4wTKgRNseP+/Aa
# IYGijiQ9PpQpR50S2h55oZOKcQsLGg9yndxmWbjnHmzWPeML4nBoeN8rIlwO2wjC
# nEKpNqK4yfcm2vLavE0nmpTRGpA7qSK0Ao2hU8vlqNevsWo4kdrRbqvkiyYH6DSi
# iwYs9aQrtIRn1dsncX72I3wEf360ljy07aUrVb6pxRTxEDChctqs0oqVWv8f6dPo
# OV9iqnHaBlDMu/bUIvAlmzpmbvsQykuDZdZIe7RGCt51niE2ToSvAmAnxGE0jitC
# 877Uh+XgK/3/GBL75WN51ojm1JscY/yhiZALvFjGFjqDuoFe3lvEFMnZIOSoSvVX
# cj+Bs95hS/gq3oRRwFor+05oUV4WbYslY6TH3xAkoiOUnF3BJzgugIsMIYThZmgZ
# JxuFdHQxJafXEGYoJLU01tgjsAQzfac3ccnrcbNAVDPs9sN8v+CjHJrqLiaSfUBa
# 8FjcuVvHeCqRcmyvMhDTPnMsxAzy5mntbaej5N9OA43Ifh9H6SikzmZGxeJqwF6w
# +IE7qyRjdrqMNuNVNC25WbAzNWCvqE38sjGCBlkwggZVAgEBMH0waTELMAkGA1UE
# BhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2Vy
# dCBUcnVzdGVkIEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENB
# MQIQB5Y5Eqi1fsvff9oxj4wq8zANBglghkgBZQMEAgEFAKCBhDAYBgorBgEEAYI3
# AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisG
# AQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCDDmZhoYX5O
# 6fPbGpPUb5szGtmmVcferShUe/FWLjeNBzANBgkqhkiG9w0BAQEFAASCAgBdrpyY
# 7gzGxKCfVmZoPTwy8pcHdcPI6YyTTbOGDqcoaXh2cKVO4TVbMXzO+cWh+J7TkERO
# syGPtf/VkeQOKsiaboYnRYEyLFrXdoV4VJtWuY4xtV1LsL0FFSc0fuFnHGlI78h1
# RfaoVA7paLUJXLC+HFNAksdS9IUFeq8zq0c/ZFymZ6bHij6q7qZ0UYIEJRKs7jSq
# drhOZkAyGE/OaurvzcSEMxJ5+xJHQIAzJigYWgEIh9h7A0xkZauuIGBo7oUwNhPk
# XGEjppQVBRaNtu+/aQfn1Yp9ICYogs/XCDoisgn3yFsADW/2XB5tfdsVwnjw58ru
# xhVBE9rvAj+RVBO6kI1R8dcFb24RkARS1aIAwVL0z3TIRaS/TiyxW3zoyNvC9HRO
# iH7jMalEncv7dLeyS6aVi24kcoHT8mHOvsxqn6qvDirXZ4gR4v8ANT/GvD5tUsmG
# eafjIusniP4SwhSzcHPkixzs/SvQVnBms3rlmdYpKUpuOfs4OZg60czTg8s05YVK
# SP+LuSYcul+hpq+egeWyfl5XZ8mO3uTMRgGvRD/eZ2fuN/z2sY3AToen9N4Do1Nu
# tNokedyNJfmsF0i0WqdM2/BdngAUAZ2TTSfd6S2Pwki7TJV+C7owKf8m/tXC9e46
# PpDKxPjwXsTrYa7lCsJhP9Yh6kzbz60EjnxKW6GCAyYwggMiBgkqhkiG9w0BCQYx
# ggMTMIIDDwIBATB9MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcg
# UlNBNDA5NiBTSEEyNTYgMjAyNSBDQTECEAqA7xhLjfEFgtHEdqeVdGgwDQYJYIZI
# AWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJ
# BTEPFw0yNjA1MTIwODI2NTRaMC8GCSqGSIb3DQEJBDEiBCCO1YBfIu+JpMKukJFW
# l4nQGcKBOh+yspb9eQItmNOdDDANBgkqhkiG9w0BAQEFAASCAgBNxFvBUw5dEOOT
# lviYgG1HRbndFhzheIZNFwBgUmZPlNfRXXI2G4XwwrOEfBRhpA39JTd+ZqtNJrZh
# CE3lmteOklLfTzL6/oNwNzfePPnJTGNwzYBdw3DbwfoszBLlLgd17QILuRJPxZAZ
# DFeb5/KlfMNvmuANbBIAzSXCzK6CLAaXLKMEaOfA8jrBXiGfTiRrXJODZxkGyRbN
# cWTzc9E15T5rMNgbxvGzOLmHAaxTMc4iUMmM9HOhQ76iOlznuip6Tlx8WVlYf9FD
# tPdo953xcoKTQ1IbrAqnkphIGnE8D2AhUXIUFL1PbG/cZAmcZE7/wS7n4WeblbeG
# QYlFvQTYRgkFGg3qjCtUTzRUzJl6027Cxvh5de6q/stZ96VdhE3SkDCWIg4stfLx
# XMJod5GPS8ssMqIvPx7HVgNB2sZSJeMqx/3dJkisFs+ve2LTDPRJKz4GY3mVX8yq
# ep2+bKYNKm+h5+m66XPv9BKEKBLyWiIoWK4MdVbmIyzKRHd+t6vRAeSgYXLjzAFo
# TdsuvzAaPWNLRO/59TT+3nB0buMegs4DxMTYSM9o9JTVVvfC7OsnxNGWWuN2501X
# V9lt0XMr9cKYyPxW/oLZtjZVKfKacy1A6tA95qFfbPdT4w7CEFQ4iOufeIvhqBnS
# UHmSa1zuoNNLYlWAqnlDngNv5q7AIg==
# SIG # End signature block