exports/ProxyCmdletDefinitions.ps1


# ----------------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.9.3, generator: @autorest/powershell@3.0.498)
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# ----------------------------------------------------------------------------------

<#
.Synopsis
The list of available print connectors.
.Description
The list of available print connectors.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintconnector
#>

function Get-MgBetaPrintConnector {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printConnector
    ${PrintConnectorId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintConnector_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintConnector_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintConnector_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Get operations from print
.Description
Get operations from print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintoperation
#>

function Get-MgBetaPrintOperation {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printOperation
    ${PrintOperationId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintOperation_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintOperation_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintOperation_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Invoke function getCapabilities
.Description
Invoke function getCapabilities
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterCapabilities
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprintercapability
#>

function Get-MgBetaPrintPrinterCapability {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterCapabilities])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterCapability_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterCapability_GetViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
The connectors that are associated with the printer.
.Description
The connectors that are associated with the printer.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprinterconnector
#>

function Get-MgBetaPrintPrinterConnector {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printConnector
    ${PrintConnectorId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterConnector_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterConnector_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterConnector_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Retrieve a list of groups that have been granted access to submit print jobs to the associated printerShare.
.Description
Retrieve a list of groups that have been granted access to submit print jobs to the associated printerShare.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprintershareallowedgroupbyref
#>

function Get-MgBetaPrintPrinterShareAllowedGroupByRef {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter()]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter()]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShareAllowedGroupByRef_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Retrieve a list of groups that have been granted access to submit print jobs to the associated printerShare.
.Description
Retrieve a list of groups that have been granted access to submit print jobs to the associated printerShare.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphGroup
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprintershareallowedgroup
#>

function Get-MgBetaPrintPrinterShareAllowedGroup {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphGroup])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter()]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter()]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShareAllowedGroup_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Retrieve a list of users who have been granted access to submit print jobs to the associated printerShare.
.Description
Retrieve a list of users who have been granted access to submit print jobs to the associated printerShare.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprintersharealloweduserbyref
#>

function Get-MgBetaPrintPrinterShareAllowedUserByRef {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter()]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter()]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShareAllowedUserByRef_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Retrieve a list of users who have been granted access to submit print jobs to the associated printerShare.
.Description
Retrieve a list of users who have been granted access to submit print jobs to the associated printerShare.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphUser
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprintersharealloweduser
#>

function Get-MgBetaPrintPrinterShareAllowedUser {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphUser])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter()]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter()]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShareAllowedUser_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
The printer that this printer share is related to.
.Description
The printer that this printer share is related to.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprintershareprinter
#>

function Get-MgBetaPrintPrinterSharePrinter {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterSharePrinter_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterSharePrinter_GetViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Get printerShares from print
.Description
Get printerShares from print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprintershare
#>

function Get-MgBetaPrintPrinterShare {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='Get2', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='Get1', Mandatory)]
    [Parameter(ParameterSetName='Get2', Mandatory)]
    [Parameter(ParameterSetName='List1', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='GetViaIdentity2', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Parameter(ParameterSetName='List1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Parameter(ParameterSetName='List1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Parameter(ParameterSetName='List1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Parameter(ParameterSetName='List1')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Parameter(ParameterSetName='List1')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Parameter(ParameterSetName='List1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Parameter(ParameterSetName='List1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Parameter(ParameterSetName='List1')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShare_Get';
            Get1 = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShare_Get1';
            Get2 = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShare_Get2';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShare_GetViaIdentity';
            GetViaIdentity1 = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShare_GetViaIdentity1';
            GetViaIdentity2 = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShare_GetViaIdentity2';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShare_List';
            List1 = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterShare_List1';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
An abstract definition that will be used to create a printTask when triggered by a print event.
Read-only.
.Description
An abstract definition that will be used to create a printTask when triggered by a print event.
Read-only.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprintertasktriggerdefinition
#>

function Get-MgBetaPrintPrinterTaskTriggerDefinition {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskTrigger
    ${PrintTaskTriggerId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterTaskTriggerDefinition_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterTaskTriggerDefinition_GetViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
A list of task triggers that are associated with the printer.
.Description
A list of task triggers that are associated with the printer.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprintertasktrigger
#>

function Get-MgBetaPrintPrinterTaskTrigger {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskTrigger
    ${PrintTaskTriggerId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterTaskTrigger_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterTaskTrigger_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinterTaskTrigger_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
The list of printers registered in the tenant.
.Description
The list of printers registered in the tenant.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintprinter
#>

function Get-MgBetaPrintPrinter {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinter_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinter_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintPrinter_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Endpoints that can be used to access the service.
Read-only.
Nullable.
.Description
Endpoints that can be used to access the service.
Read-only.
Nullable.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintserviceendpoint
#>

function Get-MgBetaPrintServiceEndpoint {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printServiceEndpoint
    ${PrintServiceEndpointId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintServiceEndpoint_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintServiceEndpoint_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintServiceEndpoint_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
The list of available Universal Print service endpoints.
.Description
The list of available Universal Print service endpoints.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintservice
#>

function Get-MgBetaPrintService {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintService_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintService_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintService_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Retrieve a list of groups that have been granted access to submit print jobs to the associated printerShare.
.Description
Retrieve a list of groups that have been granted access to submit print jobs to the associated printerShare.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintshareallowedgroupbyref
#>

function Get-MgBetaPrintShareAllowedGroupByRef {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter()]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter()]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintShareAllowedGroupByRef_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Retrieve a list of groups that have been granted access to submit print jobs to the associated printerShare.
.Description
Retrieve a list of groups that have been granted access to submit print jobs to the associated printerShare.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphGroup
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintshareallowedgroup
#>

function Get-MgBetaPrintShareAllowedGroup {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphGroup])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter()]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter()]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintShareAllowedGroup_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Retrieve a list of users who have been granted access to submit print jobs to the associated printerShare.
.Description
Retrieve a list of users who have been granted access to submit print jobs to the associated printerShare.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintsharealloweduserbyref
#>

function Get-MgBetaPrintShareAllowedUserByRef {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter()]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter()]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintShareAllowedUserByRef_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Retrieve a list of users who have been granted access to submit print jobs to the associated printerShare.
.Description
Retrieve a list of users who have been granted access to submit print jobs to the associated printerShare.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphUser
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintsharealloweduser
#>

function Get-MgBetaPrintShareAllowedUser {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphUser])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter()]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter()]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintShareAllowedUser_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
The printer that this printer share is related to.
.Description
The printer that this printer share is related to.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintshareprinter
#>

function Get-MgBetaPrintSharePrinter {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintSharePrinter_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintSharePrinter_GetViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
The list of printer shares registered in the tenant.
.Description
The list of printer shares registered in the tenant.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprintshare
#>

function Get-MgBetaPrintShare {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintShare_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintShare_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintShare_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
The printTaskTrigger that triggered this task's execution.
Read-only.
.Description
The printTaskTrigger that triggered this task's execution.
Read-only.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprinttaskdefinitiontasktrigger
#>

function Get-MgBetaPrintTaskDefinitionTaskTrigger {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinitionTaskTrigger_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinitionTaskTrigger_GetViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
A list of tasks that have been created based on this definition.
The list includes currently running tasks and recently completed tasks.
Read-only.
.Description
A list of tasks that have been created based on this definition.
The list includes currently running tasks and recently completed tasks.
Read-only.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprinttaskdefinitiontask
#>

function Get-MgBetaPrintTaskDefinitionTask {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinitionTask_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinitionTask_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinitionTask_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Get taskDefinitions from print
.Description
Get taskDefinitions from print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprinttaskdefinition
#>

function Get-MgBetaPrintTaskDefinition {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='Get1', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Get1', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinition_Get';
            Get1 = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinition_Get1';
            GetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinition_GetViaIdentity';
            GetViaIdentity1 = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinition_GetViaIdentity1';
            List = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrintTaskDefinition_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Get print
.Description
Get print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrint
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/get-mgbetaprint
#>

function Get-MgBetaPrint {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrint])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Get-MgBetaPrint_Get';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property to connectors for print
.Description
Create new navigation property to connectors for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintConnector>: printConnector
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AppVersion <String>]: The connector's version.
  [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastConnectionTime <DateTime?>]: The last time the device was connected.
  [DisplayName <String>]: The name of the connector.
  [FullyQualifiedDomainName <String>]: The connector machine's hostname.
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Name <String>]:
  [OperatingSystem <String>]: The connector machine's operating system version.
  [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the connector was registered.
 
DEVICEHEALTH <IMicrosoftGraphDeviceHealth>: deviceHealth
  [(Any) <Object>]: This indicates any property can be added to this object.
  [LastConnectionTime <DateTime?>]: The last time the device was connected.
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
  [Building <String>]: The building that the printer is located in.
  [City <String>]: The city that the printer is located in.
  [CountryOrRegion <String>]: The country or region that the printer is located in.
  [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
  [FloorDescription <String>]: The description of the floor that the printer is located on.
  [FloorNumber <Int32?>]:
  [Latitude <Double?>]: The latitude that the printer is located at.
  [Longitude <Double?>]: The longitude that the printer is located at.
  [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
  [PostalCode <String>]: The postal code that the printer is located in.
  [RoomDescription <String>]: The description of the room that the printer is located in.
  [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
  [RoomNumber <Int32?>]:
  [Site <String>]: The site that the printer is located in.
  [StateOrProvince <String>]: The state or province that the printer is located in.
  [StreetAddress <String>]: The street address where the printer is located.
  [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
  [Subunit <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintconnector
#>

function New-MgBetaPrintConnector {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector]
    # printConnector
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The connector's version.
    ${AppVersion},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDeviceHealth]
    # deviceHealth
    # To construct, see NOTES section for DEVICEHEALTH properties and create a hash table.
    ${DeviceHealth},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The name of the connector.
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The connector machine's hostname.
    ${FullyQualifiedDomainName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterLocation]
    # printerLocation
    # To construct, see NOTES section for LOCATION properties and create a hash table.
    ${Location},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The connector machine's operating system version.
    ${OperatingSystem},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The DateTimeOffset when the connector was registered.
    ${RegisteredDateTime},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintConnector_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintConnector_CreateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property to operations for print
.Description
Create new navigation property to operations for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintOperation>: printOperation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedDateTime <DateTime?>]: The DateTimeOffset when the operation was created. Read-only.
  [Status <IMicrosoftGraphPrintOperationStatus>]: printOperationStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printOperation's current processing state. Read-only.
    [State <String>]: printOperationProcessingState
 
STATUS <IMicrosoftGraphPrintOperationStatus>: printOperationStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: A human-readable description of the printOperation's current processing state. Read-only.
  [State <String>]: printOperationProcessingState
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintoperation
#>

function New-MgBetaPrintOperation {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation]
    # printOperation
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The DateTimeOffset when the operation was created.
    # Read-only.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperationStatus]
    # printOperationStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintOperation_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintOperation_CreateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property ref to allowedGroups for print
.Description
Create new navigation property ref to allowedGroups for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IReferenceCreate
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IReferenceCreate>: .
  [(Any) <Object>]: This indicates any property can be added to this object.
  [OdataId <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintprintershareallowedgroupbyref
#>

function New-MgBetaPrintPrinterShareAllowedGroupByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IReferenceCreate]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${OdataId},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShareAllowedGroupByRef_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShareAllowedGroupByRef_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShareAllowedGroupByRef_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShareAllowedGroupByRef_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property ref to allowedUsers for print
.Description
Create new navigation property ref to allowedUsers for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IReferenceCreate
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IReferenceCreate>: .
  [(Any) <Object>]: This indicates any property can be added to this object.
  [OdataId <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintprintersharealloweduserbyref
#>

function New-MgBetaPrintPrinterShareAllowedUserByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IReferenceCreate]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${OdataId},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShareAllowedUserByRef_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShareAllowedUserByRef_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShareAllowedUserByRef_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShareAllowedUserByRef_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property to printerShares for print
.Description
Create new navigation property to printerShares for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrinterShare>: printerShare
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
  [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AcceptingJobs <Boolean?>]:
    [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
    [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
    [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
    [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
  [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
  [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
  [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
  [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]: The inclusive upper bound of the integer range.
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]: The inclusive lower bound of the integer range.
  [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
  [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
  [FeedDirections <String[]>]:
  [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
  [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
  [InputBins <String[]>]: Supported input bins for the printer.
  [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
  [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
  [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
  [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
  [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
  [MediaTypes <String[]>]: The media types supported by the printer.
  [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
  [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
  [OutputBins <String[]>]: The printer's supported output bins (trays).
  [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
  [Qualities <String[]>]: The print qualities supported by the printer.
  [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
  [Scalings <String[]>]: Supported print scalings.
  [SupportedColorConfigurations <String[]>]:
  [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedDocumentMimeTypes <String[]>]:
  [SupportedDuplexConfigurations <String[]>]:
  [SupportedFinishings <String[]>]:
  [SupportedMediaColors <String[]>]:
  [SupportedMediaSizes <String[]>]:
  [SupportedMediaTypes <String[]>]:
  [SupportedOrientations <String[]>]:
  [SupportedOutputBins <String[]>]:
  [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedPresentationDirections <String[]>]:
  [SupportedPrintQualities <String[]>]:
  [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
  [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]: The default content (MIME) type to use when processing documents.
  [CopiesPerJob <Int32?>]: The default number of copies printed per job.
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
  [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
  [InputBin <String>]: The default input bin that serves as the paper source.
  [MediaColor <String>]: The default media (such as paper) color to print the document on.
  [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
  [MediaType <String>]: The default media (such as paper) type to print the document on.
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
  [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
  [Building <String>]: The building that the printer is located in.
  [City <String>]: The city that the printer is located in.
  [CountryOrRegion <String>]: The country or region that the printer is located in.
  [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
  [FloorDescription <String>]: The description of the floor that the printer is located on.
  [FloorNumber <Int32?>]:
  [Latitude <Double?>]: The latitude that the printer is located at.
  [Longitude <Double?>]: The longitude that the printer is located at.
  [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
  [PostalCode <String>]: The postal code that the printer is located in.
  [RoomDescription <String>]: The description of the room that the printer is located in.
  [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
  [RoomNumber <Int32?>]:
  [Site <String>]: The site that the printer is located in.
  [StateOrProvince <String>]: The state or province that the printer is located in.
  [StreetAddress <String>]: The street address where the printer is located.
  [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
  [Subunit <String[]>]:
 
PRINTER <IMicrosoftGraphPrinter>: printer
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AcceptingJobs <Boolean?>]:
  [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
  [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
  [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
  [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
    [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
    [Printer <IMicrosoftGraphPrinter>]: printer
    [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
  [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
  [State <String>]: printerProcessingState
 
VIEWPOINT <IMicrosoftGraphPrinterShareViewpoint>: printerShareViewpoint
  [(Any) <Object>]: This indicates any property can be added to this object.
  [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintprintershare
#>

function New-MgBetaPrintPrinterShare {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare]
    # printerShare
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # If true, all users and groups will be granted access to this printer share.
    # This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
    ${AllowAllUsers},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterCapabilities]
    # printerCapabilities
    # To construct, see NOTES section for CAPABILITIES properties and create a hash table.
    ${Capabilities},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The DateTimeOffset when the printer share was created.
    # Read-only.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterDefaults]
    # printerDefaults
    # To construct, see NOTES section for DEFAULTS properties and create a hash table.
    ${Defaults},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsAcceptingJobs},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterLocation]
    # printerLocation
    # To construct, see NOTES section for LOCATION properties and create a hash table.
    ${Location},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Manufacturer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Model},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter]
    # printer
    # To construct, see NOTES section for PRINTER properties and create a hash table.
    ${Printer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterStatus]
    # printerStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShareViewpoint]
    # printerShareViewpoint
    # To construct, see NOTES section for VIEWPOINT properties and create a hash table.
    ${ViewPoint},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShare_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterShare_CreateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new task trigger on the specified printer.
Currently, only **one** task trigger can be specified per printer, but this limit might be removed in the future.
.Description
Create a new task trigger on the specified printer.
Currently, only **one** task trigger can be specified per printer, but this limit might be removed in the future.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintTaskTrigger>: printTaskTrigger
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
      [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
      [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
      [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
    [DisplayName <String>]: The name of the printTaskDefinition.
  [Event <String>]: printEvent
 
DEFINITION <IMicrosoftGraphPrintTaskDefinition>: printTaskDefinition
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
    [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
    [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
    [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
  [DisplayName <String>]: The name of the printTaskDefinition.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintprintertasktrigger
#>

function New-MgBetaPrintPrinterTaskTrigger {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger]
    # printTaskTrigger
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition]
    # printTaskDefinition
    # To construct, see NOTES section for DEFINITION properties and create a hash table.
    ${Definition},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # printEvent
    ${Event},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterTaskTrigger_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterTaskTrigger_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterTaskTrigger_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinterTaskTrigger_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create (register) a printer with the Universal Print service.
This is a long-running operation and as such, it returns a printerCreateOperation that can be used to track and verify the registration of the printer.
.Description
Create (register) a printer with the Universal Print service.
This is a long-running operation and as such, it returns a printerCreateOperation that can be used to track and verify the registration of the printer.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IPaths18VwyqhPrintPrintersMicrosoftGraphCreatePostRequestbodyContentApplicationJsonSchema
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IPaths18VwyqhPrintPrintersMicrosoftGraphCreatePostRequestbodyContentApplicationJsonSchema>: .
  [(Any) <Object>]: This indicates any property can be added to this object.
  [CertificateSigningRequest <IMicrosoftGraphPrintCertificateSigningRequest>]: printCertificateSigningRequest
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Content <String>]: A base64-encoded pkcs10 certificate request. Read-only.
    [TransportKey <String>]: The base64-encoded public portion of an asymmetric key that is generated by the client. Read-only.
  [ConnectorId <String>]:
  [DisplayName <String>]:
  [HasPhysicalDevice <Boolean?>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [PhysicalDeviceId <String>]:
 
CERTIFICATESIGNINGREQUEST <IMicrosoftGraphPrintCertificateSigningRequest>: printCertificateSigningRequest
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Content <String>]: A base64-encoded pkcs10 certificate request. Read-only.
  [TransportKey <String>]: The base64-encoded public portion of an asymmetric key that is generated by the client. Read-only.
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintprinter
#>

function New-MgBetaPrintPrinter {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create1', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IPaths18VwyqhPrintPrintersMicrosoftGraphCreatePostRequestbodyContentApplicationJsonSchema]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintCertificateSigningRequest]
    # printCertificateSigningRequest
    # To construct, see NOTES section for CERTIFICATESIGNINGREQUEST properties and create a hash table.
    ${CertificateSigningRequest},

    [Parameter(ParameterSetName='CreateExpanded1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${ConnectorId},

    [Parameter(ParameterSetName='CreateExpanded1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${HasPhysicalDevice},

    [Parameter(ParameterSetName='CreateExpanded1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Manufacturer},

    [Parameter(ParameterSetName='CreateExpanded1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Model},

    [Parameter(ParameterSetName='CreateExpanded1')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${PhysicalDeviceId},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create1 = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinter_Create1';
            CreateExpanded1 = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintPrinter_CreateExpanded1';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property to endpoints for print
.Description
Create new navigation property to endpoints for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintServiceEndpoint>: printServiceEndpoint
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [DisplayName <String>]: A human-readable display name for the endpoint.
  [Uri <String>]: The URI that can be used to access the service.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintserviceendpoint
#>

function New-MgBetaPrintServiceEndpoint {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint]
    # printServiceEndpoint
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A human-readable display name for the endpoint.
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URI that can be used to access the service.
    ${Uri},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintServiceEndpoint_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintServiceEndpoint_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintServiceEndpoint_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintServiceEndpoint_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property to services for print
.Description
Create new navigation property to services for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintService>: printService
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintservice
#>

function New-MgBetaPrintService {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService]
    # printService
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintService_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintService_CreateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property ref to allowedGroups for print
.Description
Create new navigation property ref to allowedGroups for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IReferenceCreate
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IReferenceCreate>: .
  [(Any) <Object>]: This indicates any property can be added to this object.
  [OdataId <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintshareallowedgroupbyref
#>

function New-MgBetaPrintShareAllowedGroupByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IReferenceCreate]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${OdataId},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShareAllowedGroupByRef_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShareAllowedGroupByRef_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShareAllowedGroupByRef_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShareAllowedGroupByRef_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property ref to allowedUsers for print
.Description
Create new navigation property ref to allowedUsers for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IReferenceCreate
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IReferenceCreate>: .
  [(Any) <Object>]: This indicates any property can be added to this object.
  [OdataId <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintsharealloweduserbyref
#>

function New-MgBetaPrintShareAllowedUserByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IReferenceCreate]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${OdataId},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShareAllowedUserByRef_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShareAllowedUserByRef_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShareAllowedUserByRef_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShareAllowedUserByRef_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new **printerShare** for the specified printer.
.Description
Create a new **printerShare** for the specified printer.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrinterShare>: printerShare
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
  [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AcceptingJobs <Boolean?>]:
    [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
    [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
    [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
    [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
  [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
  [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
  [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
  [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]: The inclusive upper bound of the integer range.
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]: The inclusive lower bound of the integer range.
  [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
  [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
  [FeedDirections <String[]>]:
  [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
  [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
  [InputBins <String[]>]: Supported input bins for the printer.
  [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
  [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
  [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
  [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
  [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
  [MediaTypes <String[]>]: The media types supported by the printer.
  [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
  [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
  [OutputBins <String[]>]: The printer's supported output bins (trays).
  [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
  [Qualities <String[]>]: The print qualities supported by the printer.
  [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
  [Scalings <String[]>]: Supported print scalings.
  [SupportedColorConfigurations <String[]>]:
  [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedDocumentMimeTypes <String[]>]:
  [SupportedDuplexConfigurations <String[]>]:
  [SupportedFinishings <String[]>]:
  [SupportedMediaColors <String[]>]:
  [SupportedMediaSizes <String[]>]:
  [SupportedMediaTypes <String[]>]:
  [SupportedOrientations <String[]>]:
  [SupportedOutputBins <String[]>]:
  [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedPresentationDirections <String[]>]:
  [SupportedPrintQualities <String[]>]:
  [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
  [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]: The default content (MIME) type to use when processing documents.
  [CopiesPerJob <Int32?>]: The default number of copies printed per job.
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
  [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
  [InputBin <String>]: The default input bin that serves as the paper source.
  [MediaColor <String>]: The default media (such as paper) color to print the document on.
  [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
  [MediaType <String>]: The default media (such as paper) type to print the document on.
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
  [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
  [Building <String>]: The building that the printer is located in.
  [City <String>]: The city that the printer is located in.
  [CountryOrRegion <String>]: The country or region that the printer is located in.
  [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
  [FloorDescription <String>]: The description of the floor that the printer is located on.
  [FloorNumber <Int32?>]:
  [Latitude <Double?>]: The latitude that the printer is located at.
  [Longitude <Double?>]: The longitude that the printer is located at.
  [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
  [PostalCode <String>]: The postal code that the printer is located in.
  [RoomDescription <String>]: The description of the room that the printer is located in.
  [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
  [RoomNumber <Int32?>]:
  [Site <String>]: The site that the printer is located in.
  [StateOrProvince <String>]: The state or province that the printer is located in.
  [StreetAddress <String>]: The street address where the printer is located.
  [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
  [Subunit <String[]>]:
 
PRINTER <IMicrosoftGraphPrinter>: printer
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AcceptingJobs <Boolean?>]:
  [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
  [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
  [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
  [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
    [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
    [Printer <IMicrosoftGraphPrinter>]: printer
    [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
  [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
  [State <String>]: printerProcessingState
 
VIEWPOINT <IMicrosoftGraphPrinterShareViewpoint>: printerShareViewpoint
  [(Any) <Object>]: This indicates any property can be added to this object.
  [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprintshare
#>

function New-MgBetaPrintShare {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare]
    # printerShare
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # If true, all users and groups will be granted access to this printer share.
    # This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
    ${AllowAllUsers},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterCapabilities]
    # printerCapabilities
    # To construct, see NOTES section for CAPABILITIES properties and create a hash table.
    ${Capabilities},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The DateTimeOffset when the printer share was created.
    # Read-only.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterDefaults]
    # printerDefaults
    # To construct, see NOTES section for DEFAULTS properties and create a hash table.
    ${Defaults},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsAcceptingJobs},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterLocation]
    # printerLocation
    # To construct, see NOTES section for LOCATION properties and create a hash table.
    ${Location},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Manufacturer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Model},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter]
    # printer
    # To construct, see NOTES section for PRINTER properties and create a hash table.
    ${Printer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterStatus]
    # printerStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShareViewpoint]
    # printerShareViewpoint
    # To construct, see NOTES section for VIEWPOINT properties and create a hash table.
    ${ViewPoint},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShare_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintShare_CreateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property to tasks for print
.Description
Create new navigation property to tasks for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintTask>: printTask
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
      [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
      [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
      [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
    [DisplayName <String>]: The name of the printTaskDefinition.
  [ParentUrl <String>]: The URL for the print entity that triggered this task. For example, https://graph.microsoft.com/beta/print/printers/{printerId}/jobs/{jobId}. Read-only.
  [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the current processing state of the printTask.
    [State <String>]: printTaskProcessingState
  [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [Event <String>]: printEvent
 
DEFINITION <IMicrosoftGraphPrintTaskDefinition>: printTaskDefinition
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
    [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
    [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
    [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
  [DisplayName <String>]: The name of the printTaskDefinition.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
 
STATUS <IMicrosoftGraphPrintTaskStatus>: printTaskStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: A human-readable description of the current processing state of the printTask.
  [State <String>]: printTaskProcessingState
 
TRIGGER <IMicrosoftGraphPrintTaskTrigger>: printTaskTrigger
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
      [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
      [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
      [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
    [DisplayName <String>]: The name of the printTaskDefinition.
  [Event <String>]: printEvent
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprinttaskdefinitiontask
#>

function New-MgBetaPrintTaskDefinitionTask {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask]
    # printTask
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition]
    # printTaskDefinition
    # To construct, see NOTES section for DEFINITION properties and create a hash table.
    ${Definition},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL for the print entity that triggered this task.
    # For example, https://graph.microsoft.com/beta/print/printers/{printerId}/jobs/{jobId}.
    # Read-only.
    ${ParentUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskStatus]
    # printTaskStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger]
    # printTaskTrigger
    # To construct, see NOTES section for TRIGGER properties and create a hash table.
    ${Trigger},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintTaskDefinitionTask_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintTaskDefinitionTask_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintTaskDefinitionTask_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintTaskDefinitionTask_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new task definition.
For details about how to use this API to add pull printing support to Universal Print, see Extending Universal Print to support pull printing.
.Description
Create a new task definition.
For details about how to use this API to add pull printing support to Universal Print, see Extending Universal Print to support pull printing.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintTaskDefinition>: printTaskDefinition
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
    [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
    [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
    [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
  [DisplayName <String>]: The name of the printTaskDefinition.
 
CREATEDBY <IMicrosoftGraphAppIdentity>: appIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
  [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
  [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
  [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/new-mgbetaprinttaskdefinition
#>

function New-MgBetaPrintTaskDefinition {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition]
    # printTaskDefinition
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphAppIdentity]
    # appIdentity
    # To construct, see NOTES section for CREATEDBY properties and create a hash table.
    ${CreatedBy},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The name of the printTaskDefinition.
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintTaskDefinition_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\New-MgBetaPrintTaskDefinition_CreateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property connectors for print
.Description
Delete navigation property connectors for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintconnector
#>

function Remove-MgBetaPrintConnector {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printConnector
    ${PrintConnectorId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintConnector_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintConnector_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property operations for print
.Description
Delete navigation property operations for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintoperation
#>

function Remove-MgBetaPrintOperation {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printOperation
    ${PrintOperationId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintOperation_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintOperation_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete ref of navigation property allowedGroups for print
.Description
Delete ref of navigation property allowedGroups for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintprintershareallowedgroupbyref
#>

function Remove-MgBetaPrintPrinterShareAllowedGroupByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of group
    ${GroupId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Delete Uri
    ${Id},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinterShareAllowedGroupByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinterShareAllowedGroupByRef_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete ref of navigation property allowedUsers for print
.Description
Delete ref of navigation property allowedUsers for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintprintersharealloweduserbyref
#>

function Remove-MgBetaPrintPrinterShareAllowedUserByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of user
    ${UserId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Delete Uri
    ${Id},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinterShareAllowedUserByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinterShareAllowedUserByRef_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property printerShares for print
.Description
Delete navigation property printerShares for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintprintershare
#>

function Remove-MgBetaPrintPrinterShare {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinterShare_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinterShare_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property taskTriggers for print
.Description
Delete navigation property taskTriggers for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintprintertasktrigger
#>

function Remove-MgBetaPrintPrinterTaskTrigger {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskTrigger
    ${PrintTaskTriggerId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinterTaskTrigger_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinterTaskTrigger_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property printers for print
.Description
Delete navigation property printers for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintprinter
#>

function Remove-MgBetaPrintPrinter {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinter_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintPrinter_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property endpoints for print
.Description
Delete navigation property endpoints for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintserviceendpoint
#>

function Remove-MgBetaPrintServiceEndpoint {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printServiceEndpoint
    ${PrintServiceEndpointId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintServiceEndpoint_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintServiceEndpoint_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property services for print
.Description
Delete navigation property services for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintservice
#>

function Remove-MgBetaPrintService {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintService_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintService_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete ref of navigation property allowedGroups for print
.Description
Delete ref of navigation property allowedGroups for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintshareallowedgroupbyref
#>

function Remove-MgBetaPrintShareAllowedGroupByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of group
    ${GroupId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Delete Uri
    ${Id},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintShareAllowedGroupByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintShareAllowedGroupByRef_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete ref of navigation property allowedUsers for print
.Description
Delete ref of navigation property allowedUsers for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintsharealloweduserbyref
#>

function Remove-MgBetaPrintShareAllowedUserByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of user
    ${UserId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Delete Uri
    ${Id},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintShareAllowedUserByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintShareAllowedUserByRef_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property shares for print
.Description
Delete navigation property shares for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprintshare
#>

function Remove-MgBetaPrintShare {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintShare_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintShare_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property tasks for print
.Description
Delete navigation property tasks for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprinttaskdefinitiontask
#>

function Remove-MgBetaPrintTaskDefinitionTask {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintTaskDefinitionTask_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintTaskDefinitionTask_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property taskDefinitions for print
.Description
Delete navigation property taskDefinitions for print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/remove-mgbetaprinttaskdefinition
#>

function Remove-MgBetaPrintTaskDefinition {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintTaskDefinition_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Remove-MgBetaPrintTaskDefinition_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Invoke action resetDefaults
.Description
Invoke action resetDefaults
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/reset-mgbetaprintprinterdefault
#>

function Reset-MgBetaPrintPrinterDefault {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Reset', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Reset', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='ResetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Reset = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Reset-MgBetaPrintPrinterDefault_Reset';
            ResetViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Reset-MgBetaPrintPrinterDefault_ResetViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Restore a printer's default settings to the values specified by the manufacturer.
.Description
Restore a printer's default settings to the values specified by the manufacturer.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/restore-mgbetaprintprinterfactorydefault
#>

function Restore-MgBetaPrintPrinterFactoryDefault {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Restore', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Restore', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='RestoreViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Restore = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Restore-MgBetaPrintPrinterFactoryDefault_Restore';
            RestoreViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Restore-MgBetaPrintPrinterFactoryDefault_RestoreViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property connectors in print
.Description
Update the navigation property connectors in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintConnector>: printConnector
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AppVersion <String>]: The connector's version.
  [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastConnectionTime <DateTime?>]: The last time the device was connected.
  [DisplayName <String>]: The name of the connector.
  [FullyQualifiedDomainName <String>]: The connector machine's hostname.
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Name <String>]:
  [OperatingSystem <String>]: The connector machine's operating system version.
  [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the connector was registered.
 
DEVICEHEALTH <IMicrosoftGraphDeviceHealth>: deviceHealth
  [(Any) <Object>]: This indicates any property can be added to this object.
  [LastConnectionTime <DateTime?>]: The last time the device was connected.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
  [Building <String>]: The building that the printer is located in.
  [City <String>]: The city that the printer is located in.
  [CountryOrRegion <String>]: The country or region that the printer is located in.
  [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
  [FloorDescription <String>]: The description of the floor that the printer is located on.
  [FloorNumber <Int32?>]:
  [Latitude <Double?>]: The latitude that the printer is located at.
  [Longitude <Double?>]: The longitude that the printer is located at.
  [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
  [PostalCode <String>]: The postal code that the printer is located in.
  [RoomDescription <String>]: The description of the room that the printer is located in.
  [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
  [RoomNumber <Int32?>]:
  [Site <String>]: The site that the printer is located in.
  [StateOrProvince <String>]: The state or province that the printer is located in.
  [StreetAddress <String>]: The street address where the printer is located.
  [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
  [Subunit <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprintconnector
#>

function Update-MgBetaPrintConnector {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printConnector
    ${PrintConnectorId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintConnector]
    # printConnector
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The connector's version.
    ${AppVersion},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDeviceHealth]
    # deviceHealth
    # To construct, see NOTES section for DEVICEHEALTH properties and create a hash table.
    ${DeviceHealth},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The name of the connector.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The connector machine's hostname.
    ${FullyQualifiedDomainName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterLocation]
    # printerLocation
    # To construct, see NOTES section for LOCATION properties and create a hash table.
    ${Location},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The connector machine's operating system version.
    ${OperatingSystem},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The DateTimeOffset when the connector was registered.
    ${RegisteredDateTime},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintConnector_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintConnector_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintConnector_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintConnector_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property operations in print
.Description
Update the navigation property operations in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintOperation>: printOperation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedDateTime <DateTime?>]: The DateTimeOffset when the operation was created. Read-only.
  [Status <IMicrosoftGraphPrintOperationStatus>]: printOperationStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printOperation's current processing state. Read-only.
    [State <String>]: printOperationProcessingState
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
 
STATUS <IMicrosoftGraphPrintOperationStatus>: printOperationStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: A human-readable description of the printOperation's current processing state. Read-only.
  [State <String>]: printOperationProcessingState
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprintoperation
#>

function Update-MgBetaPrintOperation {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printOperation
    ${PrintOperationId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperation]
    # printOperation
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The DateTimeOffset when the operation was created.
    # Read-only.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintOperationStatus]
    # printOperationStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintOperation_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintOperation_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintOperation_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintOperation_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property printerShares in print
.Description
Update the navigation property printerShares in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrinterShare>: printerShare
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
  [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AcceptingJobs <Boolean?>]:
    [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
    [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
    [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
    [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
  [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
  [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
  [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
  [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]: The inclusive upper bound of the integer range.
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]: The inclusive lower bound of the integer range.
  [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
  [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
  [FeedDirections <String[]>]:
  [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
  [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
  [InputBins <String[]>]: Supported input bins for the printer.
  [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
  [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
  [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
  [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
  [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
  [MediaTypes <String[]>]: The media types supported by the printer.
  [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
  [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
  [OutputBins <String[]>]: The printer's supported output bins (trays).
  [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
  [Qualities <String[]>]: The print qualities supported by the printer.
  [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
  [Scalings <String[]>]: Supported print scalings.
  [SupportedColorConfigurations <String[]>]:
  [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedDocumentMimeTypes <String[]>]:
  [SupportedDuplexConfigurations <String[]>]:
  [SupportedFinishings <String[]>]:
  [SupportedMediaColors <String[]>]:
  [SupportedMediaSizes <String[]>]:
  [SupportedMediaTypes <String[]>]:
  [SupportedOrientations <String[]>]:
  [SupportedOutputBins <String[]>]:
  [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedPresentationDirections <String[]>]:
  [SupportedPrintQualities <String[]>]:
  [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
  [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]: The default content (MIME) type to use when processing documents.
  [CopiesPerJob <Int32?>]: The default number of copies printed per job.
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
  [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
  [InputBin <String>]: The default input bin that serves as the paper source.
  [MediaColor <String>]: The default media (such as paper) color to print the document on.
  [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
  [MediaType <String>]: The default media (such as paper) type to print the document on.
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
  [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
  [Building <String>]: The building that the printer is located in.
  [City <String>]: The city that the printer is located in.
  [CountryOrRegion <String>]: The country or region that the printer is located in.
  [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
  [FloorDescription <String>]: The description of the floor that the printer is located on.
  [FloorNumber <Int32?>]:
  [Latitude <Double?>]: The latitude that the printer is located at.
  [Longitude <Double?>]: The longitude that the printer is located at.
  [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
  [PostalCode <String>]: The postal code that the printer is located in.
  [RoomDescription <String>]: The description of the room that the printer is located in.
  [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
  [RoomNumber <Int32?>]:
  [Site <String>]: The site that the printer is located in.
  [StateOrProvince <String>]: The state or province that the printer is located in.
  [StreetAddress <String>]: The street address where the printer is located.
  [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
  [Subunit <String[]>]:
 
PRINTER <IMicrosoftGraphPrinter>: printer
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AcceptingJobs <Boolean?>]:
  [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
  [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
  [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
  [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
    [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
    [Printer <IMicrosoftGraphPrinter>]: printer
    [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
  [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
  [State <String>]: printerProcessingState
 
VIEWPOINT <IMicrosoftGraphPrinterShareViewpoint>: printerShareViewpoint
  [(Any) <Object>]: This indicates any property can be added to this object.
  [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprintprintershare
#>

function Update-MgBetaPrintPrinterShare {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare]
    # printerShare
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # If true, all users and groups will be granted access to this printer share.
    # This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
    ${AllowAllUsers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterCapabilities]
    # printerCapabilities
    # To construct, see NOTES section for CAPABILITIES properties and create a hash table.
    ${Capabilities},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The DateTimeOffset when the printer share was created.
    # Read-only.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterDefaults]
    # printerDefaults
    # To construct, see NOTES section for DEFAULTS properties and create a hash table.
    ${Defaults},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsAcceptingJobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterLocation]
    # printerLocation
    # To construct, see NOTES section for LOCATION properties and create a hash table.
    ${Location},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Manufacturer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Model},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter]
    # printer
    # To construct, see NOTES section for PRINTER properties and create a hash table.
    ${Printer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterStatus]
    # printerStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShareViewpoint]
    # printerShareViewpoint
    # To construct, see NOTES section for VIEWPOINT properties and create a hash table.
    ${ViewPoint},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinterShare_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinterShare_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinterShare_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinterShare_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property taskTriggers in print
.Description
Update the navigation property taskTriggers in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintTaskTrigger>: printTaskTrigger
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
      [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
      [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
      [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
    [DisplayName <String>]: The name of the printTaskDefinition.
  [Event <String>]: printEvent
 
DEFINITION <IMicrosoftGraphPrintTaskDefinition>: printTaskDefinition
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
    [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
    [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
    [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
  [DisplayName <String>]: The name of the printTaskDefinition.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprintprintertasktrigger
#>

function Update-MgBetaPrintPrinterTaskTrigger {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskTrigger
    ${PrintTaskTriggerId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger]
    # printTaskTrigger
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition]
    # printTaskDefinition
    # To construct, see NOTES section for DEFINITION properties and create a hash table.
    ${Definition},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # printEvent
    ${Event},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinterTaskTrigger_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinterTaskTrigger_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinterTaskTrigger_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinterTaskTrigger_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property printers in print
.Description
Update the navigation property printers in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrinter>: printer
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AcceptingJobs <Boolean?>]:
  [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
  [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
  [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
  [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
    [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
    [Printer <IMicrosoftGraphPrinter>]: printer
    [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
  [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
  [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
  [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]: The inclusive upper bound of the integer range.
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]: The inclusive lower bound of the integer range.
  [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
  [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
  [FeedDirections <String[]>]:
  [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
  [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
  [InputBins <String[]>]: Supported input bins for the printer.
  [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
  [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
  [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
  [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
  [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
  [MediaTypes <String[]>]: The media types supported by the printer.
  [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
  [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
  [OutputBins <String[]>]: The printer's supported output bins (trays).
  [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
  [Qualities <String[]>]: The print qualities supported by the printer.
  [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
  [Scalings <String[]>]: Supported print scalings.
  [SupportedColorConfigurations <String[]>]:
  [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedDocumentMimeTypes <String[]>]:
  [SupportedDuplexConfigurations <String[]>]:
  [SupportedFinishings <String[]>]:
  [SupportedMediaColors <String[]>]:
  [SupportedMediaSizes <String[]>]:
  [SupportedMediaTypes <String[]>]:
  [SupportedOrientations <String[]>]:
  [SupportedOutputBins <String[]>]:
  [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedPresentationDirections <String[]>]:
  [SupportedPrintQualities <String[]>]:
  [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
  [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]: The default content (MIME) type to use when processing documents.
  [CopiesPerJob <Int32?>]: The default number of copies printed per job.
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
  [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
  [InputBin <String>]: The default input bin that serves as the paper source.
  [MediaColor <String>]: The default media (such as paper) color to print the document on.
  [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
  [MediaType <String>]: The default media (such as paper) type to print the document on.
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
  [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
  [Building <String>]: The building that the printer is located in.
  [City <String>]: The city that the printer is located in.
  [CountryOrRegion <String>]: The country or region that the printer is located in.
  [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
  [FloorDescription <String>]: The description of the floor that the printer is located on.
  [FloorNumber <Int32?>]:
  [Latitude <Double?>]: The latitude that the printer is located at.
  [Longitude <Double?>]: The longitude that the printer is located at.
  [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
  [PostalCode <String>]: The postal code that the printer is located in.
  [RoomDescription <String>]: The description of the room that the printer is located in.
  [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
  [RoomNumber <Int32?>]:
  [Site <String>]: The site that the printer is located in.
  [StateOrProvince <String>]: The state or province that the printer is located in.
  [StreetAddress <String>]: The street address where the printer is located.
  [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
  [Subunit <String[]>]:
 
SHARE <IMicrosoftGraphPrinterShare>: printerShare
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
  [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AcceptingJobs <Boolean?>]:
    [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
    [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
    [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
    [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
  [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
  [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
  [State <String>]: printerProcessingState
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprintprinter
#>

function Update-MgBetaPrintPrinter {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter]
    # printer
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${AcceptingJobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterCapabilities]
    # printerCapabilities
    # To construct, see NOTES section for CAPABILITIES properties and create a hash table.
    ${Capabilities},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterDefaults]
    # printerDefaults
    # To construct, see NOTES section for DEFAULTS properties and create a hash table.
    ${Defaults},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True if the printer has a physical device for printing.
    # Read-only.
    ${HasPhysicalDevice},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsAcceptingJobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True if the printer is shared; false otherwise.
    # Read-only.
    ${IsShared},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The most recent dateTimeOffset when a printer interacted with Universal Print.
    # Read-only.
    ${LastSeenDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterLocation]
    # printerLocation
    # To construct, see NOTES section for LOCATION properties and create a hash table.
    ${Location},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Manufacturer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Model},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The DateTimeOffset when the printer was registered.
    # Read-only.
    ${RegisteredDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare]
    # printerShare
    # To construct, see NOTES section for SHARE properties and create a hash table.
    ${Share},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterStatus]
    # printerStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinter_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinter_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinter_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintPrinter_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property endpoints in print
.Description
Update the navigation property endpoints in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintServiceEndpoint>: printServiceEndpoint
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [DisplayName <String>]: A human-readable display name for the endpoint.
  [Uri <String>]: The URI that can be used to access the service.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprintserviceendpoint
#>

function Update-MgBetaPrintServiceEndpoint {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printServiceEndpoint
    ${PrintServiceEndpointId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint]
    # printServiceEndpoint
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A human-readable display name for the endpoint.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URI that can be used to access the service.
    ${Uri},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintServiceEndpoint_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintServiceEndpoint_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintServiceEndpoint_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintServiceEndpoint_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property services in print
.Description
Update the navigation property services in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintService>: printService
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprintservice
#>

function Update-MgBetaPrintService {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintService]
    # printService
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintService_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintService_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintService_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintService_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property shares in print
.Description
Update the navigation property shares in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrinterShare>: printerShare
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
  [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AcceptingJobs <Boolean?>]:
    [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
    [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
    [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
    [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
  [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
  [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
  [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
  [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]: The inclusive upper bound of the integer range.
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]: The inclusive lower bound of the integer range.
  [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
  [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
  [FeedDirections <String[]>]:
  [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
  [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
  [InputBins <String[]>]: Supported input bins for the printer.
  [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
  [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
  [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
  [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
  [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
  [MediaTypes <String[]>]: The media types supported by the printer.
  [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
  [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
  [OutputBins <String[]>]: The printer's supported output bins (trays).
  [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
  [Qualities <String[]>]: The print qualities supported by the printer.
  [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
  [Scalings <String[]>]: Supported print scalings.
  [SupportedColorConfigurations <String[]>]:
  [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedDocumentMimeTypes <String[]>]:
  [SupportedDuplexConfigurations <String[]>]:
  [SupportedFinishings <String[]>]:
  [SupportedMediaColors <String[]>]:
  [SupportedMediaSizes <String[]>]:
  [SupportedMediaTypes <String[]>]:
  [SupportedOrientations <String[]>]:
  [SupportedOutputBins <String[]>]:
  [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
  [SupportedPresentationDirections <String[]>]:
  [SupportedPrintQualities <String[]>]:
  [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
  [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]: The default content (MIME) type to use when processing documents.
  [CopiesPerJob <Int32?>]: The default number of copies printed per job.
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
  [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
  [InputBin <String>]: The default input bin that serves as the paper source.
  [MediaColor <String>]: The default media (such as paper) color to print the document on.
  [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
  [MediaType <String>]: The default media (such as paper) type to print the document on.
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
  [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
  [Building <String>]: The building that the printer is located in.
  [City <String>]: The city that the printer is located in.
  [CountryOrRegion <String>]: The country or region that the printer is located in.
  [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
  [FloorDescription <String>]: The description of the floor that the printer is located on.
  [FloorNumber <Int32?>]:
  [Latitude <Double?>]: The latitude that the printer is located at.
  [Longitude <Double?>]: The longitude that the printer is located at.
  [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
  [PostalCode <String>]: The postal code that the printer is located in.
  [RoomDescription <String>]: The description of the room that the printer is located in.
  [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
  [RoomNumber <Int32?>]:
  [Site <String>]: The site that the printer is located in.
  [StateOrProvince <String>]: The state or province that the printer is located in.
  [StreetAddress <String>]: The street address where the printer is located.
  [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
  [Subunit <String[]>]:
 
PRINTER <IMicrosoftGraphPrinter>: printer
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]: A list of supported bottom margins(in microns) for the printer.
    [Collation <Boolean?>]: True if the printer supports collating when printing muliple copies of a multi-page document; false otherwise.
    [ColorModes <String[]>]: The color modes supported by the printer. Valid values are described in the following table.
    [ContentTypes <String[]>]: A list of supported content (MIME) types that the printer supports. It is not guaranteed that the Universal Print service supports printing all of these MIME types.
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]: The inclusive upper bound of the integer range.
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]: The inclusive lower bound of the integer range.
    [Dpis <Int32[]>]: The list of print resolutions in DPI that are supported by the printer.
    [DuplexModes <String[]>]: The list of duplex modes that are supported by the printer. Valid values are described in the following table.
    [FeedDirections <String[]>]:
    [FeedOrientations <String[]>]: The list of feed orientations that are supported by the printer.
    [Finishings <String[]>]: Finishing processes the printer supports for a printed document.
    [InputBins <String[]>]: Supported input bins for the printer.
    [IsColorPrintingSupported <Boolean?>]: True if color printing is supported by the printer; false otherwise. Read-only.
    [IsPageRangeSupported <Boolean?>]: True if the printer supports printing by page ranges; false otherwise.
    [LeftMargins <Int32[]>]: A list of supported left margins(in microns) for the printer.
    [MediaColors <String[]>]: The media (i.e., paper) colors supported by the printer.
    [MediaSizes <String[]>]: The media sizes supported by the printer. Supports standard size names for ISO and ANSI media sizes. Valid values are in the following table.
    [MediaTypes <String[]>]: The media types supported by the printer.
    [MultipageLayouts <String[]>]: The presentation directions supported by the printer. Supported values are described in the following table.
    [Orientations <String[]>]: The print orientations supported by the printer. Valid values are described in the following table.
    [OutputBins <String[]>]: The printer's supported output bins (trays).
    [PagesPerSheet <Int32[]>]: Supported number of Input Pages to impose upon a single Impression.
    [Qualities <String[]>]: The print qualities supported by the printer.
    [RightMargins <Int32[]>]: A list of supported right margins(in microns) for the printer.
    [Scalings <String[]>]: Supported print scalings.
    [SupportedColorConfigurations <String[]>]:
    [SupportedCopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedDocumentMimeTypes <String[]>]:
    [SupportedDuplexConfigurations <String[]>]:
    [SupportedFinishings <String[]>]:
    [SupportedMediaColors <String[]>]:
    [SupportedMediaSizes <String[]>]:
    [SupportedMediaTypes <String[]>]:
    [SupportedOrientations <String[]>]:
    [SupportedOutputBins <String[]>]:
    [SupportedPagesPerSheet <IMicrosoftGraphIntegerRange>]: integerRange
    [SupportedPresentationDirections <String[]>]:
    [SupportedPrintQualities <String[]>]:
    [SupportsFitPdfToPage <Boolean?>]: True if the printer supports scaling PDF pages to match the print media size; false otherwise.
    [TopMargins <Int32[]>]: A list of supported top margins(in microns) for the printer.
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]: The default content (MIME) type to use when processing documents.
    [CopiesPerJob <Int32?>]: The default number of copies printed per job.
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]: The default resolution in DPI to use when printing the job.
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]: The default set of finishings to apply to print jobs. Valid values are described in the following table.
    [FitPdfToPage <Boolean?>]: The default fitPdfToPage setting. True to fit each page of a PDF document to a physical sheet of media; false to let the printer decide how to lay out impressions.
    [InputBin <String>]: The default input bin that serves as the paper source.
    [MediaColor <String>]: The default media (such as paper) color to print the document on.
    [MediaSize <String>]: The default media size to use. Supports standard size names for ISO and ANSI media sizes. Valid values are listed in the printerCapabilities topic.
    [MediaType <String>]: The default media (such as paper) type to print the document on.
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]: The default output bin to place completed prints into. See the printer's capabilities for a list of supported output bins.
    [PagesPerSheet <Int32?>]: The default number of document pages to print on each sheet.
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [DisplayName <String>]:
  [IsAcceptingJobs <Boolean?>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]: The altitude, in meters, that the printer is located at.
    [Building <String>]: The building that the printer is located in.
    [City <String>]: The city that the printer is located in.
    [CountryOrRegion <String>]: The country or region that the printer is located in.
    [Floor <String>]: The floor that the printer is located on. Only numerical values are supported right now.
    [FloorDescription <String>]: The description of the floor that the printer is located on.
    [FloorNumber <Int32?>]:
    [Latitude <Double?>]: The latitude that the printer is located at.
    [Longitude <Double?>]: The longitude that the printer is located at.
    [Organization <String[]>]: The organizational hierarchy that the printer belongs to. The elements should be in hierarchical order.
    [PostalCode <String>]: The postal code that the printer is located in.
    [RoomDescription <String>]: The description of the room that the printer is located in.
    [RoomName <String>]: The room that the printer is located in. Only numerical values are supported right now.
    [RoomNumber <Int32?>]:
    [Site <String>]: The site that the printer is located in.
    [StateOrProvince <String>]: The state or province that the printer is located in.
    [StreetAddress <String>]: The street address where the printer is located.
    [Subdivision <String[]>]: The subdivision that the printer is located in. The elements should be in hierarchical order.
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
    [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
    [State <String>]: printerProcessingState
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AcceptingJobs <Boolean?>]:
  [HasPhysicalDevice <Boolean?>]: True if the printer has a physical device for printing. Read-only.
  [IsShared <Boolean?>]: True if the printer is shared; false otherwise. Read-only.
  [LastSeenDateTime <DateTime?>]: The most recent dateTimeOffset when a printer interacted with Universal Print. Read-only.
  [RegisteredDateTime <DateTime?>]: The DateTimeOffset when the printer was registered. Read-only.
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [DisplayName <String>]:
    [IsAcceptingJobs <Boolean?>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AllowAllUsers <Boolean?>]: If true, all users and groups will be granted access to this printer share. This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
    [CreatedDateTime <DateTime?>]: The DateTimeOffset when the printer share was created. Read-only.
    [Printer <IMicrosoftGraphPrinter>]: printer
    [ViewPoint <IMicrosoftGraphPrinterShareViewpoint>]: printerShareViewpoint
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: A human-readable description of the printer's current processing state. Read-only.
  [Details <String[]>]: The list of details describing why the printer is in the current state. Valid values are described in the following table. Read-only.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
  [State <String>]: printerProcessingState
 
VIEWPOINT <IMicrosoftGraphPrinterShareViewpoint>: printerShareViewpoint
  [(Any) <Object>]: This indicates any property can be added to this object.
  [LastUsedDateTime <DateTime?>]: Date and time when the printer was last used by the signed-in user. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprintshare
#>

function Update-MgBetaPrintShare {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShare]
    # printerShare
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # If true, all users and groups will be granted access to this printer share.
    # This supersedes the allow lists defined by the allowedUsers and allowedGroups navigation properties.
    ${AllowAllUsers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterCapabilities]
    # printerCapabilities
    # To construct, see NOTES section for CAPABILITIES properties and create a hash table.
    ${Capabilities},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The DateTimeOffset when the printer share was created.
    # Read-only.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterDefaults]
    # printerDefaults
    # To construct, see NOTES section for DEFAULTS properties and create a hash table.
    ${Defaults},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsAcceptingJobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterLocation]
    # printerLocation
    # To construct, see NOTES section for LOCATION properties and create a hash table.
    ${Location},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Manufacturer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Model},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinter]
    # printer
    # To construct, see NOTES section for PRINTER properties and create a hash table.
    ${Printer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterStatus]
    # printerStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrinterShareViewpoint]
    # printerShareViewpoint
    # To construct, see NOTES section for VIEWPOINT properties and create a hash table.
    ${ViewPoint},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintShare_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintShare_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintShare_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintShare_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property tasks in print
.Description
Update the navigation property tasks in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintTask>: printTask
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
      [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
      [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
      [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
    [DisplayName <String>]: The name of the printTaskDefinition.
  [ParentUrl <String>]: The URL for the print entity that triggered this task. For example, https://graph.microsoft.com/beta/print/printers/{printerId}/jobs/{jobId}. Read-only.
  [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: A human-readable description of the current processing state of the printTask.
    [State <String>]: printTaskProcessingState
  [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [Event <String>]: printEvent
 
DEFINITION <IMicrosoftGraphPrintTaskDefinition>: printTaskDefinition
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
    [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
    [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
    [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
  [DisplayName <String>]: The name of the printTaskDefinition.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
 
STATUS <IMicrosoftGraphPrintTaskStatus>: printTaskStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: A human-readable description of the current processing state of the printTask.
  [State <String>]: printTaskProcessingState
 
TRIGGER <IMicrosoftGraphPrintTaskTrigger>: printTaskTrigger
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
      [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
      [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
      [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
    [DisplayName <String>]: The name of the printTaskDefinition.
  [Event <String>]: printEvent
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprinttaskdefinitiontask
#>

function Update-MgBetaPrintTaskDefinitionTask {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTask]
    # printTask
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition]
    # printTaskDefinition
    # To construct, see NOTES section for DEFINITION properties and create a hash table.
    ${Definition},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL for the print entity that triggered this task.
    # For example, https://graph.microsoft.com/beta/print/printers/{printerId}/jobs/{jobId}.
    # Read-only.
    ${ParentUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskStatus]
    # printTaskStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger]
    # printTaskTrigger
    # To construct, see NOTES section for TRIGGER properties and create a hash table.
    ${Trigger},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintTaskDefinitionTask_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintTaskDefinitionTask_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintTaskDefinitionTask_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintTaskDefinitionTask_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property taskDefinitions in print
.Description
Update the navigation property taskDefinitions in print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrintTaskDefinition>: printTaskDefinition
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
    [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
    [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
    [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
  [DisplayName <String>]: The name of the printTaskDefinition.
 
CREATEDBY <IMicrosoftGraphAppIdentity>: appIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AppId <String>]: Refers to the unique identifier representing Application Id in the Azure Active Directory.
  [DisplayName <String>]: Refers to the Application Name displayed in the Azure Portal.
  [ServicePrincipalId <String>]: Refers to the unique identifier indicating Service Principal Id in Azure Active Directory for the corresponding App.
  [ServicePrincipalName <String>]: Refers to the Service Principal Name is the Application name in the tenant.
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]: key: id of group
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintOperationId <String>]: key: id of printOperation
  [PrintServiceEndpointId <String>]: key: id of printServiceEndpoint
  [PrintServiceId <String>]: key: id of printService
  [PrintTaskDefinitionId <String>]: key: id of printTaskDefinition
  [PrintTaskId <String>]: key: id of printTask
  [PrintTaskTriggerId <String>]: key: id of printTaskTrigger
  [PrinterId <String>]: key: id of printer
  [PrinterShareId <String>]: key: id of printerShare
  [UserId <String>]: key: id of user
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprinttaskdefinition
#>

function Update-MgBetaPrintTaskDefinition {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition]
    # printTaskDefinition
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphAppIdentity]
    # appIdentity
    # To construct, see NOTES section for CREATEDBY properties and create a hash table.
    ${CreatedBy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The name of the printTaskDefinition.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintTaskDefinition_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintTaskDefinition_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintTaskDefinition_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrintTaskDefinition_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update print
.Description
Update print
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrint
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrint
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPrint>: print
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Reports <IMicrosoftGraphReportRoot>]: reportRoot
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AuthenticationMethods <IMicrosoftGraphAuthenticationMethodsRoot>]: authenticationMethodsRoot
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
    [Security <IMicrosoftGraphSecurityReportsRoot>]: securityReportsRoot
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
  [Settings <IMicrosoftGraphPrintSettings>]: printSettings
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DocumentConversionEnabled <Boolean?>]: Specifies whether document conversion is enabled for the tenant. If document conversion is enabled, Universal Print service will automatically convert documents into a format compatible with the printer (xps to pdf) when needed.
 
REPORTS <IMicrosoftGraphReportRoot>: reportRoot
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AuthenticationMethods <IMicrosoftGraphAuthenticationMethodsRoot>]: authenticationMethodsRoot
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
  [Security <IMicrosoftGraphSecurityReportsRoot>]: securityReportsRoot
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
 
SETTINGS <IMicrosoftGraphPrintSettings>: printSettings
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DocumentConversionEnabled <Boolean?>]: Specifies whether document conversion is enabled for the tenant. If document conversion is enabled, Universal Print service will automatically convert documents into a format compatible with the printer (xps to pdf) when needed.
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.beta.devices.cloudprint/update-mgbetaprint
#>

function Update-MgBetaPrint {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrint])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrint]
    # print
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphReportRoot]
    # reportRoot
    # To construct, see NOTES section for REPORTS properties and create a hash table.
    ${Reports},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPrintSettings]
    # printSettings
    # To construct, see NOTES section for SETTINGS properties and create a hash table.
    ${Settings},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrint_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Devices.CloudPrint.private\Update-MgBetaPrint_UpdateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

# SIG # Begin signature block
# MIInygYJKoZIhvcNAQcCoIInuzCCJ7cCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCA1HYDLtuc5aAhI
# bol5fbrHfz/zw/uXrYH7za+gaOmGZKCCDYEwggX/MIID56ADAgECAhMzAAACzI61
# lqa90clOAAAAAALMMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjIwNTEyMjA0NjAxWhcNMjMwNTExMjA0NjAxWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQCiTbHs68bADvNud97NzcdP0zh0mRr4VpDv68KobjQFybVAuVgiINf9aG2zQtWK
# No6+2X2Ix65KGcBXuZyEi0oBUAAGnIe5O5q/Y0Ij0WwDyMWaVad2Te4r1Eic3HWH
# UfiiNjF0ETHKg3qa7DCyUqwsR9q5SaXuHlYCwM+m59Nl3jKnYnKLLfzhl13wImV9
# DF8N76ANkRyK6BYoc9I6hHF2MCTQYWbQ4fXgzKhgzj4zeabWgfu+ZJCiFLkogvc0
# RVb0x3DtyxMbl/3e45Eu+sn/x6EVwbJZVvtQYcmdGF1yAYht+JnNmWwAxL8MgHMz
# xEcoY1Q1JtstiY3+u3ulGMvhAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUiLhHjTKWzIqVIp+sM2rOHH11rfQw
# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDcwNTI5MB8GA1UdIwQYMBaAFEhu
# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAeA8D
# sOAHS53MTIHYu8bbXrO6yQtRD6JfyMWeXaLu3Nc8PDnFc1efYq/F3MGx/aiwNbcs
# J2MU7BKNWTP5JQVBA2GNIeR3mScXqnOsv1XqXPvZeISDVWLaBQzceItdIwgo6B13
# vxlkkSYMvB0Dr3Yw7/W9U4Wk5K/RDOnIGvmKqKi3AwyxlV1mpefy729FKaWT7edB
# d3I4+hldMY8sdfDPjWRtJzjMjXZs41OUOwtHccPazjjC7KndzvZHx/0VWL8n0NT/
# 404vftnXKifMZkS4p2sB3oK+6kCcsyWsgS/3eYGw1Fe4MOnin1RhgrW1rHPODJTG
# AUOmW4wc3Q6KKr2zve7sMDZe9tfylonPwhk971rX8qGw6LkrGFv31IJeJSe/aUbG
# dUDPkbrABbVvPElgoj5eP3REqx5jdfkQw7tOdWkhn0jDUh2uQen9Atj3RkJyHuR0
# GUsJVMWFJdkIO/gFwzoOGlHNsmxvpANV86/1qgb1oZXdrURpzJp53MsDaBY/pxOc
# J0Cvg6uWs3kQWgKk5aBzvsX95BzdItHTpVMtVPW4q41XEvbFmUP1n6oL5rdNdrTM
# j/HXMRk1KCksax1Vxo3qv+13cCsZAaQNaIAvt5LvkshZkDZIP//0Hnq7NnWeYR3z
# 4oFiw9N2n3bb9baQWuWPswG0Dq9YT9kb+Cs4qIIwggd6MIIFYqADAgECAgphDpDS
# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZnzCCGZsCAQEwgZUwfjELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAsyOtZamvdHJTgAAAAACzDAN
# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgBVZ6SgEo
# aw+lMFNqD06wzzfYj6DC2t9r9fgMWrOxGREwQgYKKwYBBAGCNwIBDDE0MDKgFIAS
# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
# BgkqhkiG9w0BAQEFAASCAQB9FkqMmBs1raHHUyUZb+Z551EK/UhZEwYvqZo2KuC+
# UK94z7mm90L5Pyj+Hg69tYTmVc9GGd2a9R9wVlpE4SxnHzXggQLSr5JHXsJ/uV4Y
# ND0+6XXOLigvH1i4w80J7TstSqlH4f4DH77j4AHkba4ahCJBclU23qi/tSYvP9nR
# /j76cybqMn45mc4y5IG+ZLYJzgSMRWigWZwB4xwvcxbamN8Acp5DQZdc7ow+OAis
# Ph4wHDhLnkJg2rPMt8DGOPL68d9XutvLfPQormZ0DW+qcjwiumlZpwKd25D6fP29
# aAc+wrVe2GVuxf8EM8LZCMqxNQKadGcV0RgfJoVro4kwoYIXKTCCFyUGCisGAQQB
# gjcDAwExghcVMIIXEQYJKoZIhvcNAQcCoIIXAjCCFv4CAQMxDzANBglghkgBZQME
# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB
# MDEwDQYJYIZIAWUDBAIBBQAEIJq+w7sfZqd2LYTobgEHjoc1gb7pMs4ie1gZcjd0
# MkCTAgZjdM5/zdkYEzIwMjIxMjE0MDE1ODUwLjQ2M1owBIACAfSggdikgdUwgdIx
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p
# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh
# bGVzIFRTUyBFU046MkFENC00QjkyLUZBMDExJTAjBgNVBAMTHE1pY3Jvc29mdCBU
# aW1lLVN0YW1wIFNlcnZpY2WgghF4MIIHJzCCBQ+gAwIBAgITMwAAAbHKkEPuC/AD
# qwABAAABsTANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg
# MjAxMDAeFw0yMjA5MjAyMDIxNTlaFw0yMzEyMTQyMDIxNTlaMIHSMQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg
# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg
# RVNOOjJBRDQtNEI5Mi1GQTAxMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAhqKrPtXs
# G8fsg4w8R4MzZTAKkzwvEBQ94ntS+72rRGIMF0GCyEL9IOt7f9gkGoamfbtrtdY4
# y+KIFR8w19/nU3EoWhJfrYamrfpgtFmTaE3XCKCsI7rnrPmlVOMmndDyN1gAlfeu
# 4l5rdxx9ODECBPdS/+w/jDT7JkBhrYllqVXcwGAgWLdXAoUDgKVByv5XhKkbOrPx
# 9qppuZjKm4nflmfwb/bTWkA3aMMQ67tBoMLSsbIN3BJNWZdwczjoQVXo3YXr2fB+
# PYNmHviCcDUMHs0Vxmf7i/WSpBafsDMEn6WY7G8qtRGVX+7X0zDVg/7NVDLMqfn/
# iv++5hJGP+2Fmv4WZkBS1MBpwvOi4EQ25pIG45jWTffR4ynyed1I1SxSOP+efuBx
# 0WrN1A250lv5fGZHCL0vCMDT/w+U6wpNnxfDoQRY9Ut82iNK5alkxNozPP/DNI+n
# knTaSliaR2XnSXDIZEs7lfuJYg0qahfJJ1CZF2IYxOS9FK1crEigSb8QnEJoj6Th
# Lf4FYpYLTsRXlPdQbvBsVvgt++BttooznwfK0DKMOc718SLS+unwkVO0aF23CEQS
# Stoy0ZW34K+cbRmUfia+k9E+4luoTnT17oKqYfDNO5Rk8UwVa8mfh8+/R3fZaz2O
# /ZhiYT/RZHV9Quz5PHGlaCfXPQ8A6zFJlE8CAwEAAaOCAUkwggFFMB0GA1UdDgQW
# BBT0m2eR7w2thIr18WehUTSmvQ45kzAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl
# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx
# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh
# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQM
# MAoGCCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEA
# 2Oc3kmql5VKEitAhoBCc1U6/VwMSYKQPqhC59f00Y5fbwnD+B2Qa0wnJqADSVVu6
# bBCVrks+EGbkuMhRb/lpiHNKVnuXF4PKTDnvCnYCqgwAmbttdxe0m38fJpGU3fmE
# CEFX4OYacEhFwTkLZtIUVjdqwPnQpRII+YqX/Q0Vp096g2puPllSdrxUB8xIOx3F
# 7LGOzyv/1WmrLyWAhUGpGte0W3qfX4YWkn7YCM+yl887tj5j+jO/l1MRi6bl4MsN
# 0PW2FCYeRbyzQEENsg5Pd351Z08ROR/nR8z+cAuQwR29ijaDKIms5IbRr1nZL/qZ
# skFSuCuSA+nYeMuTJxHg2HCXrt6ECFbEkYoPaBGTzxPYopcuJEcChhNlWkduCRgu
# ykEsmz0LvtmS7Fe68g4Zoh3sQkIE5VEwnKC3HwVemhK7eNYR1q7RYExfGFUDMQdO
# 7tQpbcPD4oaBbtFGWGu3nz1IryWs9K88zo8+eoQV/o9SxNU7Rs6TMqcLdM6C6Lgm
# GVaWKKC0S2DVKU8zFx0y5z25h1ZJ7X/Zhaav1mtXVG6+lJIq8ktJgOU5/pomumdf
# tgosxGjIp3NORy9fDUll+KQl4YmN9GzZxPYkhuI0QYriLmytBtUK+AK91hURVldV
# bUjP8sksr1dsiQwyOYQIkSxrTuhp0pw7h5329jphgEYwggdxMIIFWaADAgECAhMz
# AAAAFcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJV
# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9v
# dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0z
# MDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjAN
# BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP9
# 7pwHB9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMM
# tY0Tz3cywBAY6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gm
# U3w5YQJ6xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130
# /o5Tz9bshVZN7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+tVSP
# 3PoFVZhtaDuaRr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7
# vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+A
# utuqfjbsNkz2K26oElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz
# 1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6
# EgrXY28MyTZki1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/Zc
# UlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZy
# acaue7e3PmriLq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJ
# KwYBBAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVd
# AF5iXYP05dJlpxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8G
# CCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3Mv
# UmVwb3NpdG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQC
# BAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYD
# VR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZF
# aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9v
# Q2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcw
# AoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJB
# dXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cB
# MSRb4Z5yS/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7
# bNGhlBgi7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/
# SHUB2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2
# EhIRXT0n4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2Fz
# Lixre24/LAl4FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0
# /fZMcm8Qq3UwxTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9
# swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJ
# Xk+d0tBMdrVXVAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+
# pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW
# 4SLq8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N
# 7oJtpQUQwXEGahC0HVUzWLOhcGbyoYIC1DCCAj0CAQEwggEAoYHYpIHVMIHSMQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNy
# b3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxl
# cyBUU1MgRVNOOjJBRDQtNEI5Mi1GQTAxMSUwIwYDVQQDExxNaWNyb3NvZnQgVGlt
# ZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQDtZLG+pANsDu/LLr1OfTA/
# kEbHK6CBgzCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqG
# SIb3DQEBBQUAAgUA50ONXjAiGA8yMDIyMTIxNDA3NDYzOFoYDzIwMjIxMjE1MDc0
# NjM4WjB0MDoGCisGAQQBhFkKBAExLDAqMAoCBQDnQ41eAgEAMAcCAQACAhNZMAcC
# AQACAhFOMAoCBQDnRN7eAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkK
# AwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQADgYEAfR3V
# A+dOwNYRayQkDZdPuI81F1WWfHyFV6IMWmwd3BT9Q+0jr1gh83oaEunV2Q0mt4Iz
# KuYBPOe1F67hlYfK5o/qgF2JY0JimPc79IVofgD2oG0t4bPbBXkFxesSGubrvZZn
# 2lHczg7lliKQZQGi1dQUJjMm5avmXji5CUVWgfoxggQNMIIECQIBATCBkzB8MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNy
# b3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAbHKkEPuC/ADqwABAAABsTAN
# BglghkgBZQMEAgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8G
# CSqGSIb3DQEJBDEiBCDsYhvA0zsNuVRVD4oTF2DUNFsZ+zroKYXziyybN0fOrTCB
# +gYLKoZIhvcNAQkQAi8xgeowgecwgeQwgb0EIIPtDYsUW9+p4OjL2Cm7fm3p1h6u
# sM7RwxOU4iibNM9sMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
# b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw
# MTACEzMAAAGxypBD7gvwA6sAAQAAAbEwIgQgJmH/DL+gyatUimsWog7Csumd/CHP
# s+j2PqMBxbr6z44wDQYJKoZIhvcNAQELBQAEggIAMkSUBLwDvjUg3OEG/CtWBT95
# lXN7d3QO2T5Y9a7X0IHHviOTNaQhdFGbzXQWVJPeVo8mCmHeMd/TIZu40y/FHLgS
# YQiLsNDxFeyZBolvOqLGqfc7cUVftgQJtYEWGqcvkH2v9qwRB+gJLLooewPefslZ
# qC2VkF9BeBW5Nk3l4x5YZFrchP6+NMtGv005NIX2HaIa0D61uAJOz5GOksEhuGyr
# SWwcVEr742JSDy+9TudscoW93LI0ZdU45ZYE5m5NmIO2fygb0V62W4yEwXwd1Avd
# pJTiXQwz/zIrNocuI7ph9mBVt0YL3U3hAaXw5mJDDIe/ADnNrOXswNoUMdMpk1pM
# 1IKed9/VTb/z1qFl/zcNvmrVgTNmeu7EzeQxGYkZupmwTLI5xq8xvMwtPusGsvXp
# 1+VSkYVvFF4tvN6wJobxIIV8FvQDkX4aBkbwuHgnHWVGfawNepXLloG0+R4hB0AG
# rn1UH6ZEm/m9OZd1L1H69WTeQ27XjLYbtK/4QrX7Ko8SQi7406V8dH+9FRqearZc
# WjSUFBF6ZqQLfOyTa6bDkE2tlXV/o0DSroPEJ6R2Uvvh6QkCUrnEs3utbDM6Zhqm
# sGtMSB5DcbaWZmAjYjersYVF+hux22NMaZBsf1x13YANaoA2iG+L5e0Bqh7Zn2Pk
# 4CDjqluSHS81UeYZTY8=
# SIG # End signature block