Migration/vSphere/RiverMeadow.VSphereVMTag/RiverMeadow.VSphereVMTag.psm1
class RMVSphereTagCategory { [string] $CategoryName [string] $Identifier $Tags = @() RMVSphereTagCategory () { $this.CategoryName = $null $this.Identifier = $null } RMVSphereTagCategory ([string] $CategoryName) { $this.CategoryName = $CategoryName $this.Identifier = $null } RMVSphereTagCategory ([string] $Name, [string] $Identifier) { $this.CategoryName = $Name $this.Identifier = $Identifier $this.Tags = @() } [RMVSphereTag] AddTag([string] $TagName, [string] $TagIdentifier) { $Tag = [RMVSphereTag]::new($TagName) $Tag.SetTagIdentifier($TagIdentifier) $this.Tags += $Tag return $Tag } [string] GetCategoryName() { return $this.CategoryName } } class RMVSphereTag { [string] $Name [string] $Identifier [RMVSphereTagCategory] $RMVSphereTagCategory RMVSphereTag() { $this.Name = $null $this.Identifier = $null $this.RMVSphereTagCategory = $null } RMVSphereTag ([string] $Name) { $this.Name = $Name $this.Identifier = $null $this.RMVSphereTagCategory = $null } RMVSphereTag ([string] $Name, [string] $CategoryName) { $this.Name = $Name $this.RMVSphereTagCategory = [RMVSphereTagCategory]::new($CategoryName) $this.Identifier = $null } [void] SetTagName([string] $Name) { $this.Name = $Name } [void] SetTagIdentifier([string] $Identifier) { $this.Identifier = $Identifier } [string] GetTagName() { return $this.Name } [string] GetTagIdentifier() { return $this.Identifier } } |