exports/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
Invoke action addKey
.Description
Invoke action addKey
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/add-mgapplicationkey
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsAddKeyRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphKeyCredential
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IBodyParameterApplicationsAddKeyRequestBody>: HELP MESSAGE MISSING
  [KeyCredentialCustomKeyIdentifier <Byte[]>]:
  [KeyCredentialDisplayName <String>]:
  [KeyCredentialEndDateTime <DateTime?>]:
  [KeyCredentialKey <Byte[]>]:
  [KeyCredentialKeyId <String>]:
  [KeyCredentialStartDateTime <DateTime?>]:
  [KeyCredentialType <String>]:
  [KeyCredentialUsage <String>]:
  [PasswordCredentialCustomKeyIdentifier <Byte[]>]:
  [PasswordCredentialDisplayName <String>]:
  [PasswordCredentialEndDateTime <DateTime?>]:
  [PasswordCredentialHint <String>]:
  [PasswordCredentialKeyId <String>]:
  [PasswordCredentialSecretText <String>]:
  [PasswordCredentialStartDateTime <DateTime?>]:
  [Proof <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/add-mgapplicationkey
#>

function Add-MgApplicationKey {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphKeyCredential])]
[CmdletBinding(DefaultParameterSetName='AddExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Add', Mandatory)]
    [Parameter(ParameterSetName='AddExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

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

    [Parameter(ParameterSetName='Add', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='AddViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsAddKeyRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Input File for KeyCredentialCustomKeyIdentifier (HELP MESSAGE MISSING)
    ${KeyCredentialCustomKeyIdentifierInputFile},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${KeyCredentialDisplayName},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${KeyCredentialEndDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${KeyCredentialKeyId},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Input File for KeyCredentialKey (HELP MESSAGE MISSING)
    ${KeyCredentialKeyInputFile},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${KeyCredentialStartDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${KeyCredentialType},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${KeyCredentialUsage},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Input File for PasswordCredentialCustomKeyIdentifier (HELP MESSAGE MISSING)
    ${PasswordCredentialCustomKeyIdentifierInputFile},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${PasswordCredentialDisplayName},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${PasswordCredentialEndDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${PasswordCredentialHint},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${PasswordCredentialKeyId},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${PasswordCredentialSecretText},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${PasswordCredentialStartDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Proof},

    [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 = @{
            Add = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationKey_Add';
            AddExpanded = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationKey_AddExpanded';
            AddViaIdentity = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationKey_AddViaIdentity';
            AddViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationKey_AddViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 addPassword
.Description
Invoke action addPassword
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/add-mgapplicationpassword
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsAddPasswordRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPasswordCredential
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IBodyParameterApplicationsAddPasswordRequestBody>: HELP MESSAGE MISSING
  [PasswordCredentialCustomKeyIdentifier <Byte[]>]:
  [PasswordCredentialDisplayName <String>]:
  [PasswordCredentialEndDateTime <DateTime?>]:
  [PasswordCredentialHint <String>]:
  [PasswordCredentialKeyId <String>]:
  [PasswordCredentialSecretText <String>]:
  [PasswordCredentialStartDateTime <DateTime?>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/add-mgapplicationpassword
#>

function Add-MgApplicationPassword {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPasswordCredential])]
[CmdletBinding(DefaultParameterSetName='AddExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Add', Mandatory)]
    [Parameter(ParameterSetName='AddExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

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

    [Parameter(ParameterSetName='Add', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='AddViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsAddPasswordRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Input File for PasswordCredentialCustomKeyIdentifier (HELP MESSAGE MISSING)
    ${PasswordCredentialCustomKeyIdentifierInputFile},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${PasswordCredentialDisplayName},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${PasswordCredentialEndDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${PasswordCredentialHint},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${PasswordCredentialKeyId},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${PasswordCredentialSecretText},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${PasswordCredentialStartDateTime},

    [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 = @{
            Add = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationPassword_Add';
            AddExpanded = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationPassword_AddExpanded';
            AddViaIdentity = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationPassword_AddViaIdentity';
            AddViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationPassword_AddViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 apply
.Description
Invoke action apply
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/add-mgapplicationsynchronizationjob
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationJobsApplyRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IBodyParameterApplicationsSynchronizationJobsApplyRequestBody>: HELP MESSAGE MISSING
  [ObjectId <String>]:
  [RuleId <String>]:
  [TypeName <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/add-mgapplicationsynchronizationjob
#>

function Add-MgApplicationSynchronizationJob {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='ApplyExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Apply', Mandatory)]
    [Parameter(ParameterSetName='ApplyExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Apply', Mandatory)]
    [Parameter(ParameterSetName='ApplyExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

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

    [Parameter(ParameterSetName='Apply', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='ApplyViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationJobsApplyRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='ApplyExpanded')]
    [Parameter(ParameterSetName='ApplyViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${ObjectId},

    [Parameter(ParameterSetName='ApplyExpanded')]
    [Parameter(ParameterSetName='ApplyViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${RuleId},

    [Parameter(ParameterSetName='ApplyExpanded')]
    [Parameter(ParameterSetName='ApplyViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${TypeName},

    [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 = @{
            Apply = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationSynchronizationJob_Apply';
            ApplyExpanded = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationSynchronizationJob_ApplyExpanded';
            ApplyViaIdentity = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationSynchronizationJob_ApplyViaIdentity';
            ApplyViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Add-MgApplicationSynchronizationJob_ApplyViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 createdOnBehalfOf from applications
.Description
Get createdOnBehalfOf from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationcreatedonbehalf
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationcreatedonbehalf
#>

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

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

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

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

    [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.Identity.Application.private\Get-MgApplicationCreatedOnBehalf_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationCreatedOnBehalf_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 delta
.Description
Invoke function delta
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationdelta
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplication
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationdelta
#>

function Get-MgApplicationDelta {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplication])]
[CmdletBinding(DefaultParameterSetName='Delta', PositionalBinding=$false)]
param(
    [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 = @{
            Delta = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationDelta_Delta';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 extensionProperties from applications
.Description
Get extensionProperties from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationextensionproperty
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphExtensionProperty
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationextensionproperty
#>

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # Include count of items
    ${Count},

    [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[]]
    # Order items by property values
    ${Orderby},

    [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')]
    [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}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationExtensionProperty_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationExtensionProperty_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationExtensionProperty_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 owners from applications
.Description
Get owners from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationowner
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationowner
#>

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # Include count of items
    ${Count},

    [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[]]
    # Order items by property values
    ${Orderby},

    [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')]
    [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}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationOwner_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationOwner_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationOwner_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 policies from applications
.Description
Get policies from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationpolicy
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationpolicy
#>

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # Include count of items
    ${Count},

    [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[]]
    # Order items by property values
    ${Orderby},

    [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')]
    [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}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationPolicy_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationPolicy_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationPolicy_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 directories from applications
.Description
Get directories from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationjobschemadirectory
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationjobschemadirectory
#>

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # Include count of items
    ${Count},

    [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[]]
    # Order items by property values
    ${Orderby},

    [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')]
    [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}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationJobSchemaDirectory_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationJobSchemaDirectory_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationJobSchemaDirectory_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 schema from applications
.Description
Get schema from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationjobschema
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationSchema
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationjobschema
#>

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

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

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

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

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

    [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.Identity.Application.private\Get-MgApplicationSynchronizationJobSchema_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationJobSchema_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 jobs from applications
.Description
Get jobs from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationjob
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationjob
#>

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # Include count of items
    ${Count},

    [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[]]
    # Order items by property values
    ${Orderby},

    [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')]
    [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}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationJob_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationJob_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationJob_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 directories from applications
.Description
Get directories from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationtemplateschemadirectory
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationtemplateschemadirectory
#>

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

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # Include count of items
    ${Count},

    [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[]]
    # Order items by property values
    ${Orderby},

    [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')]
    [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}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationTemplateSchemaDirectory_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationTemplateSchemaDirectory_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationTemplateSchemaDirectory_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 schema from applications
.Description
Get schema from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationtemplateschema
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationSchema
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationtemplateschema
#>

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

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

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

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

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

    [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.Identity.Application.private\Get-MgApplicationSynchronizationTemplateSchema_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationTemplateSchema_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 templates from applications
.Description
Get templates from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationtemplate
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationTemplate
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronizationtemplate
#>

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

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # Include count of items
    ${Count},

    [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[]]
    # Order items by property values
    ${Orderby},

    [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')]
    [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}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationTemplate_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationTemplate_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronizationTemplate_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 synchronization from applications
.Description
Get synchronization from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronization
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronization
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationsynchronization
#>

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

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

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

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

    [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.Identity.Application.private\Get-MgApplicationSynchronization_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationSynchronization_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 entity from applicationTemplates by key
.Description
Get entity from applicationTemplates by key
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationtemplate
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplicationTemplate
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationtemplate
#>

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

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

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

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # Include count of items
    ${Count},

    [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[]]
    # Order items by property values
    ${Orderby},

    [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')]
    [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}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationTemplate_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationTemplate_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationTemplate_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 entity from applications by key
.Description
Get entity from applications by key
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplication
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplication
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplication
#>

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

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

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

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

    [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]
    # 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}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplication_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplication_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplication_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 filterOperators
.Description
Invoke function filterOperators
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgfilterapplicationsynchronizationjobschemaoperator
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphFilterOperatorSchema
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgfilterapplicationsynchronizationjobschemaoperator
#>

function Invoke-MgFilterApplicationSynchronizationJobSchemaOperator {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphFilterOperatorSchema])]
[CmdletBinding(DefaultParameterSetName='Filter', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Filter', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Filter', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

    [Parameter(ParameterSetName='FilterViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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 = @{
            Filter = 'Microsoft.Graph.Identity.Application.private\Invoke-MgFilterApplicationSynchronizationJobSchemaOperator_Filter';
            FilterViaIdentity = 'Microsoft.Graph.Identity.Application.private\Invoke-MgFilterApplicationSynchronizationJobSchemaOperator_FilterViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 filterOperators
.Description
Invoke function filterOperators
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgfilterapplicationsynchronizationtemplateschemaoperator
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphFilterOperatorSchema
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgfilterapplicationsynchronizationtemplateschemaoperator
#>

function Invoke-MgFilterApplicationSynchronizationTemplateSchemaOperator {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphFilterOperatorSchema])]
[CmdletBinding(DefaultParameterSetName='Filter', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Filter', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Filter', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationTemplate-id of synchronizationTemplate
    ${SynchronizationTemplateId},

    [Parameter(ParameterSetName='FilterViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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 = @{
            Filter = 'Microsoft.Graph.Identity.Application.private\Invoke-MgFilterApplicationSynchronizationTemplateSchemaOperator_Filter';
            FilterViaIdentity = 'Microsoft.Graph.Identity.Application.private\Invoke-MgFilterApplicationSynchronizationTemplateSchemaOperator_FilterViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 functions
.Description
Invoke function functions
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgfunctionapplicationsynchronizationjobschema
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAttributeMappingFunctionSchema
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgfunctionapplicationsynchronizationjobschema
#>

function Invoke-MgFunctionApplicationSynchronizationJobSchema {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAttributeMappingFunctionSchema])]
[CmdletBinding(DefaultParameterSetName='Functions', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Functions', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Functions', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

    [Parameter(ParameterSetName='FunctionsViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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 = @{
            Functions = 'Microsoft.Graph.Identity.Application.private\Invoke-MgFunctionApplicationSynchronizationJobSchema_Functions';
            FunctionsViaIdentity = 'Microsoft.Graph.Identity.Application.private\Invoke-MgFunctionApplicationSynchronizationJobSchema_FunctionsViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 functions
.Description
Invoke function functions
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgfunctionapplicationsynchronizationtemplateschema
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAttributeMappingFunctionSchema
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgfunctionapplicationsynchronizationtemplateschema
#>

function Invoke-MgFunctionApplicationSynchronizationTemplateSchema {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAttributeMappingFunctionSchema])]
[CmdletBinding(DefaultParameterSetName='Functions', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Functions', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Functions', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationTemplate-id of synchronizationTemplate
    ${SynchronizationTemplateId},

    [Parameter(ParameterSetName='FunctionsViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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 = @{
            Functions = 'Microsoft.Graph.Identity.Application.private\Invoke-MgFunctionApplicationSynchronizationTemplateSchema_Functions';
            FunctionsViaIdentity = 'Microsoft.Graph.Identity.Application.private\Invoke-MgFunctionApplicationSynchronizationTemplateSchema_FunctionsViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 instantiate
.Description
Invoke action instantiate
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mginstantiateapplicationtemplate
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationTemplatesInstantiateRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplicationServicePrincipal
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IBodyParameterApplicationTemplatesInstantiateRequestBody>: HELP MESSAGE MISSING
  [DisplayName <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mginstantiateapplicationtemplate
#>

function Invoke-MgInstantiateApplicationTemplate {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplicationServicePrincipal])]
[CmdletBinding(DefaultParameterSetName='InstantiateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Instantiate', Mandatory)]
    [Parameter(ParameterSetName='InstantiateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: applicationTemplate-id of applicationTemplate
    ${ApplicationTemplateId},

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

    [Parameter(ParameterSetName='Instantiate', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='InstantiateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationTemplatesInstantiateRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='InstantiateExpanded')]
    [Parameter(ParameterSetName='InstantiateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${DisplayName},

    [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 = @{
            Instantiate = 'Microsoft.Graph.Identity.Application.private\Invoke-MgInstantiateApplicationTemplate_Instantiate';
            InstantiateExpanded = 'Microsoft.Graph.Identity.Application.private\Invoke-MgInstantiateApplicationTemplate_InstantiateExpanded';
            InstantiateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Invoke-MgInstantiateApplicationTemplate_InstantiateViaIdentity';
            InstantiateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Invoke-MgInstantiateApplicationTemplate_InstantiateViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 parseExpression
.Description
Invoke action parseExpression
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgparseapplicationsynchronizationjobschemaexpression
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationJobsSchemaParseExpressionRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphParseExpressionResponse
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IBodyParameterApplicationsSynchronizationJobsSchemaParseExpressionRequestBody>: HELP MESSAGE MISSING
  [DefinitionAttributes <IMicrosoftGraphAttributeDefinition[]>]:
    [Anchor <Boolean?>]:
    [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
      [Key <String>]:
      [Value <String>]:
    [CaseExact <Boolean?>]:
    [DefaultValue <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Multivalued <Boolean?>]:
    [Mutability <String>]: mutability
    [Name <String>]:
    [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
      [ReferencedObjectName <String>]:
      [ReferencedProperty <String>]:
    [Required <Boolean?>]:
    [Type <String>]: attributeType
  [DefinitionMetadata <IMicrosoftGraphMetadataEntry[]>]:
  [DefinitionName <String>]:
  [DefinitionSupportedApis <String[]>]:
  [Expression <String>]:
  [TargetAttributeDefinitionAnchor <Boolean?>]:
  [TargetAttributeDefinitionApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
  [TargetAttributeDefinitionCaseExact <Boolean?>]:
  [TargetAttributeDefinitionDefaultValue <String>]:
  [TargetAttributeDefinitionMetadata <IMicrosoftGraphMetadataEntry[]>]:
  [TargetAttributeDefinitionMultivalued <Boolean?>]:
  [TargetAttributeDefinitionMutability <String>]: mutability
  [TargetAttributeDefinitionName <String>]:
  [TargetAttributeDefinitionReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
  [TargetAttributeDefinitionRequired <Boolean?>]:
  [TargetAttributeDefinitionType <String>]: attributeType
  [TestInputObjectProperties <IMicrosoftGraphStringKeyObjectValuePair[]>]:
    [Key <String>]:
 
DEFINITIONATTRIBUTES <IMicrosoftGraphAttributeDefinition[]>: HELP MESSAGE MISSING
  [Anchor <Boolean?>]:
  [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Key <String>]:
    [Value <String>]:
  [CaseExact <Boolean?>]:
  [DefaultValue <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [Multivalued <Boolean?>]:
  [Mutability <String>]: mutability
  [Name <String>]:
  [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
    [ReferencedObjectName <String>]:
    [ReferencedProperty <String>]:
  [Required <Boolean?>]:
  [Type <String>]: attributeType
 
DEFINITIONMETADATA <IMicrosoftGraphMetadataEntry[]>: HELP MESSAGE MISSING
  [Key <String>]:
  [Value <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
TARGETATTRIBUTEDEFINITIONAPIEXPRESSIONS <IMicrosoftGraphStringKeyStringValuePair[]>: HELP MESSAGE MISSING
  [Key <String>]:
  [Value <String>]:
 
TARGETATTRIBUTEDEFINITIONMETADATA <IMicrosoftGraphMetadataEntry[]>: HELP MESSAGE MISSING
  [Key <String>]:
  [Value <String>]:
 
TARGETATTRIBUTEDEFINITIONREFERENCEDOBJECTS <IMicrosoftGraphReferencedObject[]>: HELP MESSAGE MISSING
  [ReferencedObjectName <String>]:
  [ReferencedProperty <String>]:
 
TESTINPUTOBJECTPROPERTIES <IMicrosoftGraphStringKeyObjectValuePair[]>: HELP MESSAGE MISSING
  [Key <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgparseapplicationsynchronizationjobschemaexpression
#>

function Invoke-MgParseApplicationSynchronizationJobSchemaExpression {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphParseExpressionResponse])]
[CmdletBinding(DefaultParameterSetName='ParseExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Parse', Mandatory)]
    [Parameter(ParameterSetName='ParseExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Parse', Mandatory)]
    [Parameter(ParameterSetName='ParseExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

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

    [Parameter(ParameterSetName='Parse', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='ParseViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationJobsSchemaParseExpressionRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAttributeDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for DEFINITIONATTRIBUTES properties and create a hash table.
    ${DefinitionAttributes},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for DEFINITIONMETADATA properties and create a hash table.
    ${DefinitionMetadata},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${DefinitionName},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${DefinitionSupportedApis},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Expression},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionAnchor},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphStringKeyStringValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for TARGETATTRIBUTEDEFINITIONAPIEXPRESSIONS properties and create a hash table.
    ${TargetAttributeDefinitionApiExpressions},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionCaseExact},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionDefaultValue},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for TARGETATTRIBUTEDEFINITIONMETADATA properties and create a hash table.
    ${TargetAttributeDefinitionMetadata},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionMultivalued},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # mutability
    ${TargetAttributeDefinitionMutability},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionName},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReferencedObject[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for TARGETATTRIBUTEDEFINITIONREFERENCEDOBJECTS properties and create a hash table.
    ${TargetAttributeDefinitionReferencedObjects},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionRequired},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # attributeType
    ${TargetAttributeDefinitionType},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphStringKeyObjectValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for TESTINPUTOBJECTPROPERTIES properties and create a hash table.
    ${TestInputObjectProperties},

    [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 = @{
            Parse = 'Microsoft.Graph.Identity.Application.private\Invoke-MgParseApplicationSynchronizationJobSchemaExpression_Parse';
            ParseExpanded = 'Microsoft.Graph.Identity.Application.private\Invoke-MgParseApplicationSynchronizationJobSchemaExpression_ParseExpanded';
            ParseViaIdentity = 'Microsoft.Graph.Identity.Application.private\Invoke-MgParseApplicationSynchronizationJobSchemaExpression_ParseViaIdentity';
            ParseViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Invoke-MgParseApplicationSynchronizationJobSchemaExpression_ParseViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 parseExpression
.Description
Invoke action parseExpression
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgparseapplicationsynchronizationtemplateschemaexpression
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationTemplatesSchemaParseExpressionRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphParseExpressionResponse
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IBodyParameterApplicationsSynchronizationTemplatesSchemaParseExpressionRequestBody>: HELP MESSAGE MISSING
  [DefinitionAttributes <IMicrosoftGraphAttributeDefinition[]>]:
    [Anchor <Boolean?>]:
    [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
      [Key <String>]:
      [Value <String>]:
    [CaseExact <Boolean?>]:
    [DefaultValue <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Multivalued <Boolean?>]:
    [Mutability <String>]: mutability
    [Name <String>]:
    [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
      [ReferencedObjectName <String>]:
      [ReferencedProperty <String>]:
    [Required <Boolean?>]:
    [Type <String>]: attributeType
  [DefinitionMetadata <IMicrosoftGraphMetadataEntry[]>]:
  [DefinitionName <String>]:
  [DefinitionSupportedApis <String[]>]:
  [Expression <String>]:
  [TargetAttributeDefinitionAnchor <Boolean?>]:
  [TargetAttributeDefinitionApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
  [TargetAttributeDefinitionCaseExact <Boolean?>]:
  [TargetAttributeDefinitionDefaultValue <String>]:
  [TargetAttributeDefinitionMetadata <IMicrosoftGraphMetadataEntry[]>]:
  [TargetAttributeDefinitionMultivalued <Boolean?>]:
  [TargetAttributeDefinitionMutability <String>]: mutability
  [TargetAttributeDefinitionName <String>]:
  [TargetAttributeDefinitionReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
  [TargetAttributeDefinitionRequired <Boolean?>]:
  [TargetAttributeDefinitionType <String>]: attributeType
  [TestInputObjectProperties <IMicrosoftGraphStringKeyObjectValuePair[]>]:
    [Key <String>]:
 
DEFINITIONATTRIBUTES <IMicrosoftGraphAttributeDefinition[]>: HELP MESSAGE MISSING
  [Anchor <Boolean?>]:
  [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Key <String>]:
    [Value <String>]:
  [CaseExact <Boolean?>]:
  [DefaultValue <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [Multivalued <Boolean?>]:
  [Mutability <String>]: mutability
  [Name <String>]:
  [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
    [ReferencedObjectName <String>]:
    [ReferencedProperty <String>]:
  [Required <Boolean?>]:
  [Type <String>]: attributeType
 
DEFINITIONMETADATA <IMicrosoftGraphMetadataEntry[]>: HELP MESSAGE MISSING
  [Key <String>]:
  [Value <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
TARGETATTRIBUTEDEFINITIONAPIEXPRESSIONS <IMicrosoftGraphStringKeyStringValuePair[]>: HELP MESSAGE MISSING
  [Key <String>]:
  [Value <String>]:
 
TARGETATTRIBUTEDEFINITIONMETADATA <IMicrosoftGraphMetadataEntry[]>: HELP MESSAGE MISSING
  [Key <String>]:
  [Value <String>]:
 
TARGETATTRIBUTEDEFINITIONREFERENCEDOBJECTS <IMicrosoftGraphReferencedObject[]>: HELP MESSAGE MISSING
  [ReferencedObjectName <String>]:
  [ReferencedProperty <String>]:
 
TESTINPUTOBJECTPROPERTIES <IMicrosoftGraphStringKeyObjectValuePair[]>: HELP MESSAGE MISSING
  [Key <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/invoke-mgparseapplicationsynchronizationtemplateschemaexpression
#>

function Invoke-MgParseApplicationSynchronizationTemplateSchemaExpression {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphParseExpressionResponse])]
[CmdletBinding(DefaultParameterSetName='ParseExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Parse', Mandatory)]
    [Parameter(ParameterSetName='ParseExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Parse', Mandatory)]
    [Parameter(ParameterSetName='ParseExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationTemplate-id of synchronizationTemplate
    ${SynchronizationTemplateId},

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

    [Parameter(ParameterSetName='Parse', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='ParseViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationTemplatesSchemaParseExpressionRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAttributeDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for DEFINITIONATTRIBUTES properties and create a hash table.
    ${DefinitionAttributes},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for DEFINITIONMETADATA properties and create a hash table.
    ${DefinitionMetadata},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${DefinitionName},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${DefinitionSupportedApis},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Expression},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionAnchor},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphStringKeyStringValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for TARGETATTRIBUTEDEFINITIONAPIEXPRESSIONS properties and create a hash table.
    ${TargetAttributeDefinitionApiExpressions},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionCaseExact},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionDefaultValue},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for TARGETATTRIBUTEDEFINITIONMETADATA properties and create a hash table.
    ${TargetAttributeDefinitionMetadata},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionMultivalued},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # mutability
    ${TargetAttributeDefinitionMutability},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionName},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReferencedObject[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for TARGETATTRIBUTEDEFINITIONREFERENCEDOBJECTS properties and create a hash table.
    ${TargetAttributeDefinitionReferencedObjects},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${TargetAttributeDefinitionRequired},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # attributeType
    ${TargetAttributeDefinitionType},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphStringKeyObjectValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for TESTINPUTOBJECTPROPERTIES properties and create a hash table.
    ${TestInputObjectProperties},

    [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 = @{
            Parse = 'Microsoft.Graph.Identity.Application.private\Invoke-MgParseApplicationSynchronizationTemplateSchemaExpression_Parse';
            ParseExpanded = 'Microsoft.Graph.Identity.Application.private\Invoke-MgParseApplicationSynchronizationTemplateSchemaExpression_ParseExpanded';
            ParseViaIdentity = 'Microsoft.Graph.Identity.Application.private\Invoke-MgParseApplicationSynchronizationTemplateSchemaExpression_ParseViaIdentity';
            ParseViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Invoke-MgParseApplicationSynchronizationTemplateSchemaExpression_ParseViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 extensionProperties for applications
.Description
Create new navigation property to extensionProperties for applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationextensionproperty
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphExtensionProperty
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphExtensionProperty
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IMicrosoftGraphExtensionProperty>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
  [AppDisplayName <String>]:
  [DataType <String>]:
  [IsSyncedFromOnPremises <Boolean?>]:
  [Name <String>]:
  [TargetObjects <String[]>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationextensionproperty
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphExtensionProperty]
    # HELP MESSAGE MISSING
    # 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.String]
    # HELP MESSAGE MISSING
    ${AppDisplayName},

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${DeletedDateTime},

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

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

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

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

    [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.Identity.Application.private\New-MgApplicationExtensionProperty_Create';
            CreateExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationExtensionProperty_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationExtensionProperty_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationExtensionProperty_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 directories for applications
.Description
Create new navigation property to directories for applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationsynchronizationjobschemadirectory
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IMicrosoftGraphDirectoryDefinition>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
OBJECTS <IMicrosoftGraphObjectDefinition[]>: HELP MESSAGE MISSING
  [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
    [Anchor <Boolean?>]:
    [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
      [Key <String>]:
      [Value <String>]:
    [CaseExact <Boolean?>]:
    [DefaultValue <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Multivalued <Boolean?>]:
    [Mutability <String>]: mutability
    [Name <String>]:
    [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
      [ReferencedObjectName <String>]:
      [ReferencedProperty <String>]:
    [Required <Boolean?>]:
    [Type <String>]: attributeType
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
  [Name <String>]:
  [SupportedApis <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationsynchronizationjobschemadirectory
#>

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

    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphDirectoryDefinition]
    # HELP MESSAGE MISSING
    # 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.String]
    # directoryDefinitionDiscoverabilities
    ${Discoverabilities},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${DiscoveryDateTime},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphObjectDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OBJECTS properties and create a hash table.
    ${Objects},

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

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

    [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.Identity.Application.private\New-MgApplicationSynchronizationJobSchemaDirectory_Create';
            CreateExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationJobSchemaDirectory_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationJobSchemaDirectory_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationJobSchemaDirectory_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 jobs for applications
.Description
Create new navigation property to jobs for applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationsynchronizationjob
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IMicrosoftGraphSynchronizationJob>: HELP MESSAGE MISSING
  [Id <String>]:
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
          [Key <String>]:
          [Value <String>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
  [Status <IMicrosoftGraphSynchronizationStatus>]: synchronizationStatus
    [Code <String>]: synchronizationStatusCode
    [CountSuccessiveCompleteFailures <Int64?>]:
    [EscrowsPruned <Boolean?>]:
    [LastExecutionActivityIdentifier <String>]:
    [LastExecutionCountEntitled <Int64?>]:
    [LastExecutionCountEntitledForProvisioning <Int64?>]:
    [LastExecutionCountEscrowed <Int64?>]:
    [LastExecutionCountEscrowedRaw <Int64?>]:
    [LastExecutionCountExported <Int64?>]:
    [LastExecutionCountExports <Int64?>]:
    [LastExecutionCountImported <Int64?>]:
    [LastExecutionCountImportedDeltas <Int64?>]:
    [LastExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastExecutionErrorCode <String>]:
    [LastExecutionErrorMessage <String>]:
    [LastExecutionErrorTenantActionable <Boolean?>]:
    [LastExecutionState <String>]: synchronizationTaskExecutionResult
    [LastExecutionTimeBegan <DateTime?>]:
    [LastExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionActivityIdentifier <String>]:
    [LastSuccessfulExecutionCountEntitled <Int64?>]:
    [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionCountExported <Int64?>]:
    [LastSuccessfulExecutionCountExports <Int64?>]:
    [LastSuccessfulExecutionCountImported <Int64?>]:
    [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionErrorCode <String>]:
    [LastSuccessfulExecutionErrorMessage <String>]:
    [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
    [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
    [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportsErrorCode <String>]:
    [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
    [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
    [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
      [CompletedUnits <Int64?>]:
      [ProgressObservationDateTime <DateTime?>]:
      [TotalUnits <Int64?>]:
      [Units <String>]:
    [QuarantineCurrentBegan <DateTime?>]:
    [QuarantineNextAttempt <DateTime?>]:
    [QuarantineReason <String>]: quarantineReason
    [QuarantineSeriesBegan <DateTime?>]:
    [QuarantineSeriesCount <Int64?>]:
    [SteadyStateFirstAchievedTime <DateTime?>]:
    [SteadyStateLastAchievedTime <DateTime?>]:
    [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
      [Key <String>]:
      [Value <Int64?>]:
    [TroubleshootingUrl <String>]:
  [SynchronizationJobSettings <IMicrosoftGraphKeyValuePair[]>]:
    [Name <String>]:
    [Value <String>]:
  [TemplateId <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
SCHEMADIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
SCHEMASYNCHRONIZATIONRULES <IMicrosoftGraphSynchronizationRule[]>: HELP MESSAGE MISSING
  [Editable <Boolean?>]:
  [Id <String>]:
  [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Key <String>]:
    [Value <String>]:
  [Name <String>]:
  [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
    [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
      [DefaultValue <String>]:
      [ExportMissingReferences <Boolean?>]:
      [FlowBehavior <String>]: attributeFlowBehavior
      [FlowType <String>]: attributeFlowType
      [MatchingPriority <Int32?>]:
      [SourceExpression <String>]:
      [SourceName <String>]:
      [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [Key <String>]:
        [ValueExpression <String>]:
        [ValueName <String>]:
        [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [ValueType <String>]: attributeMappingSourceType
      [SourceType <String>]: attributeMappingSourceType
      [TargetAttributeName <String>]:
    [Enabled <Boolean?>]:
    [FlowTypes <String>]: objectFlowTypes
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Name <String>]:
    [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [Clauses <IMicrosoftGraphFilterClause[]>]:
        [OperatorName <String>]:
        [SourceOperandName <String>]:
        [TargetOperandValues <String[]>]:
      [Name <String>]:
    [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
    [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
    [SourceObjectName <String>]:
    [TargetObjectName <String>]:
  [Priority <Int32?>]:
  [SourceDirectoryName <String>]:
  [TargetDirectoryName <String>]:
 
STATUS <IMicrosoftGraphSynchronizationStatus>: synchronizationStatus
  [Code <String>]: synchronizationStatusCode
  [CountSuccessiveCompleteFailures <Int64?>]:
  [EscrowsPruned <Boolean?>]:
  [LastExecutionActivityIdentifier <String>]:
  [LastExecutionCountEntitled <Int64?>]:
  [LastExecutionCountEntitledForProvisioning <Int64?>]:
  [LastExecutionCountEscrowed <Int64?>]:
  [LastExecutionCountEscrowedRaw <Int64?>]:
  [LastExecutionCountExported <Int64?>]:
  [LastExecutionCountExports <Int64?>]:
  [LastExecutionCountImported <Int64?>]:
  [LastExecutionCountImportedDeltas <Int64?>]:
  [LastExecutionCountImportedReferenceDeltas <Int64?>]:
  [LastExecutionErrorCode <String>]:
  [LastExecutionErrorMessage <String>]:
  [LastExecutionErrorTenantActionable <Boolean?>]:
  [LastExecutionState <String>]: synchronizationTaskExecutionResult
  [LastExecutionTimeBegan <DateTime?>]:
  [LastExecutionTimeEnded <DateTime?>]:
  [LastSuccessfulExecutionActivityIdentifier <String>]:
  [LastSuccessfulExecutionCountEntitled <Int64?>]:
  [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
  [LastSuccessfulExecutionCountEscrowed <Int64?>]:
  [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
  [LastSuccessfulExecutionCountExported <Int64?>]:
  [LastSuccessfulExecutionCountExports <Int64?>]:
  [LastSuccessfulExecutionCountImported <Int64?>]:
  [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
  [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
  [LastSuccessfulExecutionErrorCode <String>]:
  [LastSuccessfulExecutionErrorMessage <String>]:
  [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
  [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
  [LastSuccessfulExecutionTimeBegan <DateTime?>]:
  [LastSuccessfulExecutionTimeEnded <DateTime?>]:
  [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
  [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
  [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
  [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
  [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
  [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
  [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
  [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
  [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
  [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
  [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
  [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
  [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
  [LastSuccessfulExecutionWithExportsErrorCode <String>]:
  [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
  [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
  [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
    [CompletedUnits <Int64?>]:
    [ProgressObservationDateTime <DateTime?>]:
    [TotalUnits <Int64?>]:
    [Units <String>]:
  [QuarantineCurrentBegan <DateTime?>]:
  [QuarantineNextAttempt <DateTime?>]:
  [QuarantineReason <String>]: quarantineReason
  [QuarantineSeriesBegan <DateTime?>]:
  [QuarantineSeriesCount <Int64?>]:
  [SteadyStateFirstAchievedTime <DateTime?>]:
  [SteadyStateLastAchievedTime <DateTime?>]:
  [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
    [Key <String>]:
    [Value <Int64?>]:
  [TroubleshootingUrl <String>]:
 
SYNCHRONIZATIONJOBSETTINGS <IMicrosoftGraphKeyValuePair[]>: HELP MESSAGE MISSING
  [Name <String>]:
  [Value <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationsynchronizationjob
#>

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

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphSynchronizationJob]
    # HELP MESSAGE MISSING
    # 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.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${ScheduleExpiration},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.TimeSpan]
    # HELP MESSAGE MISSING
    ${ScheduleInterval},

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SCHEMADIRECTORIES properties and create a hash table.
    ${SchemaDirectories},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SCHEMASYNCHRONIZATIONRULES properties and create a hash table.
    ${SchemaSynchronizationRules},

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationStatus]
    # synchronizationStatus
    # 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.IMicrosoftGraphKeyValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONJOBSETTINGS properties and create a hash table.
    ${SynchronizationJobSettings},

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

    [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.Identity.Application.private\New-MgApplicationSynchronizationJob_Create';
            CreateExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationJob_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationJob_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationJob_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 directories for applications
.Description
Create new navigation property to directories for applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationsynchronizationtemplateschemadirectory
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IMicrosoftGraphDirectoryDefinition>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
OBJECTS <IMicrosoftGraphObjectDefinition[]>: HELP MESSAGE MISSING
  [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
    [Anchor <Boolean?>]:
    [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
      [Key <String>]:
      [Value <String>]:
    [CaseExact <Boolean?>]:
    [DefaultValue <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Multivalued <Boolean?>]:
    [Mutability <String>]: mutability
    [Name <String>]:
    [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
      [ReferencedObjectName <String>]:
      [ReferencedProperty <String>]:
    [Required <Boolean?>]:
    [Type <String>]: attributeType
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
  [Name <String>]:
  [SupportedApis <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationsynchronizationtemplateschemadirectory
#>

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

    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationTemplate-id of synchronizationTemplate
    ${SynchronizationTemplateId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphDirectoryDefinition]
    # HELP MESSAGE MISSING
    # 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.String]
    # directoryDefinitionDiscoverabilities
    ${Discoverabilities},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${DiscoveryDateTime},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphObjectDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OBJECTS properties and create a hash table.
    ${Objects},

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

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

    [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.Identity.Application.private\New-MgApplicationSynchronizationTemplateSchemaDirectory_Create';
            CreateExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationTemplateSchemaDirectory_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationTemplateSchemaDirectory_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationTemplateSchemaDirectory_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 templates for applications
.Description
Create new navigation property to templates for applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationsynchronizationtemplate
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationTemplate
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationTemplate
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IMicrosoftGraphSynchronizationTemplate>: HELP MESSAGE MISSING
  [Id <String>]:
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
METADATA <IMicrosoftGraphMetadataEntry[]>: HELP MESSAGE MISSING
  [Key <String>]:
  [Value <String>]:
 
SCHEMADIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
SCHEMASYNCHRONIZATIONRULES <IMicrosoftGraphSynchronizationRule[]>: HELP MESSAGE MISSING
  [Editable <Boolean?>]:
  [Id <String>]:
  [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Key <String>]:
    [Value <String>]:
  [Name <String>]:
  [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
    [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
      [DefaultValue <String>]:
      [ExportMissingReferences <Boolean?>]:
      [FlowBehavior <String>]: attributeFlowBehavior
      [FlowType <String>]: attributeFlowType
      [MatchingPriority <Int32?>]:
      [SourceExpression <String>]:
      [SourceName <String>]:
      [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [Key <String>]:
        [ValueExpression <String>]:
        [ValueName <String>]:
        [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [ValueType <String>]: attributeMappingSourceType
      [SourceType <String>]: attributeMappingSourceType
      [TargetAttributeName <String>]:
    [Enabled <Boolean?>]:
    [FlowTypes <String>]: objectFlowTypes
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Name <String>]:
    [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [Clauses <IMicrosoftGraphFilterClause[]>]:
        [OperatorName <String>]:
        [SourceOperandName <String>]:
        [TargetOperandValues <String[]>]:
      [Name <String>]:
    [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
    [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
    [SourceObjectName <String>]:
    [TargetObjectName <String>]:
  [Priority <Int32?>]:
  [SourceDirectoryName <String>]:
  [TargetDirectoryName <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationsynchronizationtemplate
#>

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for METADATA properties and create a hash table.
    ${Metadata},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SCHEMADIRECTORIES properties and create a hash table.
    ${SchemaDirectories},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SCHEMASYNCHRONIZATIONRULES properties and create a hash table.
    ${SchemaSynchronizationRules},

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

    [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.Identity.Application.private\New-MgApplicationSynchronizationTemplate_Create';
            CreateExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationTemplate_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationTemplate_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationSynchronizationTemplate_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
Add new entity to applicationTemplates
.Description
Add new entity to applicationTemplates
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationtemplate
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplicationTemplate
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplicationTemplate
.Notes
COMPLEX PARAMETER PROPERTIES
To 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 <IMicrosoftGraphApplicationTemplate>: HELP MESSAGE MISSING
  [Id <String>]:
  [Categories <String[]>]:
  [Description <String>]:
  [DisplayName <String>]:
  [HomePageUrl <String>]:
  [LogoUrl <String>]:
  [Publisher <String>]:
  [SupportedProvisioningTypes <String[]>]:
  [SupportedSingleSignOnModes <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplicationtemplate
#>

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

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

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

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

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

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

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

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

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

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

    [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.Identity.Application.private\New-MgApplicationTemplate_Create';
            CreateExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplicationTemplate_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
Add new entity to applications
.Description
Add new entity to applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplication
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplication
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplication
.Notes
COMPLEX PARAMETER PROPERTIES
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
APIOAUTH2PERMISSIONSCOPES <IMicrosoftGraphPermissionScope[]>: HELP MESSAGE MISSING
  [AdminConsentDescription <String>]:
  [AdminConsentDisplayName <String>]:
  [Id <String>]:
  [IsEnabled <Boolean?>]:
  [Origin <String>]:
  [Type <String>]:
  [UserConsentDescription <String>]:
  [UserConsentDisplayName <String>]:
  [Value <String>]:
 
APIPREAUTHORIZEDAPPLICATIONS <IMicrosoftGraphPreAuthorizedApplication[]>: HELP MESSAGE MISSING
  [AppId <String>]:
  [PermissionIds <String[]>]:
 
APPROLES <IMicrosoftGraphAppRole[]>: HELP MESSAGE MISSING
  [AllowedMemberTypes <String[]>]:
  [Description <String>]:
  [DisplayName <String>]:
  [Id <String>]:
  [IsEnabled <Boolean?>]:
  [Origin <String>]:
  [Value <String>]:
 
BODYPARAMETER <IMicrosoftGraphApplication>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
  [ApiAcceptMappedClaims <Boolean?>]:
  [ApiKnownClientApplications <String[]>]:
  [ApiOauth2PermissionScopes <IMicrosoftGraphPermissionScope[]>]:
    [AdminConsentDescription <String>]:
    [AdminConsentDisplayName <String>]:
    [Id <String>]:
    [IsEnabled <Boolean?>]:
    [Origin <String>]:
    [Type <String>]:
    [UserConsentDescription <String>]:
    [UserConsentDisplayName <String>]:
    [Value <String>]:
  [ApiPreAuthorizedApplications <IMicrosoftGraphPreAuthorizedApplication[]>]:
    [AppId <String>]:
    [PermissionIds <String[]>]:
  [ApiRequestedAccessTokenVersion <Int32?>]:
  [AppId <String>]:
  [AppRoles <IMicrosoftGraphAppRole[]>]:
    [AllowedMemberTypes <String[]>]:
    [Description <String>]:
    [DisplayName <String>]:
    [Id <String>]:
    [IsEnabled <Boolean?>]:
    [Origin <String>]:
    [Value <String>]:
  [CreatedDateTime <DateTime?>]:
  [CreatedOnBehalfOf <IMicrosoftGraphDirectoryObject>]:
    [Id <String>]:
    [DeletedDateTime <DateTime?>]:
  [DisplayName <String>]:
  [ExtensionProperties <IMicrosoftGraphExtensionProperty[]>]:
    [Id <String>]:
    [DeletedDateTime <DateTime?>]:
    [AppDisplayName <String>]:
    [DataType <String>]:
    [IsSyncedFromOnPremises <Boolean?>]:
    [Name <String>]:
    [TargetObjects <String[]>]:
  [GroupMembershipClaims <String>]:
  [IdentifierUris <String[]>]:
  [ImplicitGrantSettingEnableAccessTokenIssuance <Boolean?>]:
  [ImplicitGrantSettingEnableIdTokenIssuance <Boolean?>]:
  [InfoLogoUrl <String>]:
  [InfoMarketingUrl <String>]:
  [InfoPrivacyStatementUrl <String>]:
  [InfoSupportUrl <String>]:
  [InfoTermsOfServiceUrl <String>]:
  [IsDeviceOnlyAuthSupported <Boolean?>]:
  [IsFallbackPublicClient <Boolean?>]:
  [KeyCredentials <IMicrosoftGraphKeyCredential[]>]:
    [CustomKeyIdentifier <Byte[]>]:
    [DisplayName <String>]:
    [EndDateTime <DateTime?>]:
    [Key <Byte[]>]:
    [KeyId <String>]:
    [StartDateTime <DateTime?>]:
    [Type <String>]:
    [Usage <String>]:
  [Logo <Byte[]>]:
  [OptionalClaimAccessToken <IMicrosoftGraphOptionalClaim[]>]:
    [AdditionalProperties <String[]>]:
    [Essential <Boolean?>]:
    [Name <String>]:
    [Source <String>]:
  [OptionalClaimIdToken <IMicrosoftGraphOptionalClaim[]>]:
  [OptionalClaimSaml2Token <IMicrosoftGraphOptionalClaim[]>]:
  [Owners <IMicrosoftGraphDirectoryObject[]>]:
  [ParentalControlSettingCountriesBlockedForMinors <String[]>]:
  [ParentalControlSettingLegalAgeGroupRule <String>]:
  [PasswordCredentials <IMicrosoftGraphPasswordCredential[]>]:
    [CustomKeyIdentifier <Byte[]>]:
    [DisplayName <String>]:
    [EndDateTime <DateTime?>]:
    [Hint <String>]:
    [KeyId <String>]:
    [SecretText <String>]:
    [StartDateTime <DateTime?>]:
  [Policies <IMicrosoftGraphDirectoryObject[]>]:
  [PublicClientRedirectUris <String[]>]:
  [PublisherDomain <String>]:
  [RequiredResourceAccess <IMicrosoftGraphRequiredResourceAccess[]>]:
    [ResourceAccess <IMicrosoftGraphResourceAccess[]>]:
      [Id <String>]:
      [Type <String>]:
    [ResourceAppId <String>]:
  [SignInAudience <String>]:
  [SynchronizationId <String>]:
  [SynchronizationJobs <IMicrosoftGraphSynchronizationJob[]>]:
    [Id <String>]:
    [ScheduleExpiration <DateTime?>]:
    [ScheduleInterval <TimeSpan?>]:
    [ScheduleState <String>]: synchronizationScheduleState
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
      [Id <String>]:
      [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
      [DiscoveryDateTime <DateTime?>]:
      [Name <String>]:
      [Objects <IMicrosoftGraphObjectDefinition[]>]:
        [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
          [Anchor <Boolean?>]:
          [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
            [Key <String>]:
            [Value <String>]:
          [CaseExact <Boolean?>]:
          [DefaultValue <String>]:
          [Metadata <IMicrosoftGraphMetadataEntry[]>]:
            [Key <String>]:
            [Value <String>]:
          [Multivalued <Boolean?>]:
          [Mutability <String>]: mutability
          [Name <String>]:
          [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
            [ReferencedObjectName <String>]:
            [ReferencedProperty <String>]:
          [Required <Boolean?>]:
          [Type <String>]: attributeType
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Name <String>]:
        [SupportedApis <String[]>]:
      [ReadOnly <Boolean?>]:
      [Version <String>]:
    [SchemaId <String>]:
    [SchemaProvisioningTaskIdentifier <String>]:
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
      [Editable <Boolean?>]:
      [Id <String>]:
      [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
      [Name <String>]:
      [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
        [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
          [DefaultValue <String>]:
          [ExportMissingReferences <Boolean?>]:
          [FlowBehavior <String>]: attributeFlowBehavior
          [FlowType <String>]: attributeFlowType
          [MatchingPriority <Int32?>]:
          [SourceExpression <String>]:
          [SourceName <String>]:
          [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
            [Key <String>]:
            [ValueExpression <String>]:
            [ValueName <String>]:
            [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
            [ValueType <String>]: attributeMappingSourceType
          [SourceType <String>]: attributeMappingSourceType
          [TargetAttributeName <String>]:
        [Enabled <Boolean?>]:
        [FlowTypes <String>]: objectFlowTypes
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Name <String>]:
        [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
          [Clauses <IMicrosoftGraphFilterClause[]>]:
            [OperatorName <String>]:
            [SourceOperandName <String>]:
            [TargetOperandValues <String[]>]:
          [Name <String>]:
        [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
        [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [SourceObjectName <String>]:
        [TargetObjectName <String>]:
      [Priority <Int32?>]:
      [SourceDirectoryName <String>]:
      [TargetDirectoryName <String>]:
    [SchemaVersion <String>]:
    [Status <IMicrosoftGraphSynchronizationStatus>]: synchronizationStatus
      [Code <String>]: synchronizationStatusCode
      [CountSuccessiveCompleteFailures <Int64?>]:
      [EscrowsPruned <Boolean?>]:
      [LastExecutionActivityIdentifier <String>]:
      [LastExecutionCountEntitled <Int64?>]:
      [LastExecutionCountEntitledForProvisioning <Int64?>]:
      [LastExecutionCountEscrowed <Int64?>]:
      [LastExecutionCountEscrowedRaw <Int64?>]:
      [LastExecutionCountExported <Int64?>]:
      [LastExecutionCountExports <Int64?>]:
      [LastExecutionCountImported <Int64?>]:
      [LastExecutionCountImportedDeltas <Int64?>]:
      [LastExecutionCountImportedReferenceDeltas <Int64?>]:
      [LastExecutionErrorCode <String>]:
      [LastExecutionErrorMessage <String>]:
      [LastExecutionErrorTenantActionable <Boolean?>]:
      [LastExecutionState <String>]: synchronizationTaskExecutionResult
      [LastExecutionTimeBegan <DateTime?>]:
      [LastExecutionTimeEnded <DateTime?>]:
      [LastSuccessfulExecutionActivityIdentifier <String>]:
      [LastSuccessfulExecutionCountEntitled <Int64?>]:
      [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
      [LastSuccessfulExecutionCountEscrowed <Int64?>]:
      [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
      [LastSuccessfulExecutionCountExported <Int64?>]:
      [LastSuccessfulExecutionCountExports <Int64?>]:
      [LastSuccessfulExecutionCountImported <Int64?>]:
      [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
      [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
      [LastSuccessfulExecutionErrorCode <String>]:
      [LastSuccessfulExecutionErrorMessage <String>]:
      [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
      [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
      [LastSuccessfulExecutionTimeBegan <DateTime?>]:
      [LastSuccessfulExecutionTimeEnded <DateTime?>]:
      [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
      [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
      [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
      [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
      [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
      [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
      [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
      [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
      [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
      [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
      [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
      [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
      [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
      [LastSuccessfulExecutionWithExportsErrorCode <String>]:
      [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
      [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
      [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
        [CompletedUnits <Int64?>]:
        [ProgressObservationDateTime <DateTime?>]:
        [TotalUnits <Int64?>]:
        [Units <String>]:
      [QuarantineCurrentBegan <DateTime?>]:
      [QuarantineNextAttempt <DateTime?>]:
      [QuarantineReason <String>]: quarantineReason
      [QuarantineSeriesBegan <DateTime?>]:
      [QuarantineSeriesCount <Int64?>]:
      [SteadyStateFirstAchievedTime <DateTime?>]:
      [SteadyStateLastAchievedTime <DateTime?>]:
      [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
        [Key <String>]:
        [Value <Int64?>]:
      [TroubleshootingUrl <String>]:
    [SynchronizationJobSettings <IMicrosoftGraphKeyValuePair[]>]:
      [Name <String>]:
      [Value <String>]:
    [TemplateId <String>]:
  [SynchronizationSecrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [SynchronizationTemplates <IMicrosoftGraphSynchronizationTemplate[]>]:
    [Id <String>]:
    [ApplicationId <String>]:
    [Default <Boolean?>]:
    [Description <String>]:
    [Discoverable <Boolean?>]:
    [FactoryTag <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [SchemaId <String>]:
    [SchemaProvisioningTaskIdentifier <String>]:
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [SchemaVersion <String>]:
  [Tags <String[]>]:
  [TokenEncryptionKeyId <String>]:
  [WebHomePageUrl <String>]:
  [WebLogoutUrl <String>]:
  [WebOauth2AllowImplicitFlow <Boolean?>]:
  [WebRedirectUris <String[]>]:
 
CREATEDONBEHALFOF <IMicrosoftGraphDirectoryObject>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
 
EXTENSIONPROPERTIES <IMicrosoftGraphExtensionProperty[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
  [AppDisplayName <String>]:
  [DataType <String>]:
  [IsSyncedFromOnPremises <Boolean?>]:
  [Name <String>]:
  [TargetObjects <String[]>]:
 
KEYCREDENTIALS <IMicrosoftGraphKeyCredential[]>: HELP MESSAGE MISSING
  [CustomKeyIdentifier <Byte[]>]:
  [DisplayName <String>]:
  [EndDateTime <DateTime?>]:
  [Key <Byte[]>]:
  [KeyId <String>]:
  [StartDateTime <DateTime?>]:
  [Type <String>]:
  [Usage <String>]:
 
OPTIONALCLAIMACCESSTOKEN <IMicrosoftGraphOptionalClaim[]>: HELP MESSAGE MISSING
  [AdditionalProperties <String[]>]:
  [Essential <Boolean?>]:
  [Name <String>]:
  [Source <String>]:
 
OPTIONALCLAIMIDTOKEN <IMicrosoftGraphOptionalClaim[]>: HELP MESSAGE MISSING
  [AdditionalProperties <String[]>]:
  [Essential <Boolean?>]:
  [Name <String>]:
  [Source <String>]:
 
OPTIONALCLAIMSAML2TOKEN <IMicrosoftGraphOptionalClaim[]>: HELP MESSAGE MISSING
  [AdditionalProperties <String[]>]:
  [Essential <Boolean?>]:
  [Name <String>]:
  [Source <String>]:
 
OWNERS <IMicrosoftGraphDirectoryObject[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
 
PASSWORDCREDENTIALS <IMicrosoftGraphPasswordCredential[]>: HELP MESSAGE MISSING
  [CustomKeyIdentifier <Byte[]>]:
  [DisplayName <String>]:
  [EndDateTime <DateTime?>]:
  [Hint <String>]:
  [KeyId <String>]:
  [SecretText <String>]:
  [StartDateTime <DateTime?>]:
 
POLICIES <IMicrosoftGraphDirectoryObject[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
 
REQUIREDRESOURCEACCESS <IMicrosoftGraphRequiredResourceAccess[]>: HELP MESSAGE MISSING
  [ResourceAccess <IMicrosoftGraphResourceAccess[]>]:
    [Id <String>]:
    [Type <String>]:
  [ResourceAppId <String>]:
 
SYNCHRONIZATIONJOBS <IMicrosoftGraphSynchronizationJob[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
          [Key <String>]:
          [Value <String>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
  [Status <IMicrosoftGraphSynchronizationStatus>]: synchronizationStatus
    [Code <String>]: synchronizationStatusCode
    [CountSuccessiveCompleteFailures <Int64?>]:
    [EscrowsPruned <Boolean?>]:
    [LastExecutionActivityIdentifier <String>]:
    [LastExecutionCountEntitled <Int64?>]:
    [LastExecutionCountEntitledForProvisioning <Int64?>]:
    [LastExecutionCountEscrowed <Int64?>]:
    [LastExecutionCountEscrowedRaw <Int64?>]:
    [LastExecutionCountExported <Int64?>]:
    [LastExecutionCountExports <Int64?>]:
    [LastExecutionCountImported <Int64?>]:
    [LastExecutionCountImportedDeltas <Int64?>]:
    [LastExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastExecutionErrorCode <String>]:
    [LastExecutionErrorMessage <String>]:
    [LastExecutionErrorTenantActionable <Boolean?>]:
    [LastExecutionState <String>]: synchronizationTaskExecutionResult
    [LastExecutionTimeBegan <DateTime?>]:
    [LastExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionActivityIdentifier <String>]:
    [LastSuccessfulExecutionCountEntitled <Int64?>]:
    [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionCountExported <Int64?>]:
    [LastSuccessfulExecutionCountExports <Int64?>]:
    [LastSuccessfulExecutionCountImported <Int64?>]:
    [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionErrorCode <String>]:
    [LastSuccessfulExecutionErrorMessage <String>]:
    [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
    [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
    [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportsErrorCode <String>]:
    [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
    [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
    [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
      [CompletedUnits <Int64?>]:
      [ProgressObservationDateTime <DateTime?>]:
      [TotalUnits <Int64?>]:
      [Units <String>]:
    [QuarantineCurrentBegan <DateTime?>]:
    [QuarantineNextAttempt <DateTime?>]:
    [QuarantineReason <String>]: quarantineReason
    [QuarantineSeriesBegan <DateTime?>]:
    [QuarantineSeriesCount <Int64?>]:
    [SteadyStateFirstAchievedTime <DateTime?>]:
    [SteadyStateLastAchievedTime <DateTime?>]:
    [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
      [Key <String>]:
      [Value <Int64?>]:
    [TroubleshootingUrl <String>]:
  [SynchronizationJobSettings <IMicrosoftGraphKeyValuePair[]>]:
    [Name <String>]:
    [Value <String>]:
  [TemplateId <String>]:
 
SYNCHRONIZATIONSECRETS <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>: HELP MESSAGE MISSING
  [Key <String>]: synchronizationSecret
  [Value <String>]:
 
SYNCHRONIZATIONTEMPLATES <IMicrosoftGraphSynchronizationTemplate[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/new-mgapplication
#>

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPermissionScope[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for APIOAUTH2PERMISSIONSCOPES properties and create a hash table.
    ${ApiOauth2PermissionScopes},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPreAuthorizedApplication[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for APIPREAUTHORIZEDAPPLICATIONS properties and create a hash table.
    ${ApiPreAuthorizedApplications},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Int32]
    # HELP MESSAGE MISSING
    ${ApiRequestedAccessTokenVersion},

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAppRole[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for APPROLES properties and create a hash table.
    ${AppRoles},

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for CREATEDONBEHALFOF properties and create a hash table.
    ${CreatedOnBehalfOf},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphExtensionProperty[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for EXTENSIONPROPERTIES properties and create a hash table.
    ${ExtensionProperties},

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

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

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

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

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphKeyCredential[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for KEYCREDENTIALS properties and create a hash table.
    ${KeyCredentials},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Input File for Logo (HELP MESSAGE MISSING)
    ${LogoInputFile},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOptionalClaim[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OPTIONALCLAIMACCESSTOKEN properties and create a hash table.
    ${OptionalClaimAccessToken},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOptionalClaim[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OPTIONALCLAIMIDTOKEN properties and create a hash table.
    ${OptionalClaimIdToken},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOptionalClaim[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OPTIONALCLAIMSAML2TOKEN properties and create a hash table.
    ${OptionalClaimSaml2Token},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OWNERS properties and create a hash table.
    ${Owners},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPasswordCredential[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for PASSWORDCREDENTIALS properties and create a hash table.
    ${PasswordCredentials},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for POLICIES properties and create a hash table.
    ${Policies},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphRequiredResourceAccess[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for REQUIREDRESOURCEACCESS properties and create a hash table.
    ${RequiredResourceAccess},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONJOBS properties and create a hash table.
    ${SynchronizationJobs},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONSECRETS properties and create a hash table.
    ${SynchronizationSecrets},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationTemplate[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONTEMPLATES properties and create a hash table.
    ${SynchronizationTemplates},

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

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

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

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

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

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

    [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.Identity.Application.private\New-MgApplication_Create';
            CreateExpanded = 'Microsoft.Graph.Identity.Application.private\New-MgApplication_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
Invoke function Ping
.Description
Invoke function Ping
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/ping-mgapplicationssynchronization
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/ping-mgapplicationssynchronization
#>

function Ping-MgApplicationsSynchronization {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='Ping', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Ping', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='PingViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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 = @{
            Ping = 'Microsoft.Graph.Identity.Application.private\Ping-MgApplicationsSynchronization_Ping';
            PingViaIdentity = 'Microsoft.Graph.Identity.Application.private\Ping-MgApplicationsSynchronization_PingViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 removeKey
.Description
Invoke action removeKey
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/remove-mgapplicationkey
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsRemoveKeyRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IBodyParameterApplicationsRemoveKeyRequestBody>: HELP MESSAGE MISSING
  [KeyId <String>]:
  [Proof <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/remove-mgapplicationkey
#>

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

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

    [Parameter(ParameterSetName='Remove', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsRemoveKeyRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='RemoveExpanded')]
    [Parameter(ParameterSetName='RemoveViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${KeyId},

    [Parameter(ParameterSetName='RemoveExpanded')]
    [Parameter(ParameterSetName='RemoveViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Proof},

    [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 = @{
            Remove = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplicationKey_Remove';
            RemoveExpanded = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplicationKey_RemoveExpanded';
            RemoveViaIdentity = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplicationKey_RemoveViaIdentity';
            RemoveViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplicationKey_RemoveViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 removePassword
.Description
Invoke action removePassword
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/remove-mgapplicationpassword
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsRemovePasswordRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IBodyParameterApplicationsRemovePasswordRequestBody>: HELP MESSAGE MISSING
  [KeyId <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/remove-mgapplicationpassword
#>

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

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

    [Parameter(ParameterSetName='Remove', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='RemoveViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsRemovePasswordRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='RemoveExpanded')]
    [Parameter(ParameterSetName='RemoveViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${KeyId},

    [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 = @{
            Remove = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplicationPassword_Remove';
            RemoveExpanded = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplicationPassword_RemoveExpanded';
            RemoveViaIdentity = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplicationPassword_RemoveViaIdentity';
            RemoveViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplicationPassword_RemoveViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 entity from applicationTemplates
.Description
Delete entity from applicationTemplates
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/remove-mgapplicationtemplate
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/remove-mgapplicationtemplate
#>

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

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.Identity.Application.private\Remove-MgApplicationTemplate_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplicationTemplate_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 entity from applications
.Description
Delete entity from applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/remove-mgapplication
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/remove-mgapplication
#>

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

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.Identity.Application.private\Remove-MgApplication_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Identity.Application.private\Remove-MgApplication_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 restart
.Description
Invoke action restart
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/restart-mgapplicationsynchronizationjob
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationJobsRestartRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IBodyParameterApplicationsSynchronizationJobsRestartRequestBody>: HELP MESSAGE MISSING
  [CriterionResetScope <String>]: synchronizationJobRestartScope
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/restart-mgapplicationsynchronizationjob
#>

function Restart-MgApplicationSynchronizationJob {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='RestartExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Restart', Mandatory)]
    [Parameter(ParameterSetName='RestartExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Restart', Mandatory)]
    [Parameter(ParameterSetName='RestartExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

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

    [Parameter(ParameterSetName='Restart', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='RestartViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationJobsRestartRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='RestartExpanded')]
    [Parameter(ParameterSetName='RestartViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # synchronizationJobRestartScope
    ${CriterionResetScope},

    [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 = @{
            Restart = 'Microsoft.Graph.Identity.Application.private\Restart-MgApplicationSynchronizationJob_Restart';
            RestartExpanded = 'Microsoft.Graph.Identity.Application.private\Restart-MgApplicationSynchronizationJob_RestartExpanded';
            RestartViaIdentity = 'Microsoft.Graph.Identity.Application.private\Restart-MgApplicationSynchronizationJob_RestartViaIdentity';
            RestartViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Restart-MgApplicationSynchronizationJob_RestartViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 start
.Description
Invoke action start
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/start-mgapplicationsynchronizationjob
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/start-mgapplicationsynchronizationjob
#>

function Start-MgApplicationSynchronizationJob {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Start', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Start', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Start', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

    [Parameter(ParameterSetName='StartViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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 = @{
            Start = 'Microsoft.Graph.Identity.Application.private\Start-MgApplicationSynchronizationJob_Start';
            StartViaIdentity = 'Microsoft.Graph.Identity.Application.private\Start-MgApplicationSynchronizationJob_StartViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 stop
.Description
Invoke action stop
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/stop-mgapplicationsynchronizationjob
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/stop-mgapplicationsynchronizationjob
#>

function Stop-MgApplicationSynchronizationJob {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Stop', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Stop', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Stop', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

    [Parameter(ParameterSetName='StopViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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 = @{
            Stop = 'Microsoft.Graph.Identity.Application.private\Stop-MgApplicationSynchronizationJob_Stop';
            StopViaIdentity = 'Microsoft.Graph.Identity.Application.private\Stop-MgApplicationSynchronizationJob_StopViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 pause
.Description
Invoke action pause
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/suspend-mgapplicationsynchronizationjob
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/suspend-mgapplicationsynchronizationjob
#>

function Suspend-MgApplicationSynchronizationJob {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Pause', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Pause', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Pause', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

    [Parameter(ParameterSetName='PauseViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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 = @{
            Pause = 'Microsoft.Graph.Identity.Application.private\Suspend-MgApplicationSynchronizationJob_Pause';
            PauseViaIdentity = 'Microsoft.Graph.Identity.Application.private\Suspend-MgApplicationSynchronizationJob_PauseViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 validateCredentials
.Description
Invoke action validateCredentials
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/test-mgapplicationsynchronizationjobcredentials
.Inputs
Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationJobsValidateCredentialsRequestBody
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.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 <IBodyParameterApplicationsSynchronizationJobsValidateCredentialsRequestBody>: HELP MESSAGE MISSING
  [ApplicationIdentifier <String>]:
  [Credentials <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [TemplateId <String>]:
  [UseSavedCredentials <Boolean?>]:
 
CREDENTIALS <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>: HELP MESSAGE MISSING
  [Key <String>]: synchronizationSecret
  [Value <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/test-mgapplicationsynchronizationjobcredentials
#>

function Test-MgApplicationSynchronizationJobCredentials {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='ValidateExpanded1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Validate', Mandatory)]
    [Parameter(ParameterSetName='Validate1', Mandatory)]
    [Parameter(ParameterSetName='ValidateExpanded', Mandatory)]
    [Parameter(ParameterSetName='ValidateExpanded1', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Validate', Mandatory)]
    [Parameter(ParameterSetName='ValidateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

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

    [Parameter(ParameterSetName='Validate', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='Validate1', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='ValidateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='ValidateViaIdentity1', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IBodyParameterApplicationsSynchronizationJobsValidateCredentialsRequestBody]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='ValidateExpanded')]
    [Parameter(ParameterSetName='ValidateExpanded1')]
    [Parameter(ParameterSetName='ValidateViaIdentityExpanded')]
    [Parameter(ParameterSetName='ValidateViaIdentityExpanded1')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${ApplicationIdentifier},

    [Parameter(ParameterSetName='ValidateExpanded')]
    [Parameter(ParameterSetName='ValidateExpanded1')]
    [Parameter(ParameterSetName='ValidateViaIdentityExpanded')]
    [Parameter(ParameterSetName='ValidateViaIdentityExpanded1')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for CREDENTIALS properties and create a hash table.
    ${Credentials},

    [Parameter(ParameterSetName='ValidateExpanded')]
    [Parameter(ParameterSetName='ValidateExpanded1')]
    [Parameter(ParameterSetName='ValidateViaIdentityExpanded')]
    [Parameter(ParameterSetName='ValidateViaIdentityExpanded1')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${TemplateId},

    [Parameter(ParameterSetName='ValidateExpanded')]
    [Parameter(ParameterSetName='ValidateExpanded1')]
    [Parameter(ParameterSetName='ValidateViaIdentityExpanded')]
    [Parameter(ParameterSetName='ValidateViaIdentityExpanded1')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${UseSavedCredentials},

    [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 = @{
            Validate = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_Validate';
            Validate1 = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_Validate1';
            ValidateExpanded = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_ValidateExpanded';
            ValidateExpanded1 = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_ValidateExpanded1';
            ValidateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_ValidateViaIdentity';
            ValidateViaIdentity1 = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_ValidateViaIdentity1';
            ValidateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_ValidateViaIdentityExpanded';
            ValidateViaIdentityExpanded1 = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_ValidateViaIdentityExpanded1';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $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 extensionProperties in applications
.Description
Update the navigation property extensionProperties in applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationextensionproperty
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphExtensionProperty
.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 <IMicrosoftGraphExtensionProperty>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
  [AppDisplayName <String>]:
  [DataType <String>]:
  [IsSyncedFromOnPremises <Boolean?>]:
  [Name <String>]:
  [TargetObjects <String[]>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationextensionproperty
#>

function Update-MgApplicationExtensionProperty {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: extensionProperty-id of extensionProperty
    ${ExtensionPropertyId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphExtensionProperty]
    # HELP MESSAGE MISSING
    # 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.String]
    # HELP MESSAGE MISSING
    ${AppDisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${DataType},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${DeletedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${IsSyncedFromOnPremises},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${TargetObjects},

    [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.Identity.Application.private\Update-MgApplicationExtensionProperty_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationExtensionProperty_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationExtensionProperty_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationExtensionProperty_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 directories in applications
.Description
Update the navigation property directories in applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationjobschemadirectory
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition
.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 <IMicrosoftGraphDirectoryDefinition>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
OBJECTS <IMicrosoftGraphObjectDefinition[]>: HELP MESSAGE MISSING
  [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
    [Anchor <Boolean?>]:
    [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
      [Key <String>]:
      [Value <String>]:
    [CaseExact <Boolean?>]:
    [DefaultValue <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Multivalued <Boolean?>]:
    [Mutability <String>]: mutability
    [Name <String>]:
    [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
      [ReferencedObjectName <String>]:
      [ReferencedProperty <String>]:
    [Required <Boolean?>]:
    [Type <String>]: attributeType
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
  [Name <String>]:
  [SupportedApis <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationjobschemadirectory
#>

function Update-MgApplicationSynchronizationJobSchemaDirectory {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: directoryDefinition-id of directoryDefinition
    ${DirectoryDefinitionId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphDirectoryDefinition]
    # HELP MESSAGE MISSING
    # 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.String]
    # directoryDefinitionDiscoverabilities
    ${Discoverabilities},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${DiscoveryDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphObjectDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OBJECTS properties and create a hash table.
    ${Objects},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${ReadOnly},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Version},

    [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.Identity.Application.private\Update-MgApplicationSynchronizationJobSchemaDirectory_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationJobSchemaDirectory_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationJobSchemaDirectory_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationJobSchemaDirectory_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 schema in applications
.Description
Update the navigation property schema in applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationjobschema
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationSchema
.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 <IMicrosoftGraphSynchronizationSchema>: HELP MESSAGE MISSING
  [Id <String>]:
  [Directories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
          [Key <String>]:
          [Value <String>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [ProvisioningTaskIdentifier <String>]:
  [SynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [Version <String>]:
 
DIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
SYNCHRONIZATIONRULES <IMicrosoftGraphSynchronizationRule[]>: HELP MESSAGE MISSING
  [Editable <Boolean?>]:
  [Id <String>]:
  [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Key <String>]:
    [Value <String>]:
  [Name <String>]:
  [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
    [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
      [DefaultValue <String>]:
      [ExportMissingReferences <Boolean?>]:
      [FlowBehavior <String>]: attributeFlowBehavior
      [FlowType <String>]: attributeFlowType
      [MatchingPriority <Int32?>]:
      [SourceExpression <String>]:
      [SourceName <String>]:
      [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [Key <String>]:
        [ValueExpression <String>]:
        [ValueName <String>]:
        [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [ValueType <String>]: attributeMappingSourceType
      [SourceType <String>]: attributeMappingSourceType
      [TargetAttributeName <String>]:
    [Enabled <Boolean?>]:
    [FlowTypes <String>]: objectFlowTypes
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Name <String>]:
    [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [Clauses <IMicrosoftGraphFilterClause[]>]:
        [OperatorName <String>]:
        [SourceOperandName <String>]:
        [TargetOperandValues <String[]>]:
      [Name <String>]:
    [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
    [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
    [SourceObjectName <String>]:
    [TargetObjectName <String>]:
  [Priority <Int32?>]:
  [SourceDirectoryName <String>]:
  [TargetDirectoryName <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationjobschema
#>

function Update-MgApplicationSynchronizationJobSchema {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphSynchronizationSchema]
    # HELP MESSAGE MISSING
    # 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')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for DIRECTORIES properties and create a hash table.
    ${Directories},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${ProvisioningTaskIdentifier},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONRULES properties and create a hash table.
    ${SynchronizationRules},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Version},

    [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.Identity.Application.private\Update-MgApplicationSynchronizationJobSchema_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationJobSchema_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationJobSchema_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationJobSchema_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 jobs in applications
.Description
Update the navigation property jobs in applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationjob
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob
.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 <IMicrosoftGraphSynchronizationJob>: HELP MESSAGE MISSING
  [Id <String>]:
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
          [Key <String>]:
          [Value <String>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
  [Status <IMicrosoftGraphSynchronizationStatus>]: synchronizationStatus
    [Code <String>]: synchronizationStatusCode
    [CountSuccessiveCompleteFailures <Int64?>]:
    [EscrowsPruned <Boolean?>]:
    [LastExecutionActivityIdentifier <String>]:
    [LastExecutionCountEntitled <Int64?>]:
    [LastExecutionCountEntitledForProvisioning <Int64?>]:
    [LastExecutionCountEscrowed <Int64?>]:
    [LastExecutionCountEscrowedRaw <Int64?>]:
    [LastExecutionCountExported <Int64?>]:
    [LastExecutionCountExports <Int64?>]:
    [LastExecutionCountImported <Int64?>]:
    [LastExecutionCountImportedDeltas <Int64?>]:
    [LastExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastExecutionErrorCode <String>]:
    [LastExecutionErrorMessage <String>]:
    [LastExecutionErrorTenantActionable <Boolean?>]:
    [LastExecutionState <String>]: synchronizationTaskExecutionResult
    [LastExecutionTimeBegan <DateTime?>]:
    [LastExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionActivityIdentifier <String>]:
    [LastSuccessfulExecutionCountEntitled <Int64?>]:
    [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionCountExported <Int64?>]:
    [LastSuccessfulExecutionCountExports <Int64?>]:
    [LastSuccessfulExecutionCountImported <Int64?>]:
    [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionErrorCode <String>]:
    [LastSuccessfulExecutionErrorMessage <String>]:
    [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
    [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
    [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportsErrorCode <String>]:
    [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
    [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
    [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
      [CompletedUnits <Int64?>]:
      [ProgressObservationDateTime <DateTime?>]:
      [TotalUnits <Int64?>]:
      [Units <String>]:
    [QuarantineCurrentBegan <DateTime?>]:
    [QuarantineNextAttempt <DateTime?>]:
    [QuarantineReason <String>]: quarantineReason
    [QuarantineSeriesBegan <DateTime?>]:
    [QuarantineSeriesCount <Int64?>]:
    [SteadyStateFirstAchievedTime <DateTime?>]:
    [SteadyStateLastAchievedTime <DateTime?>]:
    [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
      [Key <String>]:
      [Value <Int64?>]:
    [TroubleshootingUrl <String>]:
  [SynchronizationJobSettings <IMicrosoftGraphKeyValuePair[]>]:
    [Name <String>]:
    [Value <String>]:
  [TemplateId <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
SCHEMADIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
SCHEMASYNCHRONIZATIONRULES <IMicrosoftGraphSynchronizationRule[]>: HELP MESSAGE MISSING
  [Editable <Boolean?>]:
  [Id <String>]:
  [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Key <String>]:
    [Value <String>]:
  [Name <String>]:
  [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
    [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
      [DefaultValue <String>]:
      [ExportMissingReferences <Boolean?>]:
      [FlowBehavior <String>]: attributeFlowBehavior
      [FlowType <String>]: attributeFlowType
      [MatchingPriority <Int32?>]:
      [SourceExpression <String>]:
      [SourceName <String>]:
      [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [Key <String>]:
        [ValueExpression <String>]:
        [ValueName <String>]:
        [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [ValueType <String>]: attributeMappingSourceType
      [SourceType <String>]: attributeMappingSourceType
      [TargetAttributeName <String>]:
    [Enabled <Boolean?>]:
    [FlowTypes <String>]: objectFlowTypes
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Name <String>]:
    [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [Clauses <IMicrosoftGraphFilterClause[]>]:
        [OperatorName <String>]:
        [SourceOperandName <String>]:
        [TargetOperandValues <String[]>]:
      [Name <String>]:
    [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
    [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
    [SourceObjectName <String>]:
    [TargetObjectName <String>]:
  [Priority <Int32?>]:
  [SourceDirectoryName <String>]:
  [TargetDirectoryName <String>]:
 
STATUS <IMicrosoftGraphSynchronizationStatus>: synchronizationStatus
  [Code <String>]: synchronizationStatusCode
  [CountSuccessiveCompleteFailures <Int64?>]:
  [EscrowsPruned <Boolean?>]:
  [LastExecutionActivityIdentifier <String>]:
  [LastExecutionCountEntitled <Int64?>]:
  [LastExecutionCountEntitledForProvisioning <Int64?>]:
  [LastExecutionCountEscrowed <Int64?>]:
  [LastExecutionCountEscrowedRaw <Int64?>]:
  [LastExecutionCountExported <Int64?>]:
  [LastExecutionCountExports <Int64?>]:
  [LastExecutionCountImported <Int64?>]:
  [LastExecutionCountImportedDeltas <Int64?>]:
  [LastExecutionCountImportedReferenceDeltas <Int64?>]:
  [LastExecutionErrorCode <String>]:
  [LastExecutionErrorMessage <String>]:
  [LastExecutionErrorTenantActionable <Boolean?>]:
  [LastExecutionState <String>]: synchronizationTaskExecutionResult
  [LastExecutionTimeBegan <DateTime?>]:
  [LastExecutionTimeEnded <DateTime?>]:
  [LastSuccessfulExecutionActivityIdentifier <String>]:
  [LastSuccessfulExecutionCountEntitled <Int64?>]:
  [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
  [LastSuccessfulExecutionCountEscrowed <Int64?>]:
  [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
  [LastSuccessfulExecutionCountExported <Int64?>]:
  [LastSuccessfulExecutionCountExports <Int64?>]:
  [LastSuccessfulExecutionCountImported <Int64?>]:
  [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
  [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
  [LastSuccessfulExecutionErrorCode <String>]:
  [LastSuccessfulExecutionErrorMessage <String>]:
  [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
  [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
  [LastSuccessfulExecutionTimeBegan <DateTime?>]:
  [LastSuccessfulExecutionTimeEnded <DateTime?>]:
  [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
  [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
  [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
  [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
  [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
  [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
  [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
  [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
  [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
  [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
  [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
  [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
  [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
  [LastSuccessfulExecutionWithExportsErrorCode <String>]:
  [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
  [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
  [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
    [CompletedUnits <Int64?>]:
    [ProgressObservationDateTime <DateTime?>]:
    [TotalUnits <Int64?>]:
    [Units <String>]:
  [QuarantineCurrentBegan <DateTime?>]:
  [QuarantineNextAttempt <DateTime?>]:
  [QuarantineReason <String>]: quarantineReason
  [QuarantineSeriesBegan <DateTime?>]:
  [QuarantineSeriesCount <Int64?>]:
  [SteadyStateFirstAchievedTime <DateTime?>]:
  [SteadyStateLastAchievedTime <DateTime?>]:
  [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
    [Key <String>]:
    [Value <Int64?>]:
  [TroubleshootingUrl <String>]:
 
SYNCHRONIZATIONJOBSETTINGS <IMicrosoftGraphKeyValuePair[]>: HELP MESSAGE MISSING
  [Name <String>]:
  [Value <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationjob
#>

function Update-MgApplicationSynchronizationJob {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationJob-id of synchronizationJob
    ${SynchronizationJobId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphSynchronizationJob]
    # HELP MESSAGE MISSING
    # 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.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${ScheduleExpiration},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.TimeSpan]
    # HELP MESSAGE MISSING
    ${ScheduleInterval},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # synchronizationScheduleState
    ${ScheduleState},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SCHEMADIRECTORIES properties and create a hash table.
    ${SchemaDirectories},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${SchemaId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${SchemaProvisioningTaskIdentifier},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SCHEMASYNCHRONIZATIONRULES properties and create a hash table.
    ${SchemaSynchronizationRules},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${SchemaVersion},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationStatus]
    # synchronizationStatus
    # 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.IMicrosoftGraphKeyValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONJOBSETTINGS properties and create a hash table.
    ${SynchronizationJobSettings},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${TemplateId},

    [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.Identity.Application.private\Update-MgApplicationSynchronizationJob_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationJob_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationJob_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationJob_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 directories in applications
.Description
Update the navigation property directories in applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationtemplateschemadirectory
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition
.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 <IMicrosoftGraphDirectoryDefinition>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
OBJECTS <IMicrosoftGraphObjectDefinition[]>: HELP MESSAGE MISSING
  [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
    [Anchor <Boolean?>]:
    [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
      [Key <String>]:
      [Value <String>]:
    [CaseExact <Boolean?>]:
    [DefaultValue <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Multivalued <Boolean?>]:
    [Mutability <String>]: mutability
    [Name <String>]:
    [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
      [ReferencedObjectName <String>]:
      [ReferencedProperty <String>]:
    [Required <Boolean?>]:
    [Type <String>]: attributeType
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
  [Name <String>]:
  [SupportedApis <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationtemplateschemadirectory
#>

function Update-MgApplicationSynchronizationTemplateSchemaDirectory {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: directoryDefinition-id of directoryDefinition
    ${DirectoryDefinitionId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationTemplate-id of synchronizationTemplate
    ${SynchronizationTemplateId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphDirectoryDefinition]
    # HELP MESSAGE MISSING
    # 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.String]
    # directoryDefinitionDiscoverabilities
    ${Discoverabilities},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${DiscoveryDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphObjectDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OBJECTS properties and create a hash table.
    ${Objects},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${ReadOnly},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Version},

    [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.Identity.Application.private\Update-MgApplicationSynchronizationTemplateSchemaDirectory_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationTemplateSchemaDirectory_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationTemplateSchemaDirectory_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationTemplateSchemaDirectory_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 schema in applications
.Description
Update the navigation property schema in applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationtemplateschema
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationSchema
.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 <IMicrosoftGraphSynchronizationSchema>: HELP MESSAGE MISSING
  [Id <String>]:
  [Directories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
          [Key <String>]:
          [Value <String>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [ProvisioningTaskIdentifier <String>]:
  [SynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [Version <String>]:
 
DIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
SYNCHRONIZATIONRULES <IMicrosoftGraphSynchronizationRule[]>: HELP MESSAGE MISSING
  [Editable <Boolean?>]:
  [Id <String>]:
  [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Key <String>]:
    [Value <String>]:
  [Name <String>]:
  [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
    [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
      [DefaultValue <String>]:
      [ExportMissingReferences <Boolean?>]:
      [FlowBehavior <String>]: attributeFlowBehavior
      [FlowType <String>]: attributeFlowType
      [MatchingPriority <Int32?>]:
      [SourceExpression <String>]:
      [SourceName <String>]:
      [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [Key <String>]:
        [ValueExpression <String>]:
        [ValueName <String>]:
        [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [ValueType <String>]: attributeMappingSourceType
      [SourceType <String>]: attributeMappingSourceType
      [TargetAttributeName <String>]:
    [Enabled <Boolean?>]:
    [FlowTypes <String>]: objectFlowTypes
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Name <String>]:
    [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [Clauses <IMicrosoftGraphFilterClause[]>]:
        [OperatorName <String>]:
        [SourceOperandName <String>]:
        [TargetOperandValues <String[]>]:
      [Name <String>]:
    [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
    [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
    [SourceObjectName <String>]:
    [TargetObjectName <String>]:
  [Priority <Int32?>]:
  [SourceDirectoryName <String>]:
  [TargetDirectoryName <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationtemplateschema
#>

function Update-MgApplicationSynchronizationTemplateSchema {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationTemplate-id of synchronizationTemplate
    ${SynchronizationTemplateId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphSynchronizationSchema]
    # HELP MESSAGE MISSING
    # 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')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for DIRECTORIES properties and create a hash table.
    ${Directories},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${ProvisioningTaskIdentifier},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONRULES properties and create a hash table.
    ${SynchronizationRules},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Version},

    [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.Identity.Application.private\Update-MgApplicationSynchronizationTemplateSchema_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationTemplateSchema_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationTemplateSchema_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationTemplateSchema_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 templates in applications
.Description
Update the navigation property templates in applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationtemplate
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationTemplate
.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 <IMicrosoftGraphSynchronizationTemplate>: HELP MESSAGE MISSING
  [Id <String>]:
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
METADATA <IMicrosoftGraphMetadataEntry[]>: HELP MESSAGE MISSING
  [Key <String>]:
  [Value <String>]:
 
SCHEMADIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
  [DiscoveryDateTime <DateTime?>]:
  [Name <String>]:
  [Objects <IMicrosoftGraphObjectDefinition[]>]:
    [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
      [Anchor <Boolean?>]:
      [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
        [Key <String>]:
        [Value <String>]:
      [CaseExact <Boolean?>]:
      [DefaultValue <String>]:
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Key <String>]:
        [Value <String>]:
      [Multivalued <Boolean?>]:
      [Mutability <String>]: mutability
      [Name <String>]:
      [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
        [ReferencedObjectName <String>]:
        [ReferencedProperty <String>]:
      [Required <Boolean?>]:
      [Type <String>]: attributeType
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Name <String>]:
    [SupportedApis <String[]>]:
  [ReadOnly <Boolean?>]:
  [Version <String>]:
 
SCHEMASYNCHRONIZATIONRULES <IMicrosoftGraphSynchronizationRule[]>: HELP MESSAGE MISSING
  [Editable <Boolean?>]:
  [Id <String>]:
  [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Key <String>]:
    [Value <String>]:
  [Name <String>]:
  [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
    [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
      [DefaultValue <String>]:
      [ExportMissingReferences <Boolean?>]:
      [FlowBehavior <String>]: attributeFlowBehavior
      [FlowType <String>]: attributeFlowType
      [MatchingPriority <Int32?>]:
      [SourceExpression <String>]:
      [SourceName <String>]:
      [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [Key <String>]:
        [ValueExpression <String>]:
        [ValueName <String>]:
        [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
        [ValueType <String>]: attributeMappingSourceType
      [SourceType <String>]: attributeMappingSourceType
      [TargetAttributeName <String>]:
    [Enabled <Boolean?>]:
    [FlowTypes <String>]: objectFlowTypes
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Key <String>]:
      [Value <String>]:
    [Name <String>]:
    [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [Clauses <IMicrosoftGraphFilterClause[]>]:
        [OperatorName <String>]:
        [SourceOperandName <String>]:
        [TargetOperandValues <String[]>]:
      [Name <String>]:
    [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
    [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
    [SourceObjectName <String>]:
    [TargetObjectName <String>]:
  [Priority <Int32?>]:
  [SourceDirectoryName <String>]:
  [TargetDirectoryName <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronizationtemplate
#>

function Update-MgApplicationSynchronizationTemplate {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: synchronizationTemplate-id of synchronizationTemplate
    ${SynchronizationTemplateId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphSynchronizationTemplate]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${ApplicationId1},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${Default},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Description},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${Discoverable},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${FactoryTag},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for METADATA properties and create a hash table.
    ${Metadata},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryDefinition[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SCHEMADIRECTORIES properties and create a hash table.
    ${SchemaDirectories},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${SchemaId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${SchemaProvisioningTaskIdentifier},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SCHEMASYNCHRONIZATIONRULES properties and create a hash table.
    ${SchemaSynchronizationRules},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${SchemaVersion},

    [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.Identity.Application.private\Update-MgApplicationSynchronizationTemplate_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationTemplate_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationTemplate_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronizationTemplate_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 synchronization in applications
.Description
Update the navigation property synchronization in applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronization
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronization
.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 <IMicrosoftGraphSynchronization>: HELP MESSAGE MISSING
  [Id <String>]:
  [Jobs <IMicrosoftGraphSynchronizationJob[]>]:
    [Id <String>]:
    [ScheduleExpiration <DateTime?>]:
    [ScheduleInterval <TimeSpan?>]:
    [ScheduleState <String>]: synchronizationScheduleState
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
      [Id <String>]:
      [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
      [DiscoveryDateTime <DateTime?>]:
      [Name <String>]:
      [Objects <IMicrosoftGraphObjectDefinition[]>]:
        [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
          [Anchor <Boolean?>]:
          [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
            [Key <String>]:
            [Value <String>]:
          [CaseExact <Boolean?>]:
          [DefaultValue <String>]:
          [Metadata <IMicrosoftGraphMetadataEntry[]>]:
            [Key <String>]:
            [Value <String>]:
          [Multivalued <Boolean?>]:
          [Mutability <String>]: mutability
          [Name <String>]:
          [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
            [ReferencedObjectName <String>]:
            [ReferencedProperty <String>]:
          [Required <Boolean?>]:
          [Type <String>]: attributeType
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Name <String>]:
        [SupportedApis <String[]>]:
      [ReadOnly <Boolean?>]:
      [Version <String>]:
    [SchemaId <String>]:
    [SchemaProvisioningTaskIdentifier <String>]:
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
      [Editable <Boolean?>]:
      [Id <String>]:
      [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
      [Name <String>]:
      [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
        [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
          [DefaultValue <String>]:
          [ExportMissingReferences <Boolean?>]:
          [FlowBehavior <String>]: attributeFlowBehavior
          [FlowType <String>]: attributeFlowType
          [MatchingPriority <Int32?>]:
          [SourceExpression <String>]:
          [SourceName <String>]:
          [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
            [Key <String>]:
            [ValueExpression <String>]:
            [ValueName <String>]:
            [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
            [ValueType <String>]: attributeMappingSourceType
          [SourceType <String>]: attributeMappingSourceType
          [TargetAttributeName <String>]:
        [Enabled <Boolean?>]:
        [FlowTypes <String>]: objectFlowTypes
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Name <String>]:
        [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
          [Clauses <IMicrosoftGraphFilterClause[]>]:
            [OperatorName <String>]:
            [SourceOperandName <String>]:
            [TargetOperandValues <String[]>]:
          [Name <String>]:
        [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
        [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [SourceObjectName <String>]:
        [TargetObjectName <String>]:
      [Priority <Int32?>]:
      [SourceDirectoryName <String>]:
      [TargetDirectoryName <String>]:
    [SchemaVersion <String>]:
    [Status <IMicrosoftGraphSynchronizationStatus>]: synchronizationStatus
      [Code <String>]: synchronizationStatusCode
      [CountSuccessiveCompleteFailures <Int64?>]:
      [EscrowsPruned <Boolean?>]:
      [LastExecutionActivityIdentifier <String>]:
      [LastExecutionCountEntitled <Int64?>]:
      [LastExecutionCountEntitledForProvisioning <Int64?>]:
      [LastExecutionCountEscrowed <Int64?>]:
      [LastExecutionCountEscrowedRaw <Int64?>]:
      [LastExecutionCountExported <Int64?>]:
      [LastExecutionCountExports <Int64?>]:
      [LastExecutionCountImported <Int64?>]:
      [LastExecutionCountImportedDeltas <Int64?>]:
      [LastExecutionCountImportedReferenceDeltas <Int64?>]:
      [LastExecutionErrorCode <String>]:
      [LastExecutionErrorMessage <String>]:
      [LastExecutionErrorTenantActionable <Boolean?>]:
      [LastExecutionState <String>]: synchronizationTaskExecutionResult
      [LastExecutionTimeBegan <DateTime?>]:
      [LastExecutionTimeEnded <DateTime?>]:
      [LastSuccessfulExecutionActivityIdentifier <String>]:
      [LastSuccessfulExecutionCountEntitled <Int64?>]:
      [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
      [LastSuccessfulExecutionCountEscrowed <Int64?>]:
      [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
      [LastSuccessfulExecutionCountExported <Int64?>]:
      [LastSuccessfulExecutionCountExports <Int64?>]:
      [LastSuccessfulExecutionCountImported <Int64?>]:
      [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
      [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
      [LastSuccessfulExecutionErrorCode <String>]:
      [LastSuccessfulExecutionErrorMessage <String>]:
      [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
      [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
      [LastSuccessfulExecutionTimeBegan <DateTime?>]:
      [LastSuccessfulExecutionTimeEnded <DateTime?>]:
      [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
      [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
      [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
      [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
      [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
      [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
      [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
      [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
      [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
      [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
      [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
      [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
      [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
      [LastSuccessfulExecutionWithExportsErrorCode <String>]:
      [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
      [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
      [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
        [CompletedUnits <Int64?>]:
        [ProgressObservationDateTime <DateTime?>]:
        [TotalUnits <Int64?>]:
        [Units <String>]:
      [QuarantineCurrentBegan <DateTime?>]:
      [QuarantineNextAttempt <DateTime?>]:
      [QuarantineReason <String>]: quarantineReason
      [QuarantineSeriesBegan <DateTime?>]:
      [QuarantineSeriesCount <Int64?>]:
      [SteadyStateFirstAchievedTime <DateTime?>]:
      [SteadyStateLastAchievedTime <DateTime?>]:
      [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
        [Key <String>]:
        [Value <Int64?>]:
      [TroubleshootingUrl <String>]:
    [SynchronizationJobSettings <IMicrosoftGraphKeyValuePair[]>]:
      [Name <String>]:
      [Value <String>]:
    [TemplateId <String>]:
  [Secrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [Templates <IMicrosoftGraphSynchronizationTemplate[]>]:
    [Id <String>]:
    [ApplicationId <String>]:
    [Default <Boolean?>]:
    [Description <String>]:
    [Discoverable <Boolean?>]:
    [FactoryTag <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [SchemaId <String>]:
    [SchemaProvisioningTaskIdentifier <String>]:
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [SchemaVersion <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
JOBS <IMicrosoftGraphSynchronizationJob[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
          [Key <String>]:
          [Value <String>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
  [Status <IMicrosoftGraphSynchronizationStatus>]: synchronizationStatus
    [Code <String>]: synchronizationStatusCode
    [CountSuccessiveCompleteFailures <Int64?>]:
    [EscrowsPruned <Boolean?>]:
    [LastExecutionActivityIdentifier <String>]:
    [LastExecutionCountEntitled <Int64?>]:
    [LastExecutionCountEntitledForProvisioning <Int64?>]:
    [LastExecutionCountEscrowed <Int64?>]:
    [LastExecutionCountEscrowedRaw <Int64?>]:
    [LastExecutionCountExported <Int64?>]:
    [LastExecutionCountExports <Int64?>]:
    [LastExecutionCountImported <Int64?>]:
    [LastExecutionCountImportedDeltas <Int64?>]:
    [LastExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastExecutionErrorCode <String>]:
    [LastExecutionErrorMessage <String>]:
    [LastExecutionErrorTenantActionable <Boolean?>]:
    [LastExecutionState <String>]: synchronizationTaskExecutionResult
    [LastExecutionTimeBegan <DateTime?>]:
    [LastExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionActivityIdentifier <String>]:
    [LastSuccessfulExecutionCountEntitled <Int64?>]:
    [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionCountExported <Int64?>]:
    [LastSuccessfulExecutionCountExports <Int64?>]:
    [LastSuccessfulExecutionCountImported <Int64?>]:
    [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionErrorCode <String>]:
    [LastSuccessfulExecutionErrorMessage <String>]:
    [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
    [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
    [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportsErrorCode <String>]:
    [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
    [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
    [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
      [CompletedUnits <Int64?>]:
      [ProgressObservationDateTime <DateTime?>]:
      [TotalUnits <Int64?>]:
      [Units <String>]:
    [QuarantineCurrentBegan <DateTime?>]:
    [QuarantineNextAttempt <DateTime?>]:
    [QuarantineReason <String>]: quarantineReason
    [QuarantineSeriesBegan <DateTime?>]:
    [QuarantineSeriesCount <Int64?>]:
    [SteadyStateFirstAchievedTime <DateTime?>]:
    [SteadyStateLastAchievedTime <DateTime?>]:
    [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
      [Key <String>]:
      [Value <Int64?>]:
    [TroubleshootingUrl <String>]:
  [SynchronizationJobSettings <IMicrosoftGraphKeyValuePair[]>]:
    [Name <String>]:
    [Value <String>]:
  [TemplateId <String>]:
 
SECRETS <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>: HELP MESSAGE MISSING
  [Key <String>]: synchronizationSecret
  [Value <String>]:
 
TEMPLATES <IMicrosoftGraphSynchronizationTemplate[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationsynchronization
#>

function Update-MgApplicationSynchronization {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphSynchronization]
    # HELP MESSAGE MISSING
    # 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.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob[]]
    # HELP MESSAGE MISSING
    # 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.IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SECRETS properties and create a hash table.
    ${Secrets},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationTemplate[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for TEMPLATES properties and create a hash table.
    ${Templates},

    [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.Identity.Application.private\Update-MgApplicationSynchronization_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronization_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronization_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationSynchronization_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 entity in applicationTemplates
.Description
Update entity in applicationTemplates
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationtemplate
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplicationTemplate
.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 <IMicrosoftGraphApplicationTemplate>: HELP MESSAGE MISSING
  [Id <String>]:
  [Categories <String[]>]:
  [Description <String>]:
  [DisplayName <String>]:
  [HomePageUrl <String>]:
  [LogoUrl <String>]:
  [Publisher <String>]:
  [SupportedProvisioningTypes <String[]>]:
  [SupportedSingleSignOnModes <String[]>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplicationtemplate
#>

function Update-MgApplicationTemplate {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: applicationTemplate-id of applicationTemplate
    ${ApplicationTemplateId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphApplicationTemplate]
    # HELP MESSAGE MISSING
    # 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.String[]]
    # HELP MESSAGE MISSING
    ${Categories},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Description},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${HomePageUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${LogoUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Publisher},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${SupportedProvisioningTypes},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${SupportedSingleSignOnModes},

    [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.Identity.Application.private\Update-MgApplicationTemplate_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationTemplate_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationTemplate_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplicationTemplate_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 entity in applications
.Description
Update entity in applications
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplication
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplication
.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.
 
APIOAUTH2PERMISSIONSCOPES <IMicrosoftGraphPermissionScope[]>: HELP MESSAGE MISSING
  [AdminConsentDescription <String>]:
  [AdminConsentDisplayName <String>]:
  [Id <String>]:
  [IsEnabled <Boolean?>]:
  [Origin <String>]:
  [Type <String>]:
  [UserConsentDescription <String>]:
  [UserConsentDisplayName <String>]:
  [Value <String>]:
 
APIPREAUTHORIZEDAPPLICATIONS <IMicrosoftGraphPreAuthorizedApplication[]>: HELP MESSAGE MISSING
  [AppId <String>]:
  [PermissionIds <String[]>]:
 
APPROLES <IMicrosoftGraphAppRole[]>: HELP MESSAGE MISSING
  [AllowedMemberTypes <String[]>]:
  [Description <String>]:
  [DisplayName <String>]:
  [Id <String>]:
  [IsEnabled <Boolean?>]:
  [Origin <String>]:
  [Value <String>]:
 
BODYPARAMETER <IMicrosoftGraphApplication>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
  [ApiAcceptMappedClaims <Boolean?>]:
  [ApiKnownClientApplications <String[]>]:
  [ApiOauth2PermissionScopes <IMicrosoftGraphPermissionScope[]>]:
    [AdminConsentDescription <String>]:
    [AdminConsentDisplayName <String>]:
    [Id <String>]:
    [IsEnabled <Boolean?>]:
    [Origin <String>]:
    [Type <String>]:
    [UserConsentDescription <String>]:
    [UserConsentDisplayName <String>]:
    [Value <String>]:
  [ApiPreAuthorizedApplications <IMicrosoftGraphPreAuthorizedApplication[]>]:
    [AppId <String>]:
    [PermissionIds <String[]>]:
  [ApiRequestedAccessTokenVersion <Int32?>]:
  [AppId <String>]:
  [AppRoles <IMicrosoftGraphAppRole[]>]:
    [AllowedMemberTypes <String[]>]:
    [Description <String>]:
    [DisplayName <String>]:
    [Id <String>]:
    [IsEnabled <Boolean?>]:
    [Origin <String>]:
    [Value <String>]:
  [CreatedDateTime <DateTime?>]:
  [CreatedOnBehalfOf <IMicrosoftGraphDirectoryObject>]:
    [Id <String>]:
    [DeletedDateTime <DateTime?>]:
  [DisplayName <String>]:
  [ExtensionProperties <IMicrosoftGraphExtensionProperty[]>]:
    [Id <String>]:
    [DeletedDateTime <DateTime?>]:
    [AppDisplayName <String>]:
    [DataType <String>]:
    [IsSyncedFromOnPremises <Boolean?>]:
    [Name <String>]:
    [TargetObjects <String[]>]:
  [GroupMembershipClaims <String>]:
  [IdentifierUris <String[]>]:
  [ImplicitGrantSettingEnableAccessTokenIssuance <Boolean?>]:
  [ImplicitGrantSettingEnableIdTokenIssuance <Boolean?>]:
  [InfoLogoUrl <String>]:
  [InfoMarketingUrl <String>]:
  [InfoPrivacyStatementUrl <String>]:
  [InfoSupportUrl <String>]:
  [InfoTermsOfServiceUrl <String>]:
  [IsDeviceOnlyAuthSupported <Boolean?>]:
  [IsFallbackPublicClient <Boolean?>]:
  [KeyCredentials <IMicrosoftGraphKeyCredential[]>]:
    [CustomKeyIdentifier <Byte[]>]:
    [DisplayName <String>]:
    [EndDateTime <DateTime?>]:
    [Key <Byte[]>]:
    [KeyId <String>]:
    [StartDateTime <DateTime?>]:
    [Type <String>]:
    [Usage <String>]:
  [Logo <Byte[]>]:
  [OptionalClaimAccessToken <IMicrosoftGraphOptionalClaim[]>]:
    [AdditionalProperties <String[]>]:
    [Essential <Boolean?>]:
    [Name <String>]:
    [Source <String>]:
  [OptionalClaimIdToken <IMicrosoftGraphOptionalClaim[]>]:
  [OptionalClaimSaml2Token <IMicrosoftGraphOptionalClaim[]>]:
  [Owners <IMicrosoftGraphDirectoryObject[]>]:
  [ParentalControlSettingCountriesBlockedForMinors <String[]>]:
  [ParentalControlSettingLegalAgeGroupRule <String>]:
  [PasswordCredentials <IMicrosoftGraphPasswordCredential[]>]:
    [CustomKeyIdentifier <Byte[]>]:
    [DisplayName <String>]:
    [EndDateTime <DateTime?>]:
    [Hint <String>]:
    [KeyId <String>]:
    [SecretText <String>]:
    [StartDateTime <DateTime?>]:
  [Policies <IMicrosoftGraphDirectoryObject[]>]:
  [PublicClientRedirectUris <String[]>]:
  [PublisherDomain <String>]:
  [RequiredResourceAccess <IMicrosoftGraphRequiredResourceAccess[]>]:
    [ResourceAccess <IMicrosoftGraphResourceAccess[]>]:
      [Id <String>]:
      [Type <String>]:
    [ResourceAppId <String>]:
  [SignInAudience <String>]:
  [SynchronizationId <String>]:
  [SynchronizationJobs <IMicrosoftGraphSynchronizationJob[]>]:
    [Id <String>]:
    [ScheduleExpiration <DateTime?>]:
    [ScheduleInterval <TimeSpan?>]:
    [ScheduleState <String>]: synchronizationScheduleState
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
      [Id <String>]:
      [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
      [DiscoveryDateTime <DateTime?>]:
      [Name <String>]:
      [Objects <IMicrosoftGraphObjectDefinition[]>]:
        [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
          [Anchor <Boolean?>]:
          [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
            [Key <String>]:
            [Value <String>]:
          [CaseExact <Boolean?>]:
          [DefaultValue <String>]:
          [Metadata <IMicrosoftGraphMetadataEntry[]>]:
            [Key <String>]:
            [Value <String>]:
          [Multivalued <Boolean?>]:
          [Mutability <String>]: mutability
          [Name <String>]:
          [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
            [ReferencedObjectName <String>]:
            [ReferencedProperty <String>]:
          [Required <Boolean?>]:
          [Type <String>]: attributeType
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Name <String>]:
        [SupportedApis <String[]>]:
      [ReadOnly <Boolean?>]:
      [Version <String>]:
    [SchemaId <String>]:
    [SchemaProvisioningTaskIdentifier <String>]:
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
      [Editable <Boolean?>]:
      [Id <String>]:
      [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
      [Name <String>]:
      [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
        [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
          [DefaultValue <String>]:
          [ExportMissingReferences <Boolean?>]:
          [FlowBehavior <String>]: attributeFlowBehavior
          [FlowType <String>]: attributeFlowType
          [MatchingPriority <Int32?>]:
          [SourceExpression <String>]:
          [SourceName <String>]:
          [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
            [Key <String>]:
            [ValueExpression <String>]:
            [ValueName <String>]:
            [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
            [ValueType <String>]: attributeMappingSourceType
          [SourceType <String>]: attributeMappingSourceType
          [TargetAttributeName <String>]:
        [Enabled <Boolean?>]:
        [FlowTypes <String>]: objectFlowTypes
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Name <String>]:
        [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
          [Clauses <IMicrosoftGraphFilterClause[]>]:
            [OperatorName <String>]:
            [SourceOperandName <String>]:
            [TargetOperandValues <String[]>]:
          [Name <String>]:
        [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
        [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [SourceObjectName <String>]:
        [TargetObjectName <String>]:
      [Priority <Int32?>]:
      [SourceDirectoryName <String>]:
      [TargetDirectoryName <String>]:
    [SchemaVersion <String>]:
    [Status <IMicrosoftGraphSynchronizationStatus>]: synchronizationStatus
      [Code <String>]: synchronizationStatusCode
      [CountSuccessiveCompleteFailures <Int64?>]:
      [EscrowsPruned <Boolean?>]:
      [LastExecutionActivityIdentifier <String>]:
      [LastExecutionCountEntitled <Int64?>]:
      [LastExecutionCountEntitledForProvisioning <Int64?>]:
      [LastExecutionCountEscrowed <Int64?>]:
      [LastExecutionCountEscrowedRaw <Int64?>]:
      [LastExecutionCountExported <Int64?>]:
      [LastExecutionCountExports <Int64?>]:
      [LastExecutionCountImported <Int64?>]:
      [LastExecutionCountImportedDeltas <Int64?>]:
      [LastExecutionCountImportedReferenceDeltas <Int64?>]:
      [LastExecutionErrorCode <String>]:
      [LastExecutionErrorMessage <String>]:
      [LastExecutionErrorTenantActionable <Boolean?>]:
      [LastExecutionState <String>]: synchronizationTaskExecutionResult
      [LastExecutionTimeBegan <DateTime?>]:
      [LastExecutionTimeEnded <DateTime?>]:
      [LastSuccessfulExecutionActivityIdentifier <String>]:
      [LastSuccessfulExecutionCountEntitled <Int64?>]:
      [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
      [LastSuccessfulExecutionCountEscrowed <Int64?>]:
      [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
      [LastSuccessfulExecutionCountExported <Int64?>]:
      [LastSuccessfulExecutionCountExports <Int64?>]:
      [LastSuccessfulExecutionCountImported <Int64?>]:
      [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
      [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
      [LastSuccessfulExecutionErrorCode <String>]:
      [LastSuccessfulExecutionErrorMessage <String>]:
      [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
      [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
      [LastSuccessfulExecutionTimeBegan <DateTime?>]:
      [LastSuccessfulExecutionTimeEnded <DateTime?>]:
      [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
      [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
      [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
      [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
      [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
      [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
      [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
      [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
      [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
      [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
      [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
      [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
      [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
      [LastSuccessfulExecutionWithExportsErrorCode <String>]:
      [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
      [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
      [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
        [CompletedUnits <Int64?>]:
        [ProgressObservationDateTime <DateTime?>]:
        [TotalUnits <Int64?>]:
        [Units <String>]:
      [QuarantineCurrentBegan <DateTime?>]:
      [QuarantineNextAttempt <DateTime?>]:
      [QuarantineReason <String>]: quarantineReason
      [QuarantineSeriesBegan <DateTime?>]:
      [QuarantineSeriesCount <Int64?>]:
      [SteadyStateFirstAchievedTime <DateTime?>]:
      [SteadyStateLastAchievedTime <DateTime?>]:
      [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
        [Key <String>]:
        [Value <Int64?>]:
      [TroubleshootingUrl <String>]:
    [SynchronizationJobSettings <IMicrosoftGraphKeyValuePair[]>]:
      [Name <String>]:
      [Value <String>]:
    [TemplateId <String>]:
  [SynchronizationSecrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [SynchronizationTemplates <IMicrosoftGraphSynchronizationTemplate[]>]:
    [Id <String>]:
    [ApplicationId <String>]:
    [Default <Boolean?>]:
    [Description <String>]:
    [Discoverable <Boolean?>]:
    [FactoryTag <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [SchemaId <String>]:
    [SchemaProvisioningTaskIdentifier <String>]:
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [SchemaVersion <String>]:
  [Tags <String[]>]:
  [TokenEncryptionKeyId <String>]:
  [WebHomePageUrl <String>]:
  [WebLogoutUrl <String>]:
  [WebOauth2AllowImplicitFlow <Boolean?>]:
  [WebRedirectUris <String[]>]:
 
CREATEDONBEHALFOF <IMicrosoftGraphDirectoryObject>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
 
EXTENSIONPROPERTIES <IMicrosoftGraphExtensionProperty[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
  [AppDisplayName <String>]:
  [DataType <String>]:
  [IsSyncedFromOnPremises <Boolean?>]:
  [Name <String>]:
  [TargetObjects <String[]>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
 
KEYCREDENTIALS <IMicrosoftGraphKeyCredential[]>: HELP MESSAGE MISSING
  [CustomKeyIdentifier <Byte[]>]:
  [DisplayName <String>]:
  [EndDateTime <DateTime?>]:
  [Key <Byte[]>]:
  [KeyId <String>]:
  [StartDateTime <DateTime?>]:
  [Type <String>]:
  [Usage <String>]:
 
OPTIONALCLAIMACCESSTOKEN <IMicrosoftGraphOptionalClaim[]>: HELP MESSAGE MISSING
  [AdditionalProperties <String[]>]:
  [Essential <Boolean?>]:
  [Name <String>]:
  [Source <String>]:
 
OPTIONALCLAIMIDTOKEN <IMicrosoftGraphOptionalClaim[]>: HELP MESSAGE MISSING
  [AdditionalProperties <String[]>]:
  [Essential <Boolean?>]:
  [Name <String>]:
  [Source <String>]:
 
OPTIONALCLAIMSAML2TOKEN <IMicrosoftGraphOptionalClaim[]>: HELP MESSAGE MISSING
  [AdditionalProperties <String[]>]:
  [Essential <Boolean?>]:
  [Name <String>]:
  [Source <String>]:
 
OWNERS <IMicrosoftGraphDirectoryObject[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
 
PASSWORDCREDENTIALS <IMicrosoftGraphPasswordCredential[]>: HELP MESSAGE MISSING
  [CustomKeyIdentifier <Byte[]>]:
  [DisplayName <String>]:
  [EndDateTime <DateTime?>]:
  [Hint <String>]:
  [KeyId <String>]:
  [SecretText <String>]:
  [StartDateTime <DateTime?>]:
 
POLICIES <IMicrosoftGraphDirectoryObject[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [DeletedDateTime <DateTime?>]:
 
REQUIREDRESOURCEACCESS <IMicrosoftGraphRequiredResourceAccess[]>: HELP MESSAGE MISSING
  [ResourceAccess <IMicrosoftGraphResourceAccess[]>]:
    [Id <String>]:
    [Type <String>]:
  [ResourceAppId <String>]:
 
SYNCHRONIZATIONJOBS <IMicrosoftGraphSynchronizationJob[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
          [Key <String>]:
          [Value <String>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
  [Status <IMicrosoftGraphSynchronizationStatus>]: synchronizationStatus
    [Code <String>]: synchronizationStatusCode
    [CountSuccessiveCompleteFailures <Int64?>]:
    [EscrowsPruned <Boolean?>]:
    [LastExecutionActivityIdentifier <String>]:
    [LastExecutionCountEntitled <Int64?>]:
    [LastExecutionCountEntitledForProvisioning <Int64?>]:
    [LastExecutionCountEscrowed <Int64?>]:
    [LastExecutionCountEscrowedRaw <Int64?>]:
    [LastExecutionCountExported <Int64?>]:
    [LastExecutionCountExports <Int64?>]:
    [LastExecutionCountImported <Int64?>]:
    [LastExecutionCountImportedDeltas <Int64?>]:
    [LastExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastExecutionErrorCode <String>]:
    [LastExecutionErrorMessage <String>]:
    [LastExecutionErrorTenantActionable <Boolean?>]:
    [LastExecutionState <String>]: synchronizationTaskExecutionResult
    [LastExecutionTimeBegan <DateTime?>]:
    [LastExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionActivityIdentifier <String>]:
    [LastSuccessfulExecutionCountEntitled <Int64?>]:
    [LastSuccessfulExecutionCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionCountExported <Int64?>]:
    [LastSuccessfulExecutionCountExports <Int64?>]:
    [LastSuccessfulExecutionCountImported <Int64?>]:
    [LastSuccessfulExecutionCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionErrorCode <String>]:
    [LastSuccessfulExecutionErrorMessage <String>]:
    [LastSuccessfulExecutionErrorTenantActionable <Boolean?>]:
    [LastSuccessfulExecutionState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportActivityIdentifier <String>]:
    [LastSuccessfulExecutionWithExportCountEntitled <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEntitledForProvisioning <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowed <Int64?>]:
    [LastSuccessfulExecutionWithExportCountEscrowedRaw <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountExports <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImported <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportCountImportedReferenceDeltas <Int64?>]:
    [LastSuccessfulExecutionWithExportState <String>]: synchronizationTaskExecutionResult
    [LastSuccessfulExecutionWithExportTimeBegan <DateTime?>]:
    [LastSuccessfulExecutionWithExportTimeEnded <DateTime?>]:
    [LastSuccessfulExecutionWithExportsErrorCode <String>]:
    [LastSuccessfulExecutionWithExportsErrorMessage <String>]:
    [LastSuccessfulExecutionWithExportsErrorTenantActionable <Boolean?>]:
    [Progress <IMicrosoftGraphSynchronizationProgress[]>]:
      [CompletedUnits <Int64?>]:
      [ProgressObservationDateTime <DateTime?>]:
      [TotalUnits <Int64?>]:
      [Units <String>]:
    [QuarantineCurrentBegan <DateTime?>]:
    [QuarantineNextAttempt <DateTime?>]:
    [QuarantineReason <String>]: quarantineReason
    [QuarantineSeriesBegan <DateTime?>]:
    [QuarantineSeriesCount <Int64?>]:
    [SteadyStateFirstAchievedTime <DateTime?>]:
    [SteadyStateLastAchievedTime <DateTime?>]:
    [SynchronizedEntryCountByType <IMicrosoftGraphStringKeyLongValuePair[]>]:
      [Key <String>]:
      [Value <Int64?>]:
    [TroubleshootingUrl <String>]:
  [SynchronizationJobSettings <IMicrosoftGraphKeyValuePair[]>]:
    [Name <String>]:
    [Value <String>]:
  [TemplateId <String>]:
 
SYNCHRONIZATIONSECRETS <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>: HELP MESSAGE MISSING
  [Key <String>]: synchronizationSecret
  [Value <String>]:
 
SYNCHRONIZATIONTEMPLATES <IMicrosoftGraphSynchronizationTemplate[]>: HELP MESSAGE MISSING
  [Id <String>]:
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]:
    [Discoverabilities <String>]: directoryDefinitionDiscoverabilities
    [DiscoveryDateTime <DateTime?>]:
    [Name <String>]:
    [Objects <IMicrosoftGraphObjectDefinition[]>]:
      [Attributes <IMicrosoftGraphAttributeDefinition[]>]:
        [Anchor <Boolean?>]:
        [ApiExpressions <IMicrosoftGraphStringKeyStringValuePair[]>]:
          [Key <String>]:
          [Value <String>]:
        [CaseExact <Boolean?>]:
        [DefaultValue <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [Multivalued <Boolean?>]:
        [Mutability <String>]: mutability
        [Name <String>]:
        [ReferencedObjects <IMicrosoftGraphReferencedObject[]>]:
          [ReferencedObjectName <String>]:
          [ReferencedProperty <String>]:
        [Required <Boolean?>]:
        [Type <String>]: attributeType
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [SupportedApis <String[]>]:
    [ReadOnly <Boolean?>]:
    [Version <String>]:
  [SchemaId <String>]:
  [SchemaProvisioningTaskIdentifier <String>]:
  [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [Editable <Boolean?>]:
    [Id <String>]:
    [Metadata <IMicrosoftGraphStringKeyStringValuePair[]>]:
    [Name <String>]:
    [ObjectMappings <IMicrosoftGraphObjectMapping[]>]:
      [AttributeMappings <IMicrosoftGraphAttributeMapping[]>]:
        [DefaultValue <String>]:
        [ExportMissingReferences <Boolean?>]:
        [FlowBehavior <String>]: attributeFlowBehavior
        [FlowType <String>]: attributeFlowType
        [MatchingPriority <Int32?>]:
        [SourceExpression <String>]:
        [SourceName <String>]:
        [SourceParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [Key <String>]:
          [ValueExpression <String>]:
          [ValueName <String>]:
          [ValueParameters <IMicrosoftGraphStringKeyAttributeMappingSourceValuePair[]>]:
          [ValueType <String>]: attributeMappingSourceType
        [SourceType <String>]: attributeMappingSourceType
        [TargetAttributeName <String>]:
      [Enabled <Boolean?>]:
      [FlowTypes <String>]: objectFlowTypes
      [Metadata <IMicrosoftGraphMetadataEntry[]>]:
      [Name <String>]:
      [ScopeCategoryFilterGroups <IMicrosoftGraphFilterGroup[]>]:
        [Clauses <IMicrosoftGraphFilterClause[]>]:
          [OperatorName <String>]:
          [SourceOperandName <String>]:
          [TargetOperandValues <String[]>]:
        [Name <String>]:
      [ScopeGroups <IMicrosoftGraphFilterGroup[]>]:
      [ScopeInputFilterGroups <IMicrosoftGraphFilterGroup[]>]:
      [SourceObjectName <String>]:
      [TargetObjectName <String>]:
    [Priority <Int32?>]:
    [SourceDirectoryName <String>]:
    [TargetDirectoryName <String>]:
  [SchemaVersion <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/update-mgapplication
#>

function Update-MgApplication {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [System.String]
    # key: application-id of application
    ${ApplicationId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Path')]
    [Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity]
    # 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.IMicrosoftGraphApplication]
    # HELP MESSAGE MISSING
    # 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]
    # HELP MESSAGE MISSING
    ${ApiAcceptMappedClaims},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${ApiKnownClientApplications},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPermissionScope[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for APIOAUTH2PERMISSIONSCOPES properties and create a hash table.
    ${ApiOauth2PermissionScopes},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPreAuthorizedApplication[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for APIPREAUTHORIZEDAPPLICATIONS properties and create a hash table.
    ${ApiPreAuthorizedApplications},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Int32]
    # HELP MESSAGE MISSING
    ${ApiRequestedAccessTokenVersion},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${AppId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAppRole[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for APPROLES properties and create a hash table.
    ${AppRoles},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for CREATEDONBEHALFOF properties and create a hash table.
    ${CreatedOnBehalfOf},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # HELP MESSAGE MISSING
    ${DeletedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphExtensionProperty[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for EXTENSIONPROPERTIES properties and create a hash table.
    ${ExtensionProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${GroupMembershipClaims},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${IdentifierUris},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${ImplicitGrantSettingEnableAccessTokenIssuance},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${ImplicitGrantSettingEnableIdTokenIssuance},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${InfoLogoUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${InfoMarketingUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${InfoPrivacyStatementUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${InfoSupportUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${InfoTermsOfServiceUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${IsDeviceOnlyAuthSupported},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${IsFallbackPublicClient},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphKeyCredential[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for KEYCREDENTIALS properties and create a hash table.
    ${KeyCredentials},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Input File for Logo (HELP MESSAGE MISSING)
    ${LogoInputFile},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOptionalClaim[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OPTIONALCLAIMACCESSTOKEN properties and create a hash table.
    ${OptionalClaimAccessToken},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOptionalClaim[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OPTIONALCLAIMIDTOKEN properties and create a hash table.
    ${OptionalClaimIdToken},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOptionalClaim[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OPTIONALCLAIMSAML2TOKEN properties and create a hash table.
    ${OptionalClaimSaml2Token},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for OWNERS properties and create a hash table.
    ${Owners},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${ParentalControlSettingCountriesBlockedForMinors},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${ParentalControlSettingLegalAgeGroupRule},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPasswordCredential[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for PASSWORDCREDENTIALS properties and create a hash table.
    ${PasswordCredentials},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for POLICIES properties and create a hash table.
    ${Policies},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${PublicClientRedirectUris},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${PublisherDomain},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphRequiredResourceAccess[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for REQUIREDRESOURCEACCESS properties and create a hash table.
    ${RequiredResourceAccess},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${SignInAudience},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${SynchronizationId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONJOBS properties and create a hash table.
    ${SynchronizationJobs},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONSECRETS properties and create a hash table.
    ${SynchronizationSecrets},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationTemplate[]]
    # HELP MESSAGE MISSING
    # To construct, see NOTES section for SYNCHRONIZATIONTEMPLATES properties and create a hash table.
    ${SynchronizationTemplates},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${Tags},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${TokenEncryptionKeyId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${WebHomePageUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # HELP MESSAGE MISSING
    ${WebLogoutUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # HELP MESSAGE MISSING
    ${WebOauth2AllowImplicitFlow},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # HELP MESSAGE MISSING
    ${WebRedirectUris},

    [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.Identity.Application.private\Update-MgApplication_Update';
            UpdateExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplication_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Update-MgApplication_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Update-MgApplication_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
    }
}
}

# SIG # Begin signature block
# MIIjewYJKoZIhvcNAQcCoIIjbDCCI2gCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBXp2IfywjhsY6Y
# +hJpwAwHRsSWIW4yKxxoSvRdUP02NqCCDXYwggX0MIID3KADAgECAhMzAAABUMiP
# lnfeTPFHAAAAAAFQMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ1WhcNMjAwNTAyMjEzNzQ1WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQCh2V193EGtu49awDgcJ1E8WB5mAim/gAFVpWUVOlk/haZWAiffh/k3W/GPhgYl
# t2WH/FQS4BcGpeWRb2Wi4seOUWb5lbgIuUKBORF0iiEiPNMLueuD3PAChl/h3WE2
# N1T8zsQg6UMrWtNRdby48xCI6zdD+26yNei3tOccrOWWullOehpBF5Z4vp8Xvq1n
# ysaSkGgAZNaKrb3F6et3V5Tq+gJ0DaLm/TGxATcTJ1mrHJOx+cHorSIeGKKzwa19
# uBuUbGALZx8Isus+3KiK7h2YcZ+AHU+qeUCLbKhU3l97Kg9E6/dvAMa+42/BXSmZ
# 9+F3WfagixcbNWGaZA1Pn8mPAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUGxNB+9SPshuMPQ+xlMnFMiKVkDgw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwMDEyKzQ1NDEzNDAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBADSrnbMt49ZGUc9KnW7S
# VkzITe55ApMwgxE8jl06lBkMZLd9QatyUt6g2/0RG0boaMHpWzypk6pGDLRD5y/P
# 6sj6fQYkrGihAw3W4ObLE3rrY8e5GPTrp/AlMFzsywHhD0+ETwgU8PuMvwQfB6ak
# 2ejWP0M1a1tkyAHfEMEGKd7RVPRmlLX+kPkJoFPz/uSlKxXi/acGH1qISQc0pkRt
# UE/ufrfpR+LlEOPg5aNZdAwIJAuDWInMeQM7kIoUTShSAJTzT58mrwVXgrfBbZnA
# NpsC/v8/amGL43MhTN0V2sWBHZNL7N0X9Z2qldu+jj8HdaNRGQyuru1W+IjNV914
# nk3qp9T/bZmy0elNYkCdNFjapARu6TZ0wwlEkvFW0HuzwtQ2gGDddGuhRFQRrdbU
# 68ifXf3dtvUDb0Nr+tnw9k0mV4s9jkTraDBaSJV0v1ixeR6WEBgGcc+uL/rHnci8
# 9cMcZqqcY8gGw0T1GpdDbWYLsYsqfPu5ZP4ga0kZa/ne7Bi3zu8XZ72kM893t5Ib
# Z96/2xp2Q+I6vIVfZJ7fh7vQ3OcLAZDvN+y6jNq3jtnQSYHuhX+Du074DXhQeVTB
# qTzBiuZPbnJhmI525u1GVoGemw0fqwk4cpeh3d1cDMN5eWlmqEdRwgaWozpj3a4I
# BzxVWkDJSJ4ZEq2odtK6eoYcMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
# /Xmfwb1tbWrJUnMTDXpQzTGCFVswghVXAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBIDIwMTECEzMAAAFQyI+Wd95M8UcAAAAAAVAwDQYJYIZIAWUDBAIB
# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIF7N5/3+4/RFBXjSBNU59kfi
# ihZpElHPUz3cwwvgzvmnMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A
# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB
# BQAEggEATj9lSGwHlsKAkd79MZvkaGHkMAfnCFUZ8kVIGGAST1hrmahsQMPFY2Gr
# HltjL2UZFlMtdfTi7H3QBcZYpSvgsq/6uHl2wo/xlSH+tlwiDAW5OZFza/Z27QqN
# H/nrMj8MFTVo7B/F2WHuyo+xFGBqJHLrBPbSS57V/6sAYBB3EEqSm2NPU1O3af99
# BMhxYIcWu6X00+6r8DYjEZJFvGRc7Z38NH4cSJeolFeaaYXluKD1jULDZr3Z0KiN
# RqUEEgF4zds2JSwLOBt2tJG64Zl7HrzRD7u+NSvQm9Xh2y5Wmvq9biw4x+RX25Yc
# DcUVnEY4yJ9ZYGOa3SfASOZNqbv6B6GCEuUwghLhBgorBgEEAYI3AwMBMYIS0TCC
# Es0GCSqGSIb3DQEHAqCCEr4wghK6AgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFRBgsq
# hkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl
# AwQCAQUABCDH+KmcxSuhzvCfdUOP44GmjdLdM2GabKetuD47y6OdMQIGXfwqfaFK
# GBMyMDIwMDExMDIzNTEyMi45MTZaMASAAgH0oIHQpIHNMIHKMQswCQYDVQQGEwJV
# UzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl
# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpGQzQxLTRC
# RDQtRDIyMDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaCC
# DjwwggTxMIID2aADAgECAhMzAAABEiRzozWGaRMPAAAAAAESMA0GCSqGSIb3DQEB
# CwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV
# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTE5MTAyMzIzMTky
# MVoXDTIxMDEyMTIzMTkyMVowgcoxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJXQTEQ
# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
# MS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQx
# JjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOkZDNDEtNEJENC1EMjIwMSUwIwYDVQQD
# ExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEF
# AAOCAQ8AMIIBCgKCAQEAu6qZFTcvUER3cKUQtII+fc65iE3g/nzOFBWXlhq0natr
# EhYiFban6yB2g63om0QbMNOFeMHJqYGm3ZRfvBgTYOEWfmjyKStpNuUKTBmFSSxU
# krGxDjgVkhyKkGH8ccm0tC7bp96hnQaibH3YZXzKvi+BN2gJcsRMH5Pag2bh1Fd8
# vRMlMHxyw4bBKWWwpKTSG40bxbGu8CXesKGRAQXdaSXu5smJqyjJc3l4b9JNxsI7
# 7b05ftEwnU4IwqWKaLafgQDaqVB9knFmaVnrnvBS+2iA3YrVbnkxll51Cr3HhPTw
# L0IlCbKmyn5VzKS+TCB7SUk+emsVreWqTcMj/q8eCQIDAQABo4IBGzCCARcwHQYD
# VR0OBBYEFNI6cB8LTElgKyq0wjLMBsZ2ZVtdMB8GA1UdIwQYMBaAFNVjOlyKMZDz
# Q3t8RhvFM2hahW1VMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9z
# b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1RpbVN0YVBDQV8yMDEwLTA3LTAx
# LmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWlj
# cm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljVGltU3RhUENBXzIwMTAtMDctMDEuY3J0
# MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEL
# BQADggEBADkRL6+Rr9IK9WNFlicuz6GQuZX3YQOb552L+/8QLNlrlf3VARdRLxP9
# qc+tRMui6Y06H6xMT+WShwmrVVtLTUERI+Gvkc9hZz7/oMflUVZe1sD2mV3SIl8I
# ZlCr3KLeXXGlFVEFccYAc3J0y3P/ZwhP/xOqGcPEKzDwra4qKuhIiBMXk5E7mzu2
# LL0893ZgXQ33P4CBbXx6e0xWo4Ev38tiOrXTK2rUAnndOSyYOaEiFmLxbNMWsMYu
# mqDDdRapwttcQCEQBJjgzdPVf9Ma66apKiKfDlP987i0CvgUZm6fK0gD/tgTgB20
# atNJGhqG3eard9HxbD2qhum8J9i9R+AwggZxMIIEWaADAgECAgphCYEqAAAAAAAC
# MA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
# cmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo
# b3JpdHkgMjAxMDAeFw0xMDA3MDEyMTM2NTVaFw0yNTA3MDEyMTQ2NTVaMHwxCzAJ
# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jv
# c29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
# MIIBCgKCAQEAqR0NvHcRijog7PwTl/X6f2mUa3RUENWlCgCChfvtfGhLLF/Fw+Vh
# wna3PmYrW/AVUycEMR9BGxqVHc4JE458YTBZsTBED/FgiIRUQwzXTbg4CLNC3ZOs
# 1nMwVyaCo0UN0Or1R4HNvyRgMlhgRvJYR4YyhB50YWeRX4FUsc+TTJLBxKZd0WET
# bijGGvmGgLvfYfxGwScdJGcSchohiq9LZIlQYrFd/XcfPfBXday9ikJNQFHRD5wG
# Pmd/9WbAA5ZEfu/QS/1u5ZrKsajyeioKMfDaTgaRtogINeh4HLDpmc085y9Euqf0
# 3GS9pAHBIAmTeM38vMDJRF1eFpwBBU8iTQIDAQABo4IB5jCCAeIwEAYJKwYBBAGC
# NxUBBAMCAQAwHQYDVR0OBBYEFNVjOlyKMZDzQ3t8RhvFM2hahW1VMBkGCSsGAQQB
# gjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/
# MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJ
# oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p
# Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB
# BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9v
# Q2VyQXV0XzIwMTAtMDYtMjMuY3J0MIGgBgNVHSABAf8EgZUwgZIwgY8GCSsGAQQB
# gjcuAzCBgTA9BggrBgEFBQcCARYxaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL1BL
# SS9kb2NzL0NQUy9kZWZhdWx0Lmh0bTBABggrBgEFBQcCAjA0HjIgHQBMAGUAZwBh
# AGwAXwBQAG8AbABpAGMAeQBfAFMAdABhAHQAZQBtAGUAbgB0AC4gHTANBgkqhkiG
# 9w0BAQsFAAOCAgEAB+aIUQ3ixuCYP4FxAz2do6Ehb7Prpsz1Mb7PBeKp/vpXbRkw
# s8LFZslq3/Xn8Hi9x6ieJeP5vO1rVFcIK1GCRBL7uVOMzPRgEop2zEBAQZvcXBf/
# XPleFzWYJFZLdO9CEMivv3/Gf/I3fVo/HPKZeUqRUgCvOA8X9S95gWXZqbVr5MfO
# 9sp6AG9LMEQkIjzP7QOllo9ZKby2/QThcJ8ySif9Va8v/rbljjO7Yl+a21dA6fHO
# mWaQjP9qYn/dxUoLkSbiOewZSnFjnXshbcOco6I8+n99lmqQeKZt0uGc+R38ONiU
# 9MalCpaGpL2eGq4EQoO4tYCbIjggtSXlZOz39L9+Y1klD3ouOVd2onGqBooPiRa6
# YacRy5rYDkeagMXQzafQ732D8OE7cQnfXXSYIghh2rBQHm+98eEA3+cxB6STOvdl
# R3jo+KhIq/fecn5ha293qYHLpwmsObvsxsvYgrRyzR30uIUBHoD7G4kqVDmyW9rI
# DVWZeodzOwjmmC3qjeAzLhIp9cAvVCch98isTtoouLGp25ayp0Kiyc8ZQU3ghvkq
# mqMRZjDTu3QyS99je/WZii8bxyGvWbWu3EQ8l1Bx16HSxVXjad5XwdHeMMD9zOZN
# +w2/XU/pnR4ZOC+8z1gFLu8NoFA12u8JJxzVs341Hgi62jbb01+P3nSISRKhggLO
# MIICNwIBATCB+KGB0KSBzTCByjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# LTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEm
# MCQGA1UECxMdVGhhbGVzIFRTUyBFU046RkM0MS00QkQ0LUQyMjAxJTAjBgNVBAMT
# HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUrDgMCGgMVABLg
# K9aEKr7Q8p7XpXg4xcwzAoq8oIGDMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
# UENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDhwwEMMCIYDzIwMjAwMTEwMjE1NjI4
# WhgPMjAyMDAxMTEyMTU2MjhaMHcwPQYKKwYBBAGEWQoEATEvMC0wCgIFAOHDAQwC
# AQAwCgIBAAICH38CAf8wBwIBAAICEYEwCgIFAOHEUowCAQAwNgYKKwYBBAGEWQoE
# AjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkq
# hkiG9w0BAQUFAAOBgQCSIi7jwjXge5b/Il0I7Xn8ppCYXo4xeMYySSQ1TrwYy8BR
# 2XvNyaCpiClmKYYPEN/nvXneFvJu8qoiGvFSVcqpLLQS5Llw3AO7y2/59y5ev1IL
# HrQconE/9GEzl1RwhfEZ4HpmCuqZFvqovhIo1IqoP9G3lyOFTy1Y25qR4RXZUjGC
# Aw0wggMJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB
# EiRzozWGaRMPAAAAAAESMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMx
# DQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIKcVAOkl+SC2Zb12FQ4Zonbb
# PyI/xDZ4x3lRPJdxQ7gCMIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgJBKw
# gr/oIhqKqTnIKXhi2KT7J37JGDCPgxE0dZc6llMwgZgwgYCkfjB8MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
# VGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAARIkc6M1hmkTDwAAAAABEjAiBCDUe3WM
# KTmW4Hno/8kfoKuyi8UWW/S4JcmwiW2PNbt+XDANBgkqhkiG9w0BAQsFAASCAQAr
# J1ppjJ3q+g31yQ+j1YfvnvJu7O/ZQVZWqupfxIYms6fPHyZtObUPXeUibSMBWFYn
# y7AzFsd0u626tqqjNRlrsLpllAWyaZ+yT3CX3+9HabUiBmGOZH/WbfcZwYT0NomW
# wnQrALVxVz2SOOQA9MWIa7AMT8qxQgLwgN+8Gie9w5jVrFSrBDUlln8GJmwmhIwn
# iMDaEuZrbEs4DVAxPm1buBOAsgODbnyRnGcQSaP+oo1o7Lr84f2dtgrdRRQgIdCO
# s/6wjcv2PRmWklhiysxYH9gOIfVOzDdUnaq6cpHaG6WCDwkv2Qkdnm9j338B4hSf
# T5Xi68HZUNBjkYZt5USK
# SIG # End signature block