machine-accounts/src/PSSailpoint.MachineAccounts/Model/MachineAccountEntitlement.ps1
|
# # SailPoint Identity Security API - Machine Accounts # Use these APIs to interact with the SailPoint Identity Security 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 An entitlement held by a machine account. .PARAMETER Name Name of the Object .PARAMETER Attribute The name of the account attribute that holds the entitlement. .PARAMETER Value The value of the entitlement. .PARAMETER Description The description of the entitlement. .PARAMETER SourceSchemaObjectType The source schema object type of the entitlement. .PARAMETER Privileged Indicates whether the entitlement is privileged. .PARAMETER CloudGoverned Indicates whether the entitlement is governed in the cloud. .PARAMETER Requestable Indicates whether the entitlement can be requested. .PARAMETER Attributes Additional attributes of the entitlement. .PARAMETER Source The source the entitlement belongs to. .PARAMETER Owner The owner of the entitlement. .OUTPUTS MachineAccountEntitlement<PSCustomObject> #> function Initialize-MachineAccountEntitlement { [CmdletBinding()] Param ( [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Name}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Attribute}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Value}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${Description}, [Parameter(ValueFromPipelineByPropertyName = $true)] [String] ${SourceSchemaObjectType}, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${Privileged} = $false, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${CloudGoverned} = $false, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Nullable[Boolean]] ${Requestable} = $false, [Parameter(ValueFromPipelineByPropertyName = $true)] [System.Collections.Hashtable] ${Attributes}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${Source}, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSCustomObject] ${Owner} ) Process { 'Creating PSCustomObject: PSSailpoint.MachineAccounts => MachineAccountEntitlement' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $PSO = [PSCustomObject]@{ "name" = ${Name} "attribute" = ${Attribute} "value" = ${Value} "description" = ${Description} "sourceSchemaObjectType" = ${SourceSchemaObjectType} "privileged" = ${Privileged} "cloudGoverned" = ${CloudGoverned} "requestable" = ${Requestable} "attributes" = ${Attributes} "source" = ${Source} "owner" = ${Owner} } return $PSO } } <# .SYNOPSIS Convert from JSON to MachineAccountEntitlement<PSCustomObject> .DESCRIPTION Convert from JSON to MachineAccountEntitlement<PSCustomObject> .PARAMETER Json Json object .OUTPUTS MachineAccountEntitlement<PSCustomObject> #> function ConvertFrom-JsonToMachineAccountEntitlement { Param( [AllowEmptyString()] [string]$Json ) Process { 'Converting JSON to PSCustomObject: PSSailpoint.MachineAccounts => MachineAccountEntitlement' | Write-Debug $PSBoundParameters | Out-DebugParameter | Write-Debug $JsonParameters = ConvertFrom-Json -InputObject $Json # check if Json contains properties not defined in MachineAccountEntitlement $AllProperties = ("id", "name", "created", "modified", "attribute", "value", "description", "sourceSchemaObjectType", "privileged", "cloudGoverned", "requestable", "attributes", "source", "owner") 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 'name' missing." } if (!([bool]($JsonParameters.PSobject.Properties.name -match "name"))) { throw "Error! JSON cannot be serialized due to the required property 'name' missing." } else { $Name = $JsonParameters.PSobject.Properties["name"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "id"))) { #optional property not found $Id = $null } else { $Id = $JsonParameters.PSobject.Properties["id"].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 "attribute"))) { #optional property not found $Attribute = $null } else { $Attribute = $JsonParameters.PSobject.Properties["attribute"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "value"))) { #optional property not found $Value = $null } else { $Value = $JsonParameters.PSobject.Properties["value"].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 "sourceSchemaObjectType"))) { #optional property not found $SourceSchemaObjectType = $null } else { $SourceSchemaObjectType = $JsonParameters.PSobject.Properties["sourceSchemaObjectType"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "privileged"))) { #optional property not found $Privileged = $null } else { $Privileged = $JsonParameters.PSobject.Properties["privileged"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "cloudGoverned"))) { #optional property not found $CloudGoverned = $null } else { $CloudGoverned = $JsonParameters.PSobject.Properties["cloudGoverned"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "requestable"))) { #optional property not found $Requestable = $null } else { $Requestable = $JsonParameters.PSobject.Properties["requestable"].value } if (!([bool]($JsonParameters.PSobject.Properties.name -match "attributes"))) { #optional property not found $Attributes = $null } else { $Attributes = $JsonParameters.PSobject.Properties["attributes"].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 "owner"))) { #optional property not found $Owner = $null } else { $Owner = $JsonParameters.PSobject.Properties["owner"].value } $PSO = [PSCustomObject]@{ "id" = ${Id} "name" = ${Name} "created" = ${Created} "modified" = ${Modified} "attribute" = ${Attribute} "value" = ${Value} "description" = ${Description} "sourceSchemaObjectType" = ${SourceSchemaObjectType} "privileged" = ${Privileged} "cloudGoverned" = ${CloudGoverned} "requestable" = ${Requestable} "attributes" = ${Attributes} "source" = ${Source} "owner" = ${Owner} } return $PSO } } |