Public/Assets/ObjectType/Get-AtlassianCloudAssetsObjectType.ps1
function Get-AtlassianCloudAssetsObjectType { [CmdletBinding()] param( [Parameter(Mandatory = $false, Position=0)] [string]$Id, [Parameter(Mandatory = $false, Position=0)] [psobject]$Schema, [Parameter(Mandatory, Position=1)] [ValidateNotNullOrEmpty()] [string]$WorkspaceId, [Parameter(Mandatory, Position=2)] [ValidateNotNullOrEmpty()] [string]$Pat, [Parameter()] [switch]$Attributes ) if ($Id) { $objectTypes = Get-AtlassianCloudAssetsEntity -Endpoint "objecttype/$Id" -WorkspaceId $workspaceId -Pat $pat -Verbose:($Verbose.IsPresent) } if ($Schema) { $objectTypes = Get-AtlassianCloudAssetsEntity -Endpoint "objectschema/$($Schema.id)/objecttypes" -WorkspaceId $workspaceId -Pat $pat -Verbose:($Verbose.IsPresent) } if ($objectTypes) { if ($Attributes) { $objectTypesWithAttributes = @() foreach ($objectType in $objectTypes) { $objectTypeWithAttributes = @{ id = $objectType.id name = $objectType.name type = $objectType.type description = $objectType.description icon = $objectType.icon position = $objectType.position created = $objectType.created updated = $objectType.updated objectCount = $objectType.objectCount objectSchemaId = $objectType.objectSchemaId inherited = $objectType.inherited abstractObjectType = $objectType.abstractObjectType parentObjectTypeInherited = $objectType.parentObjectTypeInherited attributes = Get-AtlassianCloudAssetsObjectTypeAttribute -Id $objectType.id -WorkspaceId $workspaceId -Pat $pat -Verbose:($Verbose.IsPresent) } $objectTypesWithAttributes += $objectTypeWithAttributes } return $objectTypesWithAttributes } else { return $objectTypes } } } |