exports/v1.0-beta/ProxyCmdletDefinitions.ps1


# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get connectors from print
.Description
Get connectors from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintconnector
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintConnector_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintConnector_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintConnector_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get operations from print
.Description
Get operations from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintoperation
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintOperation_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintOperation_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintOperation_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get allowedGroups from print
.Description
Get allowedGroups from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprinterallowedgroup
#>

function Get-MgPrintPrinterAllowedGroup {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printIdentity
    ${PrintIdentityId},

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterAllowedGroup_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterAllowedGroup_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterAllowedGroup_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get allowedUsers from print
.Description
Get allowedUsers from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprinteralloweduser
#>

function Get-MgPrintPrinterAllowedUser {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printUserIdentity
    ${PrintUserIdentityId},

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterAllowedUser_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterAllowedUser_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterAllowedUser_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getCapabilities
.Description
Invoke function getCapabilities
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintercapability
#>

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterCapability_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterCapability_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get ref of connectors from print
.Description
Get ref of connectors from print
.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.devices.cloudprint/get-mgprintprinterconnectorbyref
#>

function Get-MgPrintPrinterConnectorByRef {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterConnectorByRef_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get connectors from print
.Description
Get connectors from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintConnector
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprinterconnector
#>

function Get-MgPrintPrinterConnector {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintConnector])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter()]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterConnector_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get allowedGroups from print
.Description
Get allowedGroups from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintershareallowedgroup
#>

function Get-MgPrintPrinterShareAllowedGroup {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printIdentity
    ${PrintIdentityId},

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterShareAllowedGroup_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterShareAllowedGroup_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterShareAllowedGroup_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get allowedUsers from print
.Description
Get allowedUsers from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintersharealloweduser
#>

function Get-MgPrintPrinterShareAllowedUser {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printUserIdentity
    ${PrintUserIdentityId},

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterShareAllowedUser_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterShareAllowedUser_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterShareAllowedUser_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get ref of share from print
.Description
Get ref of share from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.String
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintersharebyref
#>

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterShareByRef_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterShareByRef_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get ref of printer from print
.Description
Get ref of printer from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.String
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintershareprinterbyref
#>

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterSharePrinterByRef_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterSharePrinterByRef_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getCapabilities
.Description
Invoke function getCapabilities
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintershareprintercapability
#>

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterSharePrinterCapability_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterSharePrinterCapability_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get printer from print
.Description
Get printer from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintershareprinter
#>

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterSharePrinter_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterSharePrinter_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get share from print
.Description
Get share from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintershare
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterShare_Get';
            Get1 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterShare_Get1';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterShare_GetViaIdentity';
            GetViaIdentity1 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterShare_GetViaIdentity1';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterShare_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get ref of definition from print
.Description
Get ref of definition from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.String
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintertasktriggerdefinitionbyref
#>

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterTaskTriggerDefinitionByRef_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterTaskTriggerDefinitionByRef_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get definition from print
.Description
Get definition from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintertasktriggerdefinition
#>

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

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterTaskTriggerDefinition_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterTaskTriggerDefinition_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get taskTriggers from print
.Description
Get taskTriggers from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprintertasktrigger
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinterTaskTrigger_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterTaskTrigger_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinterTaskTrigger_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get printers from print
.Description
Get printers from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintprinter
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintPrinter_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinter_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintPrinter_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getGroupArchivedPrintJobs
.Description
Invoke function getGroupArchivedPrintJobs
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphArchivedPrintJob
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintreportgrouparchivedprintjob
#>

function Get-MgPrintReportGroupArchivedPrintJob {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphArchivedPrintJob])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # .
    ${GroupId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodEnd},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodStart},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintReportGroupArchivedPrintJob_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportGroupArchivedPrintJob_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getGroupPrintUsageSummary
.Description
Invoke function getGroupPrintUsageSummary
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphGroupPrintUsageSummary
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintreportgroupprintusagesummary
#>

function Get-MgPrintReportGroupPrintUsageSummary {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphGroupPrintUsageSummary])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # .
    ${GroupId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodEnd},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodStart},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintReportGroupPrintUsageSummary_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportGroupPrintUsageSummary_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getOverallPrintUsageSummary
.Description
Invoke function getOverallPrintUsageSummary
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOverallPrintUsageSummary
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintreportoverallprintusagesummary
#>

function Get-MgPrintReportOverallPrintUsageSummary {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOverallPrintUsageSummary])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodEnd},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodStart},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.Int32]
    # .
    ${TopListsSize},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintReportOverallPrintUsageSummary_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportOverallPrintUsageSummary_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getPrinterArchivedPrintJobs
.Description
Invoke function getPrinterArchivedPrintJobs
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphArchivedPrintJob
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintreportprinterarchivedprintjob
#>

function Get-MgPrintReportPrinterArchivedPrintJob {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphArchivedPrintJob])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodEnd},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodStart},

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintReportPrinterArchivedPrintJob_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportPrinterArchivedPrintJob_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getPrinterUsageSummary
.Description
Invoke function getPrinterUsageSummary
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterUsageSummary
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintreportprinterusagesummary
#>

function Get-MgPrintReportPrinterUsageSummary {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterUsageSummary])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodEnd},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodStart},

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintReportPrinterUsageSummary_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportPrinterUsageSummary_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getPrintUsageSummariesByGroup
.Description
Invoke function getPrintUsageSummariesByGroup
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphGroupPrintUsageSummary
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterUsageSummary
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUsageSummary
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphUserPrintUsageSummary
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintreportprintusagesummary
#>

function Get-MgPrintReportPrintUsageSummary {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphGroupPrintUsageSummary], [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterUsageSummary], [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUsageSummary], [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphUserPrintUsageSummary])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='Get1', Mandatory)]
    [Parameter(ParameterSetName='Get2', Mandatory)]
    [Parameter(ParameterSetName='Get3', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodEnd},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='Get1', Mandatory)]
    [Parameter(ParameterSetName='Get2', Mandatory)]
    [Parameter(ParameterSetName='Get3', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodStart},

    [Parameter(ParameterSetName='Get2', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.Int32]
    # .
    ${TimeSpanInMinutes},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintReportPrintUsageSummary_Get';
            Get1 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportPrintUsageSummary_Get1';
            Get2 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportPrintUsageSummary_Get2';
            Get3 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportPrintUsageSummary_Get3';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportPrintUsageSummary_GetViaIdentity';
            GetViaIdentity1 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportPrintUsageSummary_GetViaIdentity1';
            GetViaIdentity2 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportPrintUsageSummary_GetViaIdentity2';
            GetViaIdentity3 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportPrintUsageSummary_GetViaIdentity3';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getUserArchivedPrintJobs
.Description
Invoke function getUserArchivedPrintJobs
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphArchivedPrintJob
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintreportuserarchivedprintjob
#>

function Get-MgPrintReportUserArchivedPrintJob {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphArchivedPrintJob])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodEnd},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodStart},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # .
    ${UserId},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintReportUserArchivedPrintJob_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportUserArchivedPrintJob_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getUserPrintUsageSummary
.Description
Invoke function getUserPrintUsageSummary
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphUserPrintUsageSummary
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintreportuserprintusagesummary
#>

function Get-MgPrintReportUserPrintUsageSummary {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphUserPrintUsageSummary])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodEnd},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.DateTime]
    # .
    ${PeriodStart},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # .
    ${UserId},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintReportUserPrintUsageSummary_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReportUserPrintUsageSummary_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get reports from print
.Description
Get reports from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReportRoot
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintreport
#>

function Get-MgPrintReport {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReportRoot])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of reportRoot
    ${ReportRootId},

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintReport_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReport_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintReport_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get endpoints from print
.Description
Get endpoints from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintserviceendpoint
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintServiceEndpoint_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintServiceEndpoint_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintServiceEndpoint_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get services from print
.Description
Get services from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintservice
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintService_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintService_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintService_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get allowedGroups from print
.Description
Get allowedGroups from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintshareallowedgroup
#>

function Get-MgPrintShareAllowedGroup {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printIdentity
    ${PrintIdentityId},

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintShareAllowedGroup_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintShareAllowedGroup_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintShareAllowedGroup_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get allowedUsers from print
.Description
Get allowedUsers from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintsharealloweduser
#>

function Get-MgPrintShareAllowedUser {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printUserIdentity
    ${PrintUserIdentityId},

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintShareAllowedUser_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintShareAllowedUser_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintShareAllowedUser_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get ref of printer from print
.Description
Get ref of printer from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.String
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintshareprinterbyref
#>

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintSharePrinterByRef_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintSharePrinterByRef_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Invoke function getCapabilities
.Description
Invoke function getCapabilities
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintshareprintercapability
#>

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintSharePrinterCapability_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintSharePrinterCapability_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get printer from print
.Description
Get printer from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintshareprinter
#>

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintSharePrinter_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintSharePrinter_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get shares from print
.Description
Get shares from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprintshare
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintShare_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintShare_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintShare_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get ref of definition from print
.Description
Get ref of definition from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.String
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprinttaskdefinitiontaskdefinitionbyref
#>

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintTaskDefinitionTaskDefinitionByRef_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintTaskDefinitionTaskDefinitionByRef_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get ref of trigger from print
.Description
Get ref of trigger from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
System.String
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprinttaskdefinitiontasktriggerbyref
#>

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintTaskDefinitionTaskTriggerByRef_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintTaskDefinitionTaskTriggerByRef_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get trigger from print
.Description
Get trigger from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprinttaskdefinitiontasktrigger
#>

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

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintTaskDefinitionTaskTrigger_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintTaskDefinitionTaskTrigger_GetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get tasks from print
.Description
Get tasks from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprinttaskdefinitiontask
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintTaskDefinitionTask_Get';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintTaskDefinitionTask_GetViaIdentity';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintTaskDefinitionTask_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Get taskDefinitions from print
.Description
Get taskDefinitions from print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Outputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprinttaskdefinition
#>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrintTaskDefinition_Get';
            Get1 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintTaskDefinition_Get1';
            GetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintTaskDefinition_GetViaIdentity';
            GetViaIdentity1 = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintTaskDefinition_GetViaIdentity1';
            List = 'Microsoft.Graph.Devices.CloudPrint.private\Get-MgPrintTaskDefinition_List';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IMicrosoftGraphPrint
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/get-mgprint
#>

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Get-MgPrint_Get';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to connectors for print
.Description
Create new navigation property to connectors for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintConnector
.Outputs
Microsoft.Graph.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>]: Read-only.
  [AppVersion <String>]:
  [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastConnectionTime <DateTime?>]:
  [FullyQualifiedDomainName <String>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Name <String>]:
  [OperatingSystem <String>]:
  [RegisteredDateTime <DateTime?>]:
 
DEVICEHEALTH <IMicrosoftGraphDeviceHealth>: deviceHealth
  [(Any) <Object>]: This indicates any property can be added to this object.
  [LastConnectionTime <DateTime?>]:
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]:
  [Building <String>]:
  [City <String>]:
  [CountryOrRegion <String>]:
  [FloorDescription <String>]:
  [FloorNumber <Int32?>]:
  [Latitude <Single?>]:
  [Longitude <Single?>]:
  [Organization <String[]>]:
  [PostalCode <String>]:
  [RoomDescription <String>]:
  [RoomNumber <Int32?>]:
  [Site <String>]:
  [StateOrProvince <String>]:
  [StreetAddress <String>]:
  [Subdivision <String[]>]:
  [Subunit <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintconnector
#>

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

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintConnector_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintConnector_CreateExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IMicrosoftGraphPrintOperation
.Outputs
Microsoft.Graph.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>]: Read-only.
  [CreatedDateTime <DateTime?>]:
  [Status <IMicrosoftGraphPrintOperationStatus>]: printOperationStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]:
    [State <String>]: printOperationProcessingState
 
STATUS <IMicrosoftGraphPrintOperationStatus>: printOperationStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]:
  [State <String>]: printOperationProcessingState
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintoperation
#>

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintOperation_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintOperation_CreateExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to allowedGroups for print
.Description
Create new navigation property 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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.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 <IMicrosoftGraphPrintIdentity>: printIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintprinterallowedgroup
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity]
    # printIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintPrinterAllowedGroup_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterAllowedGroup_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterAllowedGroup_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterAllowedGroup_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to allowedUsers for print
.Description
Create new navigation property 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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.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 <IMicrosoftGraphPrintUserIdentity>: printUserIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintprinteralloweduser
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity]
    # printUserIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintPrinterAllowedUser_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterAllowedUser_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterAllowedUser_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterAllowedUser_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property ref to connectors for print
.Description
Create new navigation property ref to connectors for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
System.Collections.Hashtable
.Outputs
Microsoft.Graph.PowerShell.Models.IPaths1Vqtzl6PrintPrintersPrinterIdConnectorsRefPostResponses201ContentApplicationJsonSchema
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintprinterconnectorbyref
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Runtime.Info(Required, PossibleTypes=([Microsoft.Graph.PowerShell.Models.IPaths1R74WmgPrintPrintersPrinterIdConnectorsRefPostRequestbodyContentApplicationJsonSchema]))]
    [System.Collections.Hashtable]
    # .
    ${BodyParameter},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintPrinterConnectorByRef_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterConnectorByRef_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterConnectorByRef_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterConnectorByRef_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to allowedGroups for print
.Description
Create new navigation property 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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.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 <IMicrosoftGraphPrintIdentity>: printIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintprintershareallowedgroup
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity]
    # printIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintPrinterShareAllowedGroup_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterShareAllowedGroup_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterShareAllowedGroup_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterShareAllowedGroup_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to allowedUsers for print
.Description
Create new navigation property 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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.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 <IMicrosoftGraphPrintUserIdentity>: printUserIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintprintersharealloweduser
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity]
    # printUserIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintPrinterShareAllowedUser_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterShareAllowedUser_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterShareAllowedUser_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterShareAllowedUser_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IMicrosoftGraphPrinterShare
.Outputs
Microsoft.Graph.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.
 
ALLOWEDGROUPS <IMicrosoftGraphPrintIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
ALLOWEDUSERS <IMicrosoftGraphPrintUserIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AllowAllUsers <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [CreatedDateTime <DateTime?>]:
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AcceptingJobs <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Connectors <IMicrosoftGraphPrintConnector[]>]:
      [Id <String>]: Read-only.
      [AppVersion <String>]:
      [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
        [(Any) <Object>]: This indicates any property can be added to this object.
        [LastConnectionTime <DateTime?>]:
      [FullyQualifiedDomainName <String>]:
      [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
      [Name <String>]:
      [OperatingSystem <String>]:
      [RegisteredDateTime <DateTime?>]:
    [IsShared <Boolean?>]:
    [RegisteredDateTime <DateTime?>]:
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]:
  [Collation <Boolean?>]:
  [ColorModes <String[]>]:
  [ContentTypes <String[]>]:
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]:
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]:
  [Dpis <Int32[]>]:
  [DuplexModes <String[]>]:
  [FeedDirections <String[]>]:
  [Finishings <String[]>]:
  [InputBins <String[]>]:
  [IsColorPrintingSupported <Boolean?>]:
  [IsPageRangeSupported <Boolean?>]:
  [LeftMargins <Int32[]>]:
  [MediaColors <String[]>]:
  [MediaSizes <String[]>]:
  [MediaTypes <String[]>]:
  [MultipageLayouts <String[]>]:
  [Orientations <String[]>]:
  [OutputBins <String[]>]:
  [PagesPerSheet <Int32[]>]:
  [Qualities <String[]>]:
  [RightMargins <Int32[]>]:
  [Scalings <String[]>]:
  [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?>]:
  [TopMargins <Int32[]>]:
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]:
  [CopiesPerJob <Int32?>]:
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]:
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]:
  [FitPdfToPage <Boolean?>]:
  [MediaColor <String>]:
  [MediaSize <String>]:
  [MediaType <String>]:
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]:
  [PagesPerSheet <Int32?>]:
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
JOBS <IMicrosoftGraphPrintJob[]>: .
  [Id <String>]: Read-only.
  [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
    [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
    [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
  [CreatedDateTime <DateTime?>]:
  [Documents <IMicrosoftGraphPrintDocument[]>]:
    [Id <String>]: Read-only.
    [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Collate <Boolean?>]:
      [ColorMode <String>]: printColorMode
      [Copies <Int32?>]:
      [Dpi <Int32?>]:
      [DuplexMode <String>]: printDuplexMode
      [FeedDirection <String>]: printerFeedDirection
      [Finishings <String[]>]:
      [FitPdfToPage <Boolean?>]:
      [InputBin <String>]:
      [Margin <IMicrosoftGraphPrintMargin>]: printMargin
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Bottom <Int32?>]:
        [Left <Int32?>]:
        [Right <Int32?>]:
        [Top <Int32?>]:
      [MediaSize <String>]:
      [MediaType <String>]:
      [MultipageLayout <String>]: printMultipageLayout
      [Orientation <String>]: printOrientation
      [OutputBin <String>]:
      [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [End <Int64?>]:
        [Maximum <Int64?>]:
        [Minimum <Int64?>]:
        [Start <Int64?>]:
      [PagesPerSheet <Int32?>]:
      [Quality <String>]: printQuality
      [Scaling <String>]: printScaling
    [ContentType <String>]:
    [DisplayName <String>]:
    [Size <Int64?>]:
  [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AcquiredByPrinter <Boolean?>]:
    [ProcessingState <String>]: printJobProcessingState
    [ProcessingStateDescription <String>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
        [(Any) <Object>]: This indicates any property can be added to this object.
        [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
      [Tasks <IMicrosoftGraphPrintTask[]>]:
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]:
  [Building <String>]:
  [City <String>]:
  [CountryOrRegion <String>]:
  [FloorDescription <String>]:
  [FloorNumber <Int32?>]:
  [Latitude <Single?>]:
  [Longitude <Single?>]:
  [Organization <String[]>]:
  [PostalCode <String>]:
  [RoomDescription <String>]:
  [RoomNumber <Int32?>]:
  [Site <String>]:
  [StateOrProvince <String>]:
  [StreetAddress <String>]:
  [Subdivision <String[]>]:
  [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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AcceptingJobs <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [Connectors <IMicrosoftGraphPrintConnector[]>]:
    [Id <String>]: Read-only.
    [AppVersion <String>]:
    [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastConnectionTime <DateTime?>]:
    [FullyQualifiedDomainName <String>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Name <String>]:
    [OperatingSystem <String>]:
    [RegisteredDateTime <DateTime?>]:
  [IsShared <Boolean?>]:
  [RegisteredDateTime <DateTime?>]:
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AllowAllUsers <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [CreatedDateTime <DateTime?>]:
    [Printer <IMicrosoftGraphPrinter>]: printer
  [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintprintershare
#>

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintPrinterShare_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterShare_CreateExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to taskTriggers for print
.Description
Create new navigation property to taskTriggers for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger
.Outputs
Microsoft.Graph.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>]: Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
  [Event <String>]: printEvent
 
DEFINITION <IMicrosoftGraphPrintTaskDefinition>: printTaskDefinition
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintprintertasktrigger
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # printEvent
    ${Event},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintPrinterTaskTrigger_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterTaskTrigger_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterTaskTrigger_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintPrinterTaskTrigger_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to reports for print
.Description
Create new navigation property to reports for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReportRoot
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReportRoot
.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.
 
APPLICATIONSIGNINDETAILEDSUMMARY <IMicrosoftGraphApplicationSignInDetailedSummary[]>: .
  [Id <String>]: Read-only.
  [AggregatedEventDateTime <DateTime?>]:
  [AppDisplayName <String>]:
  [AppId <String>]:
  [SignInCount <Int64?>]:
  [Status <IMicrosoftGraphSignInStatus>]: signInStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AdditionalDetails <String>]: Provides additional details on the sign-in activity
    [ErrorCode <Int32?>]: Provides the 5-6digit error code that's generated during a sign-in failure. Check out the list of error codes and messages.
    [FailureReason <String>]: Provides the error message or the reason for failure for the corresponding sign-in activity. Check out the list of error codes and messages.
 
BODYPARAMETER <IMicrosoftGraphReportRoot>: The resource that represents an instance of History Reports.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [ApplicationSignInDetailedSummary <IMicrosoftGraphApplicationSignInDetailedSummary[]>]:
    [Id <String>]: Read-only.
    [AggregatedEventDateTime <DateTime?>]:
    [AppDisplayName <String>]:
    [AppId <String>]:
    [SignInCount <Int64?>]:
    [Status <IMicrosoftGraphSignInStatus>]: signInStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AdditionalDetails <String>]: Provides additional details on the sign-in activity
      [ErrorCode <Int32?>]: Provides the 5-6digit error code that's generated during a sign-in failure. Check out the list of error codes and messages.
      [FailureReason <String>]: Provides the error message or the reason for failure for the corresponding sign-in activity. Check out the list of error codes and messages.
  [CredentialUserRegistrationDetails <IMicrosoftGraphCredentialUserRegistrationDetails[]>]:
    [Id <String>]: Read-only.
    [AuthMethods <String[]>]:
    [IsCapable <Boolean?>]:
    [IsEnabled <Boolean?>]:
    [IsMfaRegistered <Boolean?>]:
    [IsRegistered <Boolean?>]:
    [UserDisplayName <String>]:
    [UserPrincipalName <String>]:
  [DailyPrintUsageSummariesByPrinter <IMicrosoftGraphPrintUsageSummaryByPrinter[]>]:
    [Id <String>]: Read-only.
    [CompletedBlackAndWhiteJobCount <Int64?>]:
    [CompletedColorJobCount <Int64?>]:
    [IncompleteJobCount <Int64?>]:
    [PrinterId <String>]:
    [UsageDate <DateTime?>]:
  [DailyPrintUsageSummariesByUser <IMicrosoftGraphPrintUsageSummaryByUser[]>]:
    [Id <String>]: Read-only.
    [CompletedBlackAndWhiteJobCount <Int64?>]:
    [CompletedColorJobCount <Int64?>]:
    [IncompleteJobCount <Int64?>]:
    [UsageDate <DateTime?>]:
    [UserPrincipalName <String>]:
  [MonthlyPrintUsageSummariesByPrinter <IMicrosoftGraphPrintUsageSummaryByPrinter[]>]:
  [MonthlyPrintUsageSummariesByUser <IMicrosoftGraphPrintUsageSummaryByUser[]>]:
  [UserCredentialUsageDetails <IMicrosoftGraphUserCredentialUsageDetails[]>]:
    [Id <String>]: Read-only.
    [AuthMethod <String>]: usageAuthMethod
    [EventDateTime <DateTime?>]:
    [FailureReason <String>]:
    [Feature <String>]: featureType
    [IsSuccess <Boolean?>]:
    [UserDisplayName <String>]:
    [UserPrincipalName <String>]:
 
CREDENTIALUSERREGISTRATIONDETAILS <IMicrosoftGraphCredentialUserRegistrationDetails[]>: .
  [Id <String>]: Read-only.
  [AuthMethods <String[]>]:
  [IsCapable <Boolean?>]:
  [IsEnabled <Boolean?>]:
  [IsMfaRegistered <Boolean?>]:
  [IsRegistered <Boolean?>]:
  [UserDisplayName <String>]:
  [UserPrincipalName <String>]:
 
DAILYPRINTUSAGESUMMARIESBYPRINTER <IMicrosoftGraphPrintUsageSummaryByPrinter[]>: .
  [Id <String>]: Read-only.
  [CompletedBlackAndWhiteJobCount <Int64?>]:
  [CompletedColorJobCount <Int64?>]:
  [IncompleteJobCount <Int64?>]:
  [PrinterId <String>]:
  [UsageDate <DateTime?>]:
 
DAILYPRINTUSAGESUMMARIESBYUSER <IMicrosoftGraphPrintUsageSummaryByUser[]>: .
  [Id <String>]: Read-only.
  [CompletedBlackAndWhiteJobCount <Int64?>]:
  [CompletedColorJobCount <Int64?>]:
  [IncompleteJobCount <Int64?>]:
  [UsageDate <DateTime?>]:
  [UserPrincipalName <String>]:
 
MONTHLYPRINTUSAGESUMMARIESBYPRINTER <IMicrosoftGraphPrintUsageSummaryByPrinter[]>: .
  [Id <String>]: Read-only.
  [CompletedBlackAndWhiteJobCount <Int64?>]:
  [CompletedColorJobCount <Int64?>]:
  [IncompleteJobCount <Int64?>]:
  [PrinterId <String>]:
  [UsageDate <DateTime?>]:
 
MONTHLYPRINTUSAGESUMMARIESBYUSER <IMicrosoftGraphPrintUsageSummaryByUser[]>: .
  [Id <String>]: Read-only.
  [CompletedBlackAndWhiteJobCount <Int64?>]:
  [CompletedColorJobCount <Int64?>]:
  [IncompleteJobCount <Int64?>]:
  [UsageDate <DateTime?>]:
  [UserPrincipalName <String>]:
 
USERCREDENTIALUSAGEDETAILS <IMicrosoftGraphUserCredentialUsageDetails[]>: .
  [Id <String>]: Read-only.
  [AuthMethod <String>]: usageAuthMethod
  [EventDateTime <DateTime?>]:
  [FailureReason <String>]:
  [Feature <String>]: featureType
  [IsSuccess <Boolean?>]:
  [UserDisplayName <String>]:
  [UserPrincipalName <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintreport
#>

function New-MgPrintReport {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReportRoot])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReportRoot]
    # The resource that represents an instance of History Reports.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintReport_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintReport_CreateExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to endpoints for print
.Description
Create new navigation property to endpoints for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint
.Outputs
Microsoft.Graph.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>]: Read-only.
  [DisplayName <String>]:
  [Uri <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintserviceendpoint
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintServiceEndpoint_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintServiceEndpoint_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintServiceEndpoint_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintServiceEndpoint_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to services for print
.Description
Create new navigation property to services for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintService
.Outputs
Microsoft.Graph.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>]: Read-only.
  [Endpoints <IMicrosoftGraphPrintServiceEndpoint[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [Uri <String>]:
 
ENDPOINTS <IMicrosoftGraphPrintServiceEndpoint[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [Uri <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintservice
#>

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintService_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintService_CreateExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to allowedGroups for print
.Description
Create new navigation property 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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.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 <IMicrosoftGraphPrintIdentity>: printIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintshareallowedgroup
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity]
    # printIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintShareAllowedGroup_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintShareAllowedGroup_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintShareAllowedGroup_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintShareAllowedGroup_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to allowedUsers for print
.Description
Create new navigation property 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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.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 <IMicrosoftGraphPrintUserIdentity>: printUserIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintsharealloweduser
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity]
    # printUserIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintShareAllowedUser_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintShareAllowedUser_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintShareAllowedUser_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintShareAllowedUser_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to shares for print
.Description
Create new navigation property to shares for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterShare
.Outputs
Microsoft.Graph.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.
 
ALLOWEDGROUPS <IMicrosoftGraphPrintIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
ALLOWEDUSERS <IMicrosoftGraphPrintUserIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AllowAllUsers <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [CreatedDateTime <DateTime?>]:
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AcceptingJobs <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Connectors <IMicrosoftGraphPrintConnector[]>]:
      [Id <String>]: Read-only.
      [AppVersion <String>]:
      [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
        [(Any) <Object>]: This indicates any property can be added to this object.
        [LastConnectionTime <DateTime?>]:
      [FullyQualifiedDomainName <String>]:
      [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
      [Name <String>]:
      [OperatingSystem <String>]:
      [RegisteredDateTime <DateTime?>]:
    [IsShared <Boolean?>]:
    [RegisteredDateTime <DateTime?>]:
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]:
  [Collation <Boolean?>]:
  [ColorModes <String[]>]:
  [ContentTypes <String[]>]:
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]:
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]:
  [Dpis <Int32[]>]:
  [DuplexModes <String[]>]:
  [FeedDirections <String[]>]:
  [Finishings <String[]>]:
  [InputBins <String[]>]:
  [IsColorPrintingSupported <Boolean?>]:
  [IsPageRangeSupported <Boolean?>]:
  [LeftMargins <Int32[]>]:
  [MediaColors <String[]>]:
  [MediaSizes <String[]>]:
  [MediaTypes <String[]>]:
  [MultipageLayouts <String[]>]:
  [Orientations <String[]>]:
  [OutputBins <String[]>]:
  [PagesPerSheet <Int32[]>]:
  [Qualities <String[]>]:
  [RightMargins <Int32[]>]:
  [Scalings <String[]>]:
  [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?>]:
  [TopMargins <Int32[]>]:
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]:
  [CopiesPerJob <Int32?>]:
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]:
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]:
  [FitPdfToPage <Boolean?>]:
  [MediaColor <String>]:
  [MediaSize <String>]:
  [MediaType <String>]:
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]:
  [PagesPerSheet <Int32?>]:
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
JOBS <IMicrosoftGraphPrintJob[]>: .
  [Id <String>]: Read-only.
  [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
    [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
    [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
  [CreatedDateTime <DateTime?>]:
  [Documents <IMicrosoftGraphPrintDocument[]>]:
    [Id <String>]: Read-only.
    [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Collate <Boolean?>]:
      [ColorMode <String>]: printColorMode
      [Copies <Int32?>]:
      [Dpi <Int32?>]:
      [DuplexMode <String>]: printDuplexMode
      [FeedDirection <String>]: printerFeedDirection
      [Finishings <String[]>]:
      [FitPdfToPage <Boolean?>]:
      [InputBin <String>]:
      [Margin <IMicrosoftGraphPrintMargin>]: printMargin
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Bottom <Int32?>]:
        [Left <Int32?>]:
        [Right <Int32?>]:
        [Top <Int32?>]:
      [MediaSize <String>]:
      [MediaType <String>]:
      [MultipageLayout <String>]: printMultipageLayout
      [Orientation <String>]: printOrientation
      [OutputBin <String>]:
      [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [End <Int64?>]:
        [Maximum <Int64?>]:
        [Minimum <Int64?>]:
        [Start <Int64?>]:
      [PagesPerSheet <Int32?>]:
      [Quality <String>]: printQuality
      [Scaling <String>]: printScaling
    [ContentType <String>]:
    [DisplayName <String>]:
    [Size <Int64?>]:
  [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AcquiredByPrinter <Boolean?>]:
    [ProcessingState <String>]: printJobProcessingState
    [ProcessingStateDescription <String>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
        [(Any) <Object>]: This indicates any property can be added to this object.
        [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
      [Tasks <IMicrosoftGraphPrintTask[]>]:
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]:
  [Building <String>]:
  [City <String>]:
  [CountryOrRegion <String>]:
  [FloorDescription <String>]:
  [FloorNumber <Int32?>]:
  [Latitude <Single?>]:
  [Longitude <Single?>]:
  [Organization <String[]>]:
  [PostalCode <String>]:
  [RoomDescription <String>]:
  [RoomNumber <Int32?>]:
  [Site <String>]:
  [StateOrProvince <String>]:
  [StreetAddress <String>]:
  [Subdivision <String[]>]:
  [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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AcceptingJobs <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [Connectors <IMicrosoftGraphPrintConnector[]>]:
    [Id <String>]: Read-only.
    [AppVersion <String>]:
    [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastConnectionTime <DateTime?>]:
    [FullyQualifiedDomainName <String>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Name <String>]:
    [OperatingSystem <String>]:
    [RegisteredDateTime <DateTime?>]:
  [IsShared <Boolean?>]:
  [RegisteredDateTime <DateTime?>]:
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AllowAllUsers <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [CreatedDateTime <DateTime?>]:
    [Printer <IMicrosoftGraphPrinter>]: printer
  [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprintshare
#>

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintShare_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintShare_CreateExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to tasks for print
.Description
Create new navigation property to tasks for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTask
.Outputs
Microsoft.Graph.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>]: Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
  [ParentUrl <String>]:
  [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]:
    [State <String>]: printTaskProcessingState
  [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: 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>]: Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
 
STATUS <IMicrosoftGraphPrintTaskStatus>: printTaskStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]:
  [State <String>]: printTaskProcessingState
 
TRIGGER <IMicrosoftGraphPrintTaskTrigger>: printTaskTrigger
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
  [Event <String>]: printEvent
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprinttaskdefinitiontask
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintTaskDefinitionTask_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintTaskDefinitionTask_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintTaskDefinitionTask_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintTaskDefinitionTask_CreateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Create new navigation property to taskDefinitions for print
.Description
Create new navigation property to taskDefinitions for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition
.Outputs
Microsoft.Graph.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>]: Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
CREATEDBY <IMicrosoftGraphAppIdentity>: appIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AppId <String>]: Refers to the Unique GUID 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 GUID 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.
 
TASKS <IMicrosoftGraphPrintTask[]>: .
  [Id <String>]: Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
  [ParentUrl <String>]:
  [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]:
    [State <String>]: printTaskProcessingState
  [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [Event <String>]: printEvent
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/new-mgprinttaskdefinition
#>

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\New-MgPrintTaskDefinition_Create';
            CreateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\New-MgPrintTaskDefinition_CreateExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property connectors for print
.Description
Delete navigation property connectors for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintconnector
#>

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintConnector_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintConnector_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintoperation
#>

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintOperation_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintOperation_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property allowedGroups for print
.Description
Delete 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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprinterallowedgroup
#>

function Remove-MgPrintPrinterAllowedGroup {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printIdentity
    ${PrintIdentityId},

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinterAllowedGroup_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinterAllowedGroup_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property allowedUsers for print
.Description
Delete 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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprinteralloweduser
#>

function Remove-MgPrintPrinterAllowedUser {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printUserIdentity
    ${PrintUserIdentityId},

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinterAllowedUser_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinterAllowedUser_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property allowedGroups for print
.Description
Delete 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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprintershareallowedgroup
#>

function Remove-MgPrintPrinterShareAllowedGroup {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printIdentity
    ${PrintIdentityId},

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinterShareAllowedGroup_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinterShareAllowedGroup_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property allowedUsers for print
.Description
Delete 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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprintersharealloweduser
#>

function Remove-MgPrintPrinterShareAllowedUser {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printUserIdentity
    ${PrintUserIdentityId},

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinterShareAllowedUser_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinterShareAllowedUser_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete ref of navigation property share for print
.Description
Delete ref of navigation property share for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprintersharebyref
#>

function Remove-MgPrintPrinterShareByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinterShareByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinterShareByRef_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete ref of navigation property printer for print
.Description
Delete ref of navigation property printer for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprintershareprinterbyref
#>

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinterSharePrinterByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinterSharePrinterByRef_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprintershare
#>

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinterShare_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinterShare_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete ref of navigation property definition for print
.Description
Delete ref of navigation property definition for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprintertasktriggerdefinitionbyref
#>

function Remove-MgPrintPrinterTaskTriggerDefinitionByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskTrigger
    ${PrintTaskTriggerId},

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinterTaskTriggerDefinitionByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinterTaskTriggerDefinitionByRef_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property taskTriggers for print
.Description
Delete navigation property taskTriggers for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprintertasktrigger
#>

function Remove-MgPrintPrinterTaskTrigger {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskTrigger
    ${PrintTaskTriggerId},

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinterTaskTrigger_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinterTaskTrigger_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property printers for print
.Description
Delete navigation property printers for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintprinter
#>

function Remove-MgPrintPrinter {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintPrinter_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintPrinter_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property reports for print
.Description
Delete navigation property reports for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintreport
#>

function Remove-MgPrintReport {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of reportRoot
    ${ReportRootId},

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintReport_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintReport_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintserviceendpoint
#>

function Remove-MgPrintServiceEndpoint {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printServiceEndpoint
    ${PrintServiceEndpointId},

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

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintServiceEndpoint_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintServiceEndpoint_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintservice
#>

function Remove-MgPrintService {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintService_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintService_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property allowedGroups for print
.Description
Delete 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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintshareallowedgroup
#>

function Remove-MgPrintShareAllowedGroup {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printIdentity
    ${PrintIdentityId},

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

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintShareAllowedGroup_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintShareAllowedGroup_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property allowedUsers for print
.Description
Delete 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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintsharealloweduser
#>

function Remove-MgPrintShareAllowedUser {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printUserIdentity
    ${PrintUserIdentityId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintShareAllowedUser_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintShareAllowedUser_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete ref of navigation property printer for print
.Description
Delete ref of navigation property printer for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintshareprinterbyref
#>

function Remove-MgPrintSharePrinterByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintSharePrinterByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintSharePrinterByRef_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property shares for print
.Description
Delete navigation property shares for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprintshare
#>

function Remove-MgPrintShare {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintShare_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintShare_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete ref of navigation property definition for print
.Description
Delete ref of navigation property definition for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprinttaskdefinitiontaskdefinitionbyref
#>

function Remove-MgPrintTaskDefinitionTaskDefinitionByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintTaskDefinitionTaskDefinitionByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintTaskDefinitionTaskDefinitionByRef_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete ref of navigation property trigger for print
.Description
Delete ref of navigation property trigger for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprinttaskdefinitiontasktriggerbyref
#>

function Remove-MgPrintTaskDefinitionTaskTriggerByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintTaskDefinitionTaskTriggerByRef_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintTaskDefinitionTaskTriggerByRef_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprinttaskdefinitiontask
#>

function Remove-MgPrintTaskDefinitionTask {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintTaskDefinitionTask_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintTaskDefinitionTask_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete navigation property taskDefinitions for print
.Description
Delete navigation property taskDefinitions for print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/remove-mgprinttaskdefinition
#>

function Remove-MgPrintTaskDefinition {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Remove-MgPrintTaskDefinition_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Remove-MgPrintTaskDefinition_DeleteViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/reset-mgprintprinterdefault
#>

function Reset-MgPrintPrinterDefault {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Reset', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Reset', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='ResetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Reset-MgPrintPrinterDefault_Reset';
            ResetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Reset-MgPrintPrinterDefault_ResetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/reset-mgprintprintershareprinterdefault
#>

function Reset-MgPrintPrinterSharePrinterDefault {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Reset', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Reset', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='ResetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Reset-MgPrintPrinterSharePrinterDefault_Reset';
            ResetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Reset-MgPrintPrinterSharePrinterDefault_ResetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/reset-mgprintshareprinterdefault
#>

function Reset-MgPrintSharePrinterDefault {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Reset', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Reset', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='ResetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Reset-MgPrintSharePrinterDefault_Reset';
            ResetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Reset-MgPrintSharePrinterDefault_ResetViaIdentity';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the ref of navigation property share in print
.Description
Update the ref of navigation property share in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
System.Collections.Hashtable
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/set-mgprintprintersharebyref
#>

function Set-MgPrintPrinterShareByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Set', Mandatory)]
    [Parameter(ParameterSetName='SetExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Runtime.Info(Required, PossibleTypes=([Microsoft.Graph.PowerShell.Models.IPaths1Gjv3QrPrintPrintersPrinterIdShareRefPutRequestbodyContentApplicationJsonSchema]))]
    [System.Collections.Hashtable]
    # .
    ${BodyParameter},

    [Parameter(ParameterSetName='SetExpanded')]
    [Parameter(ParameterSetName='SetViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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 = @{
            Set = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterShareByRef_Set';
            SetExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterShareByRef_SetExpanded';
            SetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterShareByRef_SetViaIdentity';
            SetViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterShareByRef_SetViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the ref of navigation property printer in print
.Description
Update the ref of navigation property printer in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
System.Collections.Hashtable
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/set-mgprintprintershareprinterbyref
#>

function Set-MgPrintPrinterSharePrinterByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Set', Mandatory)]
    [Parameter(ParameterSetName='SetExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Runtime.Info(Required, PossibleTypes=([Microsoft.Graph.PowerShell.Models.IPathsZmctp8PrintPrintersharesPrintershareIdPrinterRefPutRequestbodyContentApplicationJsonSchema]))]
    [System.Collections.Hashtable]
    # .
    ${BodyParameter},

    [Parameter(ParameterSetName='SetExpanded')]
    [Parameter(ParameterSetName='SetViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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 = @{
            Set = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterSharePrinterByRef_Set';
            SetExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterSharePrinterByRef_SetExpanded';
            SetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterSharePrinterByRef_SetViaIdentity';
            SetViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterSharePrinterByRef_SetViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the ref of navigation property definition in print
.Description
Update the ref of navigation property definition in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
System.Collections.Hashtable
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/set-mgprintprintertasktriggerdefinitionbyref
#>

function Set-MgPrintPrinterTaskTriggerDefinitionByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Set', Mandatory)]
    [Parameter(ParameterSetName='SetExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskTrigger
    ${PrintTaskTriggerId},

    [Parameter(ParameterSetName='Set', Mandatory)]
    [Parameter(ParameterSetName='SetExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Runtime.Info(Required, PossibleTypes=([Microsoft.Graph.PowerShell.Models.IPaths1Xtcos9PrintPrintersPrinterIdTasktriggersPrinttasktriggerIdDefinitionRefPutRequestbodyContentApplicationJsonSchema]))]
    [System.Collections.Hashtable]
    # .
    ${BodyParameter},

    [Parameter(ParameterSetName='SetExpanded')]
    [Parameter(ParameterSetName='SetViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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 = @{
            Set = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterTaskTriggerDefinitionByRef_Set';
            SetExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterTaskTriggerDefinitionByRef_SetExpanded';
            SetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterTaskTriggerDefinitionByRef_SetViaIdentity';
            SetViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintPrinterTaskTriggerDefinitionByRef_SetViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the ref of navigation property printer in print
.Description
Update the ref of navigation property printer in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
System.Collections.Hashtable
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/set-mgprintshareprinterbyref
#>

function Set-MgPrintSharePrinterByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Set', Mandatory)]
    [Parameter(ParameterSetName='SetExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Runtime.Info(Required, PossibleTypes=([Microsoft.Graph.PowerShell.Models.IPaths1Wocd7WPrintSharesPrintershareIdPrinterRefPutRequestbodyContentApplicationJsonSchema]))]
    [System.Collections.Hashtable]
    # .
    ${BodyParameter},

    [Parameter(ParameterSetName='SetExpanded')]
    [Parameter(ParameterSetName='SetViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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 = @{
            Set = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintSharePrinterByRef_Set';
            SetExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintSharePrinterByRef_SetExpanded';
            SetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintSharePrinterByRef_SetViaIdentity';
            SetViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintSharePrinterByRef_SetViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the ref of navigation property definition in print
.Description
Update the ref of navigation property definition in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
System.Collections.Hashtable
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/set-mgprinttaskdefinitiontaskdefinitionbyref
#>

function Set-MgPrintTaskDefinitionTaskDefinitionByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Set', Mandatory)]
    [Parameter(ParameterSetName='SetExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Set', Mandatory)]
    [Parameter(ParameterSetName='SetExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Runtime.Info(Required, PossibleTypes=([Microsoft.Graph.PowerShell.Models.IPaths1Df7VasPrintTaskdefinitionsPrinttaskdefinitionIdTasksPrinttaskIdDefinitionRefPutRequestbodyContentApplicationJsonSchema]))]
    [System.Collections.Hashtable]
    # .
    ${BodyParameter},

    [Parameter(ParameterSetName='SetExpanded')]
    [Parameter(ParameterSetName='SetViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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 = @{
            Set = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintTaskDefinitionTaskDefinitionByRef_Set';
            SetExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintTaskDefinitionTaskDefinitionByRef_SetExpanded';
            SetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintTaskDefinitionTaskDefinitionByRef_SetViaIdentity';
            SetViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintTaskDefinitionTaskDefinitionByRef_SetViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the ref of navigation property trigger in print
.Description
Update the ref of navigation property trigger in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
System.Collections.Hashtable
.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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/set-mgprinttaskdefinitiontasktriggerbyref
#>

function Set-MgPrintTaskDefinitionTaskTriggerByRef {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Set', Mandatory)]
    [Parameter(ParameterSetName='SetExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Set', Mandatory)]
    [Parameter(ParameterSetName='SetExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='SetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Runtime.Info(Required, PossibleTypes=([Microsoft.Graph.PowerShell.Models.IPathsVgt5R3PrintTaskdefinitionsPrinttaskdefinitionIdTasksPrinttaskIdTriggerRefPutRequestbodyContentApplicationJsonSchema]))]
    [System.Collections.Hashtable]
    # .
    ${BodyParameter},

    [Parameter(ParameterSetName='SetExpanded')]
    [Parameter(ParameterSetName='SetViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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 = @{
            Set = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintTaskDefinitionTaskTriggerByRef_Set';
            SetExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintTaskDefinitionTaskTriggerByRef_SetExpanded';
            SetViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintTaskDefinitionTaskTriggerByRef_SetViaIdentity';
            SetViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Set-MgPrintTaskDefinitionTaskTriggerByRef_SetViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property connectors in print
.Description
Update the navigation property connectors in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintConnector
.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 <IMicrosoftGraphPrintConnector>: printConnector
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [AppVersion <String>]:
  [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastConnectionTime <DateTime?>]:
  [FullyQualifiedDomainName <String>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Name <String>]:
  [OperatingSystem <String>]:
  [RegisteredDateTime <DateTime?>]:
 
DEVICEHEALTH <IMicrosoftGraphDeviceHealth>: deviceHealth
  [(Any) <Object>]: This indicates any property can be added to this object.
  [LastConnectionTime <DateTime?>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]:
  [Building <String>]:
  [City <String>]:
  [CountryOrRegion <String>]:
  [FloorDescription <String>]:
  [FloorNumber <Int32?>]:
  [Latitude <Single?>]:
  [Longitude <Single?>]:
  [Organization <String[]>]:
  [PostalCode <String>]:
  [RoomDescription <String>]:
  [RoomNumber <Int32?>]:
  [Site <String>]:
  [StateOrProvince <String>]:
  [StreetAddress <String>]:
  [Subdivision <String[]>]:
  [Subunit <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintconnector
#>

function Update-MgPrintConnector {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printConnector
    ${PrintConnectorId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${AppVersion},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # .
    ${FullyQualifiedDomainName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${OperatingSystem},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # .
    ${RegisteredDateTime},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintConnector_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintConnector_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintConnector_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintConnector_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintOperation
.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 <IMicrosoftGraphPrintOperation>: printOperation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [CreatedDateTime <DateTime?>]:
  [Status <IMicrosoftGraphPrintOperationStatus>]: printOperationStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]:
    [State <String>]: printOperationProcessingState
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
 
STATUS <IMicrosoftGraphPrintOperationStatus>: printOperationStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]:
  [State <String>]: printOperationProcessingState
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintoperation
#>

function Update-MgPrintOperation {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printOperation
    ${PrintOperationId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # .
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintOperationStatus]
    # printOperationStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintOperation_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintOperation_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintOperation_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintOperation_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property allowedGroups in print
.Description
Update the navigation property allowedGroups in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.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 <IMicrosoftGraphPrintIdentity>: printIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintprinterallowedgroup
#>

function Update-MgPrintPrinterAllowedGroup {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printIdentity
    ${PrintIdentityId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity]
    # printIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintPrinterAllowedGroup_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterAllowedGroup_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterAllowedGroup_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterAllowedGroup_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property allowedUsers in print
.Description
Update the navigation property allowedUsers in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.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 <IMicrosoftGraphPrintUserIdentity>: printUserIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintprinteralloweduser
#>

function Update-MgPrintPrinterAllowedUser {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printUserIdentity
    ${PrintUserIdentityId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity]
    # printUserIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${IPAddress},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${UserPrincipalName},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintPrinterAllowedUser_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterAllowedUser_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterAllowedUser_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterAllowedUser_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property allowedGroups in print
.Description
Update the navigation property allowedGroups in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.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 <IMicrosoftGraphPrintIdentity>: printIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintprintershareallowedgroup
#>

function Update-MgPrintPrinterShareAllowedGroup {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printIdentity
    ${PrintIdentityId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity]
    # printIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintPrinterShareAllowedGroup_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterShareAllowedGroup_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterShareAllowedGroup_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterShareAllowedGroup_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property allowedUsers in print
.Description
Update the navigation property allowedUsers in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.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 <IMicrosoftGraphPrintUserIdentity>: printUserIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintprintersharealloweduser
#>

function Update-MgPrintPrinterShareAllowedUser {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printUserIdentity
    ${PrintUserIdentityId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity]
    # printUserIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${IPAddress},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${UserPrincipalName},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintPrinterShareAllowedUser_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterShareAllowedUser_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterShareAllowedUser_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterShareAllowedUser_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterShare
.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.
 
ALLOWEDGROUPS <IMicrosoftGraphPrintIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
ALLOWEDUSERS <IMicrosoftGraphPrintUserIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AllowAllUsers <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [CreatedDateTime <DateTime?>]:
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AcceptingJobs <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Connectors <IMicrosoftGraphPrintConnector[]>]:
      [Id <String>]: Read-only.
      [AppVersion <String>]:
      [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
        [(Any) <Object>]: This indicates any property can be added to this object.
        [LastConnectionTime <DateTime?>]:
      [FullyQualifiedDomainName <String>]:
      [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
      [Name <String>]:
      [OperatingSystem <String>]:
      [RegisteredDateTime <DateTime?>]:
    [IsShared <Boolean?>]:
    [RegisteredDateTime <DateTime?>]:
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]:
  [Collation <Boolean?>]:
  [ColorModes <String[]>]:
  [ContentTypes <String[]>]:
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]:
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]:
  [Dpis <Int32[]>]:
  [DuplexModes <String[]>]:
  [FeedDirections <String[]>]:
  [Finishings <String[]>]:
  [InputBins <String[]>]:
  [IsColorPrintingSupported <Boolean?>]:
  [IsPageRangeSupported <Boolean?>]:
  [LeftMargins <Int32[]>]:
  [MediaColors <String[]>]:
  [MediaSizes <String[]>]:
  [MediaTypes <String[]>]:
  [MultipageLayouts <String[]>]:
  [Orientations <String[]>]:
  [OutputBins <String[]>]:
  [PagesPerSheet <Int32[]>]:
  [Qualities <String[]>]:
  [RightMargins <Int32[]>]:
  [Scalings <String[]>]:
  [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?>]:
  [TopMargins <Int32[]>]:
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]:
  [CopiesPerJob <Int32?>]:
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]:
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]:
  [FitPdfToPage <Boolean?>]:
  [MediaColor <String>]:
  [MediaSize <String>]:
  [MediaType <String>]:
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]:
  [PagesPerSheet <Int32?>]:
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
 
JOBS <IMicrosoftGraphPrintJob[]>: .
  [Id <String>]: Read-only.
  [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
    [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
    [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
  [CreatedDateTime <DateTime?>]:
  [Documents <IMicrosoftGraphPrintDocument[]>]:
    [Id <String>]: Read-only.
    [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Collate <Boolean?>]:
      [ColorMode <String>]: printColorMode
      [Copies <Int32?>]:
      [Dpi <Int32?>]:
      [DuplexMode <String>]: printDuplexMode
      [FeedDirection <String>]: printerFeedDirection
      [Finishings <String[]>]:
      [FitPdfToPage <Boolean?>]:
      [InputBin <String>]:
      [Margin <IMicrosoftGraphPrintMargin>]: printMargin
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Bottom <Int32?>]:
        [Left <Int32?>]:
        [Right <Int32?>]:
        [Top <Int32?>]:
      [MediaSize <String>]:
      [MediaType <String>]:
      [MultipageLayout <String>]: printMultipageLayout
      [Orientation <String>]: printOrientation
      [OutputBin <String>]:
      [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [End <Int64?>]:
        [Maximum <Int64?>]:
        [Minimum <Int64?>]:
        [Start <Int64?>]:
      [PagesPerSheet <Int32?>]:
      [Quality <String>]: printQuality
      [Scaling <String>]: printScaling
    [ContentType <String>]:
    [DisplayName <String>]:
    [Size <Int64?>]:
  [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AcquiredByPrinter <Boolean?>]:
    [ProcessingState <String>]: printJobProcessingState
    [ProcessingStateDescription <String>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
        [(Any) <Object>]: This indicates any property can be added to this object.
        [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
      [Tasks <IMicrosoftGraphPrintTask[]>]:
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]:
  [Building <String>]:
  [City <String>]:
  [CountryOrRegion <String>]:
  [FloorDescription <String>]:
  [FloorNumber <Int32?>]:
  [Latitude <Single?>]:
  [Longitude <Single?>]:
  [Organization <String[]>]:
  [PostalCode <String>]:
  [RoomDescription <String>]:
  [RoomNumber <Int32?>]:
  [Site <String>]:
  [StateOrProvince <String>]:
  [StreetAddress <String>]:
  [Subdivision <String[]>]:
  [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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AcceptingJobs <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [Connectors <IMicrosoftGraphPrintConnector[]>]:
    [Id <String>]: Read-only.
    [AppVersion <String>]:
    [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastConnectionTime <DateTime?>]:
    [FullyQualifiedDomainName <String>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Name <String>]:
    [OperatingSystem <String>]:
    [RegisteredDateTime <DateTime?>]:
  [IsShared <Boolean?>]:
  [RegisteredDateTime <DateTime?>]:
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AllowAllUsers <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [CreatedDateTime <DateTime?>]:
    [Printer <IMicrosoftGraphPrinter>]: printer
  [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintprintershare
#>

function Update-MgPrintPrinterShare {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${AllowAllUsers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity[]]
    # .
    # To construct, see NOTES section for ALLOWEDGROUPS properties and create a hash table.
    ${AllowedGroups},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity[]]
    # .
    # To construct, see NOTES section for ALLOWEDUSERS properties and create a hash table.
    ${AllowedUsers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.DateTime]
    # .
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsAcceptingJobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintJob[]]
    # .
    # To construct, see NOTES section for JOBS properties and create a hash table.
    ${Jobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Manufacturer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Model},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterStatus]
    # printerStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintPrinterShare_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterShare_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterShare_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterShare_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger
.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 <IMicrosoftGraphPrintTaskTrigger>: printTaskTrigger
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
  [Event <String>]: printEvent
 
DEFINITION <IMicrosoftGraphPrintTaskDefinition>: printTaskDefinition
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintprintertasktrigger
#>

function Update-MgPrintPrinterTaskTrigger {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskTrigger
    ${PrintTaskTriggerId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # printEvent
    ${Event},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintPrinterTaskTrigger_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterTaskTrigger_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterTaskTrigger_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinterTaskTrigger_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property printers in print
.Description
Update the navigation property printers in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinter
.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.
 
ALLOWEDGROUPS <IMicrosoftGraphPrintIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
ALLOWEDUSERS <IMicrosoftGraphPrintUserIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AcceptingJobs <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [Connectors <IMicrosoftGraphPrintConnector[]>]:
    [Id <String>]: Read-only.
    [AppVersion <String>]:
    [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastConnectionTime <DateTime?>]:
    [FullyQualifiedDomainName <String>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Name <String>]:
    [OperatingSystem <String>]:
    [RegisteredDateTime <DateTime?>]:
  [IsShared <Boolean?>]:
  [RegisteredDateTime <DateTime?>]:
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AllowAllUsers <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [CreatedDateTime <DateTime?>]:
    [Printer <IMicrosoftGraphPrinter>]: printer
  [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]:
  [Collation <Boolean?>]:
  [ColorModes <String[]>]:
  [ContentTypes <String[]>]:
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]:
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]:
  [Dpis <Int32[]>]:
  [DuplexModes <String[]>]:
  [FeedDirections <String[]>]:
  [Finishings <String[]>]:
  [InputBins <String[]>]:
  [IsColorPrintingSupported <Boolean?>]:
  [IsPageRangeSupported <Boolean?>]:
  [LeftMargins <Int32[]>]:
  [MediaColors <String[]>]:
  [MediaSizes <String[]>]:
  [MediaTypes <String[]>]:
  [MultipageLayouts <String[]>]:
  [Orientations <String[]>]:
  [OutputBins <String[]>]:
  [PagesPerSheet <Int32[]>]:
  [Qualities <String[]>]:
  [RightMargins <Int32[]>]:
  [Scalings <String[]>]:
  [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?>]:
  [TopMargins <Int32[]>]:
 
CONNECTORS <IMicrosoftGraphPrintConnector[]>: .
  [Id <String>]: Read-only.
  [AppVersion <String>]:
  [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastConnectionTime <DateTime?>]:
  [FullyQualifiedDomainName <String>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Name <String>]:
  [OperatingSystem <String>]:
  [RegisteredDateTime <DateTime?>]:
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]:
  [CopiesPerJob <Int32?>]:
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]:
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]:
  [FitPdfToPage <Boolean?>]:
  [MediaColor <String>]:
  [MediaSize <String>]:
  [MediaType <String>]:
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]:
  [PagesPerSheet <Int32?>]:
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
 
JOBS <IMicrosoftGraphPrintJob[]>: .
  [Id <String>]: Read-only.
  [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
    [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
    [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
  [CreatedDateTime <DateTime?>]:
  [Documents <IMicrosoftGraphPrintDocument[]>]:
    [Id <String>]: Read-only.
    [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Collate <Boolean?>]:
      [ColorMode <String>]: printColorMode
      [Copies <Int32?>]:
      [Dpi <Int32?>]:
      [DuplexMode <String>]: printDuplexMode
      [FeedDirection <String>]: printerFeedDirection
      [Finishings <String[]>]:
      [FitPdfToPage <Boolean?>]:
      [InputBin <String>]:
      [Margin <IMicrosoftGraphPrintMargin>]: printMargin
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Bottom <Int32?>]:
        [Left <Int32?>]:
        [Right <Int32?>]:
        [Top <Int32?>]:
      [MediaSize <String>]:
      [MediaType <String>]:
      [MultipageLayout <String>]: printMultipageLayout
      [Orientation <String>]: printOrientation
      [OutputBin <String>]:
      [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [End <Int64?>]:
        [Maximum <Int64?>]:
        [Minimum <Int64?>]:
        [Start <Int64?>]:
      [PagesPerSheet <Int32?>]:
      [Quality <String>]: printQuality
      [Scaling <String>]: printScaling
    [ContentType <String>]:
    [DisplayName <String>]:
    [Size <Int64?>]:
  [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AcquiredByPrinter <Boolean?>]:
    [ProcessingState <String>]: printJobProcessingState
    [ProcessingStateDescription <String>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
        [(Any) <Object>]: This indicates any property can be added to this object.
        [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
      [Tasks <IMicrosoftGraphPrintTask[]>]:
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]:
  [Building <String>]:
  [City <String>]:
  [CountryOrRegion <String>]:
  [FloorDescription <String>]:
  [FloorNumber <Int32?>]:
  [Latitude <Single?>]:
  [Longitude <Single?>]:
  [Organization <String[]>]:
  [PostalCode <String>]:
  [RoomDescription <String>]:
  [RoomNumber <Int32?>]:
  [Site <String>]:
  [StateOrProvince <String>]:
  [StreetAddress <String>]:
  [Subdivision <String[]>]:
  [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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AllowAllUsers <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [CreatedDateTime <DateTime?>]:
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AcceptingJobs <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Connectors <IMicrosoftGraphPrintConnector[]>]:
      [Id <String>]: Read-only.
      [AppVersion <String>]:
      [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
        [(Any) <Object>]: This indicates any property can be added to this object.
        [LastConnectionTime <DateTime?>]:
      [FullyQualifiedDomainName <String>]:
      [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
      [Name <String>]:
      [OperatingSystem <String>]:
      [RegisteredDateTime <DateTime?>]:
    [IsShared <Boolean?>]:
    [RegisteredDateTime <DateTime?>]:
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
 
TASKTRIGGERS <IMicrosoftGraphPrintTaskTrigger[]>: .
  [Id <String>]: Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
  [Event <String>]: printEvent
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintprinter
#>

function Update-MgPrintPrinter {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printer
    ${PrinterId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${AcceptingJobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity[]]
    # .
    # To construct, see NOTES section for ALLOWEDGROUPS properties and create a hash table.
    ${AllowedGroups},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity[]]
    # .
    # To construct, see NOTES section for ALLOWEDUSERS properties and create a hash table.
    ${AllowedUsers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintConnector[]]
    # .
    # To construct, see NOTES section for CONNECTORS properties and create a hash table.
    ${Connectors},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsAcceptingJobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsShared},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintJob[]]
    # .
    # To construct, see NOTES section for JOBS properties and create a hash table.
    ${Jobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Manufacturer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Model},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # .
    ${RegisteredDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger[]]
    # .
    # To construct, see NOTES section for TASKTRIGGERS properties and create a hash table.
    ${TaskTriggers},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintPrinter_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinter_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinter_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintPrinter_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property reports in print
.Description
Update the navigation property reports in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReportRoot
.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.
 
APPLICATIONSIGNINDETAILEDSUMMARY <IMicrosoftGraphApplicationSignInDetailedSummary[]>: .
  [Id <String>]: Read-only.
  [AggregatedEventDateTime <DateTime?>]:
  [AppDisplayName <String>]:
  [AppId <String>]:
  [SignInCount <Int64?>]:
  [Status <IMicrosoftGraphSignInStatus>]: signInStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AdditionalDetails <String>]: Provides additional details on the sign-in activity
    [ErrorCode <Int32?>]: Provides the 5-6digit error code that's generated during a sign-in failure. Check out the list of error codes and messages.
    [FailureReason <String>]: Provides the error message or the reason for failure for the corresponding sign-in activity. Check out the list of error codes and messages.
 
BODYPARAMETER <IMicrosoftGraphReportRoot>: The resource that represents an instance of History Reports.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [ApplicationSignInDetailedSummary <IMicrosoftGraphApplicationSignInDetailedSummary[]>]:
    [Id <String>]: Read-only.
    [AggregatedEventDateTime <DateTime?>]:
    [AppDisplayName <String>]:
    [AppId <String>]:
    [SignInCount <Int64?>]:
    [Status <IMicrosoftGraphSignInStatus>]: signInStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AdditionalDetails <String>]: Provides additional details on the sign-in activity
      [ErrorCode <Int32?>]: Provides the 5-6digit error code that's generated during a sign-in failure. Check out the list of error codes and messages.
      [FailureReason <String>]: Provides the error message or the reason for failure for the corresponding sign-in activity. Check out the list of error codes and messages.
  [CredentialUserRegistrationDetails <IMicrosoftGraphCredentialUserRegistrationDetails[]>]:
    [Id <String>]: Read-only.
    [AuthMethods <String[]>]:
    [IsCapable <Boolean?>]:
    [IsEnabled <Boolean?>]:
    [IsMfaRegistered <Boolean?>]:
    [IsRegistered <Boolean?>]:
    [UserDisplayName <String>]:
    [UserPrincipalName <String>]:
  [DailyPrintUsageSummariesByPrinter <IMicrosoftGraphPrintUsageSummaryByPrinter[]>]:
    [Id <String>]: Read-only.
    [CompletedBlackAndWhiteJobCount <Int64?>]:
    [CompletedColorJobCount <Int64?>]:
    [IncompleteJobCount <Int64?>]:
    [PrinterId <String>]:
    [UsageDate <DateTime?>]:
  [DailyPrintUsageSummariesByUser <IMicrosoftGraphPrintUsageSummaryByUser[]>]:
    [Id <String>]: Read-only.
    [CompletedBlackAndWhiteJobCount <Int64?>]:
    [CompletedColorJobCount <Int64?>]:
    [IncompleteJobCount <Int64?>]:
    [UsageDate <DateTime?>]:
    [UserPrincipalName <String>]:
  [MonthlyPrintUsageSummariesByPrinter <IMicrosoftGraphPrintUsageSummaryByPrinter[]>]:
  [MonthlyPrintUsageSummariesByUser <IMicrosoftGraphPrintUsageSummaryByUser[]>]:
  [UserCredentialUsageDetails <IMicrosoftGraphUserCredentialUsageDetails[]>]:
    [Id <String>]: Read-only.
    [AuthMethod <String>]: usageAuthMethod
    [EventDateTime <DateTime?>]:
    [FailureReason <String>]:
    [Feature <String>]: featureType
    [IsSuccess <Boolean?>]:
    [UserDisplayName <String>]:
    [UserPrincipalName <String>]:
 
CREDENTIALUSERREGISTRATIONDETAILS <IMicrosoftGraphCredentialUserRegistrationDetails[]>: .
  [Id <String>]: Read-only.
  [AuthMethods <String[]>]:
  [IsCapable <Boolean?>]:
  [IsEnabled <Boolean?>]:
  [IsMfaRegistered <Boolean?>]:
  [IsRegistered <Boolean?>]:
  [UserDisplayName <String>]:
  [UserPrincipalName <String>]:
 
DAILYPRINTUSAGESUMMARIESBYPRINTER <IMicrosoftGraphPrintUsageSummaryByPrinter[]>: .
  [Id <String>]: Read-only.
  [CompletedBlackAndWhiteJobCount <Int64?>]:
  [CompletedColorJobCount <Int64?>]:
  [IncompleteJobCount <Int64?>]:
  [PrinterId <String>]:
  [UsageDate <DateTime?>]:
 
DAILYPRINTUSAGESUMMARIESBYUSER <IMicrosoftGraphPrintUsageSummaryByUser[]>: .
  [Id <String>]: Read-only.
  [CompletedBlackAndWhiteJobCount <Int64?>]:
  [CompletedColorJobCount <Int64?>]:
  [IncompleteJobCount <Int64?>]:
  [UsageDate <DateTime?>]:
  [UserPrincipalName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
 
MONTHLYPRINTUSAGESUMMARIESBYPRINTER <IMicrosoftGraphPrintUsageSummaryByPrinter[]>: .
  [Id <String>]: Read-only.
  [CompletedBlackAndWhiteJobCount <Int64?>]:
  [CompletedColorJobCount <Int64?>]:
  [IncompleteJobCount <Int64?>]:
  [PrinterId <String>]:
  [UsageDate <DateTime?>]:
 
MONTHLYPRINTUSAGESUMMARIESBYUSER <IMicrosoftGraphPrintUsageSummaryByUser[]>: .
  [Id <String>]: Read-only.
  [CompletedBlackAndWhiteJobCount <Int64?>]:
  [CompletedColorJobCount <Int64?>]:
  [IncompleteJobCount <Int64?>]:
  [UsageDate <DateTime?>]:
  [UserPrincipalName <String>]:
 
USERCREDENTIALUSAGEDETAILS <IMicrosoftGraphUserCredentialUsageDetails[]>: .
  [Id <String>]: Read-only.
  [AuthMethod <String>]: usageAuthMethod
  [EventDateTime <DateTime?>]:
  [FailureReason <String>]:
  [Feature <String>]: featureType
  [IsSuccess <Boolean?>]:
  [UserDisplayName <String>]:
  [UserPrincipalName <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintreport
#>

function Update-MgPrintReport {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of reportRoot
    ${ReportRootId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReportRoot]
    # The resource that represents an instance of History Reports.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplicationSignInDetailedSummary[]]
    # .
    # To construct, see NOTES section for APPLICATIONSIGNINDETAILEDSUMMARY properties and create a hash table.
    ${ApplicationSignInDetailedSummary},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphCredentialUserRegistrationDetails[]]
    # .
    # To construct, see NOTES section for CREDENTIALUSERREGISTRATIONDETAILS properties and create a hash table.
    ${CredentialUserRegistrationDetails},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUsageSummaryByPrinter[]]
    # .
    # To construct, see NOTES section for DAILYPRINTUSAGESUMMARIESBYPRINTER properties and create a hash table.
    ${DailyPrintUsageSummariesByPrinter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUsageSummaryByUser[]]
    # .
    # To construct, see NOTES section for DAILYPRINTUSAGESUMMARIESBYUSER properties and create a hash table.
    ${DailyPrintUsageSummariesByUser},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUsageSummaryByPrinter[]]
    # .
    # To construct, see NOTES section for MONTHLYPRINTUSAGESUMMARIESBYPRINTER properties and create a hash table.
    ${MonthlyPrintUsageSummariesByPrinter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUsageSummaryByUser[]]
    # .
    # To construct, see NOTES section for MONTHLYPRINTUSAGESUMMARIESBYUSER properties and create a hash table.
    ${MonthlyPrintUsageSummariesByUser},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphUserCredentialUsageDetails[]]
    # .
    # To construct, see NOTES section for USERCREDENTIALUSAGEDETAILS properties and create a hash table.
    ${UserCredentialUsageDetails},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintReport_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintReport_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintReport_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintReport_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint
.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 <IMicrosoftGraphPrintServiceEndpoint>: printServiceEndpoint
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [Uri <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintserviceendpoint
#>

function Update-MgPrintServiceEndpoint {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printServiceEndpoint
    ${PrintServiceEndpointId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Uri},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintServiceEndpoint_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintServiceEndpoint_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintServiceEndpoint_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintServiceEndpoint_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintService
.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 <IMicrosoftGraphPrintService>: printService
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [Endpoints <IMicrosoftGraphPrintServiceEndpoint[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [Uri <String>]:
 
ENDPOINTS <IMicrosoftGraphPrintServiceEndpoint[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [Uri <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintservice
#>

function Update-MgPrintService {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printService
    ${PrintServiceId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintServiceEndpoint[]]
    # .
    # To construct, see NOTES section for ENDPOINTS properties and create a hash table.
    ${Endpoints},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintService_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintService_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintService_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintService_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property allowedGroups in print
.Description
Update the navigation property allowedGroups in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity
.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 <IMicrosoftGraphPrintIdentity>: printIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintshareallowedgroup
#>

function Update-MgPrintShareAllowedGroup {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printIdentity
    ${PrintIdentityId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity]
    # printIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintShareAllowedGroup_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintShareAllowedGroup_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintShareAllowedGroup_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintShareAllowedGroup_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property allowedUsers in print
.Description
Update the navigation property allowedUsers in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity
.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 <IMicrosoftGraphPrintUserIdentity>: printUserIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintsharealloweduser
#>

function Update-MgPrintShareAllowedUser {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printUserIdentity
    ${PrintUserIdentityId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity]
    # printUserIdentity
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${IPAddress},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${UserPrincipalName},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintShareAllowedUser_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintShareAllowedUser_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintShareAllowedUser_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintShareAllowedUser_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property shares in print
.Description
Update the navigation property shares in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterShare
.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.
 
ALLOWEDGROUPS <IMicrosoftGraphPrintIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
 
ALLOWEDUSERS <IMicrosoftGraphPrintUserIdentity[]>: .
  [Id <String>]: Read-only.
  [DisplayName <String>]:
  [IPAddress <String>]:
  [UserPrincipalName <String>]:
 
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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AllowAllUsers <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [CreatedDateTime <DateTime?>]:
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AcceptingJobs <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Connectors <IMicrosoftGraphPrintConnector[]>]:
      [Id <String>]: Read-only.
      [AppVersion <String>]:
      [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
        [(Any) <Object>]: This indicates any property can be added to this object.
        [LastConnectionTime <DateTime?>]:
      [FullyQualifiedDomainName <String>]:
      [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
      [Name <String>]:
      [OperatingSystem <String>]:
      [RegisteredDateTime <DateTime?>]:
    [IsShared <Boolean?>]:
    [RegisteredDateTime <DateTime?>]:
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
CAPABILITIES <IMicrosoftGraphPrinterCapabilities>: printerCapabilities
  [(Any) <Object>]: This indicates any property can be added to this object.
  [BottomMargins <Int32[]>]:
  [Collation <Boolean?>]:
  [ColorModes <String[]>]:
  [ContentTypes <String[]>]:
  [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
    [(Any) <Object>]: This indicates any property can be added to this object.
    [End <Int64?>]:
    [Maximum <Int64?>]:
    [Minimum <Int64?>]:
    [Start <Int64?>]:
  [Dpis <Int32[]>]:
  [DuplexModes <String[]>]:
  [FeedDirections <String[]>]:
  [Finishings <String[]>]:
  [InputBins <String[]>]:
  [IsColorPrintingSupported <Boolean?>]:
  [IsPageRangeSupported <Boolean?>]:
  [LeftMargins <Int32[]>]:
  [MediaColors <String[]>]:
  [MediaSizes <String[]>]:
  [MediaTypes <String[]>]:
  [MultipageLayouts <String[]>]:
  [Orientations <String[]>]:
  [OutputBins <String[]>]:
  [PagesPerSheet <Int32[]>]:
  [Qualities <String[]>]:
  [RightMargins <Int32[]>]:
  [Scalings <String[]>]:
  [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?>]:
  [TopMargins <Int32[]>]:
 
DEFAULTS <IMicrosoftGraphPrinterDefaults>: printerDefaults
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ColorMode <String>]: printColorMode
  [ContentType <String>]:
  [CopiesPerJob <Int32?>]:
  [DocumentMimeType <String>]:
  [Dpi <Int32?>]:
  [DuplexConfiguration <String>]: printDuplexConfiguration
  [DuplexMode <String>]: printDuplexMode
  [Finishings <String[]>]:
  [FitPdfToPage <Boolean?>]:
  [MediaColor <String>]:
  [MediaSize <String>]:
  [MediaType <String>]:
  [MultipageLayout <String>]: printMultipageLayout
  [Orientation <String>]: printOrientation
  [OutputBin <String>]:
  [PagesPerSheet <Int32?>]:
  [PdfFitToPage <Boolean?>]:
  [PresentationDirection <String>]: printPresentationDirection
  [PrintColorConfiguration <String>]: printColorConfiguration
  [PrintQuality <String>]: printQuality
  [Quality <String>]: printQuality
  [Scaling <String>]: printScaling
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
 
JOBS <IMicrosoftGraphPrintJob[]>: .
  [Id <String>]: Read-only.
  [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
    [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
    [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
  [CreatedDateTime <DateTime?>]:
  [Documents <IMicrosoftGraphPrintDocument[]>]:
    [Id <String>]: Read-only.
    [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Collate <Boolean?>]:
      [ColorMode <String>]: printColorMode
      [Copies <Int32?>]:
      [Dpi <Int32?>]:
      [DuplexMode <String>]: printDuplexMode
      [FeedDirection <String>]: printerFeedDirection
      [Finishings <String[]>]:
      [FitPdfToPage <Boolean?>]:
      [InputBin <String>]:
      [Margin <IMicrosoftGraphPrintMargin>]: printMargin
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Bottom <Int32?>]:
        [Left <Int32?>]:
        [Right <Int32?>]:
        [Top <Int32?>]:
      [MediaSize <String>]:
      [MediaType <String>]:
      [MultipageLayout <String>]: printMultipageLayout
      [Orientation <String>]: printOrientation
      [OutputBin <String>]:
      [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [End <Int64?>]:
        [Maximum <Int64?>]:
        [Minimum <Int64?>]:
        [Start <Int64?>]:
      [PagesPerSheet <Int32?>]:
      [Quality <String>]: printQuality
      [Scaling <String>]: printScaling
    [ContentType <String>]:
    [DisplayName <String>]:
    [Size <Int64?>]:
  [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AcquiredByPrinter <Boolean?>]:
    [ProcessingState <String>]: printJobProcessingState
    [ProcessingStateDescription <String>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
        [(Any) <Object>]: This indicates any property can be added to this object.
        [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
      [Tasks <IMicrosoftGraphPrintTask[]>]:
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
LOCATION <IMicrosoftGraphPrinterLocation>: printerLocation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AltitudeInMeters <Int32?>]:
  [Building <String>]:
  [City <String>]:
  [CountryOrRegion <String>]:
  [FloorDescription <String>]:
  [FloorNumber <Int32?>]:
  [Latitude <Single?>]:
  [Longitude <Single?>]:
  [Organization <String[]>]:
  [PostalCode <String>]:
  [RoomDescription <String>]:
  [RoomNumber <Int32?>]:
  [Site <String>]:
  [StateOrProvince <String>]:
  [StreetAddress <String>]:
  [Subdivision <String[]>]:
  [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[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AcceptingJobs <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [Connectors <IMicrosoftGraphPrintConnector[]>]:
    [Id <String>]: Read-only.
    [AppVersion <String>]:
    [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastConnectionTime <DateTime?>]:
    [FullyQualifiedDomainName <String>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Name <String>]:
    [OperatingSystem <String>]:
    [RegisteredDateTime <DateTime?>]:
  [IsShared <Boolean?>]:
  [RegisteredDateTime <DateTime?>]:
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AllowAllUsers <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [CreatedDateTime <DateTime?>]:
    [Printer <IMicrosoftGraphPrinter>]: printer
  [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
STATUS <IMicrosoftGraphPrinterStatus>: printerStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ProcessingState <String>]: printerProcessingState
  [ProcessingStateDescription <String>]:
  [ProcessingStateReasons <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprintshare
#>

function Update-MgPrintShare {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printerShare
    ${PrinterShareId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${AllowAllUsers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintIdentity[]]
    # .
    # To construct, see NOTES section for ALLOWEDGROUPS properties and create a hash table.
    ${AllowedGroups},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintUserIdentity[]]
    # .
    # To construct, see NOTES section for ALLOWEDUSERS properties and create a hash table.
    ${AllowedUsers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.DateTime]
    # .
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsAcceptingJobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintJob[]]
    # .
    # To construct, see NOTES section for JOBS properties and create a hash table.
    ${Jobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Manufacturer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Model},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterStatus]
    # printerStatus
    # To construct, see NOTES section for STATUS properties and create a hash table.
    ${Status},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintShare_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintShare_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintShare_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintShare_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTask
.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 <IMicrosoftGraphPrintTask>: printTask
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
  [ParentUrl <String>]:
  [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]:
    [State <String>]: printTaskProcessingState
  [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: 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>]: Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
INPUTOBJECT <IDevicesCloudPrintIdentity>: Identity Parameter
  [GroupId <String>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
 
STATUS <IMicrosoftGraphPrintTaskStatus>: printTaskStatus
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]:
  [State <String>]: printTaskProcessingState
 
TRIGGER <IMicrosoftGraphPrintTaskTrigger>: printTaskTrigger
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
  [Event <String>]: printEvent
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprinttaskdefinitiontask
#>

function Update-MgPrintTaskDefinitionTask {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTask
    ${PrintTaskId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${ParentUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTaskTrigger]
    # printTaskTrigger
    # To construct, see NOTES section for TRIGGER properties and create a hash table.
    ${Trigger},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintTaskDefinitionTask_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintTaskDefinitionTask_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintTaskDefinitionTask_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintTaskDefinitionTask_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Update the navigation property taskDefinitions in print
.Description
Update the navigation property taskDefinitions in print
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IDevicesCloudPrintIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition
.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 <IMicrosoftGraphPrintTaskDefinition>: printTaskDefinition
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
 
CREATEDBY <IMicrosoftGraphAppIdentity>: appIdentity
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
  [PeriodEnd <DateTime?>]:
  [PeriodStart <DateTime?>]:
  [PrintConnectorId <String>]: key: id of printConnector
  [PrintIdentityId <String>]: key: id of printIdentity
  [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
  [PrintUserIdentityId <String>]: key: id of printUserIdentity
  [PrinterId <String>]: key: id of printer
  [PrinterId1 <String>]:
  [PrinterShareId <String>]: key: id of printerShare
  [ReportRootId <String>]: key: id of reportRoot
  [TimeSpanInMinutes <Int32?>]:
  [TopListsSize <Int32?>]:
  [UserId <String>]:
 
TASKS <IMicrosoftGraphPrintTask[]>: .
  [Id <String>]: Read-only.
  [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
  [ParentUrl <String>]:
  [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]:
    [State <String>]: printTaskProcessingState
  [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [Event <String>]: printEvent
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprinttaskdefinition
#>

function Update-MgPrintTaskDefinition {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: id of printTaskDefinition
    ${PrintTaskDefinitionId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.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.PowerShell.Category('Body')]
    [System.String]
    # .
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTask[]]
    # .
    # To construct, see NOTES section for TASKS properties and create a hash table.
    ${Tasks},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrintTaskDefinition_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintTaskDefinition_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintTaskDefinition_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrintTaskDefinition_UpdateViaIdentityExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.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.PowerShell.Models.IMicrosoftGraphPrint
.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 <IMicrosoftGraphPrint>: print
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: Read-only.
  [Connectors <IMicrosoftGraphPrintConnector[]>]:
    [Id <String>]: Read-only.
    [AppVersion <String>]:
    [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastConnectionTime <DateTime?>]:
    [FullyQualifiedDomainName <String>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AltitudeInMeters <Int32?>]:
      [Building <String>]:
      [City <String>]:
      [CountryOrRegion <String>]:
      [FloorDescription <String>]:
      [FloorNumber <Int32?>]:
      [Latitude <Single?>]:
      [Longitude <Single?>]:
      [Organization <String[]>]:
      [PostalCode <String>]:
      [RoomDescription <String>]:
      [RoomNumber <Int32?>]:
      [Site <String>]:
      [StateOrProvince <String>]:
      [StreetAddress <String>]:
      [Subdivision <String[]>]:
      [Subunit <String[]>]:
    [Name <String>]:
    [OperatingSystem <String>]:
    [RegisteredDateTime <DateTime?>]:
  [Operations <IMicrosoftGraphPrintOperation[]>]:
    [Id <String>]: Read-only.
    [CreatedDateTime <DateTime?>]:
    [Status <IMicrosoftGraphPrintOperationStatus>]: printOperationStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printOperationProcessingState
  [PrinterShares <IMicrosoftGraphPrinterShare[]>]:
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
      [(Any) <Object>]: This indicates any property can be added to this object.
      [BottomMargins <Int32[]>]:
      [Collation <Boolean?>]:
      [ColorModes <String[]>]:
      [ContentTypes <String[]>]:
      [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
        [(Any) <Object>]: This indicates any property can be added to this object.
        [End <Int64?>]:
        [Maximum <Int64?>]:
        [Minimum <Int64?>]:
        [Start <Int64?>]:
      [Dpis <Int32[]>]:
      [DuplexModes <String[]>]:
      [FeedDirections <String[]>]:
      [Finishings <String[]>]:
      [InputBins <String[]>]:
      [IsColorPrintingSupported <Boolean?>]:
      [IsPageRangeSupported <Boolean?>]:
      [LeftMargins <Int32[]>]:
      [MediaColors <String[]>]:
      [MediaSizes <String[]>]:
      [MediaTypes <String[]>]:
      [MultipageLayouts <String[]>]:
      [Orientations <String[]>]:
      [OutputBins <String[]>]:
      [PagesPerSheet <Int32[]>]:
      [Qualities <String[]>]:
      [RightMargins <Int32[]>]:
      [Scalings <String[]>]:
      [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?>]:
      [TopMargins <Int32[]>]:
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
      [(Any) <Object>]: This indicates any property can be added to this object.
      [ColorMode <String>]: printColorMode
      [ContentType <String>]:
      [CopiesPerJob <Int32?>]:
      [DocumentMimeType <String>]:
      [Dpi <Int32?>]:
      [DuplexConfiguration <String>]: printDuplexConfiguration
      [DuplexMode <String>]: printDuplexMode
      [Finishings <String[]>]:
      [FitPdfToPage <Boolean?>]:
      [MediaColor <String>]:
      [MediaSize <String>]:
      [MediaType <String>]:
      [MultipageLayout <String>]: printMultipageLayout
      [Orientation <String>]: printOrientation
      [OutputBin <String>]:
      [PagesPerSheet <Int32?>]:
      [PdfFitToPage <Boolean?>]:
      [PresentationDirection <String>]: printPresentationDirection
      [PrintColorConfiguration <String>]: printColorConfiguration
      [PrintQuality <String>]: printQuality
      [Quality <String>]: printQuality
      [Scaling <String>]: printScaling
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
      [Id <String>]: Read-only.
      [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
        [(Any) <Object>]: This indicates any property can be added to this object.
        [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
        [Id <String>]: Unique identifier for the identity.
        [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
        [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
      [CreatedDateTime <DateTime?>]:
      [Documents <IMicrosoftGraphPrintDocument[]>]:
        [Id <String>]: Read-only.
        [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Collate <Boolean?>]:
          [ColorMode <String>]: printColorMode
          [Copies <Int32?>]:
          [Dpi <Int32?>]:
          [DuplexMode <String>]: printDuplexMode
          [FeedDirection <String>]: printerFeedDirection
          [Finishings <String[]>]:
          [FitPdfToPage <Boolean?>]:
          [InputBin <String>]:
          [Margin <IMicrosoftGraphPrintMargin>]: printMargin
            [(Any) <Object>]: This indicates any property can be added to this object.
            [Bottom <Int32?>]:
            [Left <Int32?>]:
            [Right <Int32?>]:
            [Top <Int32?>]:
          [MediaSize <String>]:
          [MediaType <String>]:
          [MultipageLayout <String>]: printMultipageLayout
          [Orientation <String>]: printOrientation
          [OutputBin <String>]:
          [PageRanges <IMicrosoftGraphIntegerRange[]>]:
          [PagesPerSheet <Int32?>]:
          [Quality <String>]: printQuality
          [Scaling <String>]: printScaling
        [ContentType <String>]:
        [DisplayName <String>]:
        [Size <Int64?>]:
      [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [AcquiredByPrinter <Boolean?>]:
        [ProcessingState <String>]: printJobProcessingState
        [ProcessingStateDescription <String>]:
      [Tasks <IMicrosoftGraphPrintTask[]>]:
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Id <String>]: Read-only.
          [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
            [(Any) <Object>]: This indicates any property can be added to this object.
            [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
          [Tasks <IMicrosoftGraphPrintTask[]>]:
        [ParentUrl <String>]:
        [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Description <String>]:
          [State <String>]: printTaskProcessingState
        [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Id <String>]: Read-only.
          [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
          [Event <String>]: printEvent
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [ProcessingState <String>]: printerProcessingState
      [ProcessingStateDescription <String>]:
      [ProcessingStateReasons <String[]>]:
    [Id <String>]: Read-only.
    [AllowAllUsers <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
      [Id <String>]: Read-only.
      [DisplayName <String>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
      [Id <String>]: Read-only.
      [DisplayName <String>]:
      [IPAddress <String>]:
      [UserPrincipalName <String>]:
    [CreatedDateTime <DateTime?>]:
    [Printer <IMicrosoftGraphPrinter>]: printer
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
      [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
      [IsAcceptingJobs <Boolean?>]:
      [Jobs <IMicrosoftGraphPrintJob[]>]:
      [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
      [Manufacturer <String>]:
      [Model <String>]:
      [Name <String>]:
      [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
      [Id <String>]: Read-only.
      [AcceptingJobs <Boolean?>]:
      [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
      [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
      [Connectors <IMicrosoftGraphPrintConnector[]>]:
      [IsShared <Boolean?>]:
      [RegisteredDateTime <DateTime?>]:
      [Share <IMicrosoftGraphPrinterShare>]: printerShare
      [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
  [Printers <IMicrosoftGraphPrinter[]>]:
  [Reports <IMicrosoftGraphReportRoot[]>]:
    [Id <String>]: Read-only.
    [ApplicationSignInDetailedSummary <IMicrosoftGraphApplicationSignInDetailedSummary[]>]:
      [Id <String>]: Read-only.
      [AggregatedEventDateTime <DateTime?>]:
      [AppDisplayName <String>]:
      [AppId <String>]:
      [SignInCount <Int64?>]:
      [Status <IMicrosoftGraphSignInStatus>]: signInStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [AdditionalDetails <String>]: Provides additional details on the sign-in activity
        [ErrorCode <Int32?>]: Provides the 5-6digit error code that's generated during a sign-in failure. Check out the list of error codes and messages.
        [FailureReason <String>]: Provides the error message or the reason for failure for the corresponding sign-in activity. Check out the list of error codes and messages.
    [CredentialUserRegistrationDetails <IMicrosoftGraphCredentialUserRegistrationDetails[]>]:
      [Id <String>]: Read-only.
      [AuthMethods <String[]>]:
      [IsCapable <Boolean?>]:
      [IsEnabled <Boolean?>]:
      [IsMfaRegistered <Boolean?>]:
      [IsRegistered <Boolean?>]:
      [UserDisplayName <String>]:
      [UserPrincipalName <String>]:
    [DailyPrintUsageSummariesByPrinter <IMicrosoftGraphPrintUsageSummaryByPrinter[]>]:
      [Id <String>]: Read-only.
      [CompletedBlackAndWhiteJobCount <Int64?>]:
      [CompletedColorJobCount <Int64?>]:
      [IncompleteJobCount <Int64?>]:
      [PrinterId <String>]:
      [UsageDate <DateTime?>]:
    [DailyPrintUsageSummariesByUser <IMicrosoftGraphPrintUsageSummaryByUser[]>]:
      [Id <String>]: Read-only.
      [CompletedBlackAndWhiteJobCount <Int64?>]:
      [CompletedColorJobCount <Int64?>]:
      [IncompleteJobCount <Int64?>]:
      [UsageDate <DateTime?>]:
      [UserPrincipalName <String>]:
    [MonthlyPrintUsageSummariesByPrinter <IMicrosoftGraphPrintUsageSummaryByPrinter[]>]:
    [MonthlyPrintUsageSummariesByUser <IMicrosoftGraphPrintUsageSummaryByUser[]>]:
    [UserCredentialUsageDetails <IMicrosoftGraphUserCredentialUsageDetails[]>]:
      [Id <String>]: Read-only.
      [AuthMethod <String>]: usageAuthMethod
      [EventDateTime <DateTime?>]:
      [FailureReason <String>]:
      [Feature <String>]: featureType
      [IsSuccess <Boolean?>]:
      [UserDisplayName <String>]:
      [UserPrincipalName <String>]:
  [Services <IMicrosoftGraphPrintService[]>]:
    [Id <String>]: Read-only.
    [Endpoints <IMicrosoftGraphPrintServiceEndpoint[]>]:
      [Id <String>]: Read-only.
      [DisplayName <String>]:
      [Uri <String>]:
  [Settings <IMicrosoftGraphPrintSettings>]: printSettings
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DocumentConversionEnabled <Boolean?>]:
  [Shares <IMicrosoftGraphPrinterShare[]>]:
  [TaskDefinitions <IMicrosoftGraphPrintTaskDefinition[]>]:
 
CONNECTORS <IMicrosoftGraphPrintConnector[]>: .
  [Id <String>]: Read-only.
  [AppVersion <String>]:
  [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
    [(Any) <Object>]: This indicates any property can be added to this object.
    [LastConnectionTime <DateTime?>]:
  [FullyQualifiedDomainName <String>]:
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Name <String>]:
  [OperatingSystem <String>]:
  [RegisteredDateTime <DateTime?>]:
 
OPERATIONS <IMicrosoftGraphPrintOperation[]>: .
  [Id <String>]: Read-only.
  [CreatedDateTime <DateTime?>]:
  [Status <IMicrosoftGraphPrintOperationStatus>]: printOperationStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]:
    [State <String>]: printOperationProcessingState
 
PRINTERS <IMicrosoftGraphPrinter[]>: .
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AcceptingJobs <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [Connectors <IMicrosoftGraphPrintConnector[]>]:
    [Id <String>]: Read-only.
    [AppVersion <String>]:
    [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
      [(Any) <Object>]: This indicates any property can be added to this object.
      [LastConnectionTime <DateTime?>]:
    [FullyQualifiedDomainName <String>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Name <String>]:
    [OperatingSystem <String>]:
    [RegisteredDateTime <DateTime?>]:
  [IsShared <Boolean?>]:
  [RegisteredDateTime <DateTime?>]:
  [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AllowAllUsers <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [CreatedDateTime <DateTime?>]:
    [Printer <IMicrosoftGraphPrinter>]: printer
  [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
PRINTERSHARES <IMicrosoftGraphPrinterShare[]>: .
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AllowAllUsers <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [CreatedDateTime <DateTime?>]:
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AcceptingJobs <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Connectors <IMicrosoftGraphPrintConnector[]>]:
      [Id <String>]: Read-only.
      [AppVersion <String>]:
      [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
        [(Any) <Object>]: This indicates any property can be added to this object.
        [LastConnectionTime <DateTime?>]:
      [FullyQualifiedDomainName <String>]:
      [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
      [Name <String>]:
      [OperatingSystem <String>]:
      [RegisteredDateTime <DateTime?>]:
    [IsShared <Boolean?>]:
    [RegisteredDateTime <DateTime?>]:
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
REPORTS <IMicrosoftGraphReportRoot[]>: .
  [Id <String>]: Read-only.
  [ApplicationSignInDetailedSummary <IMicrosoftGraphApplicationSignInDetailedSummary[]>]:
    [Id <String>]: Read-only.
    [AggregatedEventDateTime <DateTime?>]:
    [AppDisplayName <String>]:
    [AppId <String>]:
    [SignInCount <Int64?>]:
    [Status <IMicrosoftGraphSignInStatus>]: signInStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AdditionalDetails <String>]: Provides additional details on the sign-in activity
      [ErrorCode <Int32?>]: Provides the 5-6digit error code that's generated during a sign-in failure. Check out the list of error codes and messages.
      [FailureReason <String>]: Provides the error message or the reason for failure for the corresponding sign-in activity. Check out the list of error codes and messages.
  [CredentialUserRegistrationDetails <IMicrosoftGraphCredentialUserRegistrationDetails[]>]:
    [Id <String>]: Read-only.
    [AuthMethods <String[]>]:
    [IsCapable <Boolean?>]:
    [IsEnabled <Boolean?>]:
    [IsMfaRegistered <Boolean?>]:
    [IsRegistered <Boolean?>]:
    [UserDisplayName <String>]:
    [UserPrincipalName <String>]:
  [DailyPrintUsageSummariesByPrinter <IMicrosoftGraphPrintUsageSummaryByPrinter[]>]:
    [Id <String>]: Read-only.
    [CompletedBlackAndWhiteJobCount <Int64?>]:
    [CompletedColorJobCount <Int64?>]:
    [IncompleteJobCount <Int64?>]:
    [PrinterId <String>]:
    [UsageDate <DateTime?>]:
  [DailyPrintUsageSummariesByUser <IMicrosoftGraphPrintUsageSummaryByUser[]>]:
    [Id <String>]: Read-only.
    [CompletedBlackAndWhiteJobCount <Int64?>]:
    [CompletedColorJobCount <Int64?>]:
    [IncompleteJobCount <Int64?>]:
    [UsageDate <DateTime?>]:
    [UserPrincipalName <String>]:
  [MonthlyPrintUsageSummariesByPrinter <IMicrosoftGraphPrintUsageSummaryByPrinter[]>]:
  [MonthlyPrintUsageSummariesByUser <IMicrosoftGraphPrintUsageSummaryByUser[]>]:
  [UserCredentialUsageDetails <IMicrosoftGraphUserCredentialUsageDetails[]>]:
    [Id <String>]: Read-only.
    [AuthMethod <String>]: usageAuthMethod
    [EventDateTime <DateTime?>]:
    [FailureReason <String>]:
    [Feature <String>]: featureType
    [IsSuccess <Boolean?>]:
    [UserDisplayName <String>]:
    [UserPrincipalName <String>]:
 
SERVICES <IMicrosoftGraphPrintService[]>: .
  [Id <String>]: Read-only.
  [Endpoints <IMicrosoftGraphPrintServiceEndpoint[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [Uri <String>]:
 
SETTINGS <IMicrosoftGraphPrintSettings>: printSettings
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DocumentConversionEnabled <Boolean?>]:
 
SHARES <IMicrosoftGraphPrinterShare[]>: .
  [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [(Any) <Object>]: This indicates any property can be added to this object.
    [BottomMargins <Int32[]>]:
    [Collation <Boolean?>]:
    [ColorModes <String[]>]:
    [ContentTypes <String[]>]:
    [CopiesPerJob <IMicrosoftGraphIntegerRange>]: integerRange
      [(Any) <Object>]: This indicates any property can be added to this object.
      [End <Int64?>]:
      [Maximum <Int64?>]:
      [Minimum <Int64?>]:
      [Start <Int64?>]:
    [Dpis <Int32[]>]:
    [DuplexModes <String[]>]:
    [FeedDirections <String[]>]:
    [Finishings <String[]>]:
    [InputBins <String[]>]:
    [IsColorPrintingSupported <Boolean?>]:
    [IsPageRangeSupported <Boolean?>]:
    [LeftMargins <Int32[]>]:
    [MediaColors <String[]>]:
    [MediaSizes <String[]>]:
    [MediaTypes <String[]>]:
    [MultipageLayouts <String[]>]:
    [Orientations <String[]>]:
    [OutputBins <String[]>]:
    [PagesPerSheet <Int32[]>]:
    [Qualities <String[]>]:
    [RightMargins <Int32[]>]:
    [Scalings <String[]>]:
    [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?>]:
    [TopMargins <Int32[]>]:
  [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ColorMode <String>]: printColorMode
    [ContentType <String>]:
    [CopiesPerJob <Int32?>]:
    [DocumentMimeType <String>]:
    [Dpi <Int32?>]:
    [DuplexConfiguration <String>]: printDuplexConfiguration
    [DuplexMode <String>]: printDuplexMode
    [Finishings <String[]>]:
    [FitPdfToPage <Boolean?>]:
    [MediaColor <String>]:
    [MediaSize <String>]:
    [MediaType <String>]:
    [MultipageLayout <String>]: printMultipageLayout
    [Orientation <String>]: printOrientation
    [OutputBin <String>]:
    [PagesPerSheet <Int32?>]:
    [PdfFitToPage <Boolean?>]:
    [PresentationDirection <String>]: printPresentationDirection
    [PrintColorConfiguration <String>]: printColorConfiguration
    [PrintQuality <String>]: printQuality
    [Quality <String>]: printQuality
    [Scaling <String>]: printScaling
  [IsAcceptingJobs <Boolean?>]:
  [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Id <String>]: Read-only.
    [CreatedBy <IMicrosoftGraphUserIdentity>]: userIdentity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
      [IPAddress <String>]: Indicates the client IP address used by user performing the activity (audit log only).
      [UserPrincipalName <String>]: The userPrincipalName attribute of the user.
    [CreatedDateTime <DateTime?>]:
    [Documents <IMicrosoftGraphPrintDocument[]>]:
      [Id <String>]: Read-only.
      [Configuration <IMicrosoftGraphPrinterDocumentConfiguration>]: printerDocumentConfiguration
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Collate <Boolean?>]:
        [ColorMode <String>]: printColorMode
        [Copies <Int32?>]:
        [Dpi <Int32?>]:
        [DuplexMode <String>]: printDuplexMode
        [FeedDirection <String>]: printerFeedDirection
        [Finishings <String[]>]:
        [FitPdfToPage <Boolean?>]:
        [InputBin <String>]:
        [Margin <IMicrosoftGraphPrintMargin>]: printMargin
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Bottom <Int32?>]:
          [Left <Int32?>]:
          [Right <Int32?>]:
          [Top <Int32?>]:
        [MediaSize <String>]:
        [MediaType <String>]:
        [MultipageLayout <String>]: printMultipageLayout
        [Orientation <String>]: printOrientation
        [OutputBin <String>]:
        [PageRanges <IMicrosoftGraphIntegerRange[]>]:
        [PagesPerSheet <Int32?>]:
        [Quality <String>]: printQuality
        [Scaling <String>]: printScaling
      [ContentType <String>]:
      [DisplayName <String>]:
      [Size <Int64?>]:
    [Status <IMicrosoftGraphPrintJobStatus>]: printJobStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [AcquiredByPrinter <Boolean?>]:
      [ProcessingState <String>]: printJobProcessingState
      [ProcessingStateDescription <String>]:
    [Tasks <IMicrosoftGraphPrintTask[]>]:
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
          [(Any) <Object>]: This indicates any property can be added to this object.
          [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
        [Tasks <IMicrosoftGraphPrintTask[]>]:
      [ParentUrl <String>]:
      [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]:
        [State <String>]: printTaskProcessingState
      [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: Read-only.
        [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
        [Event <String>]: printEvent
  [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AltitudeInMeters <Int32?>]:
    [Building <String>]:
    [City <String>]:
    [CountryOrRegion <String>]:
    [FloorDescription <String>]:
    [FloorNumber <Int32?>]:
    [Latitude <Single?>]:
    [Longitude <Single?>]:
    [Organization <String[]>]:
    [PostalCode <String>]:
    [RoomDescription <String>]:
    [RoomNumber <Int32?>]:
    [Site <String>]:
    [StateOrProvince <String>]:
    [StreetAddress <String>]:
    [Subdivision <String[]>]:
    [Subunit <String[]>]:
  [Manufacturer <String>]:
  [Model <String>]:
  [Name <String>]:
  [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ProcessingState <String>]: printerProcessingState
    [ProcessingStateDescription <String>]:
    [ProcessingStateReasons <String[]>]:
  [Id <String>]: Read-only.
  [AllowAllUsers <Boolean?>]:
  [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
  [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Id <String>]: Read-only.
    [DisplayName <String>]:
    [IPAddress <String>]:
    [UserPrincipalName <String>]:
  [CreatedDateTime <DateTime?>]:
  [Printer <IMicrosoftGraphPrinter>]: printer
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Capabilities <IMicrosoftGraphPrinterCapabilities>]: printerCapabilities
    [Defaults <IMicrosoftGraphPrinterDefaults>]: printerDefaults
    [IsAcceptingJobs <Boolean?>]:
    [Jobs <IMicrosoftGraphPrintJob[]>]:
    [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
    [Manufacturer <String>]:
    [Model <String>]:
    [Name <String>]:
    [Status <IMicrosoftGraphPrinterStatus>]: printerStatus
    [Id <String>]: Read-only.
    [AcceptingJobs <Boolean?>]:
    [AllowedGroups <IMicrosoftGraphPrintIdentity[]>]:
    [AllowedUsers <IMicrosoftGraphPrintUserIdentity[]>]:
    [Connectors <IMicrosoftGraphPrintConnector[]>]:
      [Id <String>]: Read-only.
      [AppVersion <String>]:
      [DeviceHealth <IMicrosoftGraphDeviceHealth>]: deviceHealth
        [(Any) <Object>]: This indicates any property can be added to this object.
        [LastConnectionTime <DateTime?>]:
      [FullyQualifiedDomainName <String>]:
      [Location <IMicrosoftGraphPrinterLocation>]: printerLocation
      [Name <String>]:
      [OperatingSystem <String>]:
      [RegisteredDateTime <DateTime?>]:
    [IsShared <Boolean?>]:
    [RegisteredDateTime <DateTime?>]:
    [Share <IMicrosoftGraphPrinterShare>]: printerShare
    [TaskTriggers <IMicrosoftGraphPrintTaskTrigger[]>]:
 
TASKDEFINITIONS <IMicrosoftGraphPrintTaskDefinition[]>: .
  [Id <String>]: Read-only.
  [CreatedBy <IMicrosoftGraphAppIdentity>]: appIdentity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AppId <String>]: Refers to the Unique GUID 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 GUID 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>]:
  [Tasks <IMicrosoftGraphPrintTask[]>]:
    [Id <String>]: Read-only.
    [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
    [ParentUrl <String>]:
    [Status <IMicrosoftGraphPrintTaskStatus>]: printTaskStatus
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]:
      [State <String>]: printTaskProcessingState
    [Trigger <IMicrosoftGraphPrintTaskTrigger>]: printTaskTrigger
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: Read-only.
      [Definition <IMicrosoftGraphPrintTaskDefinition>]: printTaskDefinition
      [Event <String>]: printEvent
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.devices.cloudprint/update-mgprint
#>

function Update-MgPrint {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Graph.PowerShell.Profile('v1.0-beta')]
param(
    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrint]
    # print
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintConnector[]]
    # .
    # To construct, see NOTES section for CONNECTORS properties and create a hash table.
    ${Connectors},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintOperation[]]
    # .
    # To construct, see NOTES section for OPERATIONS properties and create a hash table.
    ${Operations},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterShare[]]
    # .
    # To construct, see NOTES section for PRINTERSHARES properties and create a hash table.
    ${PrinterShares},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinter[]]
    # .
    # To construct, see NOTES section for PRINTERS properties and create a hash table.
    ${Printers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReportRoot[]]
    # .
    # To construct, see NOTES section for REPORTS properties and create a hash table.
    ${Reports},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintService[]]
    # .
    # To construct, see NOTES section for SERVICES properties and create a hash table.
    ${Services},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintSettings]
    # printSettings
    # To construct, see NOTES section for SETTINGS properties and create a hash table.
    ${Settings},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrinterShare[]]
    # .
    # To construct, see NOTES section for SHARES properties and create a hash table.
    ${Shares},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPrintTaskDefinition[]]
    # .
    # To construct, see NOTES section for TASKDEFINITIONS properties and create a hash table.
    ${TaskDefinitions},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [Microsoft.Graph.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.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.Devices.CloudPrint.private\Update-MgPrint_Update';
            UpdateExpanded = 'Microsoft.Graph.Devices.CloudPrint.private\Update-MgPrint_UpdateExpanded';
        }
        $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
# MIIjlgYJKoZIhvcNAQcCoIIjhzCCI4MCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBiUzMQpq/eWW26
# 8cT3U4PGHTQ5BBa9gCeT6ExIUcVyvKCCDYUwggYDMIID66ADAgECAhMzAAABiK9S
# 1rmSbej5AAAAAAGIMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjAwMzA0MTgzOTQ4WhcNMjEwMzAzMTgzOTQ4WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQCSCNryE+Cewy2m4t/a74wZ7C9YTwv1PyC4BvM/kSWPNs8n0RTe+FvYfU+E9uf0
# t7nYlAzHjK+plif2BhD+NgdhIUQ8sVwWO39tjvQRHjP2//vSvIfmmkRoML1Ihnjs
# 9kQiZQzYRDYYRp9xSQYmRwQjk5hl8/U7RgOiQDitVHaU7BT1MI92lfZRuIIDDYBd
# vXtbclYJMVOwqZtv0O9zQCret6R+fRSGaDNfEEpcILL+D7RV3M4uaJE4Ta6KAOdv
# V+MVaJp1YXFTZPKtpjHO6d9pHQPZiG7NdC6QbnRGmsa48uNQrb6AfmLKDI1Lp31W
# MogTaX5tZf+CZT9PSuvjOCLNAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUj9RJL9zNrPcL10RZdMQIXZN7MG8w
# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzQ1ODM4NjAfBgNVHSMEGDAW
# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw
# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov
# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx
# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB
# ACnXo8hjp7FeT+H6iQlV3CcGnkSbFvIpKYafgzYCFo3UHY1VHYJVb5jHEO8oG26Q
# qBELmak6MTI+ra3WKMTGhE1sEIlowTcp4IAs8a5wpCh6Vf4Z/bAtIppP3p3gXk2X
# 8UXTc+WxjQYsDkFiSzo/OBa5hkdW1g4EpO43l9mjToBdqEPtIXsZ7Hi1/6y4gK0P
# mMiwG8LMpSn0n/oSHGjrUNBgHJPxgs63Slf58QGBznuXiRaXmfTUDdrvhRocdxIM
# i8nXQwWACMiQzJSRzBP5S2wUq7nMAqjaTbeXhJqD2SFVHdUYlKruvtPSwbnqSRWT
# GI8s4FEXt+TL3w5JnwVZmZkUFoioQDMMjFyaKurdJ6pnzbr1h6QW0R97fWc8xEIz
# LIOiU2rjwWAtlQqFO8KNiykjYGyEf5LyAJKAO+rJd9fsYR+VBauIEQoYmjnUbTXM
# SY2Lf5KMluWlDOGVh8q6XjmBccpaT+8tCfxpaVYPi1ncnwTwaPQvVq8RjWDRB7Pa
# 8ruHgj2HJFi69+hcq7mWx5nTUtzzFa7RSZfE5a1a5AuBmGNRr7f8cNfa01+tiWjV
# Kk1a+gJUBSP0sIxecFbVSXTZ7bqeal45XSDIisZBkWb+83TbXdTGMDSUFKTAdtC+
# r35GfsN8QVy59Hb5ZYzAXczhgRmk7NyE6jD0Ym5TKiW5MIIHejCCBWKgAwIBAgIK
# 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/Xmfwb1tbWrJUnMTDXpQzTGCFWcwghVjAgEBMIGVMH4x
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p
# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAGIr1LWuZJt6PkAAAAA
# AYgwDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIJ+S
# OgiyqZbVo4hg0MP/hukAvDnv6kduAqeRnTFdAX44MEIGCisGAQQBgjcCAQwxNDAy
# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20wDQYJKoZIhvcNAQEBBQAEggEAepLJs8wn4q2+pUyfvwoI2qx78Rcr2EcJB0x+
# IqpHKo4ncDyDVW4HZ6UigNDkDTRlh0Cq5XJbv86BTlDWlHz7HuyeFhYSObheE/Yb
# VZBTcpDNhhBaYPXckiIyw9y34fv0Ot53R0/n8JDbVw5wj7qrYYL2RBxdLm5XreZ+
# 2TixjXWYG+8exXH/+rAtF1tHQ66XTW/9K7FKhE+1nbdY26LCxKezRUkQHrX/2GET
# OKmiqTPm+X1zePUZ4QTGke4JNNJzkr37cmgerf1bRgmzUbYY/BIjl5IU3j/CWHOH
# ELZbXiVMje0Xdc8rGl5iZCwRlNXYhDtC5D8K46IGZx3qj78T3KGCEvEwghLtBgor
# BgEEAYI3AwMBMYIS3TCCEtkGCSqGSIb3DQEHAqCCEsowghLGAgEDMQ8wDQYJYIZI
# AWUDBAIBBQAwggFVBgsqhkiG9w0BCRABBKCCAUQEggFAMIIBPAIBAQYKKwYBBAGE
# WQoDATAxMA0GCWCGSAFlAwQCAQUABCAGIU+XXYEx51foSQQ4yQ6Pmv64+J119aHg
# 649Fxu4AgQIGX2D6o+xyGBMyMDIwMDkyMzE0NTQ0Ni4xNDVaMASAAgH0oIHUpIHR
# MIHOMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQL
# EyBNaWNyb3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UECxMdVGhh
# bGVzIFRTUyBFU046QzRCRC1FMzdGLTVGRkMxJTAjBgNVBAMTHE1pY3Jvc29mdCBU
# aW1lLVN0YW1wIFNlcnZpY2Wggg5EMIIE9TCCA92gAwIBAgITMwAAASM4sOSt2FqQ
# nQAAAAABIzANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg
# MjAxMDAeFw0xOTEyMTkwMTE0NTZaFw0yMTAzMTcwMTE0NTZaMIHOMQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQLEyBNaWNyb3NvZnQg
# T3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046
# QzRCRC1FMzdGLTVGRkMxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNl
# cnZpY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCdvNDJsGSl3AEu
# 8dmbwOEzjgs8Put17PVCxlrXWQzd1ZfmhkBLDMBKyJIM0ItH0ztLDg/Td4TtR2k1
# h6EvNDf0G+qC0dlgmZL/1TOFhZ04Tr98gOc0rfr7ijcK4xBxQtI5TAwiamlO0rel
# iW5f5AD+bIDNKraRBEIcbVWn/CKFeZavL4DCTa99DuK6i2BIv2GVkGWMEBwIlTLp
# wmKSYnHJzTjUUXYNg908rttnhCcD0D+g5HhIqDMvXoTJga5IwA1ToEFfk+Joq/oQ
# CXiDcrKbOsIETuao7lefo73MzUGtVpu48bKgb9OBgpSKeTR7610JmfZqWXY9648R
# bmWyo3dxAgMBAAGjggEbMIIBFzAdBgNVHQ4EFgQUgdRsFIDTjRv5EcKwaN4ZFfgM
# nh4wHwYDVR0jBBgwFoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBL
# oEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMv
# TWljVGltU3RhUENBXzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggr
# BgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNU
# aW1TdGFQQ0FfMjAxMC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAK
# BggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAQEAW+UBt6pX6Fuq9VeJU/pDvC1M
# xd9kt31H4J/0tUEAT8zkbP+ro49PcrR1jQ3znsMJEsmtX/EvXvgW515Jx+Zd0ep0
# tgZEUwDbU5l8bzC0wsr3mHvyUCH6LPmd4idG9ahw0pxI+kJnX9TMpqzwJOY8YcYY
# ol5cCC1I7x+esu6yx8StMJ7B9dhDvTJ5GkjVyTQpkpn4FBJAzc7udwt/ZelzUQD2
# rs9v1rJSFGXF9zQwjIL+YWYtp4XffR8cmiSbHJ9X/IWVwPvn9RzW6vG3ZIdzmIEZ
# za+0HZzvhrr7bt3chqmHUDDBj5wLeC+xMPcpI8tFKM+uP69Em0CEWLcuXjPTNzCC
# BnEwggRZoAMCAQICCmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNV
# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29m
# dCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1
# NVoXDTI1MDcwMTIxNDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
# b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw
# ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/
# aZRrdFQQ1aUKAIKF++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkTjnxh
# MFmxMEQP8WCIhFRDDNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhH
# hjKEHnRhZ5FfgVSxz5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGKr0tk
# iVBisV39dx898Fd1rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox
# 8NpOBpG2iAg16HgcsOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJN
# AgMBAAGjggHmMIIB4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIox
# kPNDe3xGG8UzaFqFbVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P
# BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9
# lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQu
# Y29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3Js
# MFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3Nv
# ZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAG
# A1UdIAEB/wSBlTCBkjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRw
# Oi8vd3d3Lm1pY3Jvc29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAG
# CCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEA
# dABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXED
# PZ2joSFvs+umzPUxvs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgr
# UYJEEvu5U4zM9GASinbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c
# 8pl5SpFSAK84Dxf1L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFw
# nzJKJ/1Vry/+tuWOM7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFt
# w5yjojz6f32WapB4pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1JeVk
# 7Pf0v35jWSUPei45V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9d
# dJgiCGHasFAeb73x4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5u+zG
# y9iCtHLNHfS4hQEegPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3
# yKxO2ii4sanblrKnQqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Zta7c
# RDyXUHHXodLFVeNp3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wkn
# HNWzfjUeCLraNtvTX4/edIhJEqGCAtIwggI7AgEBMIH8oYHUpIHRMIHOMQswCQYD
# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe
# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQLEyBNaWNyb3Nv
# ZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UECxMdVGhhbGVzIFRTUyBF
# U046QzRCRC1FMzdGLTVGRkMxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1w
# IFNlcnZpY2WiIwoBATAHBgUrDgMCGgMVALoXZo3g4p4Xwu4MNSgQnjP7+1eBoIGD
# MIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
# A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEF
# BQACBQDjFVwCMCIYDzIwMjAwOTIzMDkzMDQyWhgPMjAyMDA5MjQwOTMwNDJaMHcw
# PQYKKwYBBAGEWQoEATEvMC0wCgIFAOMVXAICAQAwCgIBAAICHVwCAf8wBwIBAAIC
# EnMwCgIFAOMWrYICAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAK
# MAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQAFxNHa0TLt
# V+yw/+l+D2+gQr/6pRTwximzQtHsT94pAA18WPA9PrRehL/YIuhOau9oKTgXX1S6
# 1vfBIXPH8cqwPg9HKU5uYINXXqWW2Ok+Z+/9MS1+ATMnI1IA9EIoSPEZA3wI3MXt
# B90y1U1M9xTIp72dQ1FwhPRS9esaGSeSRTGCAw0wggMJAgEBMIGTMHwxCzAJBgNV
# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
# dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABIziw5K3YWpCdAAAAAAEjMA0GCWCG
# SAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZI
# hvcNAQkEMSIEIAWcs4uBs2zGjal0R5rLKVchuw4Li0heF1KkqDH6D8LHMIH6Bgsq
# hkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgEZozgz/7RMzEDaOjrMSkAAy/KcCiZDOW
# J1yq6vsVgbMwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAIT
# MwAAASM4sOSt2FqQnQAAAAABIzAiBCBqK2LKWflxUvo6yGNIrUlShhpyrAM+Nh7j
# QeRxEs3FHDANBgkqhkiG9w0BAQsFAASCAQCE6Znt8YNzLUgaj+c1gMR4nRrd6B+S
# Azmob4ET0/0S2ZOL40NXsvgFLReOxrsrhdGqAsIpDhcECcyrA6Erfp2IIJPHDjlW
# xtF/+FMLVXG+47QdxGhfhJOk59vm4nrJ1A3ouq+mODjkzSlXN0HwO/mGiDiX5v7f
# /vO8Pt8ghW170r+y4JGnHNbhDM0nzuAumXZoDF8tp99hTqOfTzcC0STCdBISKppb
# jC9KmuQP24RICmludp3pz5ykyh9NO5kfbfb4D/ufPN42puhNVhcDgh4IOuzg0BeS
# LkbFYeqlEL6nirw1xbV7LoF/0vFp95y0H8hDRfmUIb3QYg/3wCevjhb1
# SIG # End signature block