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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths17CrvdcApplicationsApplicationIdMicrosoftGraphAddkeyPostRequestbodyContentApplicationJsonSchema
.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 <IPaths17CrvdcApplicationsApplicationIdMicrosoftGraphAddkeyPostRequestbodyContentApplicationJsonSchema>: .
  [KeyCredentialCustomKeyIdentifier <Byte[]>]: Custom key identifier
  [KeyCredentialDisplayName <String>]: Friendly name for the key. Optional.
  [KeyCredentialEndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [KeyCredentialKey <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
  [KeyCredentialKeyId <String>]: The unique identifier (GUID) for the key.
  [KeyCredentialStartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [KeyCredentialType <String>]: The type of key credential; for example, 'Symmetric'.
  [KeyCredentialUsage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
  [PasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
  [PasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
  [PasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [PasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
  [PasswordCredentialKeyId <String>]: The unique identifier for the password.
  [PasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
  [PasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [Proof <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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.IPaths17CrvdcApplicationsApplicationIdMicrosoftGraphAddkeyPostRequestbodyContentApplicationJsonSchema]
    # .
    # 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 (Custom key identifier)
    ${KeyCredentialCustomKeyIdentifierInputFile},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Friendly name for the key.
    # Optional.
    ${KeyCredentialDisplayName},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    ${KeyCredentialEndDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier (GUID) for the key.
    ${KeyCredentialKeyId},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Input File for KeyCredentialKey (Value for the key credential.
    # Should be a base 64 encoded value.)
    ${KeyCredentialKeyInputFile},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    ${KeyCredentialStartDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # The type of key credential; for example, 'Symmetric'.
    ${KeyCredentialType},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # A string that describes the purpose for which the key can be used; for example, 'Verify'.
    ${KeyCredentialUsage},

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

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Friendly name for the password.
    # Optional.
    ${PasswordCredentialDisplayName},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time at which the password expires represented using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'.
    # Optional.
    ${PasswordCredentialEndDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Contains the first three characters of the password.
    # Read-only.
    ${PasswordCredentialHint},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for the password.
    ${PasswordCredentialKeyId},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length.
    # The generated password value is only returned during the initial POST request to addPassword.
    # There is no way to retrieve this password in the future.
    ${PasswordCredentialSecretText},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time at which the password becomes valid.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'.
    # Optional.
    ${PasswordCredentialStartDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths141Ryo0ApplicationsApplicationIdMicrosoftGraphAddpasswordPostRequestbodyContentApplicationJsonSchema
.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 <IPaths141Ryo0ApplicationsApplicationIdMicrosoftGraphAddpasswordPostRequestbodyContentApplicationJsonSchema>: .
  [PasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
  [PasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
  [PasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [PasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
  [PasswordCredentialKeyId <String>]: The unique identifier for the password.
  [PasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
  [PasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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.IPaths141Ryo0ApplicationsApplicationIdMicrosoftGraphAddpasswordPostRequestbodyContentApplicationJsonSchema]
    # .
    # 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 (Do not use.)
    ${PasswordCredentialCustomKeyIdentifierInputFile},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Friendly name for the password.
    # Optional.
    ${PasswordCredentialDisplayName},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time at which the password expires represented using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'.
    # Optional.
    ${PasswordCredentialEndDateTime},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Contains the first three characters of the password.
    # Read-only.
    ${PasswordCredentialHint},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for the password.
    ${PasswordCredentialKeyId},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length.
    # The generated password value is only returned during the initial POST request to addPassword.
    # There is no way to retrieve this password in the future.
    ${PasswordCredentialSecretText},

    [Parameter(ParameterSetName='AddExpanded')]
    [Parameter(ParameterSetName='AddViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time at which the password becomes valid.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'.
    # Optional.
    ${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 checkMemberGroups
.Description
Invoke action checkMemberGroups
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths1HnzvnpApplicationsApplicationIdMicrosoftGraphCheckmembergroupsPostRequestbodyContentApplicationJsonSchema
.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.
 
BODYPARAMETER <IPaths1HnzvnpApplicationsApplicationIdMicrosoftGraphCheckmembergroupsPostRequestbodyContentApplicationJsonSchema>: .
  [GroupIds <String[]>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/confirm-mgapplicationmembergroup
#>

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

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

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

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

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

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [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 = @{
            Check = 'Microsoft.Graph.Identity.Application.private\Confirm-MgApplicationMemberGroup_Check';
            CheckExpanded = 'Microsoft.Graph.Identity.Application.private\Confirm-MgApplicationMemberGroup_CheckExpanded';
            CheckViaIdentity = 'Microsoft.Graph.Identity.Application.private\Confirm-MgApplicationMemberGroup_CheckViaIdentity';
            CheckViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Confirm-MgApplicationMemberGroup_CheckViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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 checkMemberObjects
.Description
Invoke action checkMemberObjects
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths1Lkksh4ApplicationsApplicationIdMicrosoftGraphCheckmemberobjectsPostRequestbodyContentApplicationJsonSchema
.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.
 
BODYPARAMETER <IPaths1Lkksh4ApplicationsApplicationIdMicrosoftGraphCheckmemberobjectsPostRequestbodyContentApplicationJsonSchema>: .
  [Ids <String[]>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/confirm-mgapplicationmemberobject
#>

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

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

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

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

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

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [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 = @{
            Check = 'Microsoft.Graph.Identity.Application.private\Confirm-MgApplicationMemberObject_Check';
            CheckExpanded = 'Microsoft.Graph.Identity.Application.private\Confirm-MgApplicationMemberObject_CheckExpanded';
            CheckViaIdentity = 'Microsoft.Graph.Identity.Application.private\Confirm-MgApplicationMemberObject_CheckViaIdentity';
            CheckViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Confirm-MgApplicationMemberObject_CheckViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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 discover
.Description
Invoke action discover
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/find-mgapplicationsynchronizationjobschemadirectory
#>

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

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

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

    [Parameter(ParameterSetName='DiscoverViaIdentity', 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 = @{
            Discover = 'Microsoft.Graph.Identity.Application.private\Find-MgApplicationSynchronizationJobSchemaDirectory_Discover';
            DiscoverViaIdentity = 'Microsoft.Graph.Identity.Application.private\Find-MgApplicationSynchronizationJobSchemaDirectory_DiscoverViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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 discover
.Description
Invoke action discover
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/find-mgapplicationsynchronizationtemplateschemadirectory
#>

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

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

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

    [Parameter(ParameterSetName='DiscoverViaIdentity', 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 = @{
            Discover = 'Microsoft.Graph.Identity.Application.private\Find-MgApplicationSynchronizationTemplateSchemaDirectory_Discover';
            DiscoverViaIdentity = 'Microsoft.Graph.Identity.Application.private\Find-MgApplicationSynchronizationTemplateSchemaDirectory_DiscoverViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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 getByIds
.Description
Invoke action getByIds
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths1Hl8AmeApplicationsMicrosoftGraphGetbyidsPostRequestbodyContentApplicationJsonSchema
.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.
 
BODYPARAMETER <IPaths1Hl8AmeApplicationsMicrosoftGraphGetbyidsPostRequestbodyContentApplicationJsonSchema>: .
  [Ids <String[]>]:
  [Types <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationbyid
#>

function Get-MgApplicationById {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject])]
[CmdletBinding(DefaultParameterSetName='GetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Get1', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IPaths1Hl8AmeApplicationsMicrosoftGraphGetbyidsPostRequestbodyContentApplicationJsonSchema]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

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

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [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 = @{
            Get1 = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationById_Get1';
            GetExpanded = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationById_GetExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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 claimsMappingPolicies from applications
.Description
Get claimsMappingPolicies from applications
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphClaimsMappingPolicy
.Notes
COMPLEX PARAMETER PROPERTIES
 
To 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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationclaimmappingpolicy
#>

function Get-MgApplicationClaimMappingPolicy {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphClaimsMappingPolicy])]
[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: claimsMappingPolicy-id of claimsMappingPolicy
    ${ClaimsMappingPolicyId},

    [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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationClaimMappingPolicy_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationClaimMappingPolicy_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationClaimMappingPolicy_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 connectorGroup from applications
.Description
Get connectorGroup from applications
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphConnectorGroup
.Notes
COMPLEX PARAMETER PROPERTIES
 
To 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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationconnectorgroup
#>

function Get-MgApplicationConnectorGroup {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphConnectorGroup])]
[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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationConnectorGroup_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationConnectorGroup_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 createdOnBehalfOf from applications
.Description
Get createdOnBehalfOf from applications
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

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 homeRealmDiscoveryPolicies from applications
.Description
Get homeRealmDiscoveryPolicies from applications
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphHomeRealmDiscoveryPolicy
.Notes
COMPLEX PARAMETER PROPERTIES
 
To 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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationhomerealmdiscoverypolicy
#>

function Get-MgApplicationHomeRealmDiscoveryPolicy {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphHomeRealmDiscoveryPolicy])]
[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: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
    ${HomeRealmDiscoveryPolicyId},

    [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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationHomeRealmDiscoveryPolicy_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationHomeRealmDiscoveryPolicy_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationHomeRealmDiscoveryPolicy_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 action getMemberGroups
.Description
Invoke action getMemberGroups
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths1Ezr0XyApplicationsApplicationIdMicrosoftGraphGetmembergroupsPostRequestbodyContentApplicationJsonSchema
.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.
 
BODYPARAMETER <IPaths1Ezr0XyApplicationsApplicationIdMicrosoftGraphGetmembergroupsPostRequestbodyContentApplicationJsonSchema>: .
  [SecurityEnabledOnly <Boolean?>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationmembergroup
#>

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

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

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

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

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

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [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-MgApplicationMemberGroup_Get';
            GetExpanded = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationMemberGroup_GetExpanded';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationMemberGroup_GetViaIdentity';
            GetViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationMemberGroup_GetViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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 getMemberObjects
.Description
Invoke action getMemberObjects
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPathsLcqfowApplicationsApplicationIdMicrosoftGraphGetmemberobjectsPostRequestbodyContentApplicationJsonSchema
.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.
 
BODYPARAMETER <IPathsLcqfowApplicationsApplicationIdMicrosoftGraphGetmemberobjectsPostRequestbodyContentApplicationJsonSchema>: .
  [SecurityEnabledOnly <Boolean?>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationmemberobject
#>

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

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

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

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

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

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [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-MgApplicationMemberObject_Get';
            GetExpanded = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationMemberObject_GetExpanded';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationMemberObject_GetViaIdentity';
            GetViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationMemberObject_GetViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

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 directories from applications
.Description
Get directories from applications
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

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 tokenIssuancePolicies from applications
.Description
Get tokenIssuancePolicies from applications
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphTokenIssuancePolicy
.Notes
COMPLEX PARAMETER PROPERTIES
 
To 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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationtokenissuancepolicy
#>

function Get-MgApplicationTokenIssuancePolicy {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphTokenIssuancePolicy])]
[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: tokenIssuancePolicy-id of tokenIssuancePolicy
    ${TokenIssuancePolicyId},

    [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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationTokenIssuancePolicy_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationTokenIssuancePolicy_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationTokenIssuancePolicy_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 tokenLifetimePolicies from applications
.Description
Get tokenLifetimePolicies from applications
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphTokenLifetimePolicy
.Notes
COMPLEX PARAMETER PROPERTIES
 
To 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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationtokenlifetimepolicy
#>

function Get-MgApplicationTokenLifetimePolicy {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphTokenLifetimePolicy])]
[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: tokenLifetimePolicy-id of tokenLifetimePolicy
    ${TokenLifetimePolicyId},

    [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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationTokenLifetimePolicy_Get';
            GetViaIdentity = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationTokenLifetimePolicy_GetViaIdentity';
            List = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationTokenLifetimePolicy_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 action getUserOwnedObjects
.Description
Invoke action getUserOwnedObjects
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths16VdybwApplicationsMicrosoftGraphGetuserownedobjectsPostRequestbodyContentApplicationJsonSchema
.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.
 
BODYPARAMETER <IPaths16VdybwApplicationsMicrosoftGraphGetuserownedobjectsPostRequestbodyContentApplicationJsonSchema>: .
  [Type <String>]:
  [UserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/get-mgapplicationuserownedobject
#>

function Get-MgApplicationUserOwnedObject {
[OutputType([Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject])]
[CmdletBinding(DefaultParameterSetName='GetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Get', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IPaths16VdybwApplicationsMicrosoftGraphGetuserownedobjectsPostRequestbodyContentApplicationJsonSchema]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

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

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [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-MgApplicationUserOwnedObject_Get';
            GetExpanded = 'Microsoft.Graph.Identity.Application.private\Get-MgApplicationUserOwnedObject_GetExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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()]
    [Alias('Expand')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

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

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.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')]
    [Alias('Top', 'Limit')]
    [Microsoft.Graph.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${PageSize},

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

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

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

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

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

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

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

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

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

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

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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPathsCuokzfApplicationtemplatesApplicationtemplateIdMicrosoftGraphInstantiatePostRequestbodyContentApplicationJsonSchema
.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 <IPathsCuokzfApplicationtemplatesApplicationtemplateIdMicrosoftGraphInstantiatePostRequestbodyContentApplicationJsonSchema>: .
  [DisplayName <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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.IPathsCuokzfApplicationtemplatesApplicationtemplateIdMicrosoftGraphInstantiatePostRequestbodyContentApplicationJsonSchema]
    # .
    # 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]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths14L6Pq1ApplicationsApplicationIdSynchronizationJobsSynchronizationjobIdSchemaMicrosoftGraphParseexpressionPostRequestbodyContentApplicationJsonSchema
.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 <IPaths14L6Pq1ApplicationsApplicationIdSynchronizationJobsSynchronizationjobIdSchemaMicrosoftGraphParseexpressionPostRequestbodyContentApplicationJsonSchema>: .
  [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[]>: .
  [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[]>: .
  [Key <String>]:
  [Value <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
TARGETATTRIBUTEDEFINITIONAPIEXPRESSIONS <IMicrosoftGraphStringKeyStringValuePair[]>: .
  [Key <String>]:
  [Value <String>]:
 
TARGETATTRIBUTEDEFINITIONMETADATA <IMicrosoftGraphMetadataEntry[]>: .
  [Key <String>]:
  [Value <String>]:
 
TARGETATTRIBUTEDEFINITIONREFERENCEDOBJECTS <IMicrosoftGraphReferencedObject[]>: .
  [ReferencedObjectName <String>]:
  [ReferencedProperty <String>]:
 
TESTINPUTOBJECTPROPERTIES <IMicrosoftGraphStringKeyObjectValuePair[]>: .
  [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.IPaths14L6Pq1ApplicationsApplicationIdSynchronizationJobsSynchronizationjobIdSchemaMicrosoftGraphParseexpressionPostRequestbodyContentApplicationJsonSchema]
    # .
    # 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[]]
    # .
    # 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[]]
    # .
    # 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]
    # .
    ${DefinitionName},

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

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

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

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphStringKeyStringValuePair[]]
    # .
    # 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]
    # .
    ${TargetAttributeDefinitionCaseExact},

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

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # .
    # 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]
    # .
    ${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]
    # .
    ${TargetAttributeDefinitionName},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReferencedObject[]]
    # .
    # 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]
    # .
    ${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[]]
    # .
    # 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths1Ukm6NrApplicationsApplicationIdSynchronizationTemplatesSynchronizationtemplateIdSchemaMicrosoftGraphParseexpressionPostRequestbodyContentApplicationJsonSchema
.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 <IPaths1Ukm6NrApplicationsApplicationIdSynchronizationTemplatesSynchronizationtemplateIdSchemaMicrosoftGraphParseexpressionPostRequestbodyContentApplicationJsonSchema>: .
  [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[]>: .
  [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[]>: .
  [Key <String>]:
  [Value <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
TARGETATTRIBUTEDEFINITIONAPIEXPRESSIONS <IMicrosoftGraphStringKeyStringValuePair[]>: .
  [Key <String>]:
  [Value <String>]:
 
TARGETATTRIBUTEDEFINITIONMETADATA <IMicrosoftGraphMetadataEntry[]>: .
  [Key <String>]:
  [Value <String>]:
 
TARGETATTRIBUTEDEFINITIONREFERENCEDOBJECTS <IMicrosoftGraphReferencedObject[]>: .
  [ReferencedObjectName <String>]:
  [ReferencedProperty <String>]:
 
TESTINPUTOBJECTPROPERTIES <IMicrosoftGraphStringKeyObjectValuePair[]>: .
  [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.IPaths1Ukm6NrApplicationsApplicationIdSynchronizationTemplatesSynchronizationtemplateIdSchemaMicrosoftGraphParseexpressionPostRequestbodyContentApplicationJsonSchema]
    # .
    # 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[]]
    # .
    # 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[]]
    # .
    # 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]
    # .
    ${DefinitionName},

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

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

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

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphStringKeyStringValuePair[]]
    # .
    # 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]
    # .
    ${TargetAttributeDefinitionCaseExact},

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

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # .
    # 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]
    # .
    ${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]
    # .
    ${TargetAttributeDefinitionName},

    [Parameter(ParameterSetName='ParseExpanded')]
    [Parameter(ParameterSetName='ParseViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphReferencedObject[]]
    # .
    # 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]
    # .
    ${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[]]
    # .
    # 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
  [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
  [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
  [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
  [Name <String>]: Name of the extension property. Not nullable.
  [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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]
    # Represents an Azure Active Directory object.
    # The directoryObject type is the base type for many other directory entity types.
    # 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]
    # Display name of the application object on which this extension property is defined.
    # Read-only.
    ${AppDisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Specifies the data type of the value the extension property can hold.
    # Following values are supported.
    # Not nullable.
    # Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format.
    # Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
    ${DataType},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Indicates if this extension property was sycned from onpremises directory using Azure AD Connect.
    # Read-only.
    ${IsSyncedFromOnPremises},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Name of the extension property.
    # Not nullable.
    ${Name},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # Following values are supported.
    # Not nullable.
    # UserGroupOrganizationDeviceApplication
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: directoryDefinition
  [Id <String>]: Read-only.
  [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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
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[]>]:
.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]
    # directoryDefinition
    # 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]
    # .
    ${DiscoveryDateTime},

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: synchronizationJob
  [Id <String>]: Read-only.
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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?>]:
    [QuarantineErrorCode <String>]:
    [QuarantineErrorMessage <String>]:
    [QuarantineErrorTenantActionable <Boolean?>]:
    [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>]: Name for this key-value pair
    [Value <String>]: Value for this key-value pair
  [TemplateId <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
SCHEMADIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: .
  [Id <String>]: Read-only.
  [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[]>: .
  [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?>]:
  [QuarantineErrorCode <String>]:
  [QuarantineErrorMessage <String>]:
  [QuarantineErrorTenantActionable <Boolean?>]:
  [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>]: Name for this key-value pair
  [Value <String>]: Value for this key-value pair
.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]
    # synchronizationJob
    # 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]
    # Read-only.
    ${Id},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # .
    # 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]
    # .
    ${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[]]
    # .
    # 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]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: directoryDefinition
  [Id <String>]: Read-only.
  [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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
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[]>]:
.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]
    # directoryDefinition
    # 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]
    # .
    ${DiscoveryDateTime},

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: synchronizationTemplate
  [Id <String>]: Read-only.
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
METADATA <IMicrosoftGraphMetadataEntry[]>: .
  [Key <String>]:
  [Value <String>]:
 
SCHEMADIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: .
  [Id <String>]: Read-only.
  [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[]>: .
  [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]
    # synchronizationTemplate
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # .
    # 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[]]
    # .
    # 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]
    # Read-only.
    ${SchemaId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # .
    # 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]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: applicationTemplate
  [Id <String>]: Read-only.
  [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]
    # applicationTemplate
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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[]>: The definition of the delegated permissions exposed by the web API represented by this application registration. These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent. Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
  [AdminConsentDescription <String>]: A description of the delegated permissions, intended to be read by an administrator granting the permission on behalf of all users. This text appears in tenant-wide admin consent experiences.
  [AdminConsentDisplayName <String>]: The permission's title, intended to be read by an administrator granting the permission on behalf of all users.
  [Id <String>]: Unique delegated permission identifier inside the collection of delegated permissions defined for a resource application.
  [IsEnabled <Boolean?>]: When creating or updating a permission, this property must be set to true (which is the default). To delete a permission, this property must first be set to false. At that point, in a subsequent call, the permission may be removed.
  [Origin <String>]:
  [Type <String>]: Specifies whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions. This will be the default behavior, but each customer can choose to customize the behavior in their organization (by allowing, restricting or limiting user consent to this delegated permission.)
  [UserConsentDescription <String>]: A description of the delegated permissions, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
  [UserConsentDisplayName <String>]: A title for the permission, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
  [Value <String>]: Specifies the value to include in the scp (scope) claim in access tokens. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
 
APIPREAUTHORIZEDAPPLICATIONS <IMicrosoftGraphPreAuthorizedApplication[]>: Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs. Users are not required to consent to any pre-authorized application (for the permissions specified). However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
  [AppId <String>]: The unique identifier for the application.
  [PermissionIds <String[]>]:
 
APPROLES <IMicrosoftGraphAppRole[]>: The collection of roles the application declares. With app role assignments, these roles can be assigned to users, groups, or other applications' service principals. Not nullable.
  [AllowedMemberTypes <String[]>]: Specifies whether this app role can be assigned to users and groups (by setting to ['User']), to other application's (by setting to ['Application'], or both (by setting to ['User', 'Application']). App roles supporting assignment of other applications' service principals are also known as application permissions.
  [Description <String>]: The description for the app role. This is displayed when the app role is being assigned and, if the app role functions as an application permission, during consent experiences.
  [DisplayName <String>]: Display name for the permission that appears in the app role assignment and consent experiences.
  [Id <String>]: Unique role identifier inside the appRoles collection. When creating a new app role, a new Guid identifier must be provided.
  [IsEnabled <Boolean?>]: When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must first be set to false. At that point, in a subsequent call, this role may be removed.
  [Origin <String>]: Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included in any POST or PATCH requests. Read-only.
  [Value <String>]: Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
 
BODYPARAMETER <IMicrosoftGraphApplication>: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
  [ApiAcceptMappedClaims <Boolean?>]: When true, allows an application to use claims mapping without specifying a custom signing key.
  [ApiKnownClientApplications <String[]>]: Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app. If you set the appID of the client app to this value, the user only consents once to the client app. Azure AD knows that consenting to the client means implicitly consenting to the web API and automatically provisions service principals for both APIs at the same time. Both the client and the web API app must be registered in the same tenant.
  [ApiOauth2PermissionScopes <IMicrosoftGraphPermissionScope[]>]: The definition of the delegated permissions exposed by the web API represented by this application registration. These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent. Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
    [AdminConsentDescription <String>]: A description of the delegated permissions, intended to be read by an administrator granting the permission on behalf of all users. This text appears in tenant-wide admin consent experiences.
    [AdminConsentDisplayName <String>]: The permission's title, intended to be read by an administrator granting the permission on behalf of all users.
    [Id <String>]: Unique delegated permission identifier inside the collection of delegated permissions defined for a resource application.
    [IsEnabled <Boolean?>]: When creating or updating a permission, this property must be set to true (which is the default). To delete a permission, this property must first be set to false. At that point, in a subsequent call, the permission may be removed.
    [Origin <String>]:
    [Type <String>]: Specifies whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions. This will be the default behavior, but each customer can choose to customize the behavior in their organization (by allowing, restricting or limiting user consent to this delegated permission.)
    [UserConsentDescription <String>]: A description of the delegated permissions, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
    [UserConsentDisplayName <String>]: A title for the permission, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
    [Value <String>]: Specifies the value to include in the scp (scope) claim in access tokens. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
  [ApiPreAuthorizedApplications <IMicrosoftGraphPreAuthorizedApplication[]>]: Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs. Users are not required to consent to any pre-authorized application (for the permissions specified). However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
    [AppId <String>]: The unique identifier for the application.
    [PermissionIds <String[]>]:
  [ApiRequestedAccessTokenVersion <Int32?>]: Specifies the access token version expected by this resource. This changes the version and format of the JWT produced independent of the endpoint or client used to request the access token. The endpoint used, v1.0 or v2.0, is chosen by the client and only impacts the version of id_tokens. Resources need to explicitly configure requestedAccessTokenVersion to indicate the supported access token format. Possible values for requestedAccessTokenVersion are 1, 2, or null. If the value is null, this defaults to 1, which corresponds to the v1.0 endpoint. If signInAudience on the application is configured as AzureADandPersonalMicrosoftAccount, the value for this property must be 2
  [AppId <String>]: The unique identifier for the application that is assigned to an application by Azure AD. Not nullable. Read-only.
  [AppRoles <IMicrosoftGraphAppRole[]>]: The collection of roles the application declares. With app role assignments, these roles can be assigned to users, groups, or other applications' service principals. Not nullable.
    [AllowedMemberTypes <String[]>]: Specifies whether this app role can be assigned to users and groups (by setting to ['User']), to other application's (by setting to ['Application'], or both (by setting to ['User', 'Application']). App roles supporting assignment of other applications' service principals are also known as application permissions.
    [Description <String>]: The description for the app role. This is displayed when the app role is being assigned and, if the app role functions as an application permission, during consent experiences.
    [DisplayName <String>]: Display name for the permission that appears in the app role assignment and consent experiences.
    [Id <String>]: Unique role identifier inside the appRoles collection. When creating a new app role, a new Guid identifier must be provided.
    [IsEnabled <Boolean?>]: When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must first be set to false. At that point, in a subsequent call, this role may be removed.
    [Origin <String>]: Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included in any POST or PATCH requests. Read-only.
    [Value <String>]: Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
  [ClaimsMappingPolicies <IMicrosoftGraphClaimsMappingPolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
      [Id <String>]: Read-only.
      [DeletedDateTime <DateTime?>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [ConnectorGroupApplications <IMicrosoftGraphApplication[]>]:
  [ConnectorGroupId <String>]: Read-only.
  [ConnectorGroupIsDefault <Boolean?>]:
  [ConnectorGroupMembers <IMicrosoftGraphConnector[]>]:
    [Id <String>]: Read-only.
    [ExternalIP <String>]:
    [MachineName <String>]:
    [MemberOf <IMicrosoftGraphConnectorGroup[]>]:
      [Id <String>]: Read-only.
      [Applications <IMicrosoftGraphApplication[]>]:
      [ConnectorGroupType <String>]: connectorGroupType
      [IsDefault <Boolean?>]:
      [Members <IMicrosoftGraphConnector[]>]:
      [Name <String>]:
      [Region <String>]: connectorGroupRegion
    [Status <String>]: connectorStatus
  [ConnectorGroupName <String>]:
  [ConnectorGroupRegion <String>]: connectorGroupRegion
  [ConnectorGroupType <String>]: connectorGroupType
  [CreatedDateTime <DateTime?>]: The date and time the application was registered. Read-only.
  [CreatedOnBehalfOf <IMicrosoftGraphDirectoryObject>]: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [Description <String>]:
  [DisplayName <String>]: The display name for the application.
  [ExtensionProperties <IMicrosoftGraphExtensionProperty[]>]: Read-only. Nullable.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
    [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
    [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
    [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
    [Name <String>]: Name of the extension property. Not nullable.
    [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
  [GroupMembershipClaims <String>]: Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. To set this attribute, use one of the following valid string values:NoneSecurityGroup: For security groups and Azure AD rolesAll: This will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of
  [HomeRealmDiscoveryPolicies <IMicrosoftGraphHomeRealmDiscoveryPolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [IdentifierUris <String[]>]: The URIs that identify the application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant. For more information see Application Objects and Service Principal Objects. The any operator is required for filter expressions on multi-valued properties. Not nullable.
  [ImplicitGrantSettingEnableAccessTokenIssuance <Boolean?>]: Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow.
  [ImplicitGrantSettingEnableIdTokenIssuance <Boolean?>]: Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow.
  [InfoLogoUrl <String>]: CDN URL to the application's logo, Read-only.
  [InfoMarketingUrl <String>]: Link to the application's marketing page. For example, https://www.contoso.com/app/marketing
  [InfoPrivacyStatementUrl <String>]: Link to the application's privacy statement. For example, https://www.contoso.com/app/privacy
  [InfoSupportUrl <String>]: Link to the application's support page. For example, https://www.contoso.com/app/support
  [InfoTermsOfServiceUrl <String>]: Link to the application's terms of service statement. For example, https://www.contoso.com/app/termsofservice
  [IsDeviceOnlyAuthSupported <Boolean?>]:
  [IsFallbackPublicClient <Boolean?>]: Specifies the fallback application type as public client, such as an installed application running on a mobile device. The default value is false which means the fallback application type is confidential client such as web app. There are certain scenarios where Azure AD cannot determine the client application type (e.g. ROPC flow where it is configured without specifying a redirect URI). In those cases Azure AD will interpret the application type based on the value of this property.
  [KeyCredentials <IMicrosoftGraphKeyCredential[]>]: The collection of key credentials associated with the application Not nullable.
    [CustomKeyIdentifier <Byte[]>]: Custom key identifier
    [DisplayName <String>]: Friendly name for the key. Optional.
    [EndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [Key <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
    [KeyId <String>]: The unique identifier (GUID) for the key.
    [StartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [Type <String>]: The type of key credential; for example, 'Symmetric'.
    [Usage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
  [Logo <Byte[]>]: The main logo for the application. Not nullable.
  [Notes <String>]:
  [OnPremisesPublishing <IMicrosoftGraphOnPremisesPublishing>]: onPremisesPublishing
    [AlternateUrl <String>]:
    [ApplicationServerTimeout <String>]:
    [ApplicationType <String>]:
    [ExternalAuthenticationType <String>]: externalAuthenticationType
    [ExternalUrl <String>]:
    [InternalUrl <String>]:
    [IsHttpOnlyCookieEnabled <Boolean?>]:
    [IsOnPremPublishingEnabled <Boolean?>]:
    [IsPersistentCookieEnabled <Boolean?>]:
    [IsSecureCookieEnabled <Boolean?>]:
    [IsTranslateHostHeaderEnabled <Boolean?>]:
    [IsTranslateLinksInBodyEnabled <Boolean?>]:
    [KerberoSignOnSettingKerberosServicePrincipalName <String>]:
    [KerberoSignOnSettingKerberosSignOnMappingAttributeType <String>]: kerberosSignOnMappingAttributeType
    [SingleSignOnSettingSingleSignOnMode <String>]: singleSignOnMode
    [UseAlternateUrlForTranslationAndRedirect <Boolean?>]:
    [VerifiedCustomDomainCertificateMetadataExpiryDate <DateTime?>]:
    [VerifiedCustomDomainCertificateMetadataIssueDate <DateTime?>]:
    [VerifiedCustomDomainCertificateMetadataIssuerName <String>]:
    [VerifiedCustomDomainCertificateMetadataSubjectName <String>]:
    [VerifiedCustomDomainCertificateMetadataThumbprint <String>]:
    [VerifiedCustomDomainKeyCredentialCustomKeyIdentifier <Byte[]>]: Custom key identifier
    [VerifiedCustomDomainKeyCredentialDisplayName <String>]: Friendly name for the key. Optional.
    [VerifiedCustomDomainKeyCredentialEndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [VerifiedCustomDomainKeyCredentialKey <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
    [VerifiedCustomDomainKeyCredentialKeyId <String>]: The unique identifier (GUID) for the key.
    [VerifiedCustomDomainKeyCredentialStartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [VerifiedCustomDomainKeyCredentialType <String>]: The type of key credential; for example, 'Symmetric'.
    [VerifiedCustomDomainKeyCredentialUsage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
    [VerifiedCustomDomainPasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
    [VerifiedCustomDomainPasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
    [VerifiedCustomDomainPasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
    [VerifiedCustomDomainPasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
    [VerifiedCustomDomainPasswordCredentialKeyId <String>]: The unique identifier for the password.
    [VerifiedCustomDomainPasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
    [VerifiedCustomDomainPasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [OptionalClaimAccessToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT access token.
    [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
    [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
    [Name <String>]: The name of the optional claim.
    [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
  [OptionalClaimIdToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT ID token.
  [OptionalClaimSaml2Token <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the SAML token.
  [Owners <IMicrosoftGraphDirectoryObject[]>]: Directory objects that are owners of the application. The owners are a set of non-admin users who are allowed to modify this object. Requires version 2013-11-08 or newer. Read-only. Nullable.
  [ParentalControlSettingCountriesBlockedForMinors <String[]>]: Specifies the two-letter ISO country codes. Access to the application will be blocked for minors from the countries specified in this list.
  [ParentalControlSettingLegalAgeGroupRule <String>]: Specifies the legal age group rule that applies to users of the app. Can be set to one of the following values: ValueDescriptionAllowDefault. Enforces the legal minimum. This means parental consent is required for minors in the European Union and Korea.RequireConsentForPrivacyServicesEnforces the user to specify date of birth to comply with COPPA rules. RequireConsentForMinorsRequires parental consent for ages below 18, regardless of country minor rules.RequireConsentForKidsRequires parental consent for ages below 14, regardless of country minor rules.BlockMinorsBlocks minors from using the app.
  [PasswordCredentials <IMicrosoftGraphPasswordCredential[]>]: The collection of password credentials associated with the application. Not nullable.
    [CustomKeyIdentifier <Byte[]>]: Do not use.
    [DisplayName <String>]: Friendly name for the password. Optional.
    [EndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
    [Hint <String>]: Contains the first three characters of the password. Read-only.
    [KeyId <String>]: The unique identifier for the password.
    [SecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
    [StartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [PublicClientRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
  [PublisherDomain <String>]: The verified publisher domain for the application. Read-only.
  [RequiredResourceAccess <IMicrosoftGraphRequiredResourceAccess[]>]: Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience. Not nullable.
    [ResourceAccess <IMicrosoftGraphResourceAccess[]>]: The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource.
      [Id <String>]: The unique identifier for one of the oauth2PermissionScopes or appRole instances that the resource application exposes.
      [Type <String>]: Specifies whether the id property references an oauth2PermissionScopes or an appRole. Possible values are Scope or Role.
    [ResourceAppId <String>]: The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application.
  [SignInAudience <String>]: Specifies what Microsoft accounts are supported for the current application. Supported values are:AzureADMyOrg: Users with a Microsoft work or school account in my organization’s Azure AD tenant (i.e. single tenant)AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization’s Azure AD tenant (i.e. multi-tenant) AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account in any organization’s Azure AD tenant
  [SynchronizationId <String>]: Read-only.
  [SynchronizationJobs <IMicrosoftGraphSynchronizationJob[]>]:
    [Id <String>]: Read-only.
    [ScheduleExpiration <DateTime?>]:
    [ScheduleInterval <TimeSpan?>]:
    [ScheduleState <String>]: synchronizationScheduleState
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
      [Id <String>]: Read-only.
      [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>]: Read-only.
    [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?>]:
      [QuarantineErrorCode <String>]:
      [QuarantineErrorMessage <String>]:
      [QuarantineErrorTenantActionable <Boolean?>]:
      [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>]: Name for this key-value pair
      [Value <String>]: Value for this key-value pair
    [TemplateId <String>]:
  [SynchronizationSecrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [SynchronizationTemplates <IMicrosoftGraphSynchronizationTemplate[]>]:
    [Id <String>]: Read-only.
    [ApplicationId <String>]:
    [Default <Boolean?>]:
    [Description <String>]:
    [Discoverable <Boolean?>]:
    [FactoryTag <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [SchemaId <String>]: Read-only.
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [SchemaVersion <String>]:
  [Tags <String[]>]: Custom strings that can be used to categorize and identify the application. Not nullable.
  [TokenEncryptionKeyId <String>]: Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD encrypts all the tokens it emits by using the key this property points to. The application code that receives the encrypted token must use the matching private key to decrypt the token before it can be used for the signed-in user.
  [TokenIssuancePolicies <IMicrosoftGraphTokenIssuancePolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [TokenLifetimePolicies <IMicrosoftGraphTokenLifetimePolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [WebHomePageUrl <String>]: Home page or landing page of the application.
  [WebLogoutUrl <String>]: Specifies the URL that will be used by Microsoft's authorization service to logout an user using front-channel, back-channel or SAML logout protocols.
  [WebOauth2AllowImplicitFlow <Boolean?>]:
  [WebRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
 
CLAIMSMAPPINGPOLICIES <IMicrosoftGraphClaimsMappingPolicy[]>: .
  [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Id <String>]: Read-only.
    [DeletedDateTime <DateTime?>]:
  [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
  [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
  [Description <String>]: Description for this policy.
  [DisplayName <String>]: Display name for this policy.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
 
CONNECTORGROUPAPPLICATIONS <IMicrosoftGraphApplication[]>: .
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
  [ApiAcceptMappedClaims <Boolean?>]: When true, allows an application to use claims mapping without specifying a custom signing key.
  [ApiKnownClientApplications <String[]>]: Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app. If you set the appID of the client app to this value, the user only consents once to the client app. Azure AD knows that consenting to the client means implicitly consenting to the web API and automatically provisions service principals for both APIs at the same time. Both the client and the web API app must be registered in the same tenant.
  [ApiOauth2PermissionScopes <IMicrosoftGraphPermissionScope[]>]: The definition of the delegated permissions exposed by the web API represented by this application registration. These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent. Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
    [AdminConsentDescription <String>]: A description of the delegated permissions, intended to be read by an administrator granting the permission on behalf of all users. This text appears in tenant-wide admin consent experiences.
    [AdminConsentDisplayName <String>]: The permission's title, intended to be read by an administrator granting the permission on behalf of all users.
    [Id <String>]: Unique delegated permission identifier inside the collection of delegated permissions defined for a resource application.
    [IsEnabled <Boolean?>]: When creating or updating a permission, this property must be set to true (which is the default). To delete a permission, this property must first be set to false. At that point, in a subsequent call, the permission may be removed.
    [Origin <String>]:
    [Type <String>]: Specifies whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions. This will be the default behavior, but each customer can choose to customize the behavior in their organization (by allowing, restricting or limiting user consent to this delegated permission.)
    [UserConsentDescription <String>]: A description of the delegated permissions, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
    [UserConsentDisplayName <String>]: A title for the permission, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
    [Value <String>]: Specifies the value to include in the scp (scope) claim in access tokens. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
  [ApiPreAuthorizedApplications <IMicrosoftGraphPreAuthorizedApplication[]>]: Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs. Users are not required to consent to any pre-authorized application (for the permissions specified). However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
    [AppId <String>]: The unique identifier for the application.
    [PermissionIds <String[]>]:
  [ApiRequestedAccessTokenVersion <Int32?>]: Specifies the access token version expected by this resource. This changes the version and format of the JWT produced independent of the endpoint or client used to request the access token. The endpoint used, v1.0 or v2.0, is chosen by the client and only impacts the version of id_tokens. Resources need to explicitly configure requestedAccessTokenVersion to indicate the supported access token format. Possible values for requestedAccessTokenVersion are 1, 2, or null. If the value is null, this defaults to 1, which corresponds to the v1.0 endpoint. If signInAudience on the application is configured as AzureADandPersonalMicrosoftAccount, the value for this property must be 2
  [AppId <String>]: The unique identifier for the application that is assigned to an application by Azure AD. Not nullable. Read-only.
  [AppRoles <IMicrosoftGraphAppRole[]>]: The collection of roles the application declares. With app role assignments, these roles can be assigned to users, groups, or other applications' service principals. Not nullable.
    [AllowedMemberTypes <String[]>]: Specifies whether this app role can be assigned to users and groups (by setting to ['User']), to other application's (by setting to ['Application'], or both (by setting to ['User', 'Application']). App roles supporting assignment of other applications' service principals are also known as application permissions.
    [Description <String>]: The description for the app role. This is displayed when the app role is being assigned and, if the app role functions as an application permission, during consent experiences.
    [DisplayName <String>]: Display name for the permission that appears in the app role assignment and consent experiences.
    [Id <String>]: Unique role identifier inside the appRoles collection. When creating a new app role, a new Guid identifier must be provided.
    [IsEnabled <Boolean?>]: When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must first be set to false. At that point, in a subsequent call, this role may be removed.
    [Origin <String>]: Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included in any POST or PATCH requests. Read-only.
    [Value <String>]: Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
  [ClaimsMappingPolicies <IMicrosoftGraphClaimsMappingPolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
      [Id <String>]: Read-only.
      [DeletedDateTime <DateTime?>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [ConnectorGroupApplications <IMicrosoftGraphApplication[]>]:
  [ConnectorGroupId <String>]: Read-only.
  [ConnectorGroupIsDefault <Boolean?>]:
  [ConnectorGroupMembers <IMicrosoftGraphConnector[]>]:
    [Id <String>]: Read-only.
    [ExternalIP <String>]:
    [MachineName <String>]:
    [MemberOf <IMicrosoftGraphConnectorGroup[]>]:
      [Id <String>]: Read-only.
      [Applications <IMicrosoftGraphApplication[]>]:
      [ConnectorGroupType <String>]: connectorGroupType
      [IsDefault <Boolean?>]:
      [Members <IMicrosoftGraphConnector[]>]:
      [Name <String>]:
      [Region <String>]: connectorGroupRegion
    [Status <String>]: connectorStatus
  [ConnectorGroupName <String>]:
  [ConnectorGroupRegion <String>]: connectorGroupRegion
  [ConnectorGroupType <String>]: connectorGroupType
  [CreatedDateTime <DateTime?>]: The date and time the application was registered. Read-only.
  [CreatedOnBehalfOf <IMicrosoftGraphDirectoryObject>]: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [Description <String>]:
  [DisplayName <String>]: The display name for the application.
  [ExtensionProperties <IMicrosoftGraphExtensionProperty[]>]: Read-only. Nullable.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
    [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
    [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
    [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
    [Name <String>]: Name of the extension property. Not nullable.
    [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
  [GroupMembershipClaims <String>]: Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. To set this attribute, use one of the following valid string values:NoneSecurityGroup: For security groups and Azure AD rolesAll: This will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of
  [HomeRealmDiscoveryPolicies <IMicrosoftGraphHomeRealmDiscoveryPolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [IdentifierUris <String[]>]: The URIs that identify the application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant. For more information see Application Objects and Service Principal Objects. The any operator is required for filter expressions on multi-valued properties. Not nullable.
  [ImplicitGrantSettingEnableAccessTokenIssuance <Boolean?>]: Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow.
  [ImplicitGrantSettingEnableIdTokenIssuance <Boolean?>]: Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow.
  [InfoLogoUrl <String>]: CDN URL to the application's logo, Read-only.
  [InfoMarketingUrl <String>]: Link to the application's marketing page. For example, https://www.contoso.com/app/marketing
  [InfoPrivacyStatementUrl <String>]: Link to the application's privacy statement. For example, https://www.contoso.com/app/privacy
  [InfoSupportUrl <String>]: Link to the application's support page. For example, https://www.contoso.com/app/support
  [InfoTermsOfServiceUrl <String>]: Link to the application's terms of service statement. For example, https://www.contoso.com/app/termsofservice
  [IsDeviceOnlyAuthSupported <Boolean?>]:
  [IsFallbackPublicClient <Boolean?>]: Specifies the fallback application type as public client, such as an installed application running on a mobile device. The default value is false which means the fallback application type is confidential client such as web app. There are certain scenarios where Azure AD cannot determine the client application type (e.g. ROPC flow where it is configured without specifying a redirect URI). In those cases Azure AD will interpret the application type based on the value of this property.
  [KeyCredentials <IMicrosoftGraphKeyCredential[]>]: The collection of key credentials associated with the application Not nullable.
    [CustomKeyIdentifier <Byte[]>]: Custom key identifier
    [DisplayName <String>]: Friendly name for the key. Optional.
    [EndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [Key <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
    [KeyId <String>]: The unique identifier (GUID) for the key.
    [StartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [Type <String>]: The type of key credential; for example, 'Symmetric'.
    [Usage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
  [Logo <Byte[]>]: The main logo for the application. Not nullable.
  [Notes <String>]:
  [OnPremisesPublishing <IMicrosoftGraphOnPremisesPublishing>]: onPremisesPublishing
    [AlternateUrl <String>]:
    [ApplicationServerTimeout <String>]:
    [ApplicationType <String>]:
    [ExternalAuthenticationType <String>]: externalAuthenticationType
    [ExternalUrl <String>]:
    [InternalUrl <String>]:
    [IsHttpOnlyCookieEnabled <Boolean?>]:
    [IsOnPremPublishingEnabled <Boolean?>]:
    [IsPersistentCookieEnabled <Boolean?>]:
    [IsSecureCookieEnabled <Boolean?>]:
    [IsTranslateHostHeaderEnabled <Boolean?>]:
    [IsTranslateLinksInBodyEnabled <Boolean?>]:
    [KerberoSignOnSettingKerberosServicePrincipalName <String>]:
    [KerberoSignOnSettingKerberosSignOnMappingAttributeType <String>]: kerberosSignOnMappingAttributeType
    [SingleSignOnSettingSingleSignOnMode <String>]: singleSignOnMode
    [UseAlternateUrlForTranslationAndRedirect <Boolean?>]:
    [VerifiedCustomDomainCertificateMetadataExpiryDate <DateTime?>]:
    [VerifiedCustomDomainCertificateMetadataIssueDate <DateTime?>]:
    [VerifiedCustomDomainCertificateMetadataIssuerName <String>]:
    [VerifiedCustomDomainCertificateMetadataSubjectName <String>]:
    [VerifiedCustomDomainCertificateMetadataThumbprint <String>]:
    [VerifiedCustomDomainKeyCredentialCustomKeyIdentifier <Byte[]>]: Custom key identifier
    [VerifiedCustomDomainKeyCredentialDisplayName <String>]: Friendly name for the key. Optional.
    [VerifiedCustomDomainKeyCredentialEndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [VerifiedCustomDomainKeyCredentialKey <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
    [VerifiedCustomDomainKeyCredentialKeyId <String>]: The unique identifier (GUID) for the key.
    [VerifiedCustomDomainKeyCredentialStartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [VerifiedCustomDomainKeyCredentialType <String>]: The type of key credential; for example, 'Symmetric'.
    [VerifiedCustomDomainKeyCredentialUsage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
    [VerifiedCustomDomainPasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
    [VerifiedCustomDomainPasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
    [VerifiedCustomDomainPasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
    [VerifiedCustomDomainPasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
    [VerifiedCustomDomainPasswordCredentialKeyId <String>]: The unique identifier for the password.
    [VerifiedCustomDomainPasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
    [VerifiedCustomDomainPasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [OptionalClaimAccessToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT access token.
    [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
    [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
    [Name <String>]: The name of the optional claim.
    [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
  [OptionalClaimIdToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT ID token.
  [OptionalClaimSaml2Token <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the SAML token.
  [Owners <IMicrosoftGraphDirectoryObject[]>]: Directory objects that are owners of the application. The owners are a set of non-admin users who are allowed to modify this object. Requires version 2013-11-08 or newer. Read-only. Nullable.
  [ParentalControlSettingCountriesBlockedForMinors <String[]>]: Specifies the two-letter ISO country codes. Access to the application will be blocked for minors from the countries specified in this list.
  [ParentalControlSettingLegalAgeGroupRule <String>]: Specifies the legal age group rule that applies to users of the app. Can be set to one of the following values: ValueDescriptionAllowDefault. Enforces the legal minimum. This means parental consent is required for minors in the European Union and Korea.RequireConsentForPrivacyServicesEnforces the user to specify date of birth to comply with COPPA rules. RequireConsentForMinorsRequires parental consent for ages below 18, regardless of country minor rules.RequireConsentForKidsRequires parental consent for ages below 14, regardless of country minor rules.BlockMinorsBlocks minors from using the app.
  [PasswordCredentials <IMicrosoftGraphPasswordCredential[]>]: The collection of password credentials associated with the application. Not nullable.
    [CustomKeyIdentifier <Byte[]>]: Do not use.
    [DisplayName <String>]: Friendly name for the password. Optional.
    [EndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
    [Hint <String>]: Contains the first three characters of the password. Read-only.
    [KeyId <String>]: The unique identifier for the password.
    [SecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
    [StartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [PublicClientRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
  [PublisherDomain <String>]: The verified publisher domain for the application. Read-only.
  [RequiredResourceAccess <IMicrosoftGraphRequiredResourceAccess[]>]: Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience. Not nullable.
    [ResourceAccess <IMicrosoftGraphResourceAccess[]>]: The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource.
      [Id <String>]: The unique identifier for one of the oauth2PermissionScopes or appRole instances that the resource application exposes.
      [Type <String>]: Specifies whether the id property references an oauth2PermissionScopes or an appRole. Possible values are Scope or Role.
    [ResourceAppId <String>]: The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application.
  [SignInAudience <String>]: Specifies what Microsoft accounts are supported for the current application. Supported values are:AzureADMyOrg: Users with a Microsoft work or school account in my organization’s Azure AD tenant (i.e. single tenant)AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization’s Azure AD tenant (i.e. multi-tenant) AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account in any organization’s Azure AD tenant
  [SynchronizationId <String>]: Read-only.
  [SynchronizationJobs <IMicrosoftGraphSynchronizationJob[]>]:
    [Id <String>]: Read-only.
    [ScheduleExpiration <DateTime?>]:
    [ScheduleInterval <TimeSpan?>]:
    [ScheduleState <String>]: synchronizationScheduleState
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
      [Id <String>]: Read-only.
      [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>]: Read-only.
    [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?>]:
      [QuarantineErrorCode <String>]:
      [QuarantineErrorMessage <String>]:
      [QuarantineErrorTenantActionable <Boolean?>]:
      [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>]: Name for this key-value pair
      [Value <String>]: Value for this key-value pair
    [TemplateId <String>]:
  [SynchronizationSecrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [SynchronizationTemplates <IMicrosoftGraphSynchronizationTemplate[]>]:
    [Id <String>]: Read-only.
    [ApplicationId <String>]:
    [Default <Boolean?>]:
    [Description <String>]:
    [Discoverable <Boolean?>]:
    [FactoryTag <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [SchemaId <String>]: Read-only.
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [SchemaVersion <String>]:
  [Tags <String[]>]: Custom strings that can be used to categorize and identify the application. Not nullable.
  [TokenEncryptionKeyId <String>]: Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD encrypts all the tokens it emits by using the key this property points to. The application code that receives the encrypted token must use the matching private key to decrypt the token before it can be used for the signed-in user.
  [TokenIssuancePolicies <IMicrosoftGraphTokenIssuancePolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [TokenLifetimePolicies <IMicrosoftGraphTokenLifetimePolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [WebHomePageUrl <String>]: Home page or landing page of the application.
  [WebLogoutUrl <String>]: Specifies the URL that will be used by Microsoft's authorization service to logout an user using front-channel, back-channel or SAML logout protocols.
  [WebOauth2AllowImplicitFlow <Boolean?>]:
  [WebRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
 
CONNECTORGROUPMEMBERS <IMicrosoftGraphConnector[]>: .
  [Id <String>]: Read-only.
  [ExternalIP <String>]:
  [MachineName <String>]:
  [MemberOf <IMicrosoftGraphConnectorGroup[]>]:
    [Id <String>]: Read-only.
    [Applications <IMicrosoftGraphApplication[]>]:
      [DeletedDateTime <DateTime?>]:
      [Id <String>]: Read-only.
      [ApiAcceptMappedClaims <Boolean?>]: When true, allows an application to use claims mapping without specifying a custom signing key.
      [ApiKnownClientApplications <String[]>]: Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app. If you set the appID of the client app to this value, the user only consents once to the client app. Azure AD knows that consenting to the client means implicitly consenting to the web API and automatically provisions service principals for both APIs at the same time. Both the client and the web API app must be registered in the same tenant.
      [ApiOauth2PermissionScopes <IMicrosoftGraphPermissionScope[]>]: The definition of the delegated permissions exposed by the web API represented by this application registration. These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent. Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
        [AdminConsentDescription <String>]: A description of the delegated permissions, intended to be read by an administrator granting the permission on behalf of all users. This text appears in tenant-wide admin consent experiences.
        [AdminConsentDisplayName <String>]: The permission's title, intended to be read by an administrator granting the permission on behalf of all users.
        [Id <String>]: Unique delegated permission identifier inside the collection of delegated permissions defined for a resource application.
        [IsEnabled <Boolean?>]: When creating or updating a permission, this property must be set to true (which is the default). To delete a permission, this property must first be set to false. At that point, in a subsequent call, the permission may be removed.
        [Origin <String>]:
        [Type <String>]: Specifies whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions. This will be the default behavior, but each customer can choose to customize the behavior in their organization (by allowing, restricting or limiting user consent to this delegated permission.)
        [UserConsentDescription <String>]: A description of the delegated permissions, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
        [UserConsentDisplayName <String>]: A title for the permission, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
        [Value <String>]: Specifies the value to include in the scp (scope) claim in access tokens. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
      [ApiPreAuthorizedApplications <IMicrosoftGraphPreAuthorizedApplication[]>]: Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs. Users are not required to consent to any pre-authorized application (for the permissions specified). However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
        [AppId <String>]: The unique identifier for the application.
        [PermissionIds <String[]>]:
      [ApiRequestedAccessTokenVersion <Int32?>]: Specifies the access token version expected by this resource. This changes the version and format of the JWT produced independent of the endpoint or client used to request the access token. The endpoint used, v1.0 or v2.0, is chosen by the client and only impacts the version of id_tokens. Resources need to explicitly configure requestedAccessTokenVersion to indicate the supported access token format. Possible values for requestedAccessTokenVersion are 1, 2, or null. If the value is null, this defaults to 1, which corresponds to the v1.0 endpoint. If signInAudience on the application is configured as AzureADandPersonalMicrosoftAccount, the value for this property must be 2
      [AppId <String>]: The unique identifier for the application that is assigned to an application by Azure AD. Not nullable. Read-only.
      [AppRoles <IMicrosoftGraphAppRole[]>]: The collection of roles the application declares. With app role assignments, these roles can be assigned to users, groups, or other applications' service principals. Not nullable.
        [AllowedMemberTypes <String[]>]: Specifies whether this app role can be assigned to users and groups (by setting to ['User']), to other application's (by setting to ['Application'], or both (by setting to ['User', 'Application']). App roles supporting assignment of other applications' service principals are also known as application permissions.
        [Description <String>]: The description for the app role. This is displayed when the app role is being assigned and, if the app role functions as an application permission, during consent experiences.
        [DisplayName <String>]: Display name for the permission that appears in the app role assignment and consent experiences.
        [Id <String>]: Unique role identifier inside the appRoles collection. When creating a new app role, a new Guid identifier must be provided.
        [IsEnabled <Boolean?>]: When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must first be set to false. At that point, in a subsequent call, this role may be removed.
        [Origin <String>]: Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included in any POST or PATCH requests. Read-only.
        [Value <String>]: Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
      [ClaimsMappingPolicies <IMicrosoftGraphClaimsMappingPolicy[]>]:
        [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
          [Id <String>]: Read-only.
          [DeletedDateTime <DateTime?>]:
        [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
        [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
        [Description <String>]: Description for this policy.
        [DisplayName <String>]: Display name for this policy.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
      [ConnectorGroupApplications <IMicrosoftGraphApplication[]>]:
      [ConnectorGroupId <String>]: Read-only.
      [ConnectorGroupIsDefault <Boolean?>]:
      [ConnectorGroupMembers <IMicrosoftGraphConnector[]>]:
      [ConnectorGroupName <String>]:
      [ConnectorGroupRegion <String>]: connectorGroupRegion
      [ConnectorGroupType <String>]: connectorGroupType
      [CreatedDateTime <DateTime?>]: The date and time the application was registered. Read-only.
      [CreatedOnBehalfOf <IMicrosoftGraphDirectoryObject>]: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
      [Description <String>]:
      [DisplayName <String>]: The display name for the application.
      [ExtensionProperties <IMicrosoftGraphExtensionProperty[]>]: Read-only. Nullable.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
        [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
        [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
        [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
        [Name <String>]: Name of the extension property. Not nullable.
        [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
      [GroupMembershipClaims <String>]: Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. To set this attribute, use one of the following valid string values:NoneSecurityGroup: For security groups and Azure AD rolesAll: This will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of
      [HomeRealmDiscoveryPolicies <IMicrosoftGraphHomeRealmDiscoveryPolicy[]>]:
        [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
        [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
        [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
        [Description <String>]: Description for this policy.
        [DisplayName <String>]: Display name for this policy.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
      [IdentifierUris <String[]>]: The URIs that identify the application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant. For more information see Application Objects and Service Principal Objects. The any operator is required for filter expressions on multi-valued properties. Not nullable.
      [ImplicitGrantSettingEnableAccessTokenIssuance <Boolean?>]: Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow.
      [ImplicitGrantSettingEnableIdTokenIssuance <Boolean?>]: Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow.
      [InfoLogoUrl <String>]: CDN URL to the application's logo, Read-only.
      [InfoMarketingUrl <String>]: Link to the application's marketing page. For example, https://www.contoso.com/app/marketing
      [InfoPrivacyStatementUrl <String>]: Link to the application's privacy statement. For example, https://www.contoso.com/app/privacy
      [InfoSupportUrl <String>]: Link to the application's support page. For example, https://www.contoso.com/app/support
      [InfoTermsOfServiceUrl <String>]: Link to the application's terms of service statement. For example, https://www.contoso.com/app/termsofservice
      [IsDeviceOnlyAuthSupported <Boolean?>]:
      [IsFallbackPublicClient <Boolean?>]: Specifies the fallback application type as public client, such as an installed application running on a mobile device. The default value is false which means the fallback application type is confidential client such as web app. There are certain scenarios where Azure AD cannot determine the client application type (e.g. ROPC flow where it is configured without specifying a redirect URI). In those cases Azure AD will interpret the application type based on the value of this property.
      [KeyCredentials <IMicrosoftGraphKeyCredential[]>]: The collection of key credentials associated with the application Not nullable.
        [CustomKeyIdentifier <Byte[]>]: Custom key identifier
        [DisplayName <String>]: Friendly name for the key. Optional.
        [EndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
        [Key <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
        [KeyId <String>]: The unique identifier (GUID) for the key.
        [StartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
        [Type <String>]: The type of key credential; for example, 'Symmetric'.
        [Usage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
      [Logo <Byte[]>]: The main logo for the application. Not nullable.
      [Notes <String>]:
      [OnPremisesPublishing <IMicrosoftGraphOnPremisesPublishing>]: onPremisesPublishing
        [AlternateUrl <String>]:
        [ApplicationServerTimeout <String>]:
        [ApplicationType <String>]:
        [ExternalAuthenticationType <String>]: externalAuthenticationType
        [ExternalUrl <String>]:
        [InternalUrl <String>]:
        [IsHttpOnlyCookieEnabled <Boolean?>]:
        [IsOnPremPublishingEnabled <Boolean?>]:
        [IsPersistentCookieEnabled <Boolean?>]:
        [IsSecureCookieEnabled <Boolean?>]:
        [IsTranslateHostHeaderEnabled <Boolean?>]:
        [IsTranslateLinksInBodyEnabled <Boolean?>]:
        [KerberoSignOnSettingKerberosServicePrincipalName <String>]:
        [KerberoSignOnSettingKerberosSignOnMappingAttributeType <String>]: kerberosSignOnMappingAttributeType
        [SingleSignOnSettingSingleSignOnMode <String>]: singleSignOnMode
        [UseAlternateUrlForTranslationAndRedirect <Boolean?>]:
        [VerifiedCustomDomainCertificateMetadataExpiryDate <DateTime?>]:
        [VerifiedCustomDomainCertificateMetadataIssueDate <DateTime?>]:
        [VerifiedCustomDomainCertificateMetadataIssuerName <String>]:
        [VerifiedCustomDomainCertificateMetadataSubjectName <String>]:
        [VerifiedCustomDomainCertificateMetadataThumbprint <String>]:
        [VerifiedCustomDomainKeyCredentialCustomKeyIdentifier <Byte[]>]: Custom key identifier
        [VerifiedCustomDomainKeyCredentialDisplayName <String>]: Friendly name for the key. Optional.
        [VerifiedCustomDomainKeyCredentialEndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
        [VerifiedCustomDomainKeyCredentialKey <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
        [VerifiedCustomDomainKeyCredentialKeyId <String>]: The unique identifier (GUID) for the key.
        [VerifiedCustomDomainKeyCredentialStartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
        [VerifiedCustomDomainKeyCredentialType <String>]: The type of key credential; for example, 'Symmetric'.
        [VerifiedCustomDomainKeyCredentialUsage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
        [VerifiedCustomDomainPasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
        [VerifiedCustomDomainPasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
        [VerifiedCustomDomainPasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
        [VerifiedCustomDomainPasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
        [VerifiedCustomDomainPasswordCredentialKeyId <String>]: The unique identifier for the password.
        [VerifiedCustomDomainPasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
        [VerifiedCustomDomainPasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
      [OptionalClaimAccessToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT access token.
        [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
        [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
        [Name <String>]: The name of the optional claim.
        [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
      [OptionalClaimIdToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT ID token.
      [OptionalClaimSaml2Token <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the SAML token.
      [Owners <IMicrosoftGraphDirectoryObject[]>]: Directory objects that are owners of the application. The owners are a set of non-admin users who are allowed to modify this object. Requires version 2013-11-08 or newer. Read-only. Nullable.
      [ParentalControlSettingCountriesBlockedForMinors <String[]>]: Specifies the two-letter ISO country codes. Access to the application will be blocked for minors from the countries specified in this list.
      [ParentalControlSettingLegalAgeGroupRule <String>]: Specifies the legal age group rule that applies to users of the app. Can be set to one of the following values: ValueDescriptionAllowDefault. Enforces the legal minimum. This means parental consent is required for minors in the European Union and Korea.RequireConsentForPrivacyServicesEnforces the user to specify date of birth to comply with COPPA rules. RequireConsentForMinorsRequires parental consent for ages below 18, regardless of country minor rules.RequireConsentForKidsRequires parental consent for ages below 14, regardless of country minor rules.BlockMinorsBlocks minors from using the app.
      [PasswordCredentials <IMicrosoftGraphPasswordCredential[]>]: The collection of password credentials associated with the application. Not nullable.
        [CustomKeyIdentifier <Byte[]>]: Do not use.
        [DisplayName <String>]: Friendly name for the password. Optional.
        [EndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
        [Hint <String>]: Contains the first three characters of the password. Read-only.
        [KeyId <String>]: The unique identifier for the password.
        [SecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
        [StartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
      [PublicClientRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
      [PublisherDomain <String>]: The verified publisher domain for the application. Read-only.
      [RequiredResourceAccess <IMicrosoftGraphRequiredResourceAccess[]>]: Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience. Not nullable.
        [ResourceAccess <IMicrosoftGraphResourceAccess[]>]: The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource.
          [Id <String>]: The unique identifier for one of the oauth2PermissionScopes or appRole instances that the resource application exposes.
          [Type <String>]: Specifies whether the id property references an oauth2PermissionScopes or an appRole. Possible values are Scope or Role.
        [ResourceAppId <String>]: The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application.
      [SignInAudience <String>]: Specifies what Microsoft accounts are supported for the current application. Supported values are:AzureADMyOrg: Users with a Microsoft work or school account in my organization’s Azure AD tenant (i.e. single tenant)AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization’s Azure AD tenant (i.e. multi-tenant) AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account in any organization’s Azure AD tenant
      [SynchronizationId <String>]: Read-only.
      [SynchronizationJobs <IMicrosoftGraphSynchronizationJob[]>]:
        [Id <String>]: Read-only.
        [ScheduleExpiration <DateTime?>]:
        [ScheduleInterval <TimeSpan?>]:
        [ScheduleState <String>]: synchronizationScheduleState
        [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
          [Id <String>]: Read-only.
          [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>]: Read-only.
        [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?>]:
          [QuarantineErrorCode <String>]:
          [QuarantineErrorMessage <String>]:
          [QuarantineErrorTenantActionable <Boolean?>]:
          [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>]: Name for this key-value pair
          [Value <String>]: Value for this key-value pair
        [TemplateId <String>]:
      [SynchronizationSecrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
        [Key <String>]: synchronizationSecret
        [Value <String>]:
      [SynchronizationTemplates <IMicrosoftGraphSynchronizationTemplate[]>]:
        [Id <String>]: Read-only.
        [ApplicationId <String>]:
        [Default <Boolean?>]:
        [Description <String>]:
        [Discoverable <Boolean?>]:
        [FactoryTag <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
        [SchemaId <String>]: Read-only.
        [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
        [SchemaVersion <String>]:
      [Tags <String[]>]: Custom strings that can be used to categorize and identify the application. Not nullable.
      [TokenEncryptionKeyId <String>]: Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD encrypts all the tokens it emits by using the key this property points to. The application code that receives the encrypted token must use the matching private key to decrypt the token before it can be used for the signed-in user.
      [TokenIssuancePolicies <IMicrosoftGraphTokenIssuancePolicy[]>]:
        [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
        [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
        [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
        [Description <String>]: Description for this policy.
        [DisplayName <String>]: Display name for this policy.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
      [TokenLifetimePolicies <IMicrosoftGraphTokenLifetimePolicy[]>]:
        [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
        [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
        [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
        [Description <String>]: Description for this policy.
        [DisplayName <String>]: Display name for this policy.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
      [WebHomePageUrl <String>]: Home page or landing page of the application.
      [WebLogoutUrl <String>]: Specifies the URL that will be used by Microsoft's authorization service to logout an user using front-channel, back-channel or SAML logout protocols.
      [WebOauth2AllowImplicitFlow <Boolean?>]:
      [WebRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
    [ConnectorGroupType <String>]: connectorGroupType
    [IsDefault <Boolean?>]:
    [Members <IMicrosoftGraphConnector[]>]:
    [Name <String>]:
    [Region <String>]: connectorGroupRegion
  [Status <String>]: connectorStatus
 
CREATEDONBEHALFOF <IMicrosoftGraphDirectoryObject>: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [Id <String>]: Read-only.
  [DeletedDateTime <DateTime?>]:
 
EXTENSIONPROPERTIES <IMicrosoftGraphExtensionProperty[]>: Read-only. Nullable.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
  [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
  [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
  [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
  [Name <String>]: Name of the extension property. Not nullable.
  [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
 
HOMEREALMDISCOVERYPOLICIES <IMicrosoftGraphHomeRealmDiscoveryPolicy[]>: .
  [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Id <String>]: Read-only.
    [DeletedDateTime <DateTime?>]:
  [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
  [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
  [Description <String>]: Description for this policy.
  [DisplayName <String>]: Display name for this policy.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
 
KEYCREDENTIALS <IMicrosoftGraphKeyCredential[]>: The collection of key credentials associated with the application Not nullable.
  [CustomKeyIdentifier <Byte[]>]: Custom key identifier
  [DisplayName <String>]: Friendly name for the key. Optional.
  [EndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [Key <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
  [KeyId <String>]: The unique identifier (GUID) for the key.
  [StartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [Type <String>]: The type of key credential; for example, 'Symmetric'.
  [Usage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
 
ONPREMISESPUBLISHING <IMicrosoftGraphOnPremisesPublishing>: onPremisesPublishing
  [AlternateUrl <String>]:
  [ApplicationServerTimeout <String>]:
  [ApplicationType <String>]:
  [ExternalAuthenticationType <String>]: externalAuthenticationType
  [ExternalUrl <String>]:
  [InternalUrl <String>]:
  [IsHttpOnlyCookieEnabled <Boolean?>]:
  [IsOnPremPublishingEnabled <Boolean?>]:
  [IsPersistentCookieEnabled <Boolean?>]:
  [IsSecureCookieEnabled <Boolean?>]:
  [IsTranslateHostHeaderEnabled <Boolean?>]:
  [IsTranslateLinksInBodyEnabled <Boolean?>]:
  [KerberoSignOnSettingKerberosServicePrincipalName <String>]:
  [KerberoSignOnSettingKerberosSignOnMappingAttributeType <String>]: kerberosSignOnMappingAttributeType
  [SingleSignOnSettingSingleSignOnMode <String>]: singleSignOnMode
  [UseAlternateUrlForTranslationAndRedirect <Boolean?>]:
  [VerifiedCustomDomainCertificateMetadataExpiryDate <DateTime?>]:
  [VerifiedCustomDomainCertificateMetadataIssueDate <DateTime?>]:
  [VerifiedCustomDomainCertificateMetadataIssuerName <String>]:
  [VerifiedCustomDomainCertificateMetadataSubjectName <String>]:
  [VerifiedCustomDomainCertificateMetadataThumbprint <String>]:
  [VerifiedCustomDomainKeyCredentialCustomKeyIdentifier <Byte[]>]: Custom key identifier
  [VerifiedCustomDomainKeyCredentialDisplayName <String>]: Friendly name for the key. Optional.
  [VerifiedCustomDomainKeyCredentialEndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [VerifiedCustomDomainKeyCredentialKey <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
  [VerifiedCustomDomainKeyCredentialKeyId <String>]: The unique identifier (GUID) for the key.
  [VerifiedCustomDomainKeyCredentialStartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [VerifiedCustomDomainKeyCredentialType <String>]: The type of key credential; for example, 'Symmetric'.
  [VerifiedCustomDomainKeyCredentialUsage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
  [VerifiedCustomDomainPasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
  [VerifiedCustomDomainPasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
  [VerifiedCustomDomainPasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [VerifiedCustomDomainPasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
  [VerifiedCustomDomainPasswordCredentialKeyId <String>]: The unique identifier for the password.
  [VerifiedCustomDomainPasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
  [VerifiedCustomDomainPasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
 
OPTIONALCLAIMACCESSTOKEN <IMicrosoftGraphOptionalClaim[]>: The optional claims returned in the JWT access token.
  [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
  [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
  [Name <String>]: The name of the optional claim.
  [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
 
OPTIONALCLAIMIDTOKEN <IMicrosoftGraphOptionalClaim[]>: The optional claims returned in the JWT ID token.
  [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
  [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
  [Name <String>]: The name of the optional claim.
  [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
 
OPTIONALCLAIMSAML2TOKEN <IMicrosoftGraphOptionalClaim[]>: The optional claims returned in the SAML token.
  [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
  [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
  [Name <String>]: The name of the optional claim.
  [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
 
OWNERS <IMicrosoftGraphDirectoryObject[]>: Directory objects that are owners of the application. The owners are a set of non-admin users who are allowed to modify this object. Requires version 2013-11-08 or newer. Read-only. Nullable.
  [Id <String>]: Read-only.
  [DeletedDateTime <DateTime?>]:
 
PASSWORDCREDENTIALS <IMicrosoftGraphPasswordCredential[]>: The collection of password credentials associated with the application. Not nullable.
  [CustomKeyIdentifier <Byte[]>]: Do not use.
  [DisplayName <String>]: Friendly name for the password. Optional.
  [EndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [Hint <String>]: Contains the first three characters of the password. Read-only.
  [KeyId <String>]: The unique identifier for the password.
  [SecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
  [StartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
 
REQUIREDRESOURCEACCESS <IMicrosoftGraphRequiredResourceAccess[]>: Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience. Not nullable.
  [ResourceAccess <IMicrosoftGraphResourceAccess[]>]: The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource.
    [Id <String>]: The unique identifier for one of the oauth2PermissionScopes or appRole instances that the resource application exposes.
    [Type <String>]: Specifies whether the id property references an oauth2PermissionScopes or an appRole. Possible values are Scope or Role.
  [ResourceAppId <String>]: The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application.
 
SYNCHRONIZATIONJOBS <IMicrosoftGraphSynchronizationJob[]>: .
  [Id <String>]: Read-only.
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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?>]:
    [QuarantineErrorCode <String>]:
    [QuarantineErrorMessage <String>]:
    [QuarantineErrorTenantActionable <Boolean?>]:
    [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>]: Name for this key-value pair
    [Value <String>]: Value for this key-value pair
  [TemplateId <String>]:
 
SYNCHRONIZATIONSECRETS <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>: .
  [Key <String>]: synchronizationSecret
  [Value <String>]:
 
SYNCHRONIZATIONTEMPLATES <IMicrosoftGraphSynchronizationTemplate[]>: .
  [Id <String>]: Read-only.
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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>]:
 
TOKENISSUANCEPOLICIES <IMicrosoftGraphTokenIssuancePolicy[]>: .
  [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Id <String>]: Read-only.
    [DeletedDateTime <DateTime?>]:
  [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
  [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
  [Description <String>]: Description for this policy.
  [DisplayName <String>]: Display name for this policy.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
 
TOKENLIFETIMEPOLICIES <IMicrosoftGraphTokenLifetimePolicy[]>: .
  [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Id <String>]: Read-only.
    [DeletedDateTime <DateTime?>]:
  [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
  [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
  [Description <String>]: Description for this policy.
  [DisplayName <String>]: Display name for this policy.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
.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]
    # Represents an Azure Active Directory object.
    # The directoryObject type is the base type for many other directory entity types.
    # 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]
    # When true, allows an application to use claims mapping without specifying a custom signing key.
    ${ApiAcceptMappedClaims},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app.
    # If you set the appID of the client app to this value, the user only consents once to the client app.
    # Azure AD knows that consenting to the client means implicitly consenting to the web API and automatically provisions service principals for both APIs at the same time.
    # Both the client and the web API app must be registered in the same tenant.
    ${ApiKnownClientApplications},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPermissionScope[]]
    # The definition of the delegated permissions exposed by the web API represented by this application registration.
    # These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent.
    # Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
    # 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[]]
    # Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs.
    # Users are not required to consent to any pre-authorized application (for the permissions specified).
    # However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
    # To construct, see NOTES section for APIPREAUTHORIZEDAPPLICATIONS properties and create a hash table.
    ${ApiPreAuthorizedApplications},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Int32]
    # Specifies the access token version expected by this resource.
    # This changes the version and format of the JWT produced independent of the endpoint or client used to request the access token.
    # The endpoint used, v1.0 or v2.0, is chosen by the client and only impacts the version of id_tokens.
    # Resources need to explicitly configure requestedAccessTokenVersion to indicate the supported access token format.
    # Possible values for requestedAccessTokenVersion are 1, 2, or null.
    # If the value is null, this defaults to 1, which corresponds to the v1.0 endpoint.
    # If signInAudience on the application is configured as AzureADandPersonalMicrosoftAccount, the value for this property must be 2
    ${ApiRequestedAccessTokenVersion},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for the application that is assigned to an application by Azure AD.
    # Not nullable.
    # Read-only.
    ${AppId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAppRole[]]
    # The collection of roles the application declares.
    # With app role assignments, these roles can be assigned to users, groups, or other applications' service principals.
    # Not nullable.
    # To construct, see NOTES section for APPROLES properties and create a hash table.
    ${AppRoles},

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

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time the application was registered.
    # Read-only.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject]
    # Represents an Azure Active Directory object.
    # The directoryObject type is the base type for many other directory entity types.
    # To construct, see NOTES section for CREATEDONBEHALFOF properties and create a hash table.
    ${CreatedOnBehalfOf},

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

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

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects.
    # To set this attribute, use one of the following valid string values:NoneSecurityGroup: For security groups and Azure AD rolesAll: This will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of
    ${GroupMembershipClaims},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # The URIs that identify the application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant.
    # For more information see Application Objects and Service Principal Objects.
    # The any operator is required for filter expressions on multi-valued properties.
    # Not nullable.
    ${IdentifierUris},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow.
    ${ImplicitGrantSettingEnableAccessTokenIssuance},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow.
    ${ImplicitGrantSettingEnableIdTokenIssuance},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # CDN URL to the application's logo, Read-only.
    ${InfoLogoUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Link to the application's marketing page.
    # For example, https://www.contoso.com/app/marketing
    ${InfoMarketingUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Link to the application's privacy statement.
    # For example, https://www.contoso.com/app/privacy
    ${InfoPrivacyStatementUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Link to the application's support page.
    # For example, https://www.contoso.com/app/support
    ${InfoSupportUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Link to the application's terms of service statement.
    # For example, https://www.contoso.com/app/termsofservice
    ${InfoTermsOfServiceUrl},

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Specifies the fallback application type as public client, such as an installed application running on a mobile device.
    # The default value is false which means the fallback application type is confidential client such as web app.
    # There are certain scenarios where Azure AD cannot determine the client application type (e.g.
    # ROPC flow where it is configured without specifying a redirect URI).
    # In those cases Azure AD will interpret the application type based on the value of this property.
    ${IsFallbackPublicClient},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphKeyCredential[]]
    # The collection of key credentials associated with the application Not nullable.
    # 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 (The main logo for the application.
    # Not nullable.)
    ${LogoInputFile},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOptionalClaim[]]
    # The optional claims returned in the JWT access token.
    # 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[]]
    # The optional claims returned in the JWT ID token.
    # 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[]]
    # The optional claims returned in the SAML token.
    # 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[]]
    # Directory objects that are owners of the application.
    # The owners are a set of non-admin users who are allowed to modify this object.
    # Requires version 2013-11-08 or newer.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for OWNERS properties and create a hash table.
    ${Owners},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # Specifies the two-letter ISO country codes.
    # Access to the application will be blocked for minors from the countries specified in this list.
    ${ParentalControlSettingCountriesBlockedForMinors},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Specifies the legal age group rule that applies to users of the app.
    # Can be set to one of the following values: ValueDescriptionAllowDefault.
    # Enforces the legal minimum.
    # This means parental consent is required for minors in the European Union and Korea.RequireConsentForPrivacyServicesEnforces the user to specify date of birth to comply with COPPA rules.
    # RequireConsentForMinorsRequires parental consent for ages below 18, regardless of country minor rules.RequireConsentForKidsRequires parental consent for ages below 14, regardless of country minor rules.BlockMinorsBlocks minors from using the app.
    ${ParentalControlSettingLegalAgeGroupRule},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPasswordCredential[]]
    # The collection of password credentials associated with the application.
    # Not nullable.
    # To construct, see NOTES section for PASSWORDCREDENTIALS properties and create a hash table.
    ${PasswordCredentials},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
    ${PublicClientRedirectUris},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # The verified publisher domain for the application.
    # Read-only.
    ${PublisherDomain},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphRequiredResourceAccess[]]
    # Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources.
    # This pre-configuration of required resource access drives the consent experience.
    # Not nullable.
    # To construct, see NOTES section for REQUIREDRESOURCEACCESS properties and create a hash table.
    ${RequiredResourceAccess},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Specifies what Microsoft accounts are supported for the current application.
    # Supported values are:AzureADMyOrg: Users with a Microsoft work or school account in my organization’s Azure AD tenant (i.e.
    # single tenant)AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization’s Azure AD tenant (i.e.
    # multi-tenant) AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account in any organization’s Azure AD tenant
    ${SignInAudience},

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob[]]
    # .
    # 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[]]
    # .
    # 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[]]
    # .
    # To construct, see NOTES section for SYNCHRONIZATIONTEMPLATES properties and create a hash table.
    ${SynchronizationTemplates},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # Custom strings that can be used to categorize and identify the application.
    # Not nullable.
    ${Tags},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Specifies the keyId of a public key from the keyCredentials collection.
    # When configured, Azure AD encrypts all the tokens it emits by using the key this property points to.
    # The application code that receives the encrypted token must use the matching private key to decrypt the token before it can be used for the signed-in user.
    ${TokenEncryptionKeyId},

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

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Home page or landing page of the application.
    ${WebHomePageUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Specifies the URL that will be used by Microsoft's authorization service to logout an user using front-channel, back-channel or SAML logout protocols.
    ${WebLogoutUrl},

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

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPathsHxlydaApplicationsApplicationIdMicrosoftGraphRemovekeyPostRequestbodyContentApplicationJsonSchema
.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 <IPathsHxlydaApplicationsApplicationIdMicrosoftGraphRemovekeyPostRequestbodyContentApplicationJsonSchema>: .
  [KeyId <String>]:
  [Proof <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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.IPathsHxlydaApplicationsApplicationIdMicrosoftGraphRemovekeyPostRequestbodyContentApplicationJsonSchema]
    # .
    # 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]
    # .
    ${KeyId},

    [Parameter(ParameterSetName='RemoveExpanded')]
    [Parameter(ParameterSetName='RemoveViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPathsHv033BApplicationsApplicationIdMicrosoftGraphRemovepasswordPostRequestbodyContentApplicationJsonSchema
.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 <IPathsHv033BApplicationsApplicationIdMicrosoftGraphRemovepasswordPostRequestbodyContentApplicationJsonSchema>: .
  [KeyId <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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.IPathsHv033BApplicationsApplicationIdMicrosoftGraphRemovepasswordPostRequestbodyContentApplicationJsonSchema]
    # .
    # 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]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPaths113Dr1CApplicationsApplicationIdSynchronizationJobsSynchronizationjobIdMicrosoftGraphRestartPostRequestbodyContentApplicationJsonSchema
.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 <IPaths113Dr1CApplicationsApplicationIdSynchronizationJobsSynchronizationjobIdMicrosoftGraphRestartPostRequestbodyContentApplicationJsonSchema>: .
  [CriterionResetScope <String>]: synchronizationJobRestartScope
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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.IPaths113Dr1CApplicationsApplicationIdSynchronizationJobsSynchronizationjobIdMicrosoftGraphRestartPostRequestbodyContentApplicationJsonSchema]
    # .
    # 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 restore
.Description
Invoke action restore
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/restore-mgapplication
#>

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

    [Parameter(ParameterSetName='RestoreViaIdentity', 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 = @{
            Restore = 'Microsoft.Graph.Identity.Application.private\Restore-MgApplication_Restore';
            RestoreViaIdentity = 'Microsoft.Graph.Identity.Application.private\Restore-MgApplication_RestoreViaIdentity';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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 validateProperties
.Description
Invoke action validateProperties
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IPathsW28MefApplicationsMicrosoftGraphValidatepropertiesPostRequestbodyContentApplicationJsonSchema
.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 <IPathsW28MefApplicationsMicrosoftGraphValidatepropertiesPostRequestbodyContentApplicationJsonSchema>: .
  [DisplayName <String>]:
  [EntityType <String>]:
  [MailNickname <String>]:
  [OnBehalfOfUserId <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/test-mgapplicationproperty
#>

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

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

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

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

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

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

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

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [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-MgApplicationProperty_Validate';
            ValidateExpanded = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationProperty_ValidateExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.PowerShell.Models.IIdentityApplicationIdentity
.Inputs
Microsoft.Graph.PowerShell.Models.IPathsAjp903ApplicationsApplicationIdSynchronizationJobsSynchronizationjobIdMicrosoftGraphValidatecredentialsPostRequestbodyContentApplicationJsonSchema
.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 <IPathsAjp903ApplicationsApplicationIdSynchronizationJobsSynchronizationjobIdMicrosoftGraphValidatecredentialsPostRequestbodyContentApplicationJsonSchema>: .
  [ApplicationIdentifier <String>]:
  [Credentials <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [TemplateId <String>]:
  [UseSavedCredentials <Boolean?>]:
 
CREDENTIALS <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>: .
  [Key <String>]: synchronizationSecret
  [Value <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.Link
https://docs.microsoft.com/en-us/powershell/module/microsoft.graph.identity.application/test-mgapplicationsynchronizationjobcredentials
#>

function Test-MgApplicationSynchronizationJobCredentials {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='ValidateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Validate', Mandatory)]
    [Parameter(ParameterSetName='ValidateExpanded', 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='ValidateViaIdentityExpanded', 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='ValidateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IPathsAjp903ApplicationsApplicationIdSynchronizationJobsSynchronizationjobIdMicrosoftGraphValidatecredentialsPostRequestbodyContentApplicationJsonSchema]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

    [Parameter(ParameterSetName='ValidateExpanded')]
    [Parameter(ParameterSetName='ValidateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${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';
            ValidateExpanded = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_ValidateExpanded';
            ValidateViaIdentity = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_ValidateViaIdentity';
            ValidateViaIdentityExpanded = 'Microsoft.Graph.Identity.Application.private\Test-MgApplicationSynchronizationJobCredentials_ValidateViaIdentityExpanded';
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

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

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
  [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
  [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
  [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
  [Name <String>]: Name of the extension property. Not nullable.
  [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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]
    # Represents an Azure Active Directory object.
    # The directoryObject type is the base type for many other directory entity types.
    # 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]
    # Display name of the application object on which this extension property is defined.
    # Read-only.
    ${AppDisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Specifies the data type of the value the extension property can hold.
    # Following values are supported.
    # Not nullable.
    # Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format.
    # Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
    ${DataType},

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

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Indicates if this extension property was sycned from onpremises directory using Azure AD Connect.
    # Read-only.
    ${IsSyncedFromOnPremises},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Name of the extension property.
    # Not nullable.
    ${Name},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # Following values are supported.
    # Not nullable.
    # UserGroupOrganizationDeviceApplication
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: directoryDefinition
  [Id <String>]: Read-only.
  [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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
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[]>]:
.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]
    # directoryDefinition
    # 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]
    # .
    ${DiscoveryDateTime},

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

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphObjectDefinition[]]
    # .
    # 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]
    # .
    ${ReadOnly},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: synchronizationSchema
  [Id <String>]: Read-only.
  [Directories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]:
  [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[]>: .
  [Id <String>]: Read-only.
  [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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
SYNCHRONIZATIONRULES <IMicrosoftGraphSynchronizationRule[]>: .
  [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]
    # synchronizationSchema
    # 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[]]
    # .
    # 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]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # .
    # 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]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: synchronizationJob
  [Id <String>]: Read-only.
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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?>]:
    [QuarantineErrorCode <String>]:
    [QuarantineErrorMessage <String>]:
    [QuarantineErrorTenantActionable <Boolean?>]:
    [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>]: Name for this key-value pair
    [Value <String>]: Value for this key-value pair
  [TemplateId <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
SCHEMADIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: .
  [Id <String>]: Read-only.
  [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[]>: .
  [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?>]:
  [QuarantineErrorCode <String>]:
  [QuarantineErrorMessage <String>]:
  [QuarantineErrorTenantActionable <Boolean?>]:
  [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>]: Name for this key-value pair
  [Value <String>]: Value for this key-value pair
.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]
    # synchronizationJob
    # 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]
    # Read-only.
    ${Id},

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.TimeSpan]
    # .
    ${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[]]
    # .
    # 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]
    # Read-only.
    ${SchemaId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # .
    # 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]
    # .
    ${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[]]
    # .
    # 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]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: directoryDefinition
  [Id <String>]: Read-only.
  [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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
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[]>]:
.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]
    # directoryDefinition
    # 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]
    # .
    ${DiscoveryDateTime},

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

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphObjectDefinition[]]
    # .
    # 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]
    # .
    ${ReadOnly},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: synchronizationSchema
  [Id <String>]: Read-only.
  [Directories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]:
  [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[]>: .
  [Id <String>]: Read-only.
  [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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
SYNCHRONIZATIONRULES <IMicrosoftGraphSynchronizationRule[]>: .
  [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]
    # synchronizationSchema
    # 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[]]
    # .
    # 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]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # .
    # 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]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: synchronizationTemplate
  [Id <String>]: Read-only.
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
METADATA <IMicrosoftGraphMetadataEntry[]>: .
  [Key <String>]:
  [Value <String>]:
 
SCHEMADIRECTORIES <IMicrosoftGraphDirectoryDefinition[]>: .
  [Id <String>]: Read-only.
  [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[]>: .
  [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]
    # synchronizationTemplate
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

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

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

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

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

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

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMetadataEntry[]]
    # .
    # 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[]]
    # .
    # 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]
    # Read-only.
    ${SchemaId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationRule[]]
    # .
    # 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]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: synchronization
  [Id <String>]: Read-only.
  [Jobs <IMicrosoftGraphSynchronizationJob[]>]:
    [Id <String>]: Read-only.
    [ScheduleExpiration <DateTime?>]:
    [ScheduleInterval <TimeSpan?>]:
    [ScheduleState <String>]: synchronizationScheduleState
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
      [Id <String>]: Read-only.
      [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>]: Read-only.
    [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?>]:
      [QuarantineErrorCode <String>]:
      [QuarantineErrorMessage <String>]:
      [QuarantineErrorTenantActionable <Boolean?>]:
      [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>]: Name for this key-value pair
      [Value <String>]: Value for this key-value pair
    [TemplateId <String>]:
  [Secrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [Templates <IMicrosoftGraphSynchronizationTemplate[]>]:
    [Id <String>]: Read-only.
    [ApplicationId <String>]:
    [Default <Boolean?>]:
    [Description <String>]:
    [Discoverable <Boolean?>]:
    [FactoryTag <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [SchemaId <String>]: Read-only.
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [SchemaVersion <String>]:
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
JOBS <IMicrosoftGraphSynchronizationJob[]>: .
  [Id <String>]: Read-only.
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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?>]:
    [QuarantineErrorCode <String>]:
    [QuarantineErrorMessage <String>]:
    [QuarantineErrorTenantActionable <Boolean?>]:
    [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>]: Name for this key-value pair
    [Value <String>]: Value for this key-value pair
  [TemplateId <String>]:
 
SECRETS <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>: .
  [Key <String>]: synchronizationSecret
  [Value <String>]:
 
TEMPLATES <IMicrosoftGraphSynchronizationTemplate[]>: .
  [Id <String>]: Read-only.
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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]
    # synchronization
    # 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]
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob[]]
    # .
    # 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[]]
    # .
    # 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[]]
    # .
    # 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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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>: applicationTemplate
  [Id <String>]: Read-only.
  [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
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
.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]
    # applicationTemplate
    # 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[]]
    # .
    ${Categories},

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

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

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

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

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

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

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # .
    ${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
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.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[]>: The definition of the delegated permissions exposed by the web API represented by this application registration. These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent. Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
  [AdminConsentDescription <String>]: A description of the delegated permissions, intended to be read by an administrator granting the permission on behalf of all users. This text appears in tenant-wide admin consent experiences.
  [AdminConsentDisplayName <String>]: The permission's title, intended to be read by an administrator granting the permission on behalf of all users.
  [Id <String>]: Unique delegated permission identifier inside the collection of delegated permissions defined for a resource application.
  [IsEnabled <Boolean?>]: When creating or updating a permission, this property must be set to true (which is the default). To delete a permission, this property must first be set to false. At that point, in a subsequent call, the permission may be removed.
  [Origin <String>]:
  [Type <String>]: Specifies whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions. This will be the default behavior, but each customer can choose to customize the behavior in their organization (by allowing, restricting or limiting user consent to this delegated permission.)
  [UserConsentDescription <String>]: A description of the delegated permissions, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
  [UserConsentDisplayName <String>]: A title for the permission, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
  [Value <String>]: Specifies the value to include in the scp (scope) claim in access tokens. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
 
APIPREAUTHORIZEDAPPLICATIONS <IMicrosoftGraphPreAuthorizedApplication[]>: Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs. Users are not required to consent to any pre-authorized application (for the permissions specified). However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
  [AppId <String>]: The unique identifier for the application.
  [PermissionIds <String[]>]:
 
APPROLES <IMicrosoftGraphAppRole[]>: The collection of roles the application declares. With app role assignments, these roles can be assigned to users, groups, or other applications' service principals. Not nullable.
  [AllowedMemberTypes <String[]>]: Specifies whether this app role can be assigned to users and groups (by setting to ['User']), to other application's (by setting to ['Application'], or both (by setting to ['User', 'Application']). App roles supporting assignment of other applications' service principals are also known as application permissions.
  [Description <String>]: The description for the app role. This is displayed when the app role is being assigned and, if the app role functions as an application permission, during consent experiences.
  [DisplayName <String>]: Display name for the permission that appears in the app role assignment and consent experiences.
  [Id <String>]: Unique role identifier inside the appRoles collection. When creating a new app role, a new Guid identifier must be provided.
  [IsEnabled <Boolean?>]: When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must first be set to false. At that point, in a subsequent call, this role may be removed.
  [Origin <String>]: Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included in any POST or PATCH requests. Read-only.
  [Value <String>]: Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
 
BODYPARAMETER <IMicrosoftGraphApplication>: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
  [ApiAcceptMappedClaims <Boolean?>]: When true, allows an application to use claims mapping without specifying a custom signing key.
  [ApiKnownClientApplications <String[]>]: Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app. If you set the appID of the client app to this value, the user only consents once to the client app. Azure AD knows that consenting to the client means implicitly consenting to the web API and automatically provisions service principals for both APIs at the same time. Both the client and the web API app must be registered in the same tenant.
  [ApiOauth2PermissionScopes <IMicrosoftGraphPermissionScope[]>]: The definition of the delegated permissions exposed by the web API represented by this application registration. These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent. Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
    [AdminConsentDescription <String>]: A description of the delegated permissions, intended to be read by an administrator granting the permission on behalf of all users. This text appears in tenant-wide admin consent experiences.
    [AdminConsentDisplayName <String>]: The permission's title, intended to be read by an administrator granting the permission on behalf of all users.
    [Id <String>]: Unique delegated permission identifier inside the collection of delegated permissions defined for a resource application.
    [IsEnabled <Boolean?>]: When creating or updating a permission, this property must be set to true (which is the default). To delete a permission, this property must first be set to false. At that point, in a subsequent call, the permission may be removed.
    [Origin <String>]:
    [Type <String>]: Specifies whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions. This will be the default behavior, but each customer can choose to customize the behavior in their organization (by allowing, restricting or limiting user consent to this delegated permission.)
    [UserConsentDescription <String>]: A description of the delegated permissions, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
    [UserConsentDisplayName <String>]: A title for the permission, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
    [Value <String>]: Specifies the value to include in the scp (scope) claim in access tokens. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
  [ApiPreAuthorizedApplications <IMicrosoftGraphPreAuthorizedApplication[]>]: Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs. Users are not required to consent to any pre-authorized application (for the permissions specified). However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
    [AppId <String>]: The unique identifier for the application.
    [PermissionIds <String[]>]:
  [ApiRequestedAccessTokenVersion <Int32?>]: Specifies the access token version expected by this resource. This changes the version and format of the JWT produced independent of the endpoint or client used to request the access token. The endpoint used, v1.0 or v2.0, is chosen by the client and only impacts the version of id_tokens. Resources need to explicitly configure requestedAccessTokenVersion to indicate the supported access token format. Possible values for requestedAccessTokenVersion are 1, 2, or null. If the value is null, this defaults to 1, which corresponds to the v1.0 endpoint. If signInAudience on the application is configured as AzureADandPersonalMicrosoftAccount, the value for this property must be 2
  [AppId <String>]: The unique identifier for the application that is assigned to an application by Azure AD. Not nullable. Read-only.
  [AppRoles <IMicrosoftGraphAppRole[]>]: The collection of roles the application declares. With app role assignments, these roles can be assigned to users, groups, or other applications' service principals. Not nullable.
    [AllowedMemberTypes <String[]>]: Specifies whether this app role can be assigned to users and groups (by setting to ['User']), to other application's (by setting to ['Application'], or both (by setting to ['User', 'Application']). App roles supporting assignment of other applications' service principals are also known as application permissions.
    [Description <String>]: The description for the app role. This is displayed when the app role is being assigned and, if the app role functions as an application permission, during consent experiences.
    [DisplayName <String>]: Display name for the permission that appears in the app role assignment and consent experiences.
    [Id <String>]: Unique role identifier inside the appRoles collection. When creating a new app role, a new Guid identifier must be provided.
    [IsEnabled <Boolean?>]: When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must first be set to false. At that point, in a subsequent call, this role may be removed.
    [Origin <String>]: Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included in any POST or PATCH requests. Read-only.
    [Value <String>]: Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
  [ClaimsMappingPolicies <IMicrosoftGraphClaimsMappingPolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
      [Id <String>]: Read-only.
      [DeletedDateTime <DateTime?>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [ConnectorGroupApplications <IMicrosoftGraphApplication[]>]:
  [ConnectorGroupId <String>]: Read-only.
  [ConnectorGroupIsDefault <Boolean?>]:
  [ConnectorGroupMembers <IMicrosoftGraphConnector[]>]:
    [Id <String>]: Read-only.
    [ExternalIP <String>]:
    [MachineName <String>]:
    [MemberOf <IMicrosoftGraphConnectorGroup[]>]:
      [Id <String>]: Read-only.
      [Applications <IMicrosoftGraphApplication[]>]:
      [ConnectorGroupType <String>]: connectorGroupType
      [IsDefault <Boolean?>]:
      [Members <IMicrosoftGraphConnector[]>]:
      [Name <String>]:
      [Region <String>]: connectorGroupRegion
    [Status <String>]: connectorStatus
  [ConnectorGroupName <String>]:
  [ConnectorGroupRegion <String>]: connectorGroupRegion
  [ConnectorGroupType <String>]: connectorGroupType
  [CreatedDateTime <DateTime?>]: The date and time the application was registered. Read-only.
  [CreatedOnBehalfOf <IMicrosoftGraphDirectoryObject>]: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [Description <String>]:
  [DisplayName <String>]: The display name for the application.
  [ExtensionProperties <IMicrosoftGraphExtensionProperty[]>]: Read-only. Nullable.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
    [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
    [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
    [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
    [Name <String>]: Name of the extension property. Not nullable.
    [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
  [GroupMembershipClaims <String>]: Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. To set this attribute, use one of the following valid string values:NoneSecurityGroup: For security groups and Azure AD rolesAll: This will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of
  [HomeRealmDiscoveryPolicies <IMicrosoftGraphHomeRealmDiscoveryPolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [IdentifierUris <String[]>]: The URIs that identify the application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant. For more information see Application Objects and Service Principal Objects. The any operator is required for filter expressions on multi-valued properties. Not nullable.
  [ImplicitGrantSettingEnableAccessTokenIssuance <Boolean?>]: Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow.
  [ImplicitGrantSettingEnableIdTokenIssuance <Boolean?>]: Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow.
  [InfoLogoUrl <String>]: CDN URL to the application's logo, Read-only.
  [InfoMarketingUrl <String>]: Link to the application's marketing page. For example, https://www.contoso.com/app/marketing
  [InfoPrivacyStatementUrl <String>]: Link to the application's privacy statement. For example, https://www.contoso.com/app/privacy
  [InfoSupportUrl <String>]: Link to the application's support page. For example, https://www.contoso.com/app/support
  [InfoTermsOfServiceUrl <String>]: Link to the application's terms of service statement. For example, https://www.contoso.com/app/termsofservice
  [IsDeviceOnlyAuthSupported <Boolean?>]:
  [IsFallbackPublicClient <Boolean?>]: Specifies the fallback application type as public client, such as an installed application running on a mobile device. The default value is false which means the fallback application type is confidential client such as web app. There are certain scenarios where Azure AD cannot determine the client application type (e.g. ROPC flow where it is configured without specifying a redirect URI). In those cases Azure AD will interpret the application type based on the value of this property.
  [KeyCredentials <IMicrosoftGraphKeyCredential[]>]: The collection of key credentials associated with the application Not nullable.
    [CustomKeyIdentifier <Byte[]>]: Custom key identifier
    [DisplayName <String>]: Friendly name for the key. Optional.
    [EndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [Key <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
    [KeyId <String>]: The unique identifier (GUID) for the key.
    [StartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [Type <String>]: The type of key credential; for example, 'Symmetric'.
    [Usage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
  [Logo <Byte[]>]: The main logo for the application. Not nullable.
  [Notes <String>]:
  [OnPremisesPublishing <IMicrosoftGraphOnPremisesPublishing>]: onPremisesPublishing
    [AlternateUrl <String>]:
    [ApplicationServerTimeout <String>]:
    [ApplicationType <String>]:
    [ExternalAuthenticationType <String>]: externalAuthenticationType
    [ExternalUrl <String>]:
    [InternalUrl <String>]:
    [IsHttpOnlyCookieEnabled <Boolean?>]:
    [IsOnPremPublishingEnabled <Boolean?>]:
    [IsPersistentCookieEnabled <Boolean?>]:
    [IsSecureCookieEnabled <Boolean?>]:
    [IsTranslateHostHeaderEnabled <Boolean?>]:
    [IsTranslateLinksInBodyEnabled <Boolean?>]:
    [KerberoSignOnSettingKerberosServicePrincipalName <String>]:
    [KerberoSignOnSettingKerberosSignOnMappingAttributeType <String>]: kerberosSignOnMappingAttributeType
    [SingleSignOnSettingSingleSignOnMode <String>]: singleSignOnMode
    [UseAlternateUrlForTranslationAndRedirect <Boolean?>]:
    [VerifiedCustomDomainCertificateMetadataExpiryDate <DateTime?>]:
    [VerifiedCustomDomainCertificateMetadataIssueDate <DateTime?>]:
    [VerifiedCustomDomainCertificateMetadataIssuerName <String>]:
    [VerifiedCustomDomainCertificateMetadataSubjectName <String>]:
    [VerifiedCustomDomainCertificateMetadataThumbprint <String>]:
    [VerifiedCustomDomainKeyCredentialCustomKeyIdentifier <Byte[]>]: Custom key identifier
    [VerifiedCustomDomainKeyCredentialDisplayName <String>]: Friendly name for the key. Optional.
    [VerifiedCustomDomainKeyCredentialEndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [VerifiedCustomDomainKeyCredentialKey <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
    [VerifiedCustomDomainKeyCredentialKeyId <String>]: The unique identifier (GUID) for the key.
    [VerifiedCustomDomainKeyCredentialStartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [VerifiedCustomDomainKeyCredentialType <String>]: The type of key credential; for example, 'Symmetric'.
    [VerifiedCustomDomainKeyCredentialUsage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
    [VerifiedCustomDomainPasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
    [VerifiedCustomDomainPasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
    [VerifiedCustomDomainPasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
    [VerifiedCustomDomainPasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
    [VerifiedCustomDomainPasswordCredentialKeyId <String>]: The unique identifier for the password.
    [VerifiedCustomDomainPasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
    [VerifiedCustomDomainPasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [OptionalClaimAccessToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT access token.
    [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
    [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
    [Name <String>]: The name of the optional claim.
    [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
  [OptionalClaimIdToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT ID token.
  [OptionalClaimSaml2Token <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the SAML token.
  [Owners <IMicrosoftGraphDirectoryObject[]>]: Directory objects that are owners of the application. The owners are a set of non-admin users who are allowed to modify this object. Requires version 2013-11-08 or newer. Read-only. Nullable.
  [ParentalControlSettingCountriesBlockedForMinors <String[]>]: Specifies the two-letter ISO country codes. Access to the application will be blocked for minors from the countries specified in this list.
  [ParentalControlSettingLegalAgeGroupRule <String>]: Specifies the legal age group rule that applies to users of the app. Can be set to one of the following values: ValueDescriptionAllowDefault. Enforces the legal minimum. This means parental consent is required for minors in the European Union and Korea.RequireConsentForPrivacyServicesEnforces the user to specify date of birth to comply with COPPA rules. RequireConsentForMinorsRequires parental consent for ages below 18, regardless of country minor rules.RequireConsentForKidsRequires parental consent for ages below 14, regardless of country minor rules.BlockMinorsBlocks minors from using the app.
  [PasswordCredentials <IMicrosoftGraphPasswordCredential[]>]: The collection of password credentials associated with the application. Not nullable.
    [CustomKeyIdentifier <Byte[]>]: Do not use.
    [DisplayName <String>]: Friendly name for the password. Optional.
    [EndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
    [Hint <String>]: Contains the first three characters of the password. Read-only.
    [KeyId <String>]: The unique identifier for the password.
    [SecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
    [StartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [PublicClientRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
  [PublisherDomain <String>]: The verified publisher domain for the application. Read-only.
  [RequiredResourceAccess <IMicrosoftGraphRequiredResourceAccess[]>]: Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience. Not nullable.
    [ResourceAccess <IMicrosoftGraphResourceAccess[]>]: The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource.
      [Id <String>]: The unique identifier for one of the oauth2PermissionScopes or appRole instances that the resource application exposes.
      [Type <String>]: Specifies whether the id property references an oauth2PermissionScopes or an appRole. Possible values are Scope or Role.
    [ResourceAppId <String>]: The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application.
  [SignInAudience <String>]: Specifies what Microsoft accounts are supported for the current application. Supported values are:AzureADMyOrg: Users with a Microsoft work or school account in my organization’s Azure AD tenant (i.e. single tenant)AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization’s Azure AD tenant (i.e. multi-tenant) AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account in any organization’s Azure AD tenant
  [SynchronizationId <String>]: Read-only.
  [SynchronizationJobs <IMicrosoftGraphSynchronizationJob[]>]:
    [Id <String>]: Read-only.
    [ScheduleExpiration <DateTime?>]:
    [ScheduleInterval <TimeSpan?>]:
    [ScheduleState <String>]: synchronizationScheduleState
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
      [Id <String>]: Read-only.
      [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>]: Read-only.
    [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?>]:
      [QuarantineErrorCode <String>]:
      [QuarantineErrorMessage <String>]:
      [QuarantineErrorTenantActionable <Boolean?>]:
      [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>]: Name for this key-value pair
      [Value <String>]: Value for this key-value pair
    [TemplateId <String>]:
  [SynchronizationSecrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [SynchronizationTemplates <IMicrosoftGraphSynchronizationTemplate[]>]:
    [Id <String>]: Read-only.
    [ApplicationId <String>]:
    [Default <Boolean?>]:
    [Description <String>]:
    [Discoverable <Boolean?>]:
    [FactoryTag <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [SchemaId <String>]: Read-only.
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [SchemaVersion <String>]:
  [Tags <String[]>]: Custom strings that can be used to categorize and identify the application. Not nullable.
  [TokenEncryptionKeyId <String>]: Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD encrypts all the tokens it emits by using the key this property points to. The application code that receives the encrypted token must use the matching private key to decrypt the token before it can be used for the signed-in user.
  [TokenIssuancePolicies <IMicrosoftGraphTokenIssuancePolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [TokenLifetimePolicies <IMicrosoftGraphTokenLifetimePolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [WebHomePageUrl <String>]: Home page or landing page of the application.
  [WebLogoutUrl <String>]: Specifies the URL that will be used by Microsoft's authorization service to logout an user using front-channel, back-channel or SAML logout protocols.
  [WebOauth2AllowImplicitFlow <Boolean?>]:
  [WebRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
 
CLAIMSMAPPINGPOLICIES <IMicrosoftGraphClaimsMappingPolicy[]>: .
  [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Id <String>]: Read-only.
    [DeletedDateTime <DateTime?>]:
  [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
  [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
  [Description <String>]: Description for this policy.
  [DisplayName <String>]: Display name for this policy.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
 
CONNECTORGROUPAPPLICATIONS <IMicrosoftGraphApplication[]>: .
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
  [ApiAcceptMappedClaims <Boolean?>]: When true, allows an application to use claims mapping without specifying a custom signing key.
  [ApiKnownClientApplications <String[]>]: Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app. If you set the appID of the client app to this value, the user only consents once to the client app. Azure AD knows that consenting to the client means implicitly consenting to the web API and automatically provisions service principals for both APIs at the same time. Both the client and the web API app must be registered in the same tenant.
  [ApiOauth2PermissionScopes <IMicrosoftGraphPermissionScope[]>]: The definition of the delegated permissions exposed by the web API represented by this application registration. These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent. Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
    [AdminConsentDescription <String>]: A description of the delegated permissions, intended to be read by an administrator granting the permission on behalf of all users. This text appears in tenant-wide admin consent experiences.
    [AdminConsentDisplayName <String>]: The permission's title, intended to be read by an administrator granting the permission on behalf of all users.
    [Id <String>]: Unique delegated permission identifier inside the collection of delegated permissions defined for a resource application.
    [IsEnabled <Boolean?>]: When creating or updating a permission, this property must be set to true (which is the default). To delete a permission, this property must first be set to false. At that point, in a subsequent call, the permission may be removed.
    [Origin <String>]:
    [Type <String>]: Specifies whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions. This will be the default behavior, but each customer can choose to customize the behavior in their organization (by allowing, restricting or limiting user consent to this delegated permission.)
    [UserConsentDescription <String>]: A description of the delegated permissions, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
    [UserConsentDisplayName <String>]: A title for the permission, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
    [Value <String>]: Specifies the value to include in the scp (scope) claim in access tokens. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
  [ApiPreAuthorizedApplications <IMicrosoftGraphPreAuthorizedApplication[]>]: Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs. Users are not required to consent to any pre-authorized application (for the permissions specified). However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
    [AppId <String>]: The unique identifier for the application.
    [PermissionIds <String[]>]:
  [ApiRequestedAccessTokenVersion <Int32?>]: Specifies the access token version expected by this resource. This changes the version and format of the JWT produced independent of the endpoint or client used to request the access token. The endpoint used, v1.0 or v2.0, is chosen by the client and only impacts the version of id_tokens. Resources need to explicitly configure requestedAccessTokenVersion to indicate the supported access token format. Possible values for requestedAccessTokenVersion are 1, 2, or null. If the value is null, this defaults to 1, which corresponds to the v1.0 endpoint. If signInAudience on the application is configured as AzureADandPersonalMicrosoftAccount, the value for this property must be 2
  [AppId <String>]: The unique identifier for the application that is assigned to an application by Azure AD. Not nullable. Read-only.
  [AppRoles <IMicrosoftGraphAppRole[]>]: The collection of roles the application declares. With app role assignments, these roles can be assigned to users, groups, or other applications' service principals. Not nullable.
    [AllowedMemberTypes <String[]>]: Specifies whether this app role can be assigned to users and groups (by setting to ['User']), to other application's (by setting to ['Application'], or both (by setting to ['User', 'Application']). App roles supporting assignment of other applications' service principals are also known as application permissions.
    [Description <String>]: The description for the app role. This is displayed when the app role is being assigned and, if the app role functions as an application permission, during consent experiences.
    [DisplayName <String>]: Display name for the permission that appears in the app role assignment and consent experiences.
    [Id <String>]: Unique role identifier inside the appRoles collection. When creating a new app role, a new Guid identifier must be provided.
    [IsEnabled <Boolean?>]: When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must first be set to false. At that point, in a subsequent call, this role may be removed.
    [Origin <String>]: Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included in any POST or PATCH requests. Read-only.
    [Value <String>]: Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
  [ClaimsMappingPolicies <IMicrosoftGraphClaimsMappingPolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
      [Id <String>]: Read-only.
      [DeletedDateTime <DateTime?>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [ConnectorGroupApplications <IMicrosoftGraphApplication[]>]:
  [ConnectorGroupId <String>]: Read-only.
  [ConnectorGroupIsDefault <Boolean?>]:
  [ConnectorGroupMembers <IMicrosoftGraphConnector[]>]:
    [Id <String>]: Read-only.
    [ExternalIP <String>]:
    [MachineName <String>]:
    [MemberOf <IMicrosoftGraphConnectorGroup[]>]:
      [Id <String>]: Read-only.
      [Applications <IMicrosoftGraphApplication[]>]:
      [ConnectorGroupType <String>]: connectorGroupType
      [IsDefault <Boolean?>]:
      [Members <IMicrosoftGraphConnector[]>]:
      [Name <String>]:
      [Region <String>]: connectorGroupRegion
    [Status <String>]: connectorStatus
  [ConnectorGroupName <String>]:
  [ConnectorGroupRegion <String>]: connectorGroupRegion
  [ConnectorGroupType <String>]: connectorGroupType
  [CreatedDateTime <DateTime?>]: The date and time the application was registered. Read-only.
  [CreatedOnBehalfOf <IMicrosoftGraphDirectoryObject>]: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [Description <String>]:
  [DisplayName <String>]: The display name for the application.
  [ExtensionProperties <IMicrosoftGraphExtensionProperty[]>]: Read-only. Nullable.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
    [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
    [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
    [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
    [Name <String>]: Name of the extension property. Not nullable.
    [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
  [GroupMembershipClaims <String>]: Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. To set this attribute, use one of the following valid string values:NoneSecurityGroup: For security groups and Azure AD rolesAll: This will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of
  [HomeRealmDiscoveryPolicies <IMicrosoftGraphHomeRealmDiscoveryPolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [IdentifierUris <String[]>]: The URIs that identify the application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant. For more information see Application Objects and Service Principal Objects. The any operator is required for filter expressions on multi-valued properties. Not nullable.
  [ImplicitGrantSettingEnableAccessTokenIssuance <Boolean?>]: Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow.
  [ImplicitGrantSettingEnableIdTokenIssuance <Boolean?>]: Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow.
  [InfoLogoUrl <String>]: CDN URL to the application's logo, Read-only.
  [InfoMarketingUrl <String>]: Link to the application's marketing page. For example, https://www.contoso.com/app/marketing
  [InfoPrivacyStatementUrl <String>]: Link to the application's privacy statement. For example, https://www.contoso.com/app/privacy
  [InfoSupportUrl <String>]: Link to the application's support page. For example, https://www.contoso.com/app/support
  [InfoTermsOfServiceUrl <String>]: Link to the application's terms of service statement. For example, https://www.contoso.com/app/termsofservice
  [IsDeviceOnlyAuthSupported <Boolean?>]:
  [IsFallbackPublicClient <Boolean?>]: Specifies the fallback application type as public client, such as an installed application running on a mobile device. The default value is false which means the fallback application type is confidential client such as web app. There are certain scenarios where Azure AD cannot determine the client application type (e.g. ROPC flow where it is configured without specifying a redirect URI). In those cases Azure AD will interpret the application type based on the value of this property.
  [KeyCredentials <IMicrosoftGraphKeyCredential[]>]: The collection of key credentials associated with the application Not nullable.
    [CustomKeyIdentifier <Byte[]>]: Custom key identifier
    [DisplayName <String>]: Friendly name for the key. Optional.
    [EndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [Key <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
    [KeyId <String>]: The unique identifier (GUID) for the key.
    [StartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [Type <String>]: The type of key credential; for example, 'Symmetric'.
    [Usage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
  [Logo <Byte[]>]: The main logo for the application. Not nullable.
  [Notes <String>]:
  [OnPremisesPublishing <IMicrosoftGraphOnPremisesPublishing>]: onPremisesPublishing
    [AlternateUrl <String>]:
    [ApplicationServerTimeout <String>]:
    [ApplicationType <String>]:
    [ExternalAuthenticationType <String>]: externalAuthenticationType
    [ExternalUrl <String>]:
    [InternalUrl <String>]:
    [IsHttpOnlyCookieEnabled <Boolean?>]:
    [IsOnPremPublishingEnabled <Boolean?>]:
    [IsPersistentCookieEnabled <Boolean?>]:
    [IsSecureCookieEnabled <Boolean?>]:
    [IsTranslateHostHeaderEnabled <Boolean?>]:
    [IsTranslateLinksInBodyEnabled <Boolean?>]:
    [KerberoSignOnSettingKerberosServicePrincipalName <String>]:
    [KerberoSignOnSettingKerberosSignOnMappingAttributeType <String>]: kerberosSignOnMappingAttributeType
    [SingleSignOnSettingSingleSignOnMode <String>]: singleSignOnMode
    [UseAlternateUrlForTranslationAndRedirect <Boolean?>]:
    [VerifiedCustomDomainCertificateMetadataExpiryDate <DateTime?>]:
    [VerifiedCustomDomainCertificateMetadataIssueDate <DateTime?>]:
    [VerifiedCustomDomainCertificateMetadataIssuerName <String>]:
    [VerifiedCustomDomainCertificateMetadataSubjectName <String>]:
    [VerifiedCustomDomainCertificateMetadataThumbprint <String>]:
    [VerifiedCustomDomainKeyCredentialCustomKeyIdentifier <Byte[]>]: Custom key identifier
    [VerifiedCustomDomainKeyCredentialDisplayName <String>]: Friendly name for the key. Optional.
    [VerifiedCustomDomainKeyCredentialEndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [VerifiedCustomDomainKeyCredentialKey <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
    [VerifiedCustomDomainKeyCredentialKeyId <String>]: The unique identifier (GUID) for the key.
    [VerifiedCustomDomainKeyCredentialStartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
    [VerifiedCustomDomainKeyCredentialType <String>]: The type of key credential; for example, 'Symmetric'.
    [VerifiedCustomDomainKeyCredentialUsage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
    [VerifiedCustomDomainPasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
    [VerifiedCustomDomainPasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
    [VerifiedCustomDomainPasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
    [VerifiedCustomDomainPasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
    [VerifiedCustomDomainPasswordCredentialKeyId <String>]: The unique identifier for the password.
    [VerifiedCustomDomainPasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
    [VerifiedCustomDomainPasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [OptionalClaimAccessToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT access token.
    [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
    [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
    [Name <String>]: The name of the optional claim.
    [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
  [OptionalClaimIdToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT ID token.
  [OptionalClaimSaml2Token <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the SAML token.
  [Owners <IMicrosoftGraphDirectoryObject[]>]: Directory objects that are owners of the application. The owners are a set of non-admin users who are allowed to modify this object. Requires version 2013-11-08 or newer. Read-only. Nullable.
  [ParentalControlSettingCountriesBlockedForMinors <String[]>]: Specifies the two-letter ISO country codes. Access to the application will be blocked for minors from the countries specified in this list.
  [ParentalControlSettingLegalAgeGroupRule <String>]: Specifies the legal age group rule that applies to users of the app. Can be set to one of the following values: ValueDescriptionAllowDefault. Enforces the legal minimum. This means parental consent is required for minors in the European Union and Korea.RequireConsentForPrivacyServicesEnforces the user to specify date of birth to comply with COPPA rules. RequireConsentForMinorsRequires parental consent for ages below 18, regardless of country minor rules.RequireConsentForKidsRequires parental consent for ages below 14, regardless of country minor rules.BlockMinorsBlocks minors from using the app.
  [PasswordCredentials <IMicrosoftGraphPasswordCredential[]>]: The collection of password credentials associated with the application. Not nullable.
    [CustomKeyIdentifier <Byte[]>]: Do not use.
    [DisplayName <String>]: Friendly name for the password. Optional.
    [EndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
    [Hint <String>]: Contains the first three characters of the password. Read-only.
    [KeyId <String>]: The unique identifier for the password.
    [SecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
    [StartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [PublicClientRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
  [PublisherDomain <String>]: The verified publisher domain for the application. Read-only.
  [RequiredResourceAccess <IMicrosoftGraphRequiredResourceAccess[]>]: Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience. Not nullable.
    [ResourceAccess <IMicrosoftGraphResourceAccess[]>]: The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource.
      [Id <String>]: The unique identifier for one of the oauth2PermissionScopes or appRole instances that the resource application exposes.
      [Type <String>]: Specifies whether the id property references an oauth2PermissionScopes or an appRole. Possible values are Scope or Role.
    [ResourceAppId <String>]: The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application.
  [SignInAudience <String>]: Specifies what Microsoft accounts are supported for the current application. Supported values are:AzureADMyOrg: Users with a Microsoft work or school account in my organization’s Azure AD tenant (i.e. single tenant)AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization’s Azure AD tenant (i.e. multi-tenant) AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account in any organization’s Azure AD tenant
  [SynchronizationId <String>]: Read-only.
  [SynchronizationJobs <IMicrosoftGraphSynchronizationJob[]>]:
    [Id <String>]: Read-only.
    [ScheduleExpiration <DateTime?>]:
    [ScheduleInterval <TimeSpan?>]:
    [ScheduleState <String>]: synchronizationScheduleState
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
      [Id <String>]: Read-only.
      [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>]: Read-only.
    [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?>]:
      [QuarantineErrorCode <String>]:
      [QuarantineErrorMessage <String>]:
      [QuarantineErrorTenantActionable <Boolean?>]:
      [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>]: Name for this key-value pair
      [Value <String>]: Value for this key-value pair
    [TemplateId <String>]:
  [SynchronizationSecrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
    [Key <String>]: synchronizationSecret
    [Value <String>]:
  [SynchronizationTemplates <IMicrosoftGraphSynchronizationTemplate[]>]:
    [Id <String>]: Read-only.
    [ApplicationId <String>]:
    [Default <Boolean?>]:
    [Description <String>]:
    [Discoverable <Boolean?>]:
    [FactoryTag <String>]:
    [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [SchemaId <String>]: Read-only.
    [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
    [SchemaVersion <String>]:
  [Tags <String[]>]: Custom strings that can be used to categorize and identify the application. Not nullable.
  [TokenEncryptionKeyId <String>]: Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD encrypts all the tokens it emits by using the key this property points to. The application code that receives the encrypted token must use the matching private key to decrypt the token before it can be used for the signed-in user.
  [TokenIssuancePolicies <IMicrosoftGraphTokenIssuancePolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [TokenLifetimePolicies <IMicrosoftGraphTokenLifetimePolicy[]>]:
    [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
    [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
    [Description <String>]: Description for this policy.
    [DisplayName <String>]: Display name for this policy.
    [DeletedDateTime <DateTime?>]:
    [Id <String>]: Read-only.
  [WebHomePageUrl <String>]: Home page or landing page of the application.
  [WebLogoutUrl <String>]: Specifies the URL that will be used by Microsoft's authorization service to logout an user using front-channel, back-channel or SAML logout protocols.
  [WebOauth2AllowImplicitFlow <Boolean?>]:
  [WebRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
 
CONNECTORGROUPMEMBERS <IMicrosoftGraphConnector[]>: .
  [Id <String>]: Read-only.
  [ExternalIP <String>]:
  [MachineName <String>]:
  [MemberOf <IMicrosoftGraphConnectorGroup[]>]:
    [Id <String>]: Read-only.
    [Applications <IMicrosoftGraphApplication[]>]:
      [DeletedDateTime <DateTime?>]:
      [Id <String>]: Read-only.
      [ApiAcceptMappedClaims <Boolean?>]: When true, allows an application to use claims mapping without specifying a custom signing key.
      [ApiKnownClientApplications <String[]>]: Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app. If you set the appID of the client app to this value, the user only consents once to the client app. Azure AD knows that consenting to the client means implicitly consenting to the web API and automatically provisions service principals for both APIs at the same time. Both the client and the web API app must be registered in the same tenant.
      [ApiOauth2PermissionScopes <IMicrosoftGraphPermissionScope[]>]: The definition of the delegated permissions exposed by the web API represented by this application registration. These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent. Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
        [AdminConsentDescription <String>]: A description of the delegated permissions, intended to be read by an administrator granting the permission on behalf of all users. This text appears in tenant-wide admin consent experiences.
        [AdminConsentDisplayName <String>]: The permission's title, intended to be read by an administrator granting the permission on behalf of all users.
        [Id <String>]: Unique delegated permission identifier inside the collection of delegated permissions defined for a resource application.
        [IsEnabled <Boolean?>]: When creating or updating a permission, this property must be set to true (which is the default). To delete a permission, this property must first be set to false. At that point, in a subsequent call, the permission may be removed.
        [Origin <String>]:
        [Type <String>]: Specifies whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions. This will be the default behavior, but each customer can choose to customize the behavior in their organization (by allowing, restricting or limiting user consent to this delegated permission.)
        [UserConsentDescription <String>]: A description of the delegated permissions, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
        [UserConsentDisplayName <String>]: A title for the permission, intended to be read by a user granting the permission on their own behalf. This text appears in consent experiences where the user is consenting only on behalf of themselves.
        [Value <String>]: Specifies the value to include in the scp (scope) claim in access tokens. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
      [ApiPreAuthorizedApplications <IMicrosoftGraphPreAuthorizedApplication[]>]: Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs. Users are not required to consent to any pre-authorized application (for the permissions specified). However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
        [AppId <String>]: The unique identifier for the application.
        [PermissionIds <String[]>]:
      [ApiRequestedAccessTokenVersion <Int32?>]: Specifies the access token version expected by this resource. This changes the version and format of the JWT produced independent of the endpoint or client used to request the access token. The endpoint used, v1.0 or v2.0, is chosen by the client and only impacts the version of id_tokens. Resources need to explicitly configure requestedAccessTokenVersion to indicate the supported access token format. Possible values for requestedAccessTokenVersion are 1, 2, or null. If the value is null, this defaults to 1, which corresponds to the v1.0 endpoint. If signInAudience on the application is configured as AzureADandPersonalMicrosoftAccount, the value for this property must be 2
      [AppId <String>]: The unique identifier for the application that is assigned to an application by Azure AD. Not nullable. Read-only.
      [AppRoles <IMicrosoftGraphAppRole[]>]: The collection of roles the application declares. With app role assignments, these roles can be assigned to users, groups, or other applications' service principals. Not nullable.
        [AllowedMemberTypes <String[]>]: Specifies whether this app role can be assigned to users and groups (by setting to ['User']), to other application's (by setting to ['Application'], or both (by setting to ['User', 'Application']). App roles supporting assignment of other applications' service principals are also known as application permissions.
        [Description <String>]: The description for the app role. This is displayed when the app role is being assigned and, if the app role functions as an application permission, during consent experiences.
        [DisplayName <String>]: Display name for the permission that appears in the app role assignment and consent experiences.
        [Id <String>]: Unique role identifier inside the appRoles collection. When creating a new app role, a new Guid identifier must be provided.
        [IsEnabled <Boolean?>]: When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must first be set to false. At that point, in a subsequent call, this role may be removed.
        [Origin <String>]: Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included in any POST or PATCH requests. Read-only.
        [Value <String>]: Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : ; = ? @ [ ] ^ + _ { } ~, as well as characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, are not allowed.
      [ClaimsMappingPolicies <IMicrosoftGraphClaimsMappingPolicy[]>]:
        [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
          [Id <String>]: Read-only.
          [DeletedDateTime <DateTime?>]:
        [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
        [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
        [Description <String>]: Description for this policy.
        [DisplayName <String>]: Display name for this policy.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
      [ConnectorGroupApplications <IMicrosoftGraphApplication[]>]:
      [ConnectorGroupId <String>]: Read-only.
      [ConnectorGroupIsDefault <Boolean?>]:
      [ConnectorGroupMembers <IMicrosoftGraphConnector[]>]:
      [ConnectorGroupName <String>]:
      [ConnectorGroupRegion <String>]: connectorGroupRegion
      [ConnectorGroupType <String>]: connectorGroupType
      [CreatedDateTime <DateTime?>]: The date and time the application was registered. Read-only.
      [CreatedOnBehalfOf <IMicrosoftGraphDirectoryObject>]: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
      [Description <String>]:
      [DisplayName <String>]: The display name for the application.
      [ExtensionProperties <IMicrosoftGraphExtensionProperty[]>]: Read-only. Nullable.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
        [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
        [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
        [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
        [Name <String>]: Name of the extension property. Not nullable.
        [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
      [GroupMembershipClaims <String>]: Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. To set this attribute, use one of the following valid string values:NoneSecurityGroup: For security groups and Azure AD rolesAll: This will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of
      [HomeRealmDiscoveryPolicies <IMicrosoftGraphHomeRealmDiscoveryPolicy[]>]:
        [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
        [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
        [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
        [Description <String>]: Description for this policy.
        [DisplayName <String>]: Display name for this policy.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
      [IdentifierUris <String[]>]: The URIs that identify the application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant. For more information see Application Objects and Service Principal Objects. The any operator is required for filter expressions on multi-valued properties. Not nullable.
      [ImplicitGrantSettingEnableAccessTokenIssuance <Boolean?>]: Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow.
      [ImplicitGrantSettingEnableIdTokenIssuance <Boolean?>]: Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow.
      [InfoLogoUrl <String>]: CDN URL to the application's logo, Read-only.
      [InfoMarketingUrl <String>]: Link to the application's marketing page. For example, https://www.contoso.com/app/marketing
      [InfoPrivacyStatementUrl <String>]: Link to the application's privacy statement. For example, https://www.contoso.com/app/privacy
      [InfoSupportUrl <String>]: Link to the application's support page. For example, https://www.contoso.com/app/support
      [InfoTermsOfServiceUrl <String>]: Link to the application's terms of service statement. For example, https://www.contoso.com/app/termsofservice
      [IsDeviceOnlyAuthSupported <Boolean?>]:
      [IsFallbackPublicClient <Boolean?>]: Specifies the fallback application type as public client, such as an installed application running on a mobile device. The default value is false which means the fallback application type is confidential client such as web app. There are certain scenarios where Azure AD cannot determine the client application type (e.g. ROPC flow where it is configured without specifying a redirect URI). In those cases Azure AD will interpret the application type based on the value of this property.
      [KeyCredentials <IMicrosoftGraphKeyCredential[]>]: The collection of key credentials associated with the application Not nullable.
        [CustomKeyIdentifier <Byte[]>]: Custom key identifier
        [DisplayName <String>]: Friendly name for the key. Optional.
        [EndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
        [Key <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
        [KeyId <String>]: The unique identifier (GUID) for the key.
        [StartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
        [Type <String>]: The type of key credential; for example, 'Symmetric'.
        [Usage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
      [Logo <Byte[]>]: The main logo for the application. Not nullable.
      [Notes <String>]:
      [OnPremisesPublishing <IMicrosoftGraphOnPremisesPublishing>]: onPremisesPublishing
        [AlternateUrl <String>]:
        [ApplicationServerTimeout <String>]:
        [ApplicationType <String>]:
        [ExternalAuthenticationType <String>]: externalAuthenticationType
        [ExternalUrl <String>]:
        [InternalUrl <String>]:
        [IsHttpOnlyCookieEnabled <Boolean?>]:
        [IsOnPremPublishingEnabled <Boolean?>]:
        [IsPersistentCookieEnabled <Boolean?>]:
        [IsSecureCookieEnabled <Boolean?>]:
        [IsTranslateHostHeaderEnabled <Boolean?>]:
        [IsTranslateLinksInBodyEnabled <Boolean?>]:
        [KerberoSignOnSettingKerberosServicePrincipalName <String>]:
        [KerberoSignOnSettingKerberosSignOnMappingAttributeType <String>]: kerberosSignOnMappingAttributeType
        [SingleSignOnSettingSingleSignOnMode <String>]: singleSignOnMode
        [UseAlternateUrlForTranslationAndRedirect <Boolean?>]:
        [VerifiedCustomDomainCertificateMetadataExpiryDate <DateTime?>]:
        [VerifiedCustomDomainCertificateMetadataIssueDate <DateTime?>]:
        [VerifiedCustomDomainCertificateMetadataIssuerName <String>]:
        [VerifiedCustomDomainCertificateMetadataSubjectName <String>]:
        [VerifiedCustomDomainCertificateMetadataThumbprint <String>]:
        [VerifiedCustomDomainKeyCredentialCustomKeyIdentifier <Byte[]>]: Custom key identifier
        [VerifiedCustomDomainKeyCredentialDisplayName <String>]: Friendly name for the key. Optional.
        [VerifiedCustomDomainKeyCredentialEndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
        [VerifiedCustomDomainKeyCredentialKey <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
        [VerifiedCustomDomainKeyCredentialKeyId <String>]: The unique identifier (GUID) for the key.
        [VerifiedCustomDomainKeyCredentialStartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
        [VerifiedCustomDomainKeyCredentialType <String>]: The type of key credential; for example, 'Symmetric'.
        [VerifiedCustomDomainKeyCredentialUsage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
        [VerifiedCustomDomainPasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
        [VerifiedCustomDomainPasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
        [VerifiedCustomDomainPasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
        [VerifiedCustomDomainPasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
        [VerifiedCustomDomainPasswordCredentialKeyId <String>]: The unique identifier for the password.
        [VerifiedCustomDomainPasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
        [VerifiedCustomDomainPasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
      [OptionalClaimAccessToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT access token.
        [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
        [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
        [Name <String>]: The name of the optional claim.
        [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
      [OptionalClaimIdToken <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the JWT ID token.
      [OptionalClaimSaml2Token <IMicrosoftGraphOptionalClaim[]>]: The optional claims returned in the SAML token.
      [Owners <IMicrosoftGraphDirectoryObject[]>]: Directory objects that are owners of the application. The owners are a set of non-admin users who are allowed to modify this object. Requires version 2013-11-08 or newer. Read-only. Nullable.
      [ParentalControlSettingCountriesBlockedForMinors <String[]>]: Specifies the two-letter ISO country codes. Access to the application will be blocked for minors from the countries specified in this list.
      [ParentalControlSettingLegalAgeGroupRule <String>]: Specifies the legal age group rule that applies to users of the app. Can be set to one of the following values: ValueDescriptionAllowDefault. Enforces the legal minimum. This means parental consent is required for minors in the European Union and Korea.RequireConsentForPrivacyServicesEnforces the user to specify date of birth to comply with COPPA rules. RequireConsentForMinorsRequires parental consent for ages below 18, regardless of country minor rules.RequireConsentForKidsRequires parental consent for ages below 14, regardless of country minor rules.BlockMinorsBlocks minors from using the app.
      [PasswordCredentials <IMicrosoftGraphPasswordCredential[]>]: The collection of password credentials associated with the application. Not nullable.
        [CustomKeyIdentifier <Byte[]>]: Do not use.
        [DisplayName <String>]: Friendly name for the password. Optional.
        [EndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
        [Hint <String>]: Contains the first three characters of the password. Read-only.
        [KeyId <String>]: The unique identifier for the password.
        [SecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
        [StartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
      [PublicClientRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
      [PublisherDomain <String>]: The verified publisher domain for the application. Read-only.
      [RequiredResourceAccess <IMicrosoftGraphRequiredResourceAccess[]>]: Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience. Not nullable.
        [ResourceAccess <IMicrosoftGraphResourceAccess[]>]: The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource.
          [Id <String>]: The unique identifier for one of the oauth2PermissionScopes or appRole instances that the resource application exposes.
          [Type <String>]: Specifies whether the id property references an oauth2PermissionScopes or an appRole. Possible values are Scope or Role.
        [ResourceAppId <String>]: The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application.
      [SignInAudience <String>]: Specifies what Microsoft accounts are supported for the current application. Supported values are:AzureADMyOrg: Users with a Microsoft work or school account in my organization’s Azure AD tenant (i.e. single tenant)AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization’s Azure AD tenant (i.e. multi-tenant) AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account in any organization’s Azure AD tenant
      [SynchronizationId <String>]: Read-only.
      [SynchronizationJobs <IMicrosoftGraphSynchronizationJob[]>]:
        [Id <String>]: Read-only.
        [ScheduleExpiration <DateTime?>]:
        [ScheduleInterval <TimeSpan?>]:
        [ScheduleState <String>]: synchronizationScheduleState
        [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
          [Id <String>]: Read-only.
          [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>]: Read-only.
        [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?>]:
          [QuarantineErrorCode <String>]:
          [QuarantineErrorMessage <String>]:
          [QuarantineErrorTenantActionable <Boolean?>]:
          [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>]: Name for this key-value pair
          [Value <String>]: Value for this key-value pair
        [TemplateId <String>]:
      [SynchronizationSecrets <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>]:
        [Key <String>]: synchronizationSecret
        [Value <String>]:
      [SynchronizationTemplates <IMicrosoftGraphSynchronizationTemplate[]>]:
        [Id <String>]: Read-only.
        [ApplicationId <String>]:
        [Default <Boolean?>]:
        [Description <String>]:
        [Discoverable <Boolean?>]:
        [FactoryTag <String>]:
        [Metadata <IMicrosoftGraphMetadataEntry[]>]:
        [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
        [SchemaId <String>]: Read-only.
        [SchemaSynchronizationRules <IMicrosoftGraphSynchronizationRule[]>]:
        [SchemaVersion <String>]:
      [Tags <String[]>]: Custom strings that can be used to categorize and identify the application. Not nullable.
      [TokenEncryptionKeyId <String>]: Specifies the keyId of a public key from the keyCredentials collection. When configured, Azure AD encrypts all the tokens it emits by using the key this property points to. The application code that receives the encrypted token must use the matching private key to decrypt the token before it can be used for the signed-in user.
      [TokenIssuancePolicies <IMicrosoftGraphTokenIssuancePolicy[]>]:
        [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
        [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
        [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
        [Description <String>]: Description for this policy.
        [DisplayName <String>]: Display name for this policy.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
      [TokenLifetimePolicies <IMicrosoftGraphTokenLifetimePolicy[]>]:
        [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
        [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
        [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
        [Description <String>]: Description for this policy.
        [DisplayName <String>]: Display name for this policy.
        [DeletedDateTime <DateTime?>]:
        [Id <String>]: Read-only.
      [WebHomePageUrl <String>]: Home page or landing page of the application.
      [WebLogoutUrl <String>]: Specifies the URL that will be used by Microsoft's authorization service to logout an user using front-channel, back-channel or SAML logout protocols.
      [WebOauth2AllowImplicitFlow <Boolean?>]:
      [WebRedirectUris <String[]>]: Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
    [ConnectorGroupType <String>]: connectorGroupType
    [IsDefault <Boolean?>]:
    [Members <IMicrosoftGraphConnector[]>]:
    [Name <String>]:
    [Region <String>]: connectorGroupRegion
  [Status <String>]: connectorStatus
 
CREATEDONBEHALFOF <IMicrosoftGraphDirectoryObject>: Represents an Azure Active Directory object. The directoryObject type is the base type for many other directory entity types.
  [Id <String>]: Read-only.
  [DeletedDateTime <DateTime?>]:
 
EXTENSIONPROPERTIES <IMicrosoftGraphExtensionProperty[]>: Read-only. Nullable.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
  [AppDisplayName <String>]: Display name of the application object on which this extension property is defined. Read-only.
  [DataType <String>]: Specifies the data type of the value the extension property can hold. Following values are supported. Not nullable. Binary - 256 bytes maximumBooleanDateTime - Must be specified in ISO 8601 format. Will be stored in UTC.Integer - 32-bit value.LargeInteger - 64-bit value.String - 256 characters maximum
  [IsSyncedFromOnPremises <Boolean?>]: Indicates if this extension property was sycned from onpremises directory using Azure AD Connect. Read-only.
  [Name <String>]: Name of the extension property. Not nullable.
  [TargetObjects <String[]>]: Following values are supported. Not nullable. UserGroupOrganizationDeviceApplication
 
HOMEREALMDISCOVERYPOLICIES <IMicrosoftGraphHomeRealmDiscoveryPolicy[]>: .
  [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Id <String>]: Read-only.
    [DeletedDateTime <DateTime?>]:
  [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
  [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
  [Description <String>]: Description for this policy.
  [DisplayName <String>]: Display name for this policy.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
 
INPUTOBJECT <IIdentityApplicationIdentity>: Identity Parameter
  [ApplicationId <String>]: key: application-id of application
  [ApplicationTemplateId <String>]: key: applicationTemplate-id of applicationTemplate
  [ClaimsMappingPolicyId <String>]: key: claimsMappingPolicy-id of claimsMappingPolicy
  [DirectoryDefinitionId <String>]: key: directoryDefinition-id of directoryDefinition
  [DirectoryObjectId <String>]: key: directoryObject-id of directoryObject
  [ExtensionPropertyId <String>]: key: extensionProperty-id of extensionProperty
  [HomeRealmDiscoveryPolicyId <String>]: key: homeRealmDiscoveryPolicy-id of homeRealmDiscoveryPolicy
  [SynchronizationJobId <String>]: key: synchronizationJob-id of synchronizationJob
  [SynchronizationTemplateId <String>]: key: synchronizationTemplate-id of synchronizationTemplate
  [TokenIssuancePolicyId <String>]: key: tokenIssuancePolicy-id of tokenIssuancePolicy
  [TokenLifetimePolicyId <String>]: key: tokenLifetimePolicy-id of tokenLifetimePolicy
 
KEYCREDENTIALS <IMicrosoftGraphKeyCredential[]>: The collection of key credentials associated with the application Not nullable.
  [CustomKeyIdentifier <Byte[]>]: Custom key identifier
  [DisplayName <String>]: Friendly name for the key. Optional.
  [EndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [Key <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
  [KeyId <String>]: The unique identifier (GUID) for the key.
  [StartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [Type <String>]: The type of key credential; for example, 'Symmetric'.
  [Usage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
 
ONPREMISESPUBLISHING <IMicrosoftGraphOnPremisesPublishing>: onPremisesPublishing
  [AlternateUrl <String>]:
  [ApplicationServerTimeout <String>]:
  [ApplicationType <String>]:
  [ExternalAuthenticationType <String>]: externalAuthenticationType
  [ExternalUrl <String>]:
  [InternalUrl <String>]:
  [IsHttpOnlyCookieEnabled <Boolean?>]:
  [IsOnPremPublishingEnabled <Boolean?>]:
  [IsPersistentCookieEnabled <Boolean?>]:
  [IsSecureCookieEnabled <Boolean?>]:
  [IsTranslateHostHeaderEnabled <Boolean?>]:
  [IsTranslateLinksInBodyEnabled <Boolean?>]:
  [KerberoSignOnSettingKerberosServicePrincipalName <String>]:
  [KerberoSignOnSettingKerberosSignOnMappingAttributeType <String>]: kerberosSignOnMappingAttributeType
  [SingleSignOnSettingSingleSignOnMode <String>]: singleSignOnMode
  [UseAlternateUrlForTranslationAndRedirect <Boolean?>]:
  [VerifiedCustomDomainCertificateMetadataExpiryDate <DateTime?>]:
  [VerifiedCustomDomainCertificateMetadataIssueDate <DateTime?>]:
  [VerifiedCustomDomainCertificateMetadataIssuerName <String>]:
  [VerifiedCustomDomainCertificateMetadataSubjectName <String>]:
  [VerifiedCustomDomainCertificateMetadataThumbprint <String>]:
  [VerifiedCustomDomainKeyCredentialCustomKeyIdentifier <Byte[]>]: Custom key identifier
  [VerifiedCustomDomainKeyCredentialDisplayName <String>]: Friendly name for the key. Optional.
  [VerifiedCustomDomainKeyCredentialEndDateTime <DateTime?>]: The date and time at which the credential expires.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [VerifiedCustomDomainKeyCredentialKey <Byte[]>]: Value for the key credential. Should be a base 64 encoded value.
  [VerifiedCustomDomainKeyCredentialKeyId <String>]: The unique identifier (GUID) for the key.
  [VerifiedCustomDomainKeyCredentialStartDateTime <DateTime?>]: The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'
  [VerifiedCustomDomainKeyCredentialType <String>]: The type of key credential; for example, 'Symmetric'.
  [VerifiedCustomDomainKeyCredentialUsage <String>]: A string that describes the purpose for which the key can be used; for example, 'Verify'.
  [VerifiedCustomDomainPasswordCredentialCustomKeyIdentifier <Byte[]>]: Do not use.
  [VerifiedCustomDomainPasswordCredentialDisplayName <String>]: Friendly name for the password. Optional.
  [VerifiedCustomDomainPasswordCredentialEndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [VerifiedCustomDomainPasswordCredentialHint <String>]: Contains the first three characters of the password. Read-only.
  [VerifiedCustomDomainPasswordCredentialKeyId <String>]: The unique identifier for the password.
  [VerifiedCustomDomainPasswordCredentialSecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
  [VerifiedCustomDomainPasswordCredentialStartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
 
OPTIONALCLAIMACCESSTOKEN <IMicrosoftGraphOptionalClaim[]>: The optional claims returned in the JWT access token.
  [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
  [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
  [Name <String>]: The name of the optional claim.
  [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
 
OPTIONALCLAIMIDTOKEN <IMicrosoftGraphOptionalClaim[]>: The optional claims returned in the JWT ID token.
  [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
  [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
  [Name <String>]: The name of the optional claim.
  [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
 
OPTIONALCLAIMSAML2TOKEN <IMicrosoftGraphOptionalClaim[]>: The optional claims returned in the SAML token.
  [AdditionalProperties <String[]>]: Additional properties of the claim. If a property exists in this collection, it modifies the behavior of the optional claim specified in the name property.
  [Essential <Boolean?>]: If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false.
  [Name <String>]: The name of the optional claim.
  [Source <String>]: The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object.
 
OWNERS <IMicrosoftGraphDirectoryObject[]>: Directory objects that are owners of the application. The owners are a set of non-admin users who are allowed to modify this object. Requires version 2013-11-08 or newer. Read-only. Nullable.
  [Id <String>]: Read-only.
  [DeletedDateTime <DateTime?>]:
 
PASSWORDCREDENTIALS <IMicrosoftGraphPasswordCredential[]>: The collection of password credentials associated with the application. Not nullable.
  [CustomKeyIdentifier <Byte[]>]: Do not use.
  [DisplayName <String>]: Friendly name for the password. Optional.
  [EndDateTime <DateTime?>]: The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
  [Hint <String>]: Contains the first three characters of the password. Read-only.
  [KeyId <String>]: The unique identifier for the password.
  [SecretText <String>]: Read-only; Contains the strong passwords generated by Azure AD that are 16-64 characters in length. The generated password value is only returned during the initial POST request to addPassword. There is no way to retrieve this password in the future.
  [StartDateTime <DateTime?>]: The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 would look like this: '2014-01-01T00:00:00Z'. Optional.
 
REQUIREDRESOURCEACCESS <IMicrosoftGraphRequiredResourceAccess[]>: Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience. Not nullable.
  [ResourceAccess <IMicrosoftGraphResourceAccess[]>]: The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource.
    [Id <String>]: The unique identifier for one of the oauth2PermissionScopes or appRole instances that the resource application exposes.
    [Type <String>]: Specifies whether the id property references an oauth2PermissionScopes or an appRole. Possible values are Scope or Role.
  [ResourceAppId <String>]: The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application.
 
SYNCHRONIZATIONJOBS <IMicrosoftGraphSynchronizationJob[]>: .
  [Id <String>]: Read-only.
  [ScheduleExpiration <DateTime?>]:
  [ScheduleInterval <TimeSpan?>]:
  [ScheduleState <String>]: synchronizationScheduleState
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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?>]:
    [QuarantineErrorCode <String>]:
    [QuarantineErrorMessage <String>]:
    [QuarantineErrorTenantActionable <Boolean?>]:
    [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>]: Name for this key-value pair
    [Value <String>]: Value for this key-value pair
  [TemplateId <String>]:
 
SYNCHRONIZATIONSECRETS <IMicrosoftGraphSynchronizationSecretKeyStringValuePair[]>: .
  [Key <String>]: synchronizationSecret
  [Value <String>]:
 
SYNCHRONIZATIONTEMPLATES <IMicrosoftGraphSynchronizationTemplate[]>: .
  [Id <String>]: Read-only.
  [ApplicationId <String>]:
  [Default <Boolean?>]:
  [Description <String>]:
  [Discoverable <Boolean?>]:
  [FactoryTag <String>]:
  [Metadata <IMicrosoftGraphMetadataEntry[]>]:
    [Key <String>]:
    [Value <String>]:
  [SchemaDirectories <IMicrosoftGraphDirectoryDefinition[]>]:
    [Id <String>]: Read-only.
    [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>]: Read-only.
  [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>]:
 
TOKENISSUANCEPOLICIES <IMicrosoftGraphTokenIssuancePolicy[]>: .
  [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Id <String>]: Read-only.
    [DeletedDateTime <DateTime?>]:
  [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
  [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
  [Description <String>]: Description for this policy.
  [DisplayName <String>]: Display name for this policy.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
 
TOKENLIFETIMEPOLICIES <IMicrosoftGraphTokenLifetimePolicy[]>: .
  [AppliesTo <IMicrosoftGraphDirectoryObject[]>]:
    [Id <String>]: Read-only.
    [DeletedDateTime <DateTime?>]:
  [Definition <String[]>]: A string collection containing a JSON string that defines the rules and settings for a policy. The syntax for the definition differs for each derived policy type. Required.
  [IsOrganizationDefault <Boolean?>]: If set to true, activates this policy. There can be many policies for the same policy type, but only one can be activated as the organization default. Optional, default value is false.
  [Description <String>]: Description for this policy.
  [DisplayName <String>]: Display name for this policy.
  [DeletedDateTime <DateTime?>]:
  [Id <String>]: Read-only.
.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]
    # Represents an Azure Active Directory object.
    # The directoryObject type is the base type for many other directory entity types.
    # 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]
    # When true, allows an application to use claims mapping without specifying a custom signing key.
    ${ApiAcceptMappedClaims},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app.
    # If you set the appID of the client app to this value, the user only consents once to the client app.
    # Azure AD knows that consenting to the client means implicitly consenting to the web API and automatically provisions service principals for both APIs at the same time.
    # Both the client and the web API app must be registered in the same tenant.
    ${ApiKnownClientApplications},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPermissionScope[]]
    # The definition of the delegated permissions exposed by the web API represented by this application registration.
    # These delegated permissions may be requested by a client application, and may be granted by users or administrators during consent.
    # Delegated permissions are sometimes referred to as OAuth 2.0 scopes.
    # 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[]]
    # Lists the client applications that are pre-authorized with the specified delegated permissions to access this application's APIs.
    # Users are not required to consent to any pre-authorized application (for the permissions specified).
    # However, any additional permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent.
    # 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]
    # Specifies the access token version expected by this resource.
    # This changes the version and format of the JWT produced independent of the endpoint or client used to request the access token.
    # The endpoint used, v1.0 or v2.0, is chosen by the client and only impacts the version of id_tokens.
    # Resources need to explicitly configure requestedAccessTokenVersion to indicate the supported access token format.
    # Possible values for requestedAccessTokenVersion are 1, 2, or null.
    # If the value is null, this defaults to 1, which corresponds to the v1.0 endpoint.
    # If signInAudience on the application is configured as AzureADandPersonalMicrosoftAccount, the value for this property must be 2
    ${ApiRequestedAccessTokenVersion},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for the application that is assigned to an application by Azure AD.
    # Not nullable.
    # Read-only.
    ${AppId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphAppRole[]]
    # The collection of roles the application declares.
    # With app role assignments, these roles can be assigned to users, groups, or other applications' service principals.
    # Not nullable.
    # 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')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphClaimsMappingPolicy[]]
    # .
    # To construct, see NOTES section for CLAIMSMAPPINGPOLICIES properties and create a hash table.
    ${ClaimsMappingPolicies},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphApplication[]]
    # .
    # To construct, see NOTES section for CONNECTORGROUPAPPLICATIONS properties and create a hash table.
    ${ConnectorGroupApplications},

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

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphConnector[]]
    # .
    # To construct, see NOTES section for CONNECTORGROUPMEMBERS properties and create a hash table.
    ${ConnectorGroupMembers},

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

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

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time the application was registered.
    # Read-only.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphDirectoryObject]
    # Represents an Azure Active Directory object.
    # The directoryObject type is the base type for many other directory entity types.
    # 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]
    # .
    ${DeletedDateTime},

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # The display name for the application.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphExtensionProperty[]]
    # Read-only.
    # Nullable.
    # 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]
    # Configures the groups claim issued in a user or OAuth 2.0 access token that the application expects.
    # To set this attribute, use one of the following valid string values:NoneSecurityGroup: For security groups and Azure AD rolesAll: This will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of
    ${GroupMembershipClaims},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphHomeRealmDiscoveryPolicy[]]
    # .
    # To construct, see NOTES section for HOMEREALMDISCOVERYPOLICIES properties and create a hash table.
    ${HomeRealmDiscoveryPolicies},

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # The URIs that identify the application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant.
    # For more information see Application Objects and Service Principal Objects.
    # The any operator is required for filter expressions on multi-valued properties.
    # Not nullable.
    ${IdentifierUris},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Specifies whether this web application can request an access token using the OAuth 2.0 implicit flow.
    ${ImplicitGrantSettingEnableAccessTokenIssuance},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Specifies whether this web application can request an ID token using the OAuth 2.0 implicit flow.
    ${ImplicitGrantSettingEnableIdTokenIssuance},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # CDN URL to the application's logo, Read-only.
    ${InfoLogoUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Link to the application's marketing page.
    # For example, https://www.contoso.com/app/marketing
    ${InfoMarketingUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Link to the application's privacy statement.
    # For example, https://www.contoso.com/app/privacy
    ${InfoPrivacyStatementUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Link to the application's support page.
    # For example, https://www.contoso.com/app/support
    ${InfoSupportUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Link to the application's terms of service statement.
    # For example, https://www.contoso.com/app/termsofservice
    ${InfoTermsOfServiceUrl},

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Specifies the fallback application type as public client, such as an installed application running on a mobile device.
    # The default value is false which means the fallback application type is confidential client such as web app.
    # There are certain scenarios where Azure AD cannot determine the client application type (e.g.
    # ROPC flow where it is configured without specifying a redirect URI).
    # In those cases Azure AD will interpret the application type based on the value of this property.
    ${IsFallbackPublicClient},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphKeyCredential[]]
    # The collection of key credentials associated with the application Not nullable.
    # 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 (The main logo for the application.
    # Not nullable.)
    ${LogoInputFile},

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOnPremisesPublishing]
    # onPremisesPublishing
    # To construct, see NOTES section for ONPREMISESPUBLISHING properties and create a hash table.
    ${OnPremisesPublishing},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphOptionalClaim[]]
    # The optional claims returned in the JWT access token.
    # 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[]]
    # The optional claims returned in the JWT ID token.
    # 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[]]
    # The optional claims returned in the SAML token.
    # 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[]]
    # Directory objects that are owners of the application.
    # The owners are a set of non-admin users who are allowed to modify this object.
    # Requires version 2013-11-08 or newer.
    # Read-only.
    # Nullable.
    # 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[]]
    # Specifies the two-letter ISO country codes.
    # Access to the application will be blocked for minors from the countries specified in this list.
    ${ParentalControlSettingCountriesBlockedForMinors},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Specifies the legal age group rule that applies to users of the app.
    # Can be set to one of the following values: ValueDescriptionAllowDefault.
    # Enforces the legal minimum.
    # This means parental consent is required for minors in the European Union and Korea.RequireConsentForPrivacyServicesEnforces the user to specify date of birth to comply with COPPA rules.
    # RequireConsentForMinorsRequires parental consent for ages below 18, regardless of country minor rules.RequireConsentForKidsRequires parental consent for ages below 14, regardless of country minor rules.BlockMinorsBlocks minors from using the app.
    ${ParentalControlSettingLegalAgeGroupRule},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPasswordCredential[]]
    # The collection of password credentials associated with the application.
    # Not nullable.
    # 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')]
    [System.String[]]
    # Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
    ${PublicClientRedirectUris},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # The verified publisher domain for the application.
    # Read-only.
    ${PublisherDomain},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphRequiredResourceAccess[]]
    # Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources.
    # This pre-configuration of required resource access drives the consent experience.
    # Not nullable.
    # 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]
    # Specifies what Microsoft accounts are supported for the current application.
    # Supported values are:AzureADMyOrg: Users with a Microsoft work or school account in my organization’s Azure AD tenant (i.e.
    # single tenant)AzureADMultipleOrgs: Users with a Microsoft work or school account in any organization’s Azure AD tenant (i.e.
    # multi-tenant) AzureADandPersonalMicrosoftAccount: Users with a personal Microsoft account, or a work or school account in any organization’s Azure AD tenant
    ${SignInAudience},

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphSynchronizationJob[]]
    # .
    # 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[]]
    # .
    # 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[]]
    # .
    # 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[]]
    # Custom strings that can be used to categorize and identify the application.
    # Not nullable.
    ${Tags},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Specifies the keyId of a public key from the keyCredentials collection.
    # When configured, Azure AD encrypts all the tokens it emits by using the key this property points to.
    # The application code that receives the encrypted token must use the matching private key to decrypt the token before it can be used for the signed-in user.
    ${TokenEncryptionKeyId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphTokenIssuancePolicy[]]
    # .
    # To construct, see NOTES section for TOKENISSUANCEPOLICIES properties and create a hash table.
    ${TokenIssuancePolicies},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [Microsoft.Graph.PowerShell.Models.IMicrosoftGraphTokenLifetimePolicy[]]
    # .
    # To construct, see NOTES section for TOKENLIFETIMEPOLICIES properties and create a hash table.
    ${TokenLifetimePolicies},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Home page or landing page of the application.
    ${WebHomePageUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String]
    # Specifies the URL that will be used by Microsoft's authorization service to logout an user using front-channel, back-channel or SAML logout protocols.
    ${WebLogoutUrl},

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

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.PowerShell.Category('Body')]
    [System.String[]]
    # Specifies the URLs where user tokens are sent for sign-in, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent.
    ${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
# MIIjhgYJKoZIhvcNAQcCoIIjdzCCI3MCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCC0yaUDKQYRzr2V
# jaENUOzf8BGzCYsYbt8OxRzaFECBmaCCDYEwggX/MIID56ADAgECAhMzAAABh3IX
# chVZQMcJAAAAAAGHMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjAwMzA0MTgzOTQ3WhcNMjEwMzAzMTgzOTQ3WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDOt8kLc7P3T7MKIhouYHewMFmnq8Ayu7FOhZCQabVwBp2VS4WyB2Qe4TQBT8aB
# znANDEPjHKNdPT8Xz5cNali6XHefS8i/WXtF0vSsP8NEv6mBHuA2p1fw2wB/F0dH
# sJ3GfZ5c0sPJjklsiYqPw59xJ54kM91IOgiO2OUzjNAljPibjCWfH7UzQ1TPHc4d
# weils8GEIrbBRb7IWwiObL12jWT4Yh71NQgvJ9Fn6+UhD9x2uk3dLj84vwt1NuFQ
# itKJxIV0fVsRNR3abQVOLqpDugbr0SzNL6o8xzOHL5OXiGGwg6ekiXA1/2XXY7yV
# Fc39tledDtZjSjNbex1zzwSXAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhov4ZyO96axkJdMjpzu2zVXOJcsw
# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU4Mzg1MB8GA1UdIwQYMBaAFEhu
# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAixmy
# S6E6vprWD9KFNIB9G5zyMuIjZAOuUJ1EK/Vlg6Fb3ZHXjjUwATKIcXbFuFC6Wr4K
# NrU4DY/sBVqmab5AC/je3bpUpjtxpEyqUqtPc30wEg/rO9vmKmqKoLPT37svc2NV
# BmGNl+85qO4fV/w7Cx7J0Bbqk19KcRNdjt6eKoTnTPHBHlVHQIHZpMxacbFOAkJr
# qAVkYZdz7ikNXTxV+GRb36tC4ByMNxE2DF7vFdvaiZP0CVZ5ByJ2gAhXMdK9+usx
# zVk913qKde1OAuWdv+rndqkAIm8fUlRnr4saSCg7cIbUwCCf116wUJ7EuJDg0vHe
# yhnCeHnBbyH3RZkHEi2ofmfgnFISJZDdMAeVZGVOh20Jp50XBzqokpPzeZ6zc1/g
# yILNyiVgE+RPkjnUQshd1f1PMgn3tns2Cz7bJiVUaqEO3n9qRFgy5JuLae6UweGf
# AeOo3dgLZxikKzYs3hDMaEtJq8IP71cX7QXe6lnMmXU/Hdfz2p897Zd+kU+vZvKI
# 3cwLfuVQgK2RZ2z+Kc3K3dRPz2rXycK5XCuRZmvGab/WbrZiC7wJQapgBodltMI5
# GMdFrBg9IeF7/rP4EqVQXeKtevTlZXjpuNhhjuR+2DMt/dWufjXpiW91bo3aH6Ea
# jOALXmoxgltCp1K7hrS6gmsvj94cLRf50QQ4U8Qwggd6MIIFYqADAgECAgphDpDS
# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVWzCCFVcCAQEwgZUwfjELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAYdyF3IVWUDHCQAAAAABhzAN
# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQguOtsnHvm
# JK4kNWucLknXbcnR0mLsD8SiX20MemelzE8wQgYKKwYBBAGCNwIBDDE0MDKgFIAS
# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
# BgkqhkiG9w0BAQEFAASCAQCoxakCvBxBRkU30M+qzAs4e8Fi2w7BrrqinYtxMUXZ
# cY1KdeBCTwEZed7DcZNVQr/A4Hp2JPDQyd8e4Tp6vakDhMgDBFZoHe6GlR9ET4fA
# ahFKxZu+OQc9YJb0a0mbJuadP/nc0sbR8RnDwInbAO8RRCVI5VzJd1qbRjzd3Sid
# Olcppm0s8CtTtMAR3Ias1xOaRQoq2kRlWLUAoqt5/7PsCVw999CxE58CO/WWUEse
# +eKDqQx7zMmRytz0qPkfdAbmyRnjfRubXFSQiPmjmBCjgUyRlD/Zwd8dZ7TC2Bdg
# k0U3+55G1tBDmQWm0IkkqinXtW0YKG4ge84aQDDD7jfCoYIS5TCCEuEGCisGAQQB
# gjcDAwExghLRMIISzQYJKoZIhvcNAQcCoIISvjCCEroCAQMxDzANBglghkgBZQME
# AgEFADCCAVEGCyqGSIb3DQEJEAEEoIIBQASCATwwggE4AgEBBgorBgEEAYRZCgMB
# MDEwDQYJYIZIAWUDBAIBBQAEIJn1aImLgTk/HCTFqiFPOnm28YFS7S7OrWfoVHEf
# yMoyAgZe832TzT8YEzIwMjAwNzIyMDA1MjQ2LjgyNFowBIACAfSggdCkgc0wgcox
# CzAJBgNVBAYTAlVTMQswCQYDVQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg
# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg
# RVNOOjE3OUUtNEJCMC04MjQ2MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
# cCBTZXJ2aWNloIIOPDCCBPEwggPZoAMCAQICEzMAAAEMqnhu3MxCTMEAAAAAAQww
# DQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcN
# MTkxMDIzMjMxOTE2WhcNMjEwMTIxMjMxOTE2WjCByjELMAkGA1UEBhMCVVMxCzAJ
# BgNVBAgTAldBMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg
# Q29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlv
# bnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MTc5RS00QkIwLTgy
# NDYxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0G
# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrnTXX5epUmZAq2LDf2KB4Qy8ItxnV
# +itubGwOSmcI3VKtOEoj6fY+vfOpPMlWB0kUKgqbWSzWC1Ensdovq0OSs7DxcmZ8
# lrHJACW4JD57jQ0j4DjD67n0bLz0BVjmUk2uYK9rqCjN+DWTHDpptXlZav4+MSk0
# KyE7iHG/dSqAxwIqdPZhVJnMXUbLsA+5vV9jQ/W80S44Uqs0IQS9YgpGuqx7IEHv
# cbwoPbLDqN/PRUrE1JEB2ElX+CE7KsO3lr4voLebWumvyyqKh/eKiG/cA0iA2rDp
# 7H7j4b4Hskxsgdsak915t50vp49u4EKduAmgOffjSTRrDqKPbUa+9SeRAgMBAAGj
# ggEbMIIBFzAdBgNVHQ4EFgQUCUI6r0MMhrQDSiqAq0zm+O5l4r4wHwYDVR0jBBgw
# FoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
# L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENB
# XzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAx
# MC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDAN
# BgkqhkiG9w0BAQsFAAOCAQEARPfEGD8hn3N05/BsMYrtwreopi3+pQ6VtEHOB42N
# vfYrzqcZ5EaQF57XR1U4QZZTDoq0F5aHUtDvRvrj+0u2Ityx/0nNoDINhvWxGYyL
# l+NFnvndOq5pPxXs0ntF8S5h+9mW5t9APQxVtTi3Ox1l1i7ETftXYn2k3z2PsagU
# 20CdKcKfUxHEQ0AguC31fN5DNMQOEVhbQ3YM2mFORE9caOkObCLpa2Qnl+/SJPIH
# h3AQL7953SUZsUtzK0mgzB9M0x0fqByceUzOyeKiucYVlrk8+JXvxehn0V66kqjx
# ko0aEsssHkZO2p8d7HmejeKhVKr422G+FfQj9X6JcmyimjCCBnEwggRZoAMCAQIC
# CmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRp
# ZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcwMTIx
# NDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
# A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqGSIb3
# DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUKAIKF
# ++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCIhFRD
# DNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5FfgVSx
# z5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx898Fd1
# rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg16Hgc
# sOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHmMIIB
# 4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8UzaFqF
# bVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
# EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYD
# VR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwv
# cHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEB
# BE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j
# ZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSBlTCB
# kjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1pY3Jv
# c29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwICMDQe
# MiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBuAHQA
# LiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+umzPUx
# vs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM9GAS
# inbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84Dxf1
# L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+tuWO
# M7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yjojz6f32WapB4
# pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUPei45
# V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAeb73x
# 4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4hQEe
# gPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanblrKn
# QqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLFVeNp
# 3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLraNtvT
# X4/edIhJEqGCAs4wggI3AgEBMIH4oYHQpIHNMIHKMQswCQYDVQQGEwJVUzELMAkG
# A1UECBMCV0ExEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
# b3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9u
# cyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxNzlFLTRCQjAtODI0
# NjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcG
# BSsOAwIaAxUAyyD0VD2mA8tcjYt3nPvENLRABn2ggYMwgYCkfjB8MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
# VGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOLBk8wwIhgPMjAy
# MDA3MjIwMDE4MjBaGA8yMDIwMDcyMzAwMTgyMFowdzA9BgorBgEEAYRZCgQBMS8w
# LTAKAgUA4sGTzAIBADAKAgEAAgIL/wIB/zAHAgEAAgISVTAKAgUA4sLlTAIBADA2
# BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIB
# AAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAKKbzIHETFoH7/jGk4d12X0q9o0e9hNH
# g4yJrxOA3A4IRxCdyyb1kpKFgLn8dIQYLUoU33rHSCQjjnYj0mLW6Wd1nUC0rt1r
# OECFubbyaNSVhhUM729ZkgMWocqUu7sM3BzI/6v0R8lXAdxeLHrA+bQVHPJDOVpO
# oRtzTLDuk92kMYIDDTCCAwkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
# dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB
# IDIwMTACEzMAAAEMqnhu3MxCTMEAAAAAAQwwDQYJYIZIAWUDBAIBBQCgggFKMBoG
# CSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQg46h6PyZA
# GpHanzPH7xFn3eRwJGW8mCyRQxwN0wcpX9AwgfoGCyqGSIb3DQEJEAIvMYHqMIHn
# MIHkMIG9BCCDkBYpfszX6bb//5XuqZG+3Ur/DDky67xfMYkGrKBUKTCBmDCBgKR+
# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT
# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABDKp4btzMQkzBAAAA
# AAEMMCIEIG2m5xy9i9XftnijFngVJX3siwSwStUs7m6BX1Ljxr3EMA0GCSqGSIb3
# DQEBCwUABIIBAD02l2r+4vGXBKVCpYgOIxzb1g8unWPIGMVo+bpobwt2NFQzEzTy
# MWoCxPBJ5HYJW8NjN4SJuLmQM5bOyekgY0HLZAzQ9kvHuKfqWZvodvU0enf5LiN8
# NC2pGDA1WxKRXE38IP4OFLzql57eysq9R1Xzmjt0F9e2HPr9OLCojX8zv0PhfYdI
# bzGDsllMfxtqcQQzFEYzyB3wXOoIT8Y/IxhEcORQYtgmBZjN3c3Gdch4t7l2ZXBB
# y6FSlx9sAscihjU7koB3zMq+xfB2NQ/wKvb0SGVa7dDeofMxuw4FZS9PAze3Pzd/
# gKsoeL3m3ENnnqnTf48aCYBPLz+DQpN5zkA=
# SIG # End signature block