intelligence/src/PSSailpoint.Intelligence/Model/Intelidentitymachineaggregate.ps1
|
# # Identity Security Cloud API - Intelligence # 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: v1 # Generated by OpenAPI Generator: https://openapi-generator.tech # <# .SYNOPSIS No summary available. .DESCRIPTION Non-human identity response (type NHI). Machine identity fields are hoisted to the top level (no machine wrapper). Omits human-only fields and slices (email, alias, privilegedAccess, outliers, accessHistory). Top-level sourceId is omitted; use source.id when present. matchConfidence is present for opaque prefix resolution (exact or partial); omitted for direct id eq and exact opaque matches. The identityGraph deep link is omitted when the tenant lacks the idg:base license. .PARAMETER Id Identity Security Cloud identifier for this non-human identity. .PARAMETER Type Identity type for the matched record. .PARAMETER DisplayName Preferred display name for the non-human identity. .PARAMETER Description Optional description from upstream when present. .PARAMETER Subtype Sub-classification label for that NHI. .PARAMETER Created Timestamp when the identity record was created in Identity Security Cloud. .PARAMETER Modified Timestamp when the identity record was last modified in Identity Security Cloud. .PARAMETER MatchConfidence Match quality for opaque prefix resolution; omitted for direct id eq and exact opaque matches. .PARAMETER IdentityGraph Omitted when the tenant lacks the idg:base license. .PARAMETER Accounts No description available. .PARAMETER NativeIdentity Native identifier on the source system. .PARAMETER DatasetId Dataset identifier from upstream machine-identity services when present. .PARAMETER Source Source metadata for the machine identity when present upstream. .PARAMETER ExistsOnSource Upstream existsOnSource value. Wire uses uppercase strings such as TRUE or FALSE. .PARAMETER ManuallyEdited True when an administrator manually edited machine identity attributes. .PARAMETER ManuallyCreated True when the machine identity was created manually in Identity Security Cloud. .PARAMETER Owners No description available. .PARAMETER UserEntitlements Entitlements associated with the machine identity from upstream. .PARAMETER Attributes Connector or runtime metadata; empty object when absent upstream. .PARAMETER Derived No description available. .OUTPUTS Intelidentitymachineaggregate<PSCustomObject> #> function Initialize-Intelidentitymachineaggregate { [CmdletBinding()] Param ( [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Id}, [Parameter(ValueFromPipelineByPropertyName = $true)] [ValidateSet("NHI")] [String] ${Type}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${DisplayName}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Description}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Subtype}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[System.DateTime]] ${Created}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[System.DateTime]] ${Modified}, [Parameter(ValueFromPipelineByPropertyName = $true)] [ValidateSet("exact", "partial")] [String] ${MatchConfidence}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${IdentityGraph}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${Accounts}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${NativeIdentity}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${DatasetId}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${Source}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${ExistsOnSource}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${ManuallyEdited} = $false, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${ManuallyCreated} = $false, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${Owners}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject[]] ${UserEntitlements}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Collections.Hashtable] ${Attributes}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${Derived} ) Process { 'Creating PSCustomObject: PSSailpoint.Intelligence => Intelidentitymachineaggregate' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug if (!$Id) { throw "invalid value for 'Id', 'Id' cannot be null." } if (!$Type) { throw "invalid value for 'Type', 'Type' cannot be null." } if (!$Accounts) { throw "invalid value for 'Accounts', 'Accounts' cannot be null." } if (!$NativeIdentity) { throw "invalid value for 'NativeIdentity', 'NativeIdentity' cannot be null." } if (!$Owners) { throw "invalid value for 'Owners', 'Owners' cannot be null." } if (!$Attributes) { throw "invalid value for 'Attributes', 'Attributes' cannot be null." } if (!$Derived) { throw "invalid value for 'Derived', 'Derived' cannot be null." } $PSO = [PSCustomObject]@{ "id" = ${Id} "type" = ${Type} "displayName" = ${DisplayName} "description" = ${Description} "subtype" = ${Subtype} "created" = ${Created} "modified" = ${Modified} "matchConfidence" = ${MatchConfidence} "identityGraph" = ${IdentityGraph} "accounts" = ${Accounts} "nativeIdentity" = ${NativeIdentity} "datasetId" = ${DatasetId} "source" = ${Source} "existsOnSource" = ${ExistsOnSource} "manuallyEdited" = ${ManuallyEdited} "manuallyCreated" = ${ManuallyCreated} "owners" = ${Owners} "userEntitlements" = ${UserEntitlements} "attributes" = ${Attributes} "derived" = ${Derived} } return $PSO } } <# .SYNOPSIS Convert from JSON to Intelidentitymachineaggregate<PSCustomObject> .DESCRIPTION Convert from JSON to Intelidentitymachineaggregate<PSCustomObject> .PARAMETER Json Json object .OUTPUTS Intelidentitymachineaggregate<PSCustomObject> #> function ConvertFrom-JsonToIntelidentitymachineaggregate { Param( [AllowEmptyString()] [string]$Json ) Process { 'Converting JSON to PSCustomObject: PSSailpoint.Intelligence => Intelidentitymachineaggregate' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $JsonParameters = ConvertFrom-Json -InputObject $Json # check if Json contains properties not defined in Intelidentitymachineaggregate $AllProperties = ("id", "type", "displayName", "description", "subtype", "created", "modified", "matchConfidence", "identityGraph", "accounts", "nativeIdentity", "datasetId", "source", "existsOnSource", "manuallyEdited", "manuallyCreated", "owners", "userEntitlements", "attributes", "derived") foreach ($name in $JsonParameters.PsObject.Properties.Name) { if (!($AllProperties.Contains($name))) { throw "Error! JSON key '$name' not found in the properties: $($AllProperties)" } } If ([string]::IsNullOrEmpty($Json) -or $Json -eq "{}") { # empty json throw "Error! Empty JSON cannot be serialized due to the required property 'id' missing." } if (!([bool]($JsonParameters.PSobject.Properties.name -match "id"))) { throw "Error! JSON cannot be serialized due to the required property 'id' missing." } else { $Id = $JsonParameters.PSobject.Properties["id"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "type"))) { throw "Error! JSON cannot be serialized due to the required property 'type' missing." } else { $Type = $JsonParameters.PSobject.Properties["type"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "accounts"))) { throw "Error! JSON cannot be serialized due to the required property 'accounts' missing." } else { $Accounts = $JsonParameters.PSobject.Properties["accounts"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "nativeIdentity"))) { throw "Error! JSON cannot be serialized due to the required property 'nativeIdentity' missing." } else { $NativeIdentity = $JsonParameters.PSobject.Properties["nativeIdentity"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "owners"))) { throw "Error! JSON cannot be serialized due to the required property 'owners' missing." } else { $Owners = $JsonParameters.PSobject.Properties["owners"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "attributes"))) { throw "Error! JSON cannot be serialized due to the required property 'attributes' missing." } else { $Attributes = $JsonParameters.PSobject.Properties["attributes"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "derived"))) { throw "Error! JSON cannot be serialized due to the required property 'derived' missing." } else { $Derived = $JsonParameters.PSobject.Properties["derived"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "displayName"))) { #optional property not found $DisplayName = $null } else { $DisplayName = $JsonParameters.PSobject.Properties["displayName"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "description"))) { #optional property not found $Description = $null } else { $Description = $JsonParameters.PSobject.Properties["description"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "subtype"))) { #optional property not found $Subtype = $null } else { $Subtype = $JsonParameters.PSobject.Properties["subtype"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "created"))) { #optional property not found $Created = $null } else { $Created = $JsonParameters.PSobject.Properties["created"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "modified"))) { #optional property not found $Modified = $null } else { $Modified = $JsonParameters.PSobject.Properties["modified"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "matchConfidence"))) { #optional property not found $MatchConfidence = $null } else { $MatchConfidence = $JsonParameters.PSobject.Properties["matchConfidence"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "identityGraph"))) { #optional property not found $IdentityGraph = $null } else { $IdentityGraph = $JsonParameters.PSobject.Properties["identityGraph"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "datasetId"))) { #optional property not found $DatasetId = $null } else { $DatasetId = $JsonParameters.PSobject.Properties["datasetId"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "source"))) { #optional property not found $Source = $null } else { $Source = $JsonParameters.PSobject.Properties["source"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "existsOnSource"))) { #optional property not found $ExistsOnSource = $null } else { $ExistsOnSource = $JsonParameters.PSobject.Properties["existsOnSource"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "manuallyEdited"))) { #optional property not found $ManuallyEdited = $null } else { $ManuallyEdited = $JsonParameters.PSobject.Properties["manuallyEdited"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "manuallyCreated"))) { #optional property not found $ManuallyCreated = $null } else { $ManuallyCreated = $JsonParameters.PSobject.Properties["manuallyCreated"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "userEntitlements"))) { #optional property not found $UserEntitlements = $null } else { $UserEntitlements = $JsonParameters.PSobject.Properties["userEntitlements"].value } $PSO = [PSCustomObject]@{ "id" = ${Id} "type" = ${Type} "displayName" = ${DisplayName} "description" = ${Description} "subtype" = ${Subtype} "created" = ${Created} "modified" = ${Modified} "matchConfidence" = ${MatchConfidence} "identityGraph" = ${IdentityGraph} "accounts" = ${Accounts} "nativeIdentity" = ${NativeIdentity} "datasetId" = ${DatasetId} "source" = ${Source} "existsOnSource" = ${ExistsOnSource} "manuallyEdited" = ${ManuallyEdited} "manuallyCreated" = ${ManuallyCreated} "owners" = ${Owners} "userEntitlements" = ${UserEntitlements} "attributes" = ${Attributes} "derived" = ${Derived} } return $PSO } } |