Model/IdpDetails.ps1
# # Identity Security Cloud V3 API # Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. # Version: 3.0.0 # Generated by OpenAPI Generator: https://openapi-generator.tech # <# .SYNOPSIS No summary available. .DESCRIPTION No description available. .PARAMETER Role Federation protocol role .PARAMETER EntityId An entity ID is a globally unique name for a SAML entity, either an Identity Provider (IDP) or a Service Provider (SP). .PARAMETER Binding Defines the binding used for the SAML flow. Used with IDP configurations. .PARAMETER AuthContext Specifies the SAML authentication method to use. Used with IDP configurations. .PARAMETER LogoutUrl The IDP logout URL. Used with IDP configurations. .PARAMETER IncludeAuthContext Determines if the configured AuthnContext should be used or the default. Used with IDP configurations. .PARAMETER NameId The name id format to use. Used with IDP configurations. .PARAMETER JitConfiguration No description available. .PARAMETER Cert The Base64-encoded certificate used by the IDP. Used with IDP configurations. .PARAMETER LoginUrlPost The IDP POST URL, used with IDP HTTP-POST bindings for IDP-initiated logins. Used with IDP configurations. .PARAMETER LoginUrlRedirect The IDP Redirect URL. Used with IDP configurations. .PARAMETER MappingAttribute Return the saml Id for the given user, based on the IDN as SP settings of the org. Used with IDP configurations. .PARAMETER CertificateExpirationDate The expiration date extracted from the certificate. .PARAMETER CertificateName The name extracted from the certificate. .OUTPUTS IdpDetails<PSCustomObject> #> function Initialize-IdpDetails { [CmdletBinding()] Param ( [Parameter(ValueFromPipelineByPropertyName = $true)] [ValidateSet("SAML_IDP")] [String] ${Role}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${EntityId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Binding}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${AuthContext}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${LogoutUrl}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${IncludeAuthContext} = $false, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${NameId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${JitConfiguration}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Cert}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${LoginUrlPost}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${LoginUrlRedirect}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${MappingAttribute}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${CertificateExpirationDate}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${CertificateName} ) Process { 'Creating PSCustomObject: PSSailpoint.V3 => IdpDetails' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $PSO = [PSCustomObject]@{ "role" = ${Role} "entityId" = ${EntityId} "binding" = ${Binding} "authContext" = ${AuthContext} "logoutUrl" = ${LogoutUrl} "includeAuthContext" = ${IncludeAuthContext} "nameId" = ${NameId} "jitConfiguration" = ${JitConfiguration} "cert" = ${Cert} "loginUrlPost" = ${LoginUrlPost} "loginUrlRedirect" = ${LoginUrlRedirect} "mappingAttribute" = ${MappingAttribute} "certificateExpirationDate" = ${CertificateExpirationDate} "certificateName" = ${CertificateName} } return $PSO } } <# .SYNOPSIS Convert from JSON to IdpDetails<PSCustomObject> .DESCRIPTION Convert from JSON to IdpDetails<PSCustomObject> .PARAMETER Json Json object .OUTPUTS IdpDetails<PSCustomObject> #> function ConvertFrom-JsonToIdpDetails { Param( [AllowEmptyString()] [string]$Json ) Process { 'Converting JSON to PSCustomObject: PSSailpoint.V3 => IdpDetails' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $JsonParameters = ConvertFrom-Json -InputObject $Json # check if Json contains properties not defined in IdpDetails $AllProperties = ("role", "entityId", "binding", "authContext", "logoutUrl", "includeAuthContext", "nameId", "jitConfiguration", "cert", "loginUrlPost", "loginUrlRedirect", "mappingAttribute", "certificateExpirationDate", "certificateName") foreach ($name in $JsonParameters.PsObject.Properties.Name) { if (!($AllProperties.Contains($name))) { throw "Error! JSON key '$name' not found in the properties: $($AllProperties)" } } if (!([bool]($JsonParameters.PSobject.Properties.name -match "role"))) { #optional property not found $Role = $null } else { $Role = $JsonParameters.PSobject.Properties["role"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "entityId"))) { #optional property not found $EntityId = $null } else { $EntityId = $JsonParameters.PSobject.Properties["entityId"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "binding"))) { #optional property not found $Binding = $null } else { $Binding = $JsonParameters.PSobject.Properties["binding"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "authContext"))) { #optional property not found $AuthContext = $null } else { $AuthContext = $JsonParameters.PSobject.Properties["authContext"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "logoutUrl"))) { #optional property not found $LogoutUrl = $null } else { $LogoutUrl = $JsonParameters.PSobject.Properties["logoutUrl"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "includeAuthContext"))) { #optional property not found $IncludeAuthContext = $null } else { $IncludeAuthContext = $JsonParameters.PSobject.Properties["includeAuthContext"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "nameId"))) { #optional property not found $NameId = $null } else { $NameId = $JsonParameters.PSobject.Properties["nameId"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "jitConfiguration"))) { #optional property not found $JitConfiguration = $null } else { $JitConfiguration = $JsonParameters.PSobject.Properties["jitConfiguration"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "cert"))) { #optional property not found $Cert = $null } else { $Cert = $JsonParameters.PSobject.Properties["cert"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "loginUrlPost"))) { #optional property not found $LoginUrlPost = $null } else { $LoginUrlPost = $JsonParameters.PSobject.Properties["loginUrlPost"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "loginUrlRedirect"))) { #optional property not found $LoginUrlRedirect = $null } else { $LoginUrlRedirect = $JsonParameters.PSobject.Properties["loginUrlRedirect"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "mappingAttribute"))) { #optional property not found $MappingAttribute = $null } else { $MappingAttribute = $JsonParameters.PSobject.Properties["mappingAttribute"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "certificateExpirationDate"))) { #optional property not found $CertificateExpirationDate = $null } else { $CertificateExpirationDate = $JsonParameters.PSobject.Properties["certificateExpirationDate"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "certificateName"))) { #optional property not found $CertificateName = $null } else { $CertificateName = $JsonParameters.PSobject.Properties["certificateName"].value } $PSO = [PSCustomObject]@{ "role" = ${Role} "entityId" = ${EntityId} "binding" = ${Binding} "authContext" = ${AuthContext} "logoutUrl" = ${LogoutUrl} "includeAuthContext" = ${IncludeAuthContext} "nameId" = ${NameId} "jitConfiguration" = ${JitConfiguration} "cert" = ${Cert} "loginUrlPost" = ${LoginUrlPost} "loginUrlRedirect" = ${LoginUrlRedirect} "mappingAttribute" = ${MappingAttribute} "certificateExpirationDate" = ${CertificateExpirationDate} "certificateName" = ${CertificateName} } return $PSO } } |