PowerOpCon.psm1

function Get-OpConMasterSchedule {
    <#
    .SYNOPSIS
        This script Retrieves the shedules from SMA OpCon.
 
    .NOTES
        Name: Get-OpConMasterSchedule
        Author: Bruce Stump
 
    .DESCRIPTION
        Retrieve schedules from SMA OpCon (An automation tool).
        Uses PowerShell 6.0 and above.
 
        -OpConServerUrl: Url to server, Mandatory.
        -OpConServerPort: Server port, defaults to 443.
        -OpConEndPoint: Rest API Endpoint for query, defaults to
                            'api/masterSchedules'.
        -Token: Token for authentication, Mandatory.
 
    .EXAMPLE
        Get-OpConMasterSchedule -OpConServerUrl $OpConServerUrl -Token $Token
 
    .EXAMPLE
        Get-OpConMasterSchedule -OpConServerUrl $OpConServerUrl -OpConServerPort 443
        -OpConEnPoint 'api/masterSchedules' -Token $Token
    #>


    [CmdletBinding()]

    param(
        [Parameter(Mandatory=$true)]
        [string]$OpconServerUrl,
        [string]$OpConServerPort = '443',
        [string]$OpConEndpoint = 'api/masterSchedules',
        [Parameter(Mandatory=$true)]
        [string]$Token
    )

    begin {
        $baseUrl = $OpconServerUrl + ':' + $OpconServerPort + '/' + $OpconEndpoint
    }

    process {
        $headers = @{
        Authorization = "Token $token"
        Accept = "application/json"
    }

        Invoke-RestMethod -Uri "$baseUrl" -Method Get -Headers $headers -SkipCertificateCheck
    }

    end {}
}
function Get-OpConMasterJob {
    <#
    .SYNOPSIS
        This script Retrieves the jobs from SMA OpCon.
 
    .NOTES
        Name: Get-OpConMasterJob
        Author: Bruce Stump
 
    .DESCRIPTION
        Retrieve jobs from SMA OpCon (An automation tool).
        Uses PowerShell 6.0 and above.
 
        -OpConServerUrl: Url to server, Mandatory.
        -OpConServerPort: Server port, defaults to 443.
        -OpConEndPoint: Rest API Endpoint for query, defaults to
                            'api/masterJobs'.
        -Token: Token for authentication, Mandatory.
 
    .EXAMPLE
        Get-OpConMasterSchedule -OpConServerUrl $OpConServerUrl -Token $Token
 
    .EXAMPLE
        Get-OpConMasterJob -OpConServerUrl $OpConServerUrl -OpConServerPort 443
        -OpConEnPoint 'api/masterJobs' -Token $Token
    #>


    [CmdletBinding()]

    param(
        [Parameter(Mandatory=$true)]
        [string]$OpconServerUrl,
        [string]$OpConServerPort = '443',
        [string]$OpConEndpoint = 'api/masterJobs',
        [Parameter(Mandatory=$true)]
        [string]$Token
    )

    begin {
        $baseUrl = $OpconServerUrl + ':' + $OpconServerPort + '/' + $OpconEndpoint
    }

    process {
        $headers = @{
        Authorization = "Token $token"
        Accept = "application/json"
    }

        Invoke-RestMethod -Uri "$baseUrl" -Method Get -Headers $headers -SkipCertificateCheck
    }

    end {}
}
function Get-OpConGlobalProperty {
    <#
    .SYNOPSIS
        This script Retrieves the global properties from SMA OpCon.
 
    .NOTES
        Name: Get-OpConGlobalProperty
        Author: Bruce Stump
 
    .DESCRIPTION
        Retrieve global properties from SMA OpCon (An automation tool).
        Uses PowerShell 6.0 and above.
 
        -OpConServerUrl: Url to server, Mandatory.
        -OpConServerPort: Server port, defaults to 443.
        -OpConEndPoint: Rest API Endpoint for query, defaults to
                            'api/globalproperties'.
        -Token: Token for authentication, Mandatory.
 
    .EXAMPLE
        Get-OpConMasterSchedule -OpConServerUrl $OpConServerUrl -Token $Token
 
    .EXAMPLE
        Get-OpConGlobalProperty -OpConServerUrl $OpConServerUrl -OpConServerPort 443
        -OpConEnPoint 'api/globalproperties' -Token $Token
    #>


    [CmdletBinding()]

    param(
        [Parameter(Mandatory=$true)]
        [string]$OpconServerUrl,
        [string]$OpConServerPort = '443',
        [string]$OpConEndpoint = 'api/globalproperties',
        [Parameter(Mandatory=$true)]
        [string]$Token
    )

    begin {
        $baseUrl = $OpconServerUrl + ':' + $OpconServerPort + '/' + $OpconEndpoint
    }

    process {
        $headers = @{
        Authorization = "Token $token"
        Accept = "application/json"
    }

        Invoke-RestMethod -Uri "$baseUrl" -Method Get -Headers $headers -SkipCertificateCheck
    }

    end {}
}
function Get-OpConScript {
    <#
    .SYNOPSIS
        This script Retrieves the scripts from SMA OpCon.
 
    .NOTES
        Name: Get-OpConScript
        Author: Bruce Stump
 
    .DESCRIPTION
        Retrieve scripts from SMA OpCon (An automation tool).
        Uses PowerShell 6.0 and above.
 
        -OpConServerUrl: Url to server, Mandatory.
        -OpConServerPort: Server port, defaults to 443.
        -OpConEndPoint: Rest API Endpoint for query, defaults to
                            'api/scripts'.
        -Token: Token for authentication, Mandatory.
 
    .EXAMPLE
        Get-OpConMasterSchedule -OpConServerUrl $OpConServerUrl -Token $Token
 
    .EXAMPLE
        Get-OpConScript -OpConServerUrl $OpConServerUrl -OpConServerPort 443
        -OpConEndPoint 'api/scripts' -Token $Token
    #>


    [CmdletBinding()]

    param(
        [Parameter(Mandatory=$true)]
        [string]$OpconServerUrl,
        [string]$OpConServerPort = '443',
        [string]$OpConEndpoint = 'api/Scripts',
        [Parameter(Mandatory=$true)]
        [string]$Token
    )

    begin {
        $baseUrl = $OpconServerUrl + ':' + $OpconServerPort + '/' + $OpconEndpoint
    }

    process {
        $headers = @{
        Authorization = "Token $token"
        Accept = "application/json"
    }

        Invoke-RestMethod -Uri "$baseUrl" -Method Get -Headers $headers -SkipCertificateCheck
    }

    end {}
}
function Get-OpConUser {
    <#
    .SYNOPSIS
        This script Retrieves users from SMA OpCon.
 
    .NOTES
        Name: Get-OpConUser
        Author: Bruce Stump
 
    .DESCRIPTION
        Retrieve users from SMA OpCon (An automation tool).
        Uses PowerShell 6.0 and above.
 
        -OpConServerUrl: Url to server, Mandatory.
        -OpConServerPort: Server port, defaults to 443.
        -OpConEndPoint: Rest API Endpoint for query, defaults to
                            'api/Users'.
        -Token: Token for authentication, Mandatory.
 
    .EXAMPLE
        Get-OpConMasterSchedule -OpConServerUrl $OpConServerUrl -Token $Token
 
    .EXAMPLE
        Get-OpConUsers -OpConServerUrl $OpConServerUrl -OpConServerPort 443
        -OpConEnPoint 'api/Users' -Token $Token
    #>


    [CmdletBinding()]

    param(
        [Parameter(Mandatory=$true)]
        [string]$OpconServerUrl,
        [string]$OpConServerPort = '443',
        [string]$OpConEndpoint = 'api/Users',
        [Parameter(Mandatory=$true)]
        [string]$Token
    )

    begin {
        $baseUrl = $OpconServerUrl + ':' + $OpconServerPort + '/' + $OpconEndpoint
    }

    process {
        $headers = @{
        Authorization = "Token $token"
        Accept = "application/json"
    }

        Invoke-RestMethod -Uri "$baseUrl" -Method Get -Headers $headers -SkipCertificateCheck
    }

    end {}
}