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
# MIIjkgYJKoZIhvcNAQcCoIIjgzCCI38CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBiUzMQpq/eWW26
# 8cT3U4PGHTQ5BBa9gCeT6ExIUcVyvKCCDYEwggX/MIID56ADAgECAhMzAAABh3IX
# chVZQMcJAAAAAAGHMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjAwMzA0MTgzOTQ3WhcNMjEwMzAzMTgzOTQ3WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDOt8kLc7P3T7MKIhouYHewMFmnq8Ayu7FOhZCQabVwBp2VS4WyB2Qe4TQBT8aB
# znANDEPjHKNdPT8Xz5cNali6XHefS8i/WXtF0vSsP8NEv6mBHuA2p1fw2wB/F0dH
# sJ3GfZ5c0sPJjklsiYqPw59xJ54kM91IOgiO2OUzjNAljPibjCWfH7UzQ1TPHc4d
# weils8GEIrbBRb7IWwiObL12jWT4Yh71NQgvJ9Fn6+UhD9x2uk3dLj84vwt1NuFQ
# itKJxIV0fVsRNR3abQVOLqpDugbr0SzNL6o8xzOHL5OXiGGwg6ekiXA1/2XXY7yV
# Fc39tledDtZjSjNbex1zzwSXAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhov4ZyO96axkJdMjpzu2zVXOJcsw
# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU4Mzg1MB8GA1UdIwQYMBaAFEhu
# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAixmy
# S6E6vprWD9KFNIB9G5zyMuIjZAOuUJ1EK/Vlg6Fb3ZHXjjUwATKIcXbFuFC6Wr4K
# NrU4DY/sBVqmab5AC/je3bpUpjtxpEyqUqtPc30wEg/rO9vmKmqKoLPT37svc2NV
# BmGNl+85qO4fV/w7Cx7J0Bbqk19KcRNdjt6eKoTnTPHBHlVHQIHZpMxacbFOAkJr
# qAVkYZdz7ikNXTxV+GRb36tC4ByMNxE2DF7vFdvaiZP0CVZ5ByJ2gAhXMdK9+usx
# zVk913qKde1OAuWdv+rndqkAIm8fUlRnr4saSCg7cIbUwCCf116wUJ7EuJDg0vHe
# yhnCeHnBbyH3RZkHEi2ofmfgnFISJZDdMAeVZGVOh20Jp50XBzqokpPzeZ6zc1/g
# yILNyiVgE+RPkjnUQshd1f1PMgn3tns2Cz7bJiVUaqEO3n9qRFgy5JuLae6UweGf
# AeOo3dgLZxikKzYs3hDMaEtJq8IP71cX7QXe6lnMmXU/Hdfz2p897Zd+kU+vZvKI
# 3cwLfuVQgK2RZ2z+Kc3K3dRPz2rXycK5XCuRZmvGab/WbrZiC7wJQapgBodltMI5
# GMdFrBg9IeF7/rP4EqVQXeKtevTlZXjpuNhhjuR+2DMt/dWufjXpiW91bo3aH6Ea
# jOALXmoxgltCp1K7hrS6gmsvj94cLRf50QQ4U8Qwggd6MIIFYqADAgECAgphDpDS
# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVZzCCFWMCAQEwgZUwfjELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAYdyF3IVWUDHCQAAAAABhzAN
# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgn5I6CLKp
# ltWjiGDQw/+G6QC8Oe/qR24Cp5GdMV0BfjgwQgYKKwYBBAGCNwIBDDE0MDKgFIAS
# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
# BgkqhkiG9w0BAQEFAASCAQCaE/dN12WRO0XbOOIZ+vukt3ENXQF5qF3XIGvZkGOw
# jEhFeJbMIwniVipQDqw58G77YIjY0u/lLMmhVdh9YUN9EulOYRNlmyaTq/nYwTpo
# 8GTMDjIvDwI8M9Df/jm8WKoNZvS5JfFirkg1oejrDV6ASzwwwm6XsiViVTzpMzG6
# qyu9GOpOIPXx4r3NUS3O+TQxuEzzTsYewHY7zS61RBjSTVekKWoJb6ISnjHv2uPk
# uCyHmPOjDboD1YFoeca6qXBbF0JIbuaE1aVVIqlv6f4p0fJSShNGSnyprGbBwSc6
# Uq25PIRzbGNkjsfV5p4mdBrFj8hs3E6fgGvn5teGMh2coYIS8TCCEu0GCisGAQQB
# gjcDAwExghLdMIIS2QYJKoZIhvcNAQcCoIISyjCCEsYCAQMxDzANBglghkgBZQME
# AgEFADCCAVUGCyqGSIb3DQEJEAEEoIIBRASCAUAwggE8AgEBBgorBgEEAYRZCgMB
# MDEwDQYJYIZIAWUDBAIBBQAEINMNyKGbalHNsLLfMpm2bn/sJoc7EHvhgZHgxcHg
# +uThAgZfYPp3AvwYEzIwMjAwOTI0MDMzOTEyLjMyNlowBIACAfSggdSkgdEwgc4x
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1p
# Y3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMg
# VFNTIEVTTjowQTU2LUUzMjktNEQ0RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt
# U3RhbXAgU2VydmljZaCCDkQwggT1MIID3aADAgECAhMzAAABJy9uo++RqBmoAAAA
# AAEnMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw
# MB4XDTE5MTIxOTAxMTQ1OVoXDTIxMDMxNzAxMTQ1OVowgc4xCzAJBgNVBAYTAlVT
# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVy
# YXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjowQTU2
# LUUzMjktNEQ0RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj
# ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPgB3nERnk6fS40vvWeD
# 3HCgM9Ep4xTIQiPnJXE9E+HkZVtTsPemoOyhfNAyF95E/rUvXOVTUcJFL7Xb16jT
# KPXONsCWY8DCixSDIiid6xa30TiEWVcIZRwiDlcx29D467OTav5rA1G6TwAEY5rQ
# jhUHLrOoJgfJfakZq6IHjd+slI0/qlys7QIGakFk2OB6mh/ln/nS8G4kNRK6Do4g
# xDtnBSFLNfhsSZlRSMDJwFvrZ2FCkaoexd7rKlUNOAAScY411IEqQeI1PwfRm3aW
# bS8IvAfJPC2Ah2LrtP8sKn5faaU8epexje7vZfcZif/cbxgUKStJzqbdvTBNc93n
# /Z8CAwEAAaOCARswggEXMB0GA1UdDgQWBBTl9JZVgF85MSRbYlOJXbhY022V8jAf
# BgNVHSMEGDAWgBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBH
# hkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNU
# aW1TdGFQQ0FfMjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUF
# BzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0
# YVBDQV8yMDEwLTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsG
# AQUFBwMIMA0GCSqGSIb3DQEBCwUAA4IBAQAKyo180VXHBqVnjZwQy7NlzXbo2+W5
# qfHxR7ANV5RBkRkdGamkwUcDNL+DpHObFPJHa0oTeYKE0Zbl1MvvfS8RtGGdhGYG
# CJf+BPd/gBCs4+dkZdjvOzNyuVuDPGlqQ5f7HS7iuQ/cCyGHcHYJ0nXVewF2Lk+J
# lrWykHpTlLwPXmCpNR+gieItPi/UMF2RYTGwojW+yIVwNyMYnjFGUxEX5/DtJjRZ
# mg7PBHMrENN2DgO6wBelp4ptyH2KK2EsWT+8jFCuoKv+eJby0QD55LN5f8SrUPRn
# K86fh7aVOfCglQofo5ABZIGiDIrg4JsV4k6p0oBSIFOAcqRAhiH+1spCMIIGcTCC
# BFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMC
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJv
# b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTAwNzAxMjEzNjU1WhcN
# MjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
# bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
# aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCASIw
# DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKkdDbx3EYo6IOz8E5f1+n9plGt0
# VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vwFVMnBDEfQRsalR3OCROOfGEwWbEw
# RA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNFDdDq9UeBzb8kYDJYYEbyWEeGMoQe
# dGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC732H8RsEnHSRnEnIaIYqvS2SJUGKx
# Xf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOWRH7v0Ev9buWayrGo8noqCjHw2k4G
# kbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJk3jN/LzAyURdXhacAQVPIk0CAwEA
# AaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTVYzpcijGQ80N7
# fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC
# AYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX
# zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20v
# cGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYI
# KwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDCBoAYDVR0g
# AQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEwPQYIKwYBBQUHAgEWMWh0dHA6Ly93
# d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9DUFMvZGVmYXVsdC5odG0wQAYIKwYB
# BQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABvAGwAaQBjAHkAXwBTAHQAYQB0AGUA
# bQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAAfmiFEN4sbgmD+BcQM9naOh
# IW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/15/B4vceoniXj+bzta1RXCCtRgkQS
# +7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRWS3TvQhDIr79/xn/yN31aPxzymXlK
# kVIArzgPF/UveYFl2am1a+THzvbKegBvSzBEJCI8z+0DpZaPWSm8tv0E4XCfMkon
# /VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/3cVKC5Em4jnsGUpxY517IW3DnKOi
# PPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9nhquBEKDuLWAmyI4ILUl5WTs9/S/
# fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5HmoDF0M2n0O99g/DhO3EJ3110mCII
# YdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv33nJ+YWtvd6mBy6cJrDm77MbL2IK0
# cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI5pgt6o3gMy4SKfXAL1QnIffIrE7a
# KLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0MkvfY3v1mYovG8chr1m1rtxEPJdQ
# cdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0eGTgvvM9YBS7vDaBQNdrvCScc1bN+
# NR4Iuto229Nfj950iEkSoYIC0jCCAjsCAQEwgfyhgdSkgdEwgc4xCzAJBgNVBAYT
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBP
# cGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjow
# QTU2LUUzMjktNEQ0RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
# dmljZaIjCgEBMAcGBSsOAwIaAxUAs5W4TmyDHMRM7iz6mgGojqvXHzOggYMwgYCk
# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF
# AOMWBG8wIhgPMjAyMDA5MjMyMTI5MTlaGA8yMDIwMDkyNDIxMjkxOVowdzA9Bgor
# BgEEAYRZCgQBMS8wLTAKAgUA4xYEbwIBADAKAgEAAgIVVwIB/zAHAgEAAgIRsDAK
# AgUA4xdV7wIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIB
# AAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAJnJiBjks0kF1b30
# TdvLfHMXI7zv73pR//8OWxnAEZXgmKgk0ObxrmmAbBuwCvteNcmYol+eR790eLQy
# STqz63dCkL/DOFv5pZaPouylqYWlz/JPNGdrNDVqh58fUGw0n6zRJdMFKheEq89t
# r/+aJk8Lvmezq3YjNno72xui3sVAMYIDDTCCAwkCAQEwgZMwfDELMAkGA1UEBhMC
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp
# bWUtU3RhbXAgUENBIDIwMTACEzMAAAEnL26j75GoGagAAAAAAScwDQYJYIZIAWUD
# BAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0B
# CQQxIgQghQm+A1ZiJ7l6BqLpX8t1BUO99dGAxSBHu7WxGrcvnoowgfoGCyqGSIb3
# DQEJEAIvMYHqMIHnMIHkMIG9BCAbkuhLEoYdahb/BUyVszO2VDi6kB3MSaof/+8u
# 7SM+IjCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB
# Jy9uo++RqBmoAAAAAAEnMCIEIAcmlJK48Vk9rasSxDsINoRUd+ZuS7GIhSsBcCbA
# zoJsMA0GCSqGSIb3DQEBCwUABIIBAGSiggi5ftspxqKZAIqMTROwtLR7UH7JmHzl
# WOUahXaqqZukTxgOKGZbPwKNOnBvC4B9T2fAXJ3btzz1WvVWgfxC6G49fGp1W592
# 8gir9ubsBYDrIx+ok2mBrM/J0ipNL0U9mIgMbfurnQoii8c3QYTUqqTdmQj7Xc0v
# ePerDDtH897532jmHT7z94r5jP/ZMKTT6L4vgNDBGueS9I67meqqQs+2pt3Kytvh
# JxzlxH33oZsf6gsaTyhEroJprxst5TA4acLVXh32/yhlwOj3+AWsnsOxvKjy0MDS
# D1xRf7iO2WAUvNfImwDhOdwiL2rryLuox8rFNUZLLHqr68VUwok=
# SIG # End signature block