exports/ProxyCmdletDefinitions.ps1


# ----------------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.9.4, 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintConnector -PrintConnectorId $printConnectorId
.Example
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintConnector
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintOperation -PrintOperationId $printOperationId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintPrinterCapability -PrinterId $printerId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintPrinterConnector -PrinterId $printerId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
 
Get-MgBetaPrintPrinterShare -PrinterId $printerId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintPrinterTaskTrigger -PrinterId $printerId -PrintTaskTriggerId $printTaskTriggerId
.Example
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintPrinterTaskTrigger -PrinterId $printerId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintPrinter -PrinterId $printerId
.Example
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintPrinter
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintServiceEndpoint -PrintServiceId $printServiceId
.Example
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintServiceEndpoint -PrintServiceId $printServiceId -PrintServiceEndpointId $printServiceEndpointId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintService -PrintServiceId $printServiceId
.Example
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintService
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintShareAllowedGroup -PrinterShareId $printerShareId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintShareAllowedUser -PrinterShareId $printerShareId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintShare -PrinterShareId $printerShareId
.Example
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintShare
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintTaskDefinitionTask -PrintTaskDefinitionId $printTaskDefinitionId
.Example
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintTaskDefinitionTask -PrintTaskDefinitionId $printTaskDefinitionId -PrintTaskId $printTaskId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintTaskDefinition -PrintTaskDefinitionId $printTaskDefinitionId
.Example
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Get-MgBetaPrintTaskDefinition
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
 
Get-MgBetaPrintConnector
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
 
Get-MgBetaPrintPrinterTaskTrigger -PrinterId $printerId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
 
Get-MgBetaPrintServiceEndpoint -PrintServiceId $printServiceId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
 
Get-MgBetaPrintService
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
$params = @{
    "@odata.id" = "https://graph.microsoft.com/beta/groups/{id}"
}
New-MgBetaPrintShareAllowedGroupByRef -PrinterShareId $printerShareId -BodyParameter $params
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
$params = @{
    "@odata.id" = "https://graph.microsoft.com/beta/users/{id}"
}
New-MgBetaPrintShareAllowedUserByRef -PrinterShareId $printerShareId -BodyParameter $params
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
$params = @{
    Name = "name-value"
    "Printer@odata.bind" = "https://graph.microsoft.com/beta/print/printers/{id}"
}
New-MgBetaPrintShare -BodyParameter $params
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
 
Get-MgBetaPrintTaskDefinitionTask -PrintTaskDefinitionId $printTaskDefinitionId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
$params = @{
    DisplayName = "Test TaskDefinitionName"
    CreatedBy = @{
        DisplayName = "Requesting App Display Name"
    }
}
New-MgBetaPrintTaskDefinition -BodyParameter $params
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Remove-MgBetaPrintConnector -PrintConnectorId $printConnectorId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Remove-MgBetaPrintPrinterShareAllowedUserByRef -PrinterShareId $printerShareId -UserId $userId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Remove-MgBetaPrintPrinterTaskTrigger -PrinterId $printerId -PrintTaskTriggerId $printTaskTriggerId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Remove-MgBetaPrintPrinter -PrinterId $printerId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Remove-MgBetaPrintShareAllowedGroupByRef -PrinterShareId $printerShareId -GroupId $groupId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Remove-MgBetaPrintShare -PrinterShareId $printerShareId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Remove-MgBetaPrintTaskDefinition -PrintTaskDefinitionId $printTaskDefinitionId
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
Restore-MgBetaPrintPrinterFactoryDefault -PrinterId $printerId
 
.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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
$params = @{
    DisplayName = "ConnectorName"
    FullyQualifiedDomainName = "CONNECTOR-MACHINE"
    OperatingSystem = "Microsoft Windows 10 Enterprise Insider Preview | 10.0.19555"
    AppVersion = "0.19.7338.23496"
    Location = @{
        Latitude = 1.1
        Longitude = 2.2
        AltitudeInMeters = 3
    }
}
Update-MgBetaPrintConnector -PrintConnectorId $printConnectorId -BodyParameter $params
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
$params = @{
    Name = "PrinterName"
    Location = @{
        Latitude = 1.1
        Longitude = 2.2
        AltitudeInMeters = 3
    }
}
Update-MgBetaPrintPrinter -PrinterId $printerId -BodyParameter $params
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
$params = @{
    DisplayName = "ShareName"
    AllowAllUsers = $true
    "Printer@odata.bind" = "https://graph.microsoft.com/beta/print/printers/{id}"
}
Update-MgBetaPrintShare -PrinterShareId $printerShareId -BodyParameter $params
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
Import-Module Microsoft.Graph.Beta.Devices.CloudPrint
$params = @{
    DisplayName = "Test TaskDefinitionName"
    CreatedBy = @{
        DisplayName = "Requesting App Display Name"
    }
}
Update-MgBetaPrintTaskDefinition -PrintTaskDefinitionId $printTaskDefinitionId -BodyParameter $params
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output 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
# MIInogYJKoZIhvcNAQcCoIInkzCCJ48CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAsyVAPhYcKgboh
# VzHCSicLOJEbqyHnze7ji1STlfu1uqCCDYUwggYDMIID66ADAgECAhMzAAACzfNk
# v/jUTF1RAAAAAALNMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjIwNTEyMjA0NjAyWhcNMjMwNTExMjA0NjAyWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDrIzsY62MmKrzergm7Ucnu+DuSHdgzRZVCIGi9CalFrhwtiK+3FIDzlOYbs/zz
# HwuLC3hir55wVgHoaC4liQwQ60wVyR17EZPa4BQ28C5ARlxqftdp3H8RrXWbVyvQ
# aUnBQVZM73XDyGV1oUPZGHGWtgdqtBUd60VjnFPICSf8pnFiit6hvSxH5IVWI0iO
# nfqdXYoPWUtVUMmVqW1yBX0NtbQlSHIU6hlPvo9/uqKvkjFUFA2LbC9AWQbJmH+1
# uM0l4nDSKfCqccvdI5l3zjEk9yUSUmh1IQhDFn+5SL2JmnCF0jZEZ4f5HE7ykDP+
# oiA3Q+fhKCseg+0aEHi+DRPZAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQU0WymH4CP7s1+yQktEwbcLQuR9Zww
# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzQ3MDUzMDAfBgNVHSMEGDAW
# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw
# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov
# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx
# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB
# AE7LSuuNObCBWYuttxJAgilXJ92GpyV/fTiyXHZ/9LbzXs/MfKnPwRydlmA2ak0r
# GWLDFh89zAWHFI8t9JLwpd/VRoVE3+WyzTIskdbBnHbf1yjo/+0tpHlnroFJdcDS
# MIsH+T7z3ClY+6WnjSTetpg1Y/pLOLXZpZjYeXQiFwo9G5lzUcSd8YVQNPQAGICl
# 2JRSaCNlzAdIFCF5PNKoXbJtEqDcPZ8oDrM9KdO7TqUE5VqeBe6DggY1sZYnQD+/
# LWlz5D0wCriNgGQ/TWWexMwwnEqlIwfkIcNFxo0QND/6Ya9DTAUykk2SKGSPt0kL
# tHxNEn2GJvcNtfohVY/b0tuyF05eXE3cdtYZbeGoU1xQixPZAlTdtLmeFNly82uB
# VbybAZ4Ut18F//UrugVQ9UUdK1uYmc+2SdRQQCccKwXGOuYgZ1ULW2u5PyfWxzo4
# BR++53OB/tZXQpz4OkgBZeqs9YaYLFfKRlQHVtmQghFHzB5v/WFonxDVlvPxy2go
# a0u9Z+ZlIpvooZRvm6OtXxdAjMBcWBAsnBRr/Oj5s356EDdf2l/sLwLFYE61t+ME
# iNYdy0pXL6gN3DxTVf2qjJxXFkFfjjTisndudHsguEMk8mEtnvwo9fOSKT6oRHhM
# 9sZ4HTg/TTMjUljmN3mBYWAWI5ExdC1inuog0xrKmOWVMIIHejCCBWKgAwIBAgIK
# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm
# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw
# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD
# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la
# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc
# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D
# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+
# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk
# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6
# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd
# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL
# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd
# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3
# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS
# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI
# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL
# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD
# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv
# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF
# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h
# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA
# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn
# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7
# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b
# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/
# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy
# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp
# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi
# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb
# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS
# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL
# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX
# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGXMwghlvAgEBMIGVMH4x
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p
# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAALN82S/+NRMXVEAAAAA
# As0wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIHQt
# xHdZ/tMxowulkKtsSo8v41JX+WWvKndRGfFbeWwMMEIGCisGAQQBgjcCAQwxNDAy
# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20wDQYJKoZIhvcNAQEBBQAEggEAqEE4XYmJurOp1XaY0a2P9jtpUqPFQTO7EbSy
# +Zvwbv7g1Jq5/zWZroVJdakUAJ8cjoxbisnHpBc2ztnlyg5usJbMemRmRtmHNEkn
# rWT7XNmIxDiy88KJrZ7vFi1IEaULZeVntS4BcBK+Jn4TDOs4yeq4mm2tRZu4NpW2
# atrVZyKaMVADv1cXDhsKv98Fwr4FaJfBTM9JnVsduFWhZHysm6+j45CvKP892Euv
# pmAqE1BQJ/+LBC9ZbDoRVhWT3WXz+tZWL0zwS6GNXVHwIs3dmg5G2BjJ2R8uzSh2
# eJtbJljbaLHv31MvQak6SPVQ+z36MR9YlicN16xyfzhP3SFVC6GCFv0wghb5Bgor
# BgEEAYI3AwMBMYIW6TCCFuUGCSqGSIb3DQEHAqCCFtYwghbSAgEDMQ8wDQYJYIZI
# AWUDBAIBBQAwggFRBgsqhkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYBBAGE
# WQoDATAxMA0GCWCGSAFlAwQCAQUABCCqCUAgktAVkxHUIX456XxSaZTtvSkUB4kd
# BtjOej+IMAIGY+Zgc1+XGBMyMDIzMDIxNDE0MDUzMC43NTVaMASAAgH0oIHQpIHN
# MIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQL
# ExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYDVQQLEx1UaGFsZXMg
# VFNTIEVTTjozQkJELUUzMzgtRTlBMTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt
# U3RhbXAgU2VydmljZaCCEVQwggcMMIIE9KADAgECAhMzAAABxjDNLtbTocD0AAEA
# AAHGMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw
# MB4XDTIyMTEwNDE5MDEzNFoXDTI0MDIwMjE5MDEzNFowgcoxCzAJBgNVBAYTAlVT
# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVy
# aWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjNCQkQtRTMz
# OC1FOUExMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIC
# IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA770iOr6v4Hk1m3SZj+1BR/iu
# ofv+f6eVb7Hc21YxzAzro4G6kKXF47YAsEgrWWT1ogvp0IroFm8CdRZTf/DlQ0fb
# NNO9pCA01KJ03zH82Clmk9ze9r1jPJ1ZJaMnsZmAy7VpY9mNqX9dhPvnW1/Zxbbi
# Hv7qwwgw9U2ST5mfcpPutsI/Qr/gLC6aTI3UCYziVPZ/Qfag8NQhKkpHZO3Kr5r8
# 3cy7jz4OWPy5M2WitWv5bJJ5rBTW518QPEzFwzq8e8P722CWKZJFjN8etBgsK05g
# HeHaN9kmlpYJJL84v9JiaX7NFJkORhApEFZiUIaZoLxJt4pcBDzf+WD9UAjRKCrA
# seJ/ckzQvOn95X4Ot4asnOuNhcCdcQWcrZoykFmEaoYkrsD7n/4nFFHwJDKUaBYZ
# ZLwPj7ux48S1Ye+cMccMxdRSjuoG4rqJqpEd6gzfz239v36L+LtOlQhfL5cnclhN
# SWdmKw1THyekH96RNtOpIE7c+9Tnsv1aE9hphejLOJxfsXTkyw0FIdilc0CP7zzU
# sqaCGF2mFXRwL4jfX1RyV7QGKEeOpvGZqQKLHVZbLD32ztW8Lfv99xQ24d/TIxO9
# LReuHsnwotn+8BsCrzu+/24vOcA9Xcpd7kIeW4zmUxhFsv4KCfiqMptZhhMAA0Sq
# Duj23cj10smXROLUnhUCAwEAAaOCATYwggEyMB0GA1UdDgQWBBRxX/lHiShECp1n
# 2lMa6G1uLvNglDAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtTNRnpcjBfBgNV
# HR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2Ny
# bC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcmwwbAYI
# KwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAy
# MDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0G
# CSqGSIb3DQEBCwUAA4ICAQALzF724jXugDU486PMBYR7Cc6aHr2nJDnGsnkqwZYm
# jRi28qv6S1Ly772zwm5DI189zgAQ99xhEjW6uYkrX5UrtVu7JUQP6bBBBJ98c28F
# AIPIK3fkQNCv2rxRjfQMJSdcwsJeTK7Ld09OuA5hY4PWCBgJpfY71LcaXz3FR8AN
# PFX6zcKYbgYOZregtpDub34N0QhR7wc/FcmV+g4I3IdTAoMD2/WI5ZsfKTzBUn/U
# 3ApUhNwbOl5YSC+f9S1LStbZLwPzMS+fLPXJUSe7SSvspfSsr/VEe0oQhmaR+5vc
# q+7MLw861WBVhYpJ7TB5YBS5ORO9XdIbcpbBFwcHPmb8iZqSIqW9JpgG76+5NQUL
# PVzZ75z5W2R5ZiyQktiHpMwjX2OO29Z8+nTw2tOsVCcwzH9LoELedv3PjcpbwOyL
# jtm1T4XHYd3qbd9DXoBjNYkSjdi37pNp58u+rITltLKOjjQCJwj1FpnuBY825B5C
# 0uC/NYESEKsTicEjhS/4ujBXLcNGDhVBl2vHE6qY/YW4ky1vcypvUrsG81gpv2+8
# /ihOwg4wTLO7XqikeIiU3ZWAUAoOpTl14tedQqxbHTDveJYR3OU0yKB2xwf87EWC
# Ab0CJimhDmyQaKEvSV0fLW9iVyI0wYcG4V2aVN6TrZ4mr+ffaqDQD9F+HpPhP0pl
# AzCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJKoZIhvcNAQEL
# BQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNV
# BAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4X
# DTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMCVVMxEzAR
# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh
# bXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDk4aZM
# 57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm
# 95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aORmsHFPPFdvWGUNzB
# RMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBb
# fowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc6XBpDco2LXCO
# Mcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYw
# XE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3EXzTdEonW
# /aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/w
# EPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1qGFphAXPK
# Z6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0kZSU2LlQ+QuJYfM2
# BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXbGjfH
# CBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB3TCCAdkwEgYJKwYB
# BAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8v
# BO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwGA1UdIARVMFMwUQYM
# KwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0
# LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUEDDAKBggrBgEF
# BQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBW
# BgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUH
# AQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp
# L2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0BAQsF
# AAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4sQaTlz0xM7U518Jx
# Nj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+
# iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRXud2f8449xvNo32X2
# pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefw
# C2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzskYDSPeZKPmY7
# T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFO
# Ry3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxnGSgkujhL
# mm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3L
# wUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokLjzbaukz5
# m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+oDEzfbzL6Xu/OHBE
# 0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggLLMIICNAIB
# ATCB+KGB0KSBzTCByjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEmMCQGA1UE
# CxMdVGhhbGVzIFRTUyBFU046M0JCRC1FMzM4LUU5QTExJTAjBgNVBAMTHE1pY3Jv
# c29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUrDgMCGgMVAC01yuYmIVvs
# okSacJmWe8Mu2QFtoIGDMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
# b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw
# MTAwDQYJKoZIhvcNAQEFBQACBQDnlXwtMCIYDzIwMjMwMjE0MTExOTA5WhgPMjAy
# MzAyMTUxMTE5MDlaMHQwOgYKKwYBBAGEWQoEATEsMCowCgIFAOeVfC0CAQAwBwIB
# AAICEHowBwIBAAICEdIwCgIFAOeWza0CAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYK
# KwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQUF
# AAOBgQCjmLTPFt1gWFZFeemobi2K4Kz22hhPZQ89FH736QYic1QyNlGb5onl4unu
# X67pjZcl+QrSQChkrt34xrX+Oa79bMwrc2iuoEEPONSQ7eE8Zdo8vpSuv2jXCMee
# 7SkzC/M7x1oydatr7T58YmnYJADqfo6j2BvGGr2Kq+9kMhKtcTGCBA0wggQJAgEB
# MIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV
# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABxjDNLtbTocD0
# AAEAAAHGMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcN
# AQkQAQQwLwYJKoZIhvcNAQkEMSIEIKNkAb6EPzXDse8kX2KxHU2vsZthYPHG5D4U
# 1WFthifZMIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgVjETXFXJvZgpxiZq
# k/BwDWA5Pxw6hehULpkFr9rjry0wgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEG
# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
# cm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt
# cCBQQ0EgMjAxMAITMwAAAcYwzS7W06HA9AABAAABxjAiBCDDEaH6oMHC7aRk5pPV
# +fbiNUHKrTp7UJ1d+9SbqBqf0zANBgkqhkiG9w0BAQsFAASCAgCjs/C+2heaJCXB
# ncBIZs09oQMZzIgZfU5pCxmglSO/jesDlOcIHaw6//SSLs28vHAqg3t3u3dWqv+5
# YoER/RTnodbYNopBeO7LEs03gjEn30ck/YwprpKbf+tL4QmLWQGzosjdG2BHRvrZ
# h1qwBXNO99MlasXW7Wf5wq6DV+APc20sQdo1OQhRU7UOGKNJQrN6jrLoOW3NEefw
# rnb+DkBKl2NSSG+ddNDZ7SectSJ8r2I+BVMhZEY3oDxSaXFYsWmTwkoJcWC132hM
# PtnM5LpYw8fcv+0Ikz0culdMN/0iAlNk/qehsC9m9O0n/221iI9VPWEvZnI7uixA
# MyFnuqELdRFSyctvY8l85m4njev0iIIsJmku1ujhUefuK7Snyk6fJLeEEf+udUwL
# lgH3U2KAd/JCguYHYz+nFwDCbtrkh1NeiLqQIur4THMOjguOLPwknXjvLtwV/HLF
# v9Ph1u8e7hdZZs4EhMP//yJt1bOWlO1kHhtG0aSJo+2cNrdQEBr9LrJPQ3MK5LZt
# Xgy5hauLJGlPJzAvMauaTFI5+4MJ29Nr/LW0aKPuWqVg6ay1btRPrCRB1SxADfqr
# HgAZYaoiNGQ7rSmRWCU61207dFOR3tV8z7m7BHtW/ttNModBim9mryVQbiEF7kj6
# ZACbxSIC+SBDCNxMzmJpSCk/ON7CeQ==
# SIG # End signature block