VaporShell.FSx.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 'FSxFileSystemLustreConfiguration'"

class FSxFileSystemLustreConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFSxFileSystemLustreConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html'

    hidden [object] $_dataCompressionType
    hidden [object] $_driveCacheType
    hidden [object] $_importPath
    hidden [object] $_weeklyMaintenanceStartTime
    hidden [object] $_autoImportPolicy
    hidden [object] $_importedFileChunkSize
    hidden [object] $_deploymentType
    hidden [object] $_dailyAutomaticBackupStartTime
    hidden [object] $_copyTagsToBackups
    hidden [object] $_exportPath
    hidden [object] $_perUnitStorageThroughput
    hidden [object] $_automaticBackupRetentionDays

    [string] $DataCompressionType
    [string] $DriveCacheType
    [string] $ImportPath
    [string] $WeeklyMaintenanceStartTime
    [string] $AutoImportPolicy
    [int] $ImportedFileChunkSize
    [string] $DeploymentType
    [string] $DailyAutomaticBackupStartTime
    [bool] $CopyTagsToBackups
    [string] $ExportPath
    [int] $PerUnitStorageThroughput
    [int] $AutomaticBackupRetentionDays

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name DataCompressionType -Value {
            $this._dataCompressionType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dataCompressionType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DriveCacheType -Value {
            $this._driveCacheType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._driveCacheType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ImportPath -Value {
            $this._importPath
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._importPath = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WeeklyMaintenanceStartTime -Value {
            $this._weeklyMaintenanceStartTime
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._weeklyMaintenanceStartTime = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AutoImportPolicy -Value {
            $this._autoImportPolicy
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._autoImportPolicy = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ImportedFileChunkSize -Value {
            $this._importedFileChunkSize
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._importedFileChunkSize = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeploymentType -Value {
            $this._deploymentType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deploymentType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DailyAutomaticBackupStartTime -Value {
            $this._dailyAutomaticBackupStartTime
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dailyAutomaticBackupStartTime = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CopyTagsToBackups -Value {
            $this._copyTagsToBackups
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._copyTagsToBackups = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExportPath -Value {
            $this._exportPath
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._exportPath = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PerUnitStorageThroughput -Value {
            $this._perUnitStorageThroughput
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._perUnitStorageThroughput = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AutomaticBackupRetentionDays -Value {
            $this._automaticBackupRetentionDays
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._automaticBackupRetentionDays = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'FSxFileSystemSelfManagedActiveDirectoryConfiguration'"

class FSxFileSystemSelfManagedActiveDirectoryConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFSxFileSystemSelfManagedActiveDirectoryConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html'

    hidden [object] $_fileSystemAdministratorsGroup
    hidden [object] $_userName
    hidden [object] $_domainName
    hidden [object] $_organizationalUnitDistinguishedName
    hidden [object] $_dnsIps
    hidden [object] $_password

    [string] $FileSystemAdministratorsGroup
    [string] $UserName
    [string] $DomainName
    [string] $OrganizationalUnitDistinguishedName
    [string[]] $DnsIps
    [string] $Password

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name FileSystemAdministratorsGroup -Value {
            $this._fileSystemAdministratorsGroup
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._fileSystemAdministratorsGroup = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name UserName -Value {
            $this._userName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._userName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DomainName -Value {
            $this._domainName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._domainName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OrganizationalUnitDistinguishedName -Value {
            $this._organizationalUnitDistinguishedName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._organizationalUnitDistinguishedName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DnsIps -Value {
            $this._dnsIps
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._dnsIps = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Password -Value {
            $this._password
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._password = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'FSxFileSystemWindowsConfiguration'"

class FSxFileSystemWindowsConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFSxFileSystemWindowsConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html'

    hidden [object] $_selfManagedActiveDirectoryConfiguration
    hidden [object] $_auditLogConfiguration
    hidden [object] $_weeklyMaintenanceStartTime
    hidden [object] $_activeDirectoryId
    hidden [object] $_deploymentType
    hidden [object] $_aliases
    hidden [object] $_throughputCapacity
    hidden [object] $_copyTagsToBackups
    hidden [object] $_dailyAutomaticBackupStartTime
    hidden [object] $_automaticBackupRetentionDays
    hidden [object] $_preferredSubnetId

    [FSxFileSystemSelfManagedActiveDirectoryConfiguration] $SelfManagedActiveDirectoryConfiguration
    [FSxFileSystemAuditLogConfiguration] $AuditLogConfiguration
    [string] $WeeklyMaintenanceStartTime
    [string] $ActiveDirectoryId
    [string] $DeploymentType
    [string[]] $Aliases
    [int] $ThroughputCapacity
    [bool] $CopyTagsToBackups
    [string] $DailyAutomaticBackupStartTime
    [int] $AutomaticBackupRetentionDays
    [string] $PreferredSubnetId

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SelfManagedActiveDirectoryConfiguration -Value {
            $this._selfManagedActiveDirectoryConfiguration
        } -SecondValue {
            param([ValidateType(([FSxFileSystemSelfManagedActiveDirectoryConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._selfManagedActiveDirectoryConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AuditLogConfiguration -Value {
            $this._auditLogConfiguration
        } -SecondValue {
            param([ValidateType(([FSxFileSystemAuditLogConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._auditLogConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WeeklyMaintenanceStartTime -Value {
            $this._weeklyMaintenanceStartTime
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._weeklyMaintenanceStartTime = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ActiveDirectoryId -Value {
            $this._activeDirectoryId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._activeDirectoryId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DeploymentType -Value {
            $this._deploymentType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._deploymentType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Aliases -Value {
            $this._aliases
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._aliases = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ThroughputCapacity -Value {
            $this._throughputCapacity
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._throughputCapacity = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CopyTagsToBackups -Value {
            $this._copyTagsToBackups
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._copyTagsToBackups = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DailyAutomaticBackupStartTime -Value {
            $this._dailyAutomaticBackupStartTime
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dailyAutomaticBackupStartTime = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AutomaticBackupRetentionDays -Value {
            $this._automaticBackupRetentionDays
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._automaticBackupRetentionDays = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PreferredSubnetId -Value {
            $this._preferredSubnetId
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._preferredSubnetId = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'FSxFileSystemAuditLogConfiguration'"

class FSxFileSystemAuditLogConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSFSxFileSystemAuditLogConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-auditlogconfiguration.html'

    hidden [object] $_fileAccessAuditLogLevel
    hidden [object] $_fileShareAccessAuditLogLevel
    hidden [object] $_auditLogDestination

    [string] $FileAccessAuditLogLevel
    [string] $FileShareAccessAuditLogLevel
    [string] $AuditLogDestination

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

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

Write-Verbose "Importing class 'FSxFileSystem'"

class FSxFileSystem : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSFSxFileSystem'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html'

    hidden [string[]] $_attributes = @('DNSName','LustreMountName')
    hidden [object] $_condition

    [string] $Type = 'AWS::FSx::FileSystem'
    [string] $StorageType
    [string] $KmsKeyId
    [int] $StorageCapacity
    [string] $FileSystemType
    [FSxFileSystemLustreConfiguration] $LustreConfiguration
    [string] $BackupId
    [string[]] $SubnetIds
    [string[]] $SecurityGroupIds
    [VSTag[]] $Tags
    [FSxFileSystemWindowsConfiguration] $WindowsConfiguration
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name StorageType -Value {
            $this.Properties['StorageType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['StorageType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name KmsKeyId -Value {
            $this.Properties['KmsKeyId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['KmsKeyId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name StorageCapacity -Value {
            $this.Properties['StorageCapacity']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['StorageCapacity'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FileSystemType -Value {
            $this.Properties['FileSystemType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['FileSystemType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LustreConfiguration -Value {
            $this.Properties['LustreConfiguration']
        } -SecondValue {
            param([ValidateType(([FSxFileSystemLustreConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LustreConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BackupId -Value {
            $this.Properties['BackupId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['BackupId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SubnetIds -Value {
            $this.Properties['SubnetIds']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['SubnetIds'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecurityGroupIds -Value {
            $this.Properties['SecurityGroupIds']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['SecurityGroupIds'] = @($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 WindowsConfiguration -Value {
            $this.Properties['WindowsConfiguration']
        } -SecondValue {
            param([ValidateType(([FSxFileSystemWindowsConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['WindowsConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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