VaporShell.LicenseManager.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 'LicenseManagerLicenseRule'"

class LicenseManagerLicenseRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-rule.html'

    hidden [object] $_name
    hidden [object] $_value
    hidden [object] $_unit

    [string] $Name
    [string] $Value
    [string] $Unit

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Value -Value {
            $this._value
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._value = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Unit -Value {
            $this._unit
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._unit = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerLicenseProvisionalConfiguration'"

class LicenseManagerLicenseProvisionalConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseProvisionalConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-provisionalconfiguration.html'

    hidden [object] $_maxTimeToLiveInMinutes

    [int] $MaxTimeToLiveInMinutes

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

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

Write-Verbose "Importing class 'LicenseManagerLicenseConsumptionConfiguration'"

class LicenseManagerLicenseConsumptionConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseConsumptionConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-consumptionconfiguration.html'

    hidden [object] $_renewType
    hidden [object] $_provisionalConfiguration
    hidden [object] $_borrowConfiguration

    [string] $RenewType
    [LicenseManagerLicenseProvisionalConfiguration] $ProvisionalConfiguration
    [LicenseManagerLicenseBorrowConfiguration] $BorrowConfiguration

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name RenewType -Value {
            $this._renewType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._renewType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ProvisionalConfiguration -Value {
            $this._provisionalConfiguration
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseProvisionalConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._provisionalConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BorrowConfiguration -Value {
            $this._borrowConfiguration
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseBorrowConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._borrowConfiguration = $value
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerLicenseIssuerData'"

class LicenseManagerLicenseIssuerData : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseIssuerData'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-issuerdata.html'

    hidden [object] $_name
    hidden [object] $_signKey

    [string] $Name
    [string] $SignKey

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

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

Write-Verbose "Importing class 'LicenseManagerGrantFilter'"

class LicenseManagerGrantFilter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerGrantFilter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-grant-filter.html'

    hidden [object] $_name
    hidden [object] $_values

    [string] $Name
    [LicenseManagerGrantStringList] $Values

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Values -Value {
            $this._values
        } -SecondValue {
            param([ValidateType(([LicenseManagerGrantStringList], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._values = $value
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerLicenseBorrowConfiguration'"

class LicenseManagerLicenseBorrowConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseBorrowConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-borrowconfiguration.html'

    hidden [object] $_maxTimeToLiveInMinutes
    hidden [object] $_allowEarlyCheckIn

    [int] $MaxTimeToLiveInMinutes
    [bool] $AllowEarlyCheckIn

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

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

Write-Verbose "Importing class 'LicenseManagerLicenseMetadata'"

class LicenseManagerLicenseMetadata : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseMetadata'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-metadata.html'

    hidden [object] $_name
    hidden [object] $_value

    [string] $Name
    [string] $Value

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

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

Write-Verbose "Importing class 'LicenseManagerLicenseEntitlement'"

class LicenseManagerLicenseEntitlement : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseEntitlement'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-entitlement.html'

    hidden [object] $_name
    hidden [object] $_value
    hidden [object] $_maxCount
    hidden [object] $_overage
    hidden [object] $_unit
    hidden [object] $_allowCheckIn
    hidden [object] $_checkoutRules

    [string] $Name
    [string] $Value
    [int] $MaxCount
    [bool] $Overage
    [string] $Unit
    [bool] $AllowCheckIn
    [LicenseManagerLicenseRuleList] $CheckoutRules

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Value -Value {
            $this._value
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._value = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxCount -Value {
            $this._maxCount
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maxCount = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Overage -Value {
            $this._overage
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._overage = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Unit -Value {
            $this._unit
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._unit = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AllowCheckIn -Value {
            $this._allowCheckIn
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._allowCheckIn = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CheckoutRules -Value {
            $this._checkoutRules
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseRuleList], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._checkoutRules = $value
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerLicenseValidityDateFormat'"

class LicenseManagerLicenseValidityDateFormat : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseValidityDateFormat'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-validitydateformat.html'

    hidden [object] $_begin
    hidden [object] $_end

    [string] $Begin
    [string] $End

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Begin -Value {
            $this._begin
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._begin = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name End -Value {
            $this._end
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._end = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerLicenseRuleList'"

class LicenseManagerLicenseRuleList : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseRuleList'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-rulelist.html'

    hidden [object] $_ruleList

    [LicenseManagerLicenseRule[]] $RuleList

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name RuleList -Value {
            $this._ruleList
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseRule], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._ruleList = $value
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerLicenseStringList'"

class LicenseManagerLicenseStringList : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseStringList'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-stringlist.html'

    hidden [object] $_stringList

    [string[]] $StringList

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name StringList -Value {
            $this._stringList
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._stringList = @($value)
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerLicenseFilter'"

class LicenseManagerLicenseFilter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerLicenseFilter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-filter.html'

    hidden [object] $_name
    hidden [object] $_values

    [string] $Name
    [LicenseManagerLicenseStringList] $Values

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Values -Value {
            $this._values
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseStringList], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._values = $value
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerGrantStringList'"

class LicenseManagerGrantStringList : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSLicenseManagerGrantStringList'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-grant-stringlist.html'

    hidden [object] $_stringList

    [string[]] $StringList

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name StringList -Value {
            $this._stringList
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._stringList = @($value)
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerLicense'"

class LicenseManagerLicense : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSLicenseManagerLicense'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html'

    hidden [string[]] $_attributes = @('LicenseArn')
    hidden [object] $_condition

    [string] $Type = 'AWS::LicenseManager::License'
    [string] $ProductSKU
    [LicenseManagerLicenseIssuerData] $Issuer
    [string] $LicenseName
    [string] $ProductName
    [string] $HomeRegion
    [LicenseManagerLicenseValidityDateFormat] $Validity
    [LicenseManagerLicenseEntitlement[]] $Entitlements
    [string] $Beneficiary
    [LicenseManagerLicenseConsumptionConfiguration] $ConsumptionConfiguration
    [LicenseManagerLicenseMetadata[]] $LicenseMetadata
    [string] $ClientToken
    [VSTag[]] $Tags
    [string[]] $LicenseArns
    [string] $Status
    [string] $SourceVersion
    [LicenseManagerLicenseFilter[]] $Filters
    [int] $MaxResults
    [string] $NextToken
    [string] $Version
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ProductSKU -Value {
            $this.Properties['ProductSKU']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ProductSKU'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Issuer -Value {
            $this.Properties['Issuer']
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseIssuerData], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Issuer'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LicenseName -Value {
            $this.Properties['LicenseName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LicenseName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ProductName -Value {
            $this.Properties['ProductName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ProductName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HomeRegion -Value {
            $this.Properties['HomeRegion']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HomeRegion'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Validity -Value {
            $this.Properties['Validity']
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseValidityDateFormat], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Validity'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Entitlements -Value {
            $this.Properties['Entitlements']
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseEntitlement], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Entitlements'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Beneficiary -Value {
            $this.Properties['Beneficiary']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Beneficiary'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConsumptionConfiguration -Value {
            $this.Properties['ConsumptionConfiguration']
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseConsumptionConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConsumptionConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LicenseMetadata -Value {
            $this.Properties['LicenseMetadata']
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseMetadata], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['LicenseMetadata'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientToken -Value {
            $this.Properties['ClientToken']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ClientToken'] = 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 LicenseArns -Value {
            $this.Properties['LicenseArns']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['LicenseArns'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Status -Value {
            $this.Properties['Status']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Status'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceVersion -Value {
            $this.Properties['SourceVersion']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SourceVersion'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Filters -Value {
            $this.Properties['Filters']
        } -SecondValue {
            param([ValidateType(([LicenseManagerLicenseFilter], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Filters'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxResults -Value {
            $this.Properties['MaxResults']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['MaxResults'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NextToken -Value {
            $this.Properties['NextToken']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['NextToken'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Version -Value {
            $this.Properties['Version']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Version'] = 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
        }
    }

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

Write-Verbose "Importing class 'LicenseManagerGrant'"

class LicenseManagerGrant : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSLicenseManagerGrant'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html'

    hidden [string[]] $_attributes = @('GrantArn')
    hidden [object] $_condition

    [string] $Type = 'AWS::LicenseManager::Grant'
    [string[]] $GrantArns
    [string] $GrantName
    [string] $ParentArn
    [string] $LicenseArn
    [string] $GranteePrincipalArn
    [string] $HomeRegion
    [string] $GrantStatus
    [string] $StatusReason
    [string] $Version
    [string[]] $GrantedOperations
    [string[]] $AllowedOperations
    [string[]] $Principals
    [VSTag[]] $Tags
    [LicenseManagerGrantFilter[]] $Filters
    [int] $MaxResults
    [string] $NextToken
    [string] $ClientToken
    [string] $Status
    [string] $SourceVersion
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name GrantArns -Value {
            $this.Properties['GrantArns']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['GrantArns'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GrantName -Value {
            $this.Properties['GrantName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GrantName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ParentArn -Value {
            $this.Properties['ParentArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ParentArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LicenseArn -Value {
            $this.Properties['LicenseArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LicenseArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GranteePrincipalArn -Value {
            $this.Properties['GranteePrincipalArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GranteePrincipalArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HomeRegion -Value {
            $this.Properties['HomeRegion']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['HomeRegion'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GrantStatus -Value {
            $this.Properties['GrantStatus']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['GrantStatus'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StatusReason -Value {
            $this.Properties['StatusReason']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['StatusReason'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Version -Value {
            $this.Properties['Version']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Version'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GrantedOperations -Value {
            $this.Properties['GrantedOperations']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['GrantedOperations'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AllowedOperations -Value {
            $this.Properties['AllowedOperations']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['AllowedOperations'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Principals -Value {
            $this.Properties['Principals']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Principals'] = @($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 Filters -Value {
            $this.Properties['Filters']
        } -SecondValue {
            param([ValidateType(([LicenseManagerGrantFilter], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Filters'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaxResults -Value {
            $this.Properties['MaxResults']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['MaxResults'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NextToken -Value {
            $this.Properties['NextToken']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['NextToken'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ClientToken -Value {
            $this.Properties['ClientToken']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ClientToken'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Status -Value {
            $this.Properties['Status']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Status'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceVersion -Value {
            $this.Properties['SourceVersion']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SourceVersion'] = 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
        }
    }

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