VaporShell.NetworkManager.Classes.ps1

using namespace System
using namespace System.Collections
using namespace System.Collections.Generic
using namespace System.IO
using namespace System.Management.Automation
[CmdletBinding()]
Param()

Write-Verbose "Importing class 'NetworkManagerDeviceLocation'"

class NetworkManagerDeviceLocation : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSNetworkManagerDeviceLocation'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-location.html'

    hidden [object] $_address
    hidden [object] $_latitude
    hidden [object] $_longitude

    [string] $Address
    [string] $Latitude
    [string] $Longitude

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Address -Value {
            $this._address
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._address = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Latitude -Value {
            $this._latitude
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._latitude = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Longitude -Value {
            $this._longitude
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._longitude = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    NetworkManagerDeviceLocation() : base() {}
    NetworkManagerDeviceLocation([IDictionary] $props) : base($props) {}
    NetworkManagerDeviceLocation([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'NetworkManagerLinkBandwidth'"

class NetworkManagerLinkBandwidth : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSNetworkManagerLinkBandwidth'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html'

    hidden [object] $_downloadSpeed
    hidden [object] $_uploadSpeed

    [int] $DownloadSpeed
    [int] $UploadSpeed

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DownloadSpeed -Value {
            $this._downloadSpeed
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._downloadSpeed = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name UploadSpeed -Value {
            $this._uploadSpeed
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._uploadSpeed = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

    NetworkManagerLinkBandwidth() : base() {}
    NetworkManagerLinkBandwidth([IDictionary] $props) : base($props) {}
    NetworkManagerLinkBandwidth([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'NetworkManagerSiteLocation'"

class NetworkManagerSiteLocation : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSNetworkManagerSiteLocation'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html'

    hidden [object] $_address
    hidden [object] $_latitude
    hidden [object] $_longitude

    [string] $Address
    [string] $Latitude
    [string] $Longitude

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Address -Value {
            $this._address
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._address = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Latitude -Value {
            $this._latitude
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._latitude = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Longitude -Value {
            $this._longitude
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._longitude = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    NetworkManagerSiteLocation() : base() {}
    NetworkManagerSiteLocation([IDictionary] $props) : base($props) {}
    NetworkManagerSiteLocation([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'NetworkManagerLink'"

class NetworkManagerLink : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSNetworkManagerLink'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html'

    hidden [string[]] $_attributes = @('LinkArn','LinkId')
    hidden [object] $_condition

    [string] $Type = 'AWS::NetworkManager::Link'
    [string] $GlobalNetworkId
    [string] $SiteId
    [NetworkManagerLinkBandwidth] $Bandwidth
    [string] $Provider
    [string] $Description
    [VSTag[]] $Tags
    [string] $LinkType
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name GlobalNetworkId -Value {
            $this.Properties['GlobalNetworkId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GlobalNetworkId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SiteId -Value {
            $this.Properties['SiteId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SiteId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Bandwidth -Value {
            $this.Properties['Bandwidth']
        } -SecondValue {
            param([ValidateType(([NetworkManagerLinkBandwidth], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Bandwidth'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Provider -Value {
            $this.Properties['Provider']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Provider'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([TransformTag()] [ValidateType(([IDictionary], [psobject], [VSTag]))] [object] $value)
            $this.Properties['Tags'] = [VSTag]::TransformTag($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LinkType -Value {
            $this.Properties['LinkType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LinkType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    NetworkManagerLink() : base() {}
    NetworkManagerLink([IDictionary] $props) : base($props) {}
    NetworkManagerLink([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'NetworkManagerCustomerGatewayAssociation'"

class NetworkManagerCustomerGatewayAssociation : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSNetworkManagerCustomerGatewayAssociation'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::NetworkManager::CustomerGatewayAssociation'
    [string] $GlobalNetworkId
    [string] $CustomerGatewayArn
    [string] $DeviceId
    [string] $LinkId
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name GlobalNetworkId -Value {
            $this.Properties['GlobalNetworkId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GlobalNetworkId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CustomerGatewayArn -Value {
            $this.Properties['CustomerGatewayArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CustomerGatewayArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeviceId -Value {
            $this.Properties['DeviceId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeviceId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LinkId -Value {
            $this.Properties['LinkId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LinkId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    NetworkManagerCustomerGatewayAssociation() : base() {}
    NetworkManagerCustomerGatewayAssociation([IDictionary] $props) : base($props) {}
    NetworkManagerCustomerGatewayAssociation([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'NetworkManagerLinkAssociation'"

class NetworkManagerLinkAssociation : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSNetworkManagerLinkAssociation'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::NetworkManager::LinkAssociation'
    [string] $GlobalNetworkId
    [string] $DeviceId
    [string] $LinkId
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name GlobalNetworkId -Value {
            $this.Properties['GlobalNetworkId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GlobalNetworkId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeviceId -Value {
            $this.Properties['DeviceId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeviceId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LinkId -Value {
            $this.Properties['LinkId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LinkId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    NetworkManagerLinkAssociation() : base() {}
    NetworkManagerLinkAssociation([IDictionary] $props) : base($props) {}
    NetworkManagerLinkAssociation([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'NetworkManagerDevice'"

class NetworkManagerDevice : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSNetworkManagerDevice'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html'

    hidden [string[]] $_attributes = @('DeviceArn','DeviceId')
    hidden [object] $_condition

    [string] $Type = 'AWS::NetworkManager::Device'
    [string] $Description
    [VSTag[]] $Tags
    [string] $GlobalNetworkId
    [NetworkManagerDeviceLocation] $Location
    [string] $Model
    [string] $SerialNumber
    [string] $SiteId
    [string] $DeviceType
    [string] $Vendor
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([TransformTag()] [ValidateType(([IDictionary], [psobject], [VSTag]))] [object] $value)
            $this.Properties['Tags'] = [VSTag]::TransformTag($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GlobalNetworkId -Value {
            $this.Properties['GlobalNetworkId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GlobalNetworkId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Location -Value {
            $this.Properties['Location']
        } -SecondValue {
            param([ValidateType(([NetworkManagerDeviceLocation], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Location'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Model -Value {
            $this.Properties['Model']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Model'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SerialNumber -Value {
            $this.Properties['SerialNumber']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SerialNumber'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SiteId -Value {
            $this.Properties['SiteId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SiteId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeviceType -Value {
            $this.Properties['DeviceType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DeviceType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Vendor -Value {
            $this.Properties['Vendor']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Vendor'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    NetworkManagerDevice() : base() {}
    NetworkManagerDevice([IDictionary] $props) : base($props) {}
    NetworkManagerDevice([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'NetworkManagerGlobalNetwork'"

class NetworkManagerGlobalNetwork : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSNetworkManagerGlobalNetwork'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html'

    hidden [string[]] $_attributes = @('Arn','Id')
    hidden [object] $_condition

    [string] $Type = 'AWS::NetworkManager::GlobalNetwork'
    [string] $Description
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([TransformTag()] [ValidateType(([IDictionary], [psobject], [VSTag]))] [object] $value)
            $this.Properties['Tags'] = [VSTag]::TransformTag($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    NetworkManagerGlobalNetwork() : base() {}
    NetworkManagerGlobalNetwork([IDictionary] $props) : base($props) {}
    NetworkManagerGlobalNetwork([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'NetworkManagerTransitGatewayRegistration'"

class NetworkManagerTransitGatewayRegistration : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSNetworkManagerTransitGatewayRegistration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::NetworkManager::TransitGatewayRegistration'
    [string] $GlobalNetworkId
    [string] $TransitGatewayArn
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name GlobalNetworkId -Value {
            $this.Properties['GlobalNetworkId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GlobalNetworkId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TransitGatewayArn -Value {
            $this.Properties['TransitGatewayArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TransitGatewayArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    NetworkManagerTransitGatewayRegistration() : base() {}
    NetworkManagerTransitGatewayRegistration([IDictionary] $props) : base($props) {}
    NetworkManagerTransitGatewayRegistration([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'NetworkManagerSite'"

class NetworkManagerSite : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSNetworkManagerSite'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html'

    hidden [string[]] $_attributes = @('SiteArn','SiteId')
    hidden [object] $_condition

    [string] $Type = 'AWS::NetworkManager::Site'
    [string] $Description
    [VSTag[]] $Tags
    [string] $GlobalNetworkId
    [NetworkManagerSiteLocation] $Location
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([TransformTag()] [ValidateType(([IDictionary], [psobject], [VSTag]))] [object] $value)
            $this.Properties['Tags'] = [VSTag]::TransformTag($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GlobalNetworkId -Value {
            $this.Properties['GlobalNetworkId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GlobalNetworkId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Location -Value {
            $this.Properties['Location']
        } -SecondValue {
            param([ValidateType(([NetworkManagerSiteLocation], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Location'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    NetworkManagerSite() : base() {}
    NetworkManagerSite([IDictionary] $props) : base($props) {}
    NetworkManagerSite([psobject] $props) : base($props) {}
}