Migration/vSphere/Tag/Tag.psm1

class RMVSphereTagBase {
    [string] $Name
    [string] $Identifier

    RMVSphereTagBase ([string] $Name, [string] $Identifier) {
        $this.Name = $Name
        $this.Identifier = $Identifier
    }
}

class RMVSphereTagCategory : RMVSphereTagBase{
    $Tags = @()
    RMVSphereTagCategory ([string] $Name, [string] $Identifier) : base ($Name, $Identifier) {
        $this.Tags = @()
    }

    [RMVSphereTag] AddTag([string] $TagName, [string] $TagIdentifier) {
        $Tag = [RMVSphereTag]::new($TagName, $TagIdentifier)
        $this.Tags += $Tag
        return $Tag
    }
}

class RMVSphereTag : RMVSphereTagBase {
    RMVSphereTag ([string] $Name, [string] $Identifier) : base ($Name, $Identifier) {

    }
}