Modules/bConnectV2.Jobs/Api/BCJobsJobInstancesApi.ps1

#
# bConnect Jobs API
# Jobs are the main concept to execute tasks on endpoints managed by baramundi Management Suite (see <a target=""_blank"" href=""https://docs.baramundi.com/helpsetid=m_jobs&externalid=k_jobs"" rel=""noopener noreferrer"" class=""link""><span class=""url""> documentation</span></a>). Thereby defines a job definition the individual steps to be executed, whereas a job instance describes the actual execution on the endpoints. Job instances are automatically created when a job definition is assigned to one or more endpoints by an administrator or when an end user requests job assignments via the baramundi Kiosk. In order to be available within the baramundi Kiosk, the job definition has to be released by an administrator for the respective user or endpoint. 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
 
Assigns a job definition to endpoints contained by the specified logical group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER LogicalGroupId
No description available.
 
.PARAMETER AssignJobDefinitionRequest
Required data to assign a job definition to a target object Initialize in PowerShell with `Initialize-bCJobsAssignJobDefinitionRequest`
 
.OUTPUTS
 
ProblemDetails
#>

function Invoke-bCJobsAssignJobDefinitionToLogicalGroup {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${LogicalGroupId},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${AssignJobDefinitionRequest}
    )

    Process {
        'Calling method: Invoke-bCJobsAssignJobDefinitionToLogicalGroup' | 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/LogicalGroups/{logicalGroupId}/AssignJobDefinition'
        if (!$LogicalGroupId) {
            throw "Error! The required parameter `LogicalGroupId` missing when calling assignJobDefinitionToLogicalGroup."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $LogicalGroupId
        $LocalVarUri = $LocalVarUri.replace('{logicalGroupId}', $encodedValue)

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Assigns a job definition to endpoints contained by the specified static group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER StaticGroupId
No description available.
 
.PARAMETER AssignJobDefinitionRequest
Required data to assign a job definition to a target object Initialize in PowerShell with `Initialize-bCJobsAssignJobDefinitionRequest`
 
.OUTPUTS
 
ProblemDetails
#>

function Invoke-bCJobsAssignJobDefinitionToStaticGroup {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${StaticGroupId},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${AssignJobDefinitionRequest}
    )

    Process {
        'Calling method: Invoke-bCJobsAssignJobDefinitionToStaticGroup' | 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/StaticGroups/{staticGroupId}/AssignJobDefinition'
        if (!$StaticGroupId) {
            throw "Error! The required parameter `StaticGroupId` missing when calling assignJobDefinitionToStaticGroup."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $StaticGroupId
        $LocalVarUri = $LocalVarUri.replace('{staticGroupId}', $encodedValue)

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Assigns a job definition to endpoints contained by the specified universal dynamic group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER UniversalDynamicGroupId
No description available.
 
.PARAMETER AssignJobDefinitionRequest
Required data to assign a job definition to a target object Initialize in PowerShell with `Initialize-bCJobsAssignJobDefinitionRequest`
 
.OUTPUTS
 
ProblemDetails
#>

function Invoke-bCJobsAssignJobDefinitionToUniversalDynamicGroup {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${UniversalDynamicGroupId},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${AssignJobDefinitionRequest}
    )

    Process {
        'Calling method: Invoke-bCJobsAssignJobDefinitionToUniversalDynamicGroup' | 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/UniversalDynamicGroups/{universalDynamicGroupId}/AssignJobDefinition'
        if (!$UniversalDynamicGroupId) {
            throw "Error! The required parameter `UniversalDynamicGroupId` missing when calling assignJobDefinitionToUniversalDynamicGroup."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $UniversalDynamicGroupId
        $LocalVarUri = $LocalVarUri.replace('{universalDynamicGroupId}', $encodedValue)

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Assigns a job definition to endpoints contained by the specified dynamic group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER DynamicGroupId
No description available.
 
.PARAMETER AssignJobDefinitionRequest
Required data to assign a job definition to a target object Initialize in PowerShell with `Initialize-bCJobsAssignJobDefinitionRequest`
 
.OUTPUTS
 
ProblemDetails
#>

function Invoke-bCJobsAssignJobDefinitionToWindowsDynamicGroup {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DynamicGroupId},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${AssignJobDefinitionRequest}
    )

    Process {
        'Calling method: Invoke-bCJobsAssignJobDefinitionToWindowsDynamicGroup' | 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/DynamicGroups/{dynamicGroupId}/AssignJobDefinition'
        if (!$DynamicGroupId) {
            throw "Error! The required parameter `DynamicGroupId` missing when calling assignJobDefinitionToWindowsDynamicGroup."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $DynamicGroupId
        $LocalVarUri = $LocalVarUri.replace('{dynamicGroupId}', $encodedValue)

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Assigns a job definition to an endpoint
 
.DESCRIPTION
 
No description available.
 
.PARAMETER JobInstanceForCreation
Required data to assign a job definition to a target object Initialize in PowerShell with `Initialize-bCJobsJobInstanceForCreation`
 
.OUTPUTS
 
JobInstance
#>

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

    Process {
        'Calling method: New-bCJobsJobInstance' | 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/JobInstances'

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Deletes a job instance by id
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.OUTPUTS
 
None
#>

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

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

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

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Gets a job instance by id
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.OUTPUTS
 
JobInstance
#>

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

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

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

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Gets all job instances
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER EndpointType
Filters result set by type of endpoint the job instance is executed on.
 
.PARAMETER LastAction
Filters on lastAction. Date values have to be specified in ISO 8601 format. They can be filtered by adding the prefix 'lt' or 'gt' (e.g. gt 2023-07-28T08:01:03.375Z).
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma. Possible values are JobDefinitionDisplayName, JobDefinitionName, EndpointName, Start or LastAction (e. g. EndpointName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties. Searchable values are JobDefinitionDisplayName, JobDefinitionName, EndpointName or StateDescription.
 
.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.
 
.OUTPUTS
 
JobInstancePagedList
#>

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

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

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

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

        $LocalVarUri = '/v2.0/JobInstances'

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

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

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

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

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

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

        $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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all job instances assigned to endpoints contained by a specific dynamic group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER DynamicGroupId
No description available.
 
.PARAMETER JobDefinitionId
Filters result set by the id of the job definition.
 
.PARAMETER LastAction
Filters on lastAction. Date values have to be specified in ISO 8601 format. They can be filtered by adding the prefix 'lt' or 'gt' (e.g. gt 2023-07-28T08:01:03.375Z).
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma. Possible values are JobDefinitionDisplayName, JobDefinitionName, EndpointName, Start or LastAction (e. g. EndpointName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties. Searchable values are JobDefinitionDisplayName, JobDefinitionName, EndpointName or StateDescription.
 
.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.
 
.OUTPUTS
 
JobInstancePagedList
#>

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

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

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

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

        $LocalVarUri = '/v2.0/DynamicGroups/{dynamicGroupId}/JobInstances'
        if (!$DynamicGroupId) {
            throw "Error! The required parameter `DynamicGroupId` missing when calling getJobInstancesByDynamicGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $DynamicGroupId
        $LocalVarUri = $LocalVarUri.replace('{dynamicGroupId}', $encodedValue)

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

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

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

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

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

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

        $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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all job instances assigned to a specific endpoint
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER EndpointId
No description available.
 
.PARAMETER LastAction
Filters on lastAction. Date values have to be specified in ISO 8601 format. They can be filtered by adding the prefix 'lt' or 'gt' (e.g. gt 2023-07-28T08:01:03.375Z).
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma. Possible values are JobDefinitionDisplayName, JobDefinitionName, EndpointName, Start or LastAction (e. g. EndpointName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties. Searchable values are JobDefinitionDisplayName, JobDefinitionName, EndpointName or StateDescription.
 
.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.
 
.OUTPUTS
 
JobInstancePagedList
#>

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

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

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

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

        $LocalVarUri = '/v2.0/Endpoints/{endpointId}/JobInstances'
        if (!$EndpointId) {
            throw "Error! The required parameter `EndpointId` missing when calling getJobInstancesByEndpointId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $EndpointId
        $LocalVarUri = $LocalVarUri.replace('{endpointId}', $encodedValue)

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

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

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

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

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

        $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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all job instances by job definition id
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER JobDefinitionId
No description available.
 
.PARAMETER EndpointType
Filters result set by type of endpoint the job instance is executed on.
 
.PARAMETER LastAction
Filters on lastAction. Date values have to be specified in ISO 8601 format. They can be filtered by adding the prefix 'lt' or 'gt' (e.g. gt 2023-07-28T08:01:03.375Z).
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma. Possible values are JobDefinitionDisplayName, JobDefinitionName, EndpointName, Start or LastAction (e. g. EndpointName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties. Searchable values are JobDefinitionDisplayName, JobDefinitionName, EndpointName or StateDescription.
 
.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.
 
.OUTPUTS
 
JobInstancePagedList
#>

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

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

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

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

        $LocalVarUri = '/v2.0/JobDefinitions/{jobDefinitionId}/JobInstances'
        if (!$JobDefinitionId) {
            throw "Error! The required parameter `JobDefinitionId` missing when calling getJobInstancesByJobDefinitionId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $JobDefinitionId
        $LocalVarUri = $LocalVarUri.replace('{jobDefinitionId}', $encodedValue)

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

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

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

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

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

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

        $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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all job instances assigned to endpoints contained by a specific 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 JobDefinitionId
Filters result set by the id of the job definition.
 
.PARAMETER LastAction
Filters on lastAction. Date values have to be specified in ISO 8601 format. They can be filtered by adding the prefix 'lt' or 'gt' (e.g. gt 2023-07-28T08:01:03.375Z).
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma. Possible values are JobDefinitionDisplayName, JobDefinitionName, EndpointName, Start or LastAction (e. g. EndpointName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties. Searchable values are JobDefinitionDisplayName, JobDefinitionName, EndpointName or StateDescription.
 
.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 IncludeSubfolders
No description available.
 
.OUTPUTS
 
JobInstancePagedList
#>

function Get-bCJobsJobInstancesByLogicalGroupId {
    [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]
        ${JobDefinitionId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${LastAction},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [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)]
        [System.Nullable[Boolean]]
        ${IncludeSubfolders}
    )

    Process {
        'Calling method: Get-bCJobsJobInstancesByLogicalGroupId' | 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}/JobInstances'
        if (!$LogicalGroupId) {
            throw "Error! The required parameter `LogicalGroupId` missing when calling getJobInstancesByLogicalGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $LogicalGroupId
        $LocalVarUri = $LocalVarUri.replace('{logicalGroupId}', $encodedValue)

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

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

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

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

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

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

        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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all job instances assigned to endpoints contained by a specific 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 JobDefinitionId
Filters result set by the id of the job definition.
 
.PARAMETER LastAction
Filters on lastAction. Date values have to be specified in ISO 8601 format. They can be filtered by adding the prefix 'lt' or 'gt' (e.g. gt 2023-07-28T08:01:03.375Z).
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma. Possible values are JobDefinitionDisplayName, JobDefinitionName, EndpointName, Start or LastAction (e. g. EndpointName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties. Searchable values are JobDefinitionDisplayName, JobDefinitionName, EndpointName or StateDescription.
 
.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.
 
.OUTPUTS
 
JobInstancePagedList
#>

function Get-bCJobsJobInstancesByStaticGroupId {
    [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]
        ${JobDefinitionId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${LastAction},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize}
    )

    Process {
        'Calling method: Get-bCJobsJobInstancesByStaticGroupId' | 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}/JobInstances'
        if (!$StaticGroupId) {
            throw "Error! The required parameter `StaticGroupId` missing when calling getJobInstancesByStaticGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $StaticGroupId
        $LocalVarUri = $LocalVarUri.replace('{staticGroupId}', $encodedValue)

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

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

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

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

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

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

        $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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all job instances assigned to endpoints contained by a specific 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 JobDefinitionId
Filters result set by the id of the job definition.
 
.PARAMETER LastAction
Filters on lastAction. Date values have to be specified in ISO 8601 format. They can be filtered by adding the prefix 'lt' or 'gt' (e.g. gt 2023-07-28T08:01:03.375Z).
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma. Possible values are JobDefinitionDisplayName, JobDefinitionName, EndpointName, Start or LastAction (e. g. EndpointName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties. Searchable values are JobDefinitionDisplayName, JobDefinitionName, EndpointName or StateDescription.
 
.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.
 
.OUTPUTS
 
JobInstancePagedList
#>

function Get-bCJobsJobInstancesByUniversalDynamicGroupId {
    [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]
        ${JobDefinitionId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${LastAction},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize}
    )

    Process {
        'Calling method: Get-bCJobsJobInstancesByUniversalDynamicGroupId' | 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}/JobInstances'
        if (!$UniversalDynamicGroupId) {
            throw "Error! The required parameter `UniversalDynamicGroupId` missing when calling getJobInstancesByUniversalDynamicGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $UniversalDynamicGroupId
        $LocalVarUri = $LocalVarUri.replace('{universalDynamicGroupId}', $encodedValue)

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

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

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

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

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

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

        $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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -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-bCJobsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "JobInstancePagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Resumes a job instance for windows devices
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.OUTPUTS
 
None
#>

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

    Process {
        'Calling method: Resume-bCJobsJobInstance' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

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

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Starts a job instance
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.OUTPUTS
 
None
#>

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

    Process {
        'Calling method: Start-bCJobsJobInstance' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

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

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Stops a job instance
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.OUTPUTS
 
None
#>

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

    Process {
        'Calling method: Stop-bCJobsJobInstance' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

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

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

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

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

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

        return $ApiResult["Response"]
    }
}


# SIG # Begin signature block
# MIIoYgYJKoZIhvcNAQcCoIIoUzCCKE8CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBW2QpC+6iINTYT
# M5vEm4szwsPCxGOGouTAvfwaB3KkoKCCIV8wggWNMIIEdaADAgECAhAOmxiO+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
# AQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCBX+SUCEXNg
# lB3llWntrfEhI50Dht+LRFE4gLeguZeRKjANBgkqhkiG9w0BAQEFAASCAgBYXzS5
# fO4wZKD4DiP5hwedtqsGi2jLewhUYVBe49+1wlcmoCvuCDVZXnHVeo3+dbElh+Y7
# mEHhboGndAl42hWP2N+hcyGd1G9gGhu2jDfS44By/kw2H8Nh6dWRI3dp+/xSUiZf
# rogbv6Gw85DRoWuWRyrqS7bQNZuZOHZtJmaNw9j3BTkVgH9ab7BZaa8QYOFKcWRW
# wAs1wTa9yWuN3FaLbe4HcKvizSTT5mpy7/SIhDLD/N3UszMfobzGGHs0efWUqNf4
# amXq4SeAe82gk9z5SR5WM8MOPRs92YQqx+EjCETW9dKei+bhNqyvZXMj3FBDV8lp
# u2O4GxBsD9U+bXjO2VrZt+jSQ9PVj8LrAPB9Nzw9OTPb7K5cMyx81zlHNOgm+PBw
# zq+E5IXj1TAdKAxiqD1lo4xBIBPAHA1uelfpQ43rCSXb4XMNPcnzEfe2t7QI2ZZK
# OLWCA2VMFIfePs7qZlTczkE16pY7bZwlEXy7Mhlt8EuQ1DOJWs/MnatEYNvr3jHt
# WXyBfjOvhHvxr71RECfUAzyC4tJKzrB6yfYRkppSMm2L0jO5sA2GMQK9mG6seQLM
# 7uCCWd4eQ5DKW/mii4Se1KsWkBA9wanBDvc7ehX/A1a5RgVqjF0pUrruZQ+U6x32
# xb35SaHO7pvBsrUVaYzJCMJIrzolK76gfByQDqGCAyYwggMiBgkqhkiG9w0BCQYx
# ggMTMIIDDwIBATB9MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcg
# UlNBNDA5NiBTSEEyNTYgMjAyNSBDQTECEAqA7xhLjfEFgtHEdqeVdGgwDQYJYIZI
# AWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJ
# BTEPFw0yNjA1MTIwODI3NDNaMC8GCSqGSIb3DQEJBDEiBCBZvWT2Apqa6aGul19S
# Om2ofDiJmr7cZot2cv+SgJn80TANBgkqhkiG9w0BAQEFAASCAgAd9Qbo7x5ythIa
# IAcn8a2qWI11MBIcWOqe1LFSrhMeEZZlJ9e1ub+yo0pl1uCOgLqoEFdSolJWIgXS
# z2vxKtsbaJaakDUKk0qqDistmsbYpFJFIjTt0AfVBgIp3ZHS5PuAbDWbgB41S9+2
# 4v8kDZT33/chUetbX5LoCTYCbGyx9vfV241E5sXcke/3ZSSYKyx3MFwfUU7kjncJ
# IyqHhUZ7QvuqxREKfmhBrpDu9U01v8wHnUs+PwyCx02LrQE+8C8aTHxGGivHkhJS
# U6NSuV51SWZRiBdagASAb4Xa6Hn4bzfID7Gozod47zoIBhOPvW/pG3V+LlJTXEBh
# KLXNY6k1vfdNGPZGwRPT7GsaMyAtwNJrCbqy1pqbCGzNz/PFPdiVfPIghsuLeX2t
# kdkuS/JvYLajGtTRkvXfUiU9G+LroYa3+Ou+XYqcLTKRywJFnSBpzKjYfd46ITNh
# WVz9JZHl6rZauLv5/vtRfbBgNCfV8iO91KMAxCUblv24SZ6tzqMdJ6e3fbbE0UOk
# cjjaYlZUpCcPVAioPmDUuyoH+vBeSO7HiVxIUjOt/RJYHQrpWq88l9U30KpTuzTB
# I116QalaCrXuFjXQjy+jujOHcF0zNdvjY9+JFQLJeIOWCUY23Fg5nbqT9iYC4tJl
# 0d0D9Ag+5V/ON7FEA8T+bxxEQApFvQ==
# SIG # End signature block