VaporShell.GroundStation.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 'GroundStationConfigUplinkEchoConfig'"

class GroundStationConfigUplinkEchoConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigUplinkEchoConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-uplinkechoconfig.html'

    hidden [object] $_enabled
    hidden [object] $_antennaUplinkConfigArn

    [bool] $Enabled
    [string] $AntennaUplinkConfigArn

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

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

Write-Verbose "Importing class 'GroundStationMissionProfileDataflowEdge'"

class GroundStationMissionProfileDataflowEdge : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationMissionProfileDataflowEdge'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-missionprofile-dataflowedge.html'

    hidden [object] $_source
    hidden [object] $_destination

    [string] $Source
    [string] $Destination

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

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

Write-Verbose "Importing class 'GroundStationDataflowEndpointGroupDataflowEndpoint'"

class GroundStationDataflowEndpointGroupDataflowEndpoint : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationDataflowEndpointGroupDataflowEndpoint'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint.html'

    hidden [object] $_name
    hidden [object] $_address
    hidden [object] $_mtu

    [string] $Name
    [GroundStationDataflowEndpointGroupSocketAddress] $Address
    [int] $Mtu

    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 Address -Value {
            $this._address
        } -SecondValue {
            param([ValidateType(([GroundStationDataflowEndpointGroupSocketAddress], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._address = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Mtu -Value {
            $this._mtu
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._mtu = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'GroundStationConfigAntennaDownlinkConfig'"

class GroundStationConfigAntennaDownlinkConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigAntennaDownlinkConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-antennadownlinkconfig.html'

    hidden [object] $_spectrumConfig

    [GroundStationConfigSpectrumConfig] $SpectrumConfig

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

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

Write-Verbose "Importing class 'GroundStationConfigAntennaDownlinkDemodDecodeConfig'"

class GroundStationConfigAntennaDownlinkDemodDecodeConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigAntennaDownlinkDemodDecodeConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-antennadownlinkdemoddecodeconfig.html'

    hidden [object] $_spectrumConfig
    hidden [object] $_demodulationConfig
    hidden [object] $_decodeConfig

    [GroundStationConfigSpectrumConfig] $SpectrumConfig
    [GroundStationConfigDemodulationConfig] $DemodulationConfig
    [GroundStationConfigDecodeConfig] $DecodeConfig

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SpectrumConfig -Value {
            $this._spectrumConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigSpectrumConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._spectrumConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DemodulationConfig -Value {
            $this._demodulationConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigDemodulationConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._demodulationConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DecodeConfig -Value {
            $this._decodeConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigDecodeConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._decodeConfig = $value
        }
    }

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

Write-Verbose "Importing class 'GroundStationConfigUplinkSpectrumConfig'"

class GroundStationConfigUplinkSpectrumConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigUplinkSpectrumConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-uplinkspectrumconfig.html'

    hidden [object] $_centerFrequency
    hidden [object] $_polarization

    [GroundStationConfigFrequency] $CenterFrequency
    [string] $Polarization

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

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

Write-Verbose "Importing class 'GroundStationConfigSpectrumConfig'"

class GroundStationConfigSpectrumConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigSpectrumConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-spectrumconfig.html'

    hidden [object] $_centerFrequency
    hidden [object] $_bandwidth
    hidden [object] $_polarization

    [GroundStationConfigFrequency] $CenterFrequency
    [GroundStationConfigFrequencyBandwidth] $Bandwidth
    [string] $Polarization

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CenterFrequency -Value {
            $this._centerFrequency
        } -SecondValue {
            param([ValidateType(([GroundStationConfigFrequency], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._centerFrequency = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Bandwidth -Value {
            $this._bandwidth
        } -SecondValue {
            param([ValidateType(([GroundStationConfigFrequencyBandwidth], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bandwidth = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Polarization -Value {
            $this._polarization
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._polarization = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'GroundStationDataflowEndpointGroupEndpointDetails'"

class GroundStationDataflowEndpointGroupEndpointDetails : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationDataflowEndpointGroupEndpointDetails'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroup-endpointdetails.html'

    hidden [object] $_securityDetails
    hidden [object] $_endpoint

    [GroundStationDataflowEndpointGroupSecurityDetails] $SecurityDetails
    [GroundStationDataflowEndpointGroupDataflowEndpoint] $Endpoint

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecurityDetails -Value {
            $this._securityDetails
        } -SecondValue {
            param([ValidateType(([GroundStationDataflowEndpointGroupSecurityDetails], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._securityDetails = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Endpoint -Value {
            $this._endpoint
        } -SecondValue {
            param([ValidateType(([GroundStationDataflowEndpointGroupDataflowEndpoint], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._endpoint = $value
        }
    }

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

Write-Verbose "Importing class 'GroundStationConfigFrequencyBandwidth'"

class GroundStationConfigFrequencyBandwidth : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigFrequencyBandwidth'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-frequencybandwidth.html'

    hidden [object] $_value
    hidden [object] $_units

    [double] $Value
    [string] $Units

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

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

Write-Verbose "Importing class 'GroundStationConfigTrackingConfig'"

class GroundStationConfigTrackingConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigTrackingConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-trackingconfig.html'

    hidden [object] $_autotrack

    [string] $Autotrack

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

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

Write-Verbose "Importing class 'GroundStationConfigConfigData'"

class GroundStationConfigConfigData : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigConfigData'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-configdata.html'

    hidden [object] $_antennaDownlinkConfig
    hidden [object] $_trackingConfig
    hidden [object] $_dataflowEndpointConfig
    hidden [object] $_antennaDownlinkDemodDecodeConfig
    hidden [object] $_antennaUplinkConfig
    hidden [object] $_uplinkEchoConfig
    hidden [object] $_s3RecordingConfig

    [GroundStationConfigAntennaDownlinkConfig] $AntennaDownlinkConfig
    [GroundStationConfigTrackingConfig] $TrackingConfig
    [GroundStationConfigDataflowEndpointConfig] $DataflowEndpointConfig
    [GroundStationConfigAntennaDownlinkDemodDecodeConfig] $AntennaDownlinkDemodDecodeConfig
    [GroundStationConfigAntennaUplinkConfig] $AntennaUplinkConfig
    [GroundStationConfigUplinkEchoConfig] $UplinkEchoConfig
    [GroundStationConfigS3RecordingConfig] $S3RecordingConfig

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AntennaDownlinkConfig -Value {
            $this._antennaDownlinkConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigAntennaDownlinkConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._antennaDownlinkConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TrackingConfig -Value {
            $this._trackingConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigTrackingConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._trackingConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DataflowEndpointConfig -Value {
            $this._dataflowEndpointConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigDataflowEndpointConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._dataflowEndpointConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AntennaDownlinkDemodDecodeConfig -Value {
            $this._antennaDownlinkDemodDecodeConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigAntennaDownlinkDemodDecodeConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._antennaDownlinkDemodDecodeConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AntennaUplinkConfig -Value {
            $this._antennaUplinkConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigAntennaUplinkConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._antennaUplinkConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name UplinkEchoConfig -Value {
            $this._uplinkEchoConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigUplinkEchoConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._uplinkEchoConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3RecordingConfig -Value {
            $this._s3RecordingConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigS3RecordingConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3RecordingConfig = $value
        }
    }

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

Write-Verbose "Importing class 'GroundStationConfigAntennaUplinkConfig'"

class GroundStationConfigAntennaUplinkConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigAntennaUplinkConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-antennauplinkconfig.html'

    hidden [object] $_spectrumConfig
    hidden [object] $_targetEirp
    hidden [object] $_transmitDisabled

    [GroundStationConfigUplinkSpectrumConfig] $SpectrumConfig
    [GroundStationConfigEirp] $TargetEirp
    [bool] $TransmitDisabled

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SpectrumConfig -Value {
            $this._spectrumConfig
        } -SecondValue {
            param([ValidateType(([GroundStationConfigUplinkSpectrumConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._spectrumConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TargetEirp -Value {
            $this._targetEirp
        } -SecondValue {
            param([ValidateType(([GroundStationConfigEirp], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._targetEirp = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TransmitDisabled -Value {
            $this._transmitDisabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._transmitDisabled = $value
        }
    }

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

Write-Verbose "Importing class 'GroundStationConfigEirp'"

class GroundStationConfigEirp : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigEirp'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-eirp.html'

    hidden [object] $_value
    hidden [object] $_units

    [double] $Value
    [string] $Units

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

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

Write-Verbose "Importing class 'GroundStationConfigS3RecordingConfig'"

class GroundStationConfigS3RecordingConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigS3RecordingConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-s3recordingconfig.html'

    hidden [object] $_bucketArn
    hidden [object] $_roleArn
    hidden [object] $_prefix

    [string] $BucketArn
    [string] $RoleArn
    [string] $Prefix

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

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

Write-Verbose "Importing class 'GroundStationConfigDataflowEndpointConfig'"

class GroundStationConfigDataflowEndpointConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigDataflowEndpointConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-dataflowendpointconfig.html'

    hidden [object] $_dataflowEndpointName
    hidden [object] $_dataflowEndpointRegion

    [string] $DataflowEndpointName
    [string] $DataflowEndpointRegion

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

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

Write-Verbose "Importing class 'GroundStationConfigDemodulationConfig'"

class GroundStationConfigDemodulationConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigDemodulationConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-demodulationconfig.html'

    hidden [object] $_unvalidatedJSON

    [string] $UnvalidatedJSON

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

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

Write-Verbose "Importing class 'GroundStationDataflowEndpointGroupSecurityDetails'"

class GroundStationDataflowEndpointGroupSecurityDetails : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationDataflowEndpointGroupSecurityDetails'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroup-securitydetails.html'

    hidden [object] $_subnetIds
    hidden [object] $_securityGroupIds
    hidden [object] $_roleArn

    [string[]] $SubnetIds
    [string[]] $SecurityGroupIds
    [string] $RoleArn

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

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

Write-Verbose "Importing class 'GroundStationDataflowEndpointGroupSocketAddress'"

class GroundStationDataflowEndpointGroupSocketAddress : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationDataflowEndpointGroupSocketAddress'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroup-socketaddress.html'

    hidden [object] $_name
    hidden [object] $_port

    [string] $Name
    [int] $Port

    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 Port -Value {
            $this._port
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._port = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'GroundStationConfigFrequency'"

class GroundStationConfigFrequency : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigFrequency'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-frequency.html'

    hidden [object] $_value
    hidden [object] $_units

    [double] $Value
    [string] $Units

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

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

Write-Verbose "Importing class 'GroundStationConfigDecodeConfig'"

class GroundStationConfigDecodeConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSGroundStationConfigDecodeConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-decodeconfig.html'

    hidden [object] $_unvalidatedJSON

    [string] $UnvalidatedJSON

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

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

Write-Verbose "Importing class 'GroundStationConfig'"

class GroundStationConfig : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSGroundStationConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html'

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

    [string] $Type = 'AWS::GroundStation::Config'
    [string] $Name
    [VSTag[]] $Tags
    [GroundStationConfigConfigData] $ConfigData
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = 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 ConfigData -Value {
            $this.Properties['ConfigData']
        } -SecondValue {
            param([ValidateType(([GroundStationConfigConfigData], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConfigData'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'GroundStationDataflowEndpointGroup'"

class GroundStationDataflowEndpointGroup : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSGroundStationDataflowEndpointGroup'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html'

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

    [string] $Type = 'AWS::GroundStation::DataflowEndpointGroup'
    [GroundStationDataflowEndpointGroupEndpointDetails[]] $EndpointDetails
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name EndpointDetails -Value {
            $this.Properties['EndpointDetails']
        } -SecondValue {
            param([ValidateType(([GroundStationDataflowEndpointGroupEndpointDetails], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['EndpointDetails'] = $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
        }
    }

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

Write-Verbose "Importing class 'GroundStationMissionProfile'"

class GroundStationMissionProfile : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSGroundStationMissionProfile'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html'

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

    [string] $Type = 'AWS::GroundStation::MissionProfile'
    [string] $Name
    [int] $ContactPrePassDurationSeconds
    [int] $ContactPostPassDurationSeconds
    [int] $MinimumViableContactDurationSeconds
    [GroundStationMissionProfileDataflowEdge[]] $DataflowEdges
    [string] $TrackingConfigArn
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ContactPrePassDurationSeconds -Value {
            $this.Properties['ContactPrePassDurationSeconds']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ContactPrePassDurationSeconds'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ContactPostPassDurationSeconds -Value {
            $this.Properties['ContactPostPassDurationSeconds']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ContactPostPassDurationSeconds'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MinimumViableContactDurationSeconds -Value {
            $this.Properties['MinimumViableContactDurationSeconds']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['MinimumViableContactDurationSeconds'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DataflowEdges -Value {
            $this.Properties['DataflowEdges']
        } -SecondValue {
            param([ValidateType(([GroundStationMissionProfileDataflowEdge], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['DataflowEdges'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TrackingConfigArn -Value {
            $this.Properties['TrackingConfigArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TrackingConfigArn'] = 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
        }
    }

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