# Copyright (c) 2012-2025, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer
from .validators.groundstation import validate_json_checker
[docs]class Bandwidth(AWSProperty):
"""
`Bandwidth <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-frequencybandwidth.html>`__
"""
props: PropsDictType = {
"Units": (str, False),
"Value": (double, False),
}
[docs]class Frequency(AWSProperty):
"""
`Frequency <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-frequency.html>`__
"""
props: PropsDictType = {
"Units": (str, False),
"Value": (double, False),
}
[docs]class SpectrumConfig(AWSProperty):
"""
`SpectrumConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-spectrumconfig.html>`__
"""
props: PropsDictType = {
"Bandwidth": (Bandwidth, False),
"CenterFrequency": (Frequency, False),
"Polarization": (str, False),
}
[docs]class AntennaDownlinkConfig(AWSProperty):
"""
`AntennaDownlinkConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-antennadownlinkconfig.html>`__
"""
props: PropsDictType = {
"SpectrumConfig": (SpectrumConfig, False),
}
[docs]class DecodeConfig(AWSProperty):
"""
`DecodeConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-decodeconfig.html>`__
"""
props: PropsDictType = {
"UnvalidatedJSON": (validate_json_checker, False),
}
[docs]class DemodulationConfig(AWSProperty):
"""
`DemodulationConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-demodulationconfig.html>`__
"""
props: PropsDictType = {
"UnvalidatedJSON": (validate_json_checker, False),
}
[docs]class AntennaDownlinkDemodDecodeConfig(AWSProperty):
"""
`AntennaDownlinkDemodDecodeConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-antennadownlinkdemoddecodeconfig.html>`__
"""
props: PropsDictType = {
"DecodeConfig": (DecodeConfig, False),
"DemodulationConfig": (DemodulationConfig, False),
"SpectrumConfig": (SpectrumConfig, False),
}
[docs]class Eirp(AWSProperty):
"""
`Eirp <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-eirp.html>`__
"""
props: PropsDictType = {
"Units": (str, False),
"Value": (double, False),
}
[docs]class AntennaUplinkConfig(AWSProperty):
"""
`AntennaUplinkConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-antennauplinkconfig.html>`__
"""
props: PropsDictType = {
"SpectrumConfig": (SpectrumConfig, False),
"TargetEirp": (Eirp, False),
"TransmitDisabled": (boolean, False),
}
[docs]class DataflowEndpointConfig(AWSProperty):
"""
`DataflowEndpointConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-dataflowendpointconfig.html>`__
"""
props: PropsDictType = {
"DataflowEndpointName": (str, False),
"DataflowEndpointRegion": (str, False),
}
[docs]class S3RecordingConfig(AWSProperty):
"""
`S3RecordingConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-s3recordingconfig.html>`__
"""
props: PropsDictType = {
"BucketArn": (str, False),
"Prefix": (str, False),
"RoleArn": (str, False),
}
[docs]class KinesisDataStreamData(AWSProperty):
"""
`KinesisDataStreamData <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-kinesisdatastreamdata.html>`__
"""
props: PropsDictType = {
"KinesisDataStreamArn": (str, True),
"KinesisRoleArn": (str, True),
}
[docs]class TelemetrySinkData(AWSProperty):
"""
`TelemetrySinkData <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-telemetrysinkdata.html>`__
"""
props: PropsDictType = {
"KinesisDataStreamData": (KinesisDataStreamData, True),
}
[docs]class TelemetrySinkConfig(AWSProperty):
"""
`TelemetrySinkConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-telemetrysinkconfig.html>`__
"""
props: PropsDictType = {
"TelemetrySinkData": (TelemetrySinkData, True),
"TelemetrySinkType": (str, True),
}
[docs]class TrackingConfig(AWSProperty):
"""
`TrackingConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-trackingconfig.html>`__
"""
props: PropsDictType = {
"Autotrack": (str, False),
}
[docs]class UplinkEchoConfig(AWSProperty):
"""
`UplinkEchoConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-uplinkechoconfig.html>`__
"""
props: PropsDictType = {
"AntennaUplinkConfigArn": (str, False),
"Enabled": (boolean, False),
}
[docs]class ConfigData(AWSProperty):
"""
`ConfigData <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-config-configdata.html>`__
"""
props: PropsDictType = {
"AntennaDownlinkConfig": (AntennaDownlinkConfig, False),
"AntennaDownlinkDemodDecodeConfig": (AntennaDownlinkDemodDecodeConfig, False),
"AntennaUplinkConfig": (AntennaUplinkConfig, False),
"DataflowEndpointConfig": (DataflowEndpointConfig, False),
"S3RecordingConfig": (S3RecordingConfig, False),
"TelemetrySinkConfig": (TelemetrySinkConfig, False),
"TrackingConfig": (TrackingConfig, False),
"UplinkEchoConfig": (UplinkEchoConfig, False),
}
[docs]class Config(AWSObject):
"""
`Config <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html>`__
"""
resource_type = "AWS::GroundStation::Config"
props: PropsDictType = {
"ConfigData": (ConfigData, True),
"Name": (str, True),
"Tags": (Tags, False),
}
[docs]class SocketAddress(AWSProperty):
"""
`SocketAddress <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-socketaddress.html>`__
"""
props: PropsDictType = {
"Name": (str, True),
"Port": (integer, True),
}
[docs]class ConnectionDetails(AWSProperty):
"""
`ConnectionDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-connectiondetails.html>`__
"""
props: PropsDictType = {
"Mtu": (integer, False),
"SocketAddress": (SocketAddress, True),
}
[docs]class IntegerRange(AWSProperty):
"""
`IntegerRange <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-integerrange.html>`__
"""
props: PropsDictType = {
"Maximum": (integer, True),
"Minimum": (integer, True),
}
[docs]class RangedSocketAddress(AWSProperty):
"""
`RangedSocketAddress <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-rangedsocketaddress.html>`__
"""
props: PropsDictType = {
"Name": (str, True),
"PortRange": (IntegerRange, True),
}
[docs]class RangedConnectionDetails(AWSProperty):
"""
`RangedConnectionDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-rangedconnectiondetails.html>`__
"""
props: PropsDictType = {
"Mtu": (integer, False),
"SocketAddress": (RangedSocketAddress, True),
}
[docs]class DownlinkConnectionDetails(AWSProperty):
"""
`DownlinkConnectionDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-downlinkconnectiondetails.html>`__
"""
props: PropsDictType = {
"AgentIpAndPortAddress": (RangedConnectionDetails, True),
"EgressAddressAndPort": (ConnectionDetails, True),
}
[docs]class DownlinkDataflowDetails(AWSProperty):
"""
`DownlinkDataflowDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-downlinkdataflowdetails.html>`__
"""
props: PropsDictType = {
"AgentConnectionDetails": (DownlinkConnectionDetails, True),
}
[docs]class DownlinkAwsGroundStationAgentEndpointDetails(AWSProperty):
"""
`DownlinkAwsGroundStationAgentEndpointDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-downlinkawsgroundstationagentendpointdetails.html>`__
"""
props: PropsDictType = {
"AgentStatus": (str, False),
"AuditResults": (str, False),
"DataflowDetails": (DownlinkDataflowDetails, True),
"Name": (str, True),
}
[docs]class UplinkConnectionDetails(AWSProperty):
"""
`UplinkConnectionDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-uplinkconnectiondetails.html>`__
"""
props: PropsDictType = {
"AgentIpAndPortAddress": (RangedConnectionDetails, True),
"IngressAddressAndPort": (ConnectionDetails, True),
}
[docs]class UplinkDataflowDetails(AWSProperty):
"""
`UplinkDataflowDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-uplinkdataflowdetails.html>`__
"""
props: PropsDictType = {
"AgentConnectionDetails": (UplinkConnectionDetails, True),
}
[docs]class UplinkAwsGroundStationAgentEndpointDetails(AWSProperty):
"""
`UplinkAwsGroundStationAgentEndpointDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-uplinkawsgroundstationagentendpointdetails.html>`__
"""
props: PropsDictType = {
"AgentStatus": (str, False),
"AuditResults": (str, False),
"DataflowDetails": (UplinkDataflowDetails, True),
"Name": (str, True),
}
[docs]class EndpointDetails(AWSProperty):
"""
`EndpointDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-endpointdetails.html>`__
"""
props: PropsDictType = {
"DownlinkAwsGroundStationAgentEndpoint": (
DownlinkAwsGroundStationAgentEndpointDetails,
False,
),
"UplinkAwsGroundStationAgentEndpoint": (
UplinkAwsGroundStationAgentEndpointDetails,
False,
),
}
[docs]class DataflowEndpointGroup(AWSObject):
"""
`DataflowEndpointGroup <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html>`__
"""
resource_type = "AWS::GroundStation::DataflowEndpointGroup"
props: PropsDictType = {
"ContactPostPassDurationSeconds": (integer, False),
"ContactPrePassDurationSeconds": (integer, False),
"EndpointDetails": ([EndpointDetails], True),
"Tags": (Tags, False),
}
[docs]class DownlinkAwsGroundStationAgentEndpoint(AWSProperty):
"""
`DownlinkAwsGroundStationAgentEndpoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-downlinkawsgroundstationagentendpoint.html>`__
"""
props: PropsDictType = {
"DataflowDetails": (DownlinkDataflowDetails, True),
"Name": (str, True),
}
[docs]class UplinkAwsGroundStationAgentEndpoint(AWSProperty):
"""
`UplinkAwsGroundStationAgentEndpoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-uplinkawsgroundstationagentendpoint.html>`__
"""
props: PropsDictType = {
"DataflowDetails": (UplinkDataflowDetails, True),
"Name": (str, True),
}
[docs]class CreateEndpointDetails(AWSProperty):
"""
`CreateEndpointDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroupv2-createendpointdetails.html>`__
"""
props: PropsDictType = {
"DownlinkAwsGroundStationAgentEndpoint": (
DownlinkAwsGroundStationAgentEndpoint,
False,
),
"UplinkAwsGroundStationAgentEndpoint": (
UplinkAwsGroundStationAgentEndpoint,
False,
),
}
[docs]class DataflowEndpointGroupV2(AWSObject):
"""
`DataflowEndpointGroupV2 <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroupv2.html>`__
"""
resource_type = "AWS::GroundStation::DataflowEndpointGroupV2"
props: PropsDictType = {
"ContactPostPassDurationSeconds": (integer, False),
"ContactPrePassDurationSeconds": (integer, False),
"Endpoints": ([CreateEndpointDetails], False),
"Tags": (Tags, False),
}
[docs]class DataflowEdge(AWSProperty):
"""
`DataflowEdge <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-missionprofile-dataflowedge.html>`__
"""
props: PropsDictType = {
"Destination": (str, False),
"Source": (str, False),
}
[docs]class StreamsKmsKey(AWSProperty):
"""
`StreamsKmsKey <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-missionprofile-streamskmskey.html>`__
"""
props: PropsDictType = {
"KmsAliasArn": (str, False),
"KmsAliasName": (str, False),
"KmsKeyArn": (str, False),
}
[docs]class MissionProfile(AWSObject):
"""
`MissionProfile <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html>`__
"""
resource_type = "AWS::GroundStation::MissionProfile"
props: PropsDictType = {
"ContactPostPassDurationSeconds": (integer, False),
"ContactPrePassDurationSeconds": (integer, False),
"DataflowEdges": ([DataflowEdge], True),
"MinimumViableContactDurationSeconds": (integer, True),
"Name": (str, True),
"StreamsKmsKey": (StreamsKmsKey, False),
"StreamsKmsRole": (str, False),
"Tags": (Tags, False),
"TelemetrySinkConfigArn": (str, False),
"TrackingConfigArn": (str, True),
}
[docs]class AwsGroundStationAgentEndpoint(AWSProperty):
"""
`AwsGroundStationAgentEndpoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint.html>`__
"""
props: PropsDictType = {
"AgentStatus": (str, False),
"AuditResults": (str, False),
"EgressAddress": (ConnectionDetails, False),
"IngressAddress": (RangedConnectionDetails, False),
"Name": (str, False),
}
[docs]class DataflowEndpoint(AWSProperty):
"""
`DataflowEndpoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint.html>`__
"""
props: PropsDictType = {
"Address": (SocketAddress, False),
"Mtu": (integer, False),
"Name": (str, False),
}
[docs]class SecurityDetails(AWSProperty):
"""
`SecurityDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-groundstation-dataflowendpointgroup-securitydetails.html>`__
"""
props: PropsDictType = {
"RoleArn": (str, False),
"SecurityGroupIds": ([str], False),
"SubnetIds": ([str], False),
}