This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files

210 lines
8.6 KiB
C
Raw Normal View History

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/groundstation/GroundStation_EXPORTS.h>
#include <aws/groundstation/model/FrequencyBandwidth.h>
#include <aws/groundstation/model/Frequency.h>
#include <aws/groundstation/model/Polarization.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GroundStation
{
namespace Model
{
/**
* <p>Object that describes a spectral <code>Config</code>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/groundstation-2019-05-23/SpectrumConfig">AWS
* API Reference</a></p>
*/
class AWS_GROUNDSTATION_API SpectrumConfig
{
public:
SpectrumConfig();
SpectrumConfig(Aws::Utils::Json::JsonView jsonValue);
SpectrumConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Bandwidth of a spectral <code>Config</code>. AWS Ground Station currently has
* the following bandwidth limitations:</p> <ul> <li> <p>For
* <code>AntennaDownlinkDemodDecodeconfig</code>, valid values are between 125 kHz
* to 650 MHz.</p> </li> <li> <p>For <code>AntennaDownlinkconfig</code> valid
* values are between 10 kHz to 54 MHz.</p> </li> <li> <p>For
* <code>AntennaUplinkConfig</code>, valid values are between 10 kHz to 54 MHz.</p>
* </li> </ul>
*/
inline const FrequencyBandwidth& GetBandwidth() const{ return m_bandwidth; }
/**
* <p>Bandwidth of a spectral <code>Config</code>. AWS Ground Station currently has
* the following bandwidth limitations:</p> <ul> <li> <p>For
* <code>AntennaDownlinkDemodDecodeconfig</code>, valid values are between 125 kHz
* to 650 MHz.</p> </li> <li> <p>For <code>AntennaDownlinkconfig</code> valid
* values are between 10 kHz to 54 MHz.</p> </li> <li> <p>For
* <code>AntennaUplinkConfig</code>, valid values are between 10 kHz to 54 MHz.</p>
* </li> </ul>
*/
inline bool BandwidthHasBeenSet() const { return m_bandwidthHasBeenSet; }
/**
* <p>Bandwidth of a spectral <code>Config</code>. AWS Ground Station currently has
* the following bandwidth limitations:</p> <ul> <li> <p>For
* <code>AntennaDownlinkDemodDecodeconfig</code>, valid values are between 125 kHz
* to 650 MHz.</p> </li> <li> <p>For <code>AntennaDownlinkconfig</code> valid
* values are between 10 kHz to 54 MHz.</p> </li> <li> <p>For
* <code>AntennaUplinkConfig</code>, valid values are between 10 kHz to 54 MHz.</p>
* </li> </ul>
*/
inline void SetBandwidth(const FrequencyBandwidth& value) { m_bandwidthHasBeenSet = true; m_bandwidth = value; }
/**
* <p>Bandwidth of a spectral <code>Config</code>. AWS Ground Station currently has
* the following bandwidth limitations:</p> <ul> <li> <p>For
* <code>AntennaDownlinkDemodDecodeconfig</code>, valid values are between 125 kHz
* to 650 MHz.</p> </li> <li> <p>For <code>AntennaDownlinkconfig</code> valid
* values are between 10 kHz to 54 MHz.</p> </li> <li> <p>For
* <code>AntennaUplinkConfig</code>, valid values are between 10 kHz to 54 MHz.</p>
* </li> </ul>
*/
inline void SetBandwidth(FrequencyBandwidth&& value) { m_bandwidthHasBeenSet = true; m_bandwidth = std::move(value); }
/**
* <p>Bandwidth of a spectral <code>Config</code>. AWS Ground Station currently has
* the following bandwidth limitations:</p> <ul> <li> <p>For
* <code>AntennaDownlinkDemodDecodeconfig</code>, valid values are between 125 kHz
* to 650 MHz.</p> </li> <li> <p>For <code>AntennaDownlinkconfig</code> valid
* values are between 10 kHz to 54 MHz.</p> </li> <li> <p>For
* <code>AntennaUplinkConfig</code>, valid values are between 10 kHz to 54 MHz.</p>
* </li> </ul>
*/
inline SpectrumConfig& WithBandwidth(const FrequencyBandwidth& value) { SetBandwidth(value); return *this;}
/**
* <p>Bandwidth of a spectral <code>Config</code>. AWS Ground Station currently has
* the following bandwidth limitations:</p> <ul> <li> <p>For
* <code>AntennaDownlinkDemodDecodeconfig</code>, valid values are between 125 kHz
* to 650 MHz.</p> </li> <li> <p>For <code>AntennaDownlinkconfig</code> valid
* values are between 10 kHz to 54 MHz.</p> </li> <li> <p>For
* <code>AntennaUplinkConfig</code>, valid values are between 10 kHz to 54 MHz.</p>
* </li> </ul>
*/
inline SpectrumConfig& WithBandwidth(FrequencyBandwidth&& value) { SetBandwidth(std::move(value)); return *this;}
/**
* <p>Center frequency of a spectral <code>Config</code>. Valid values are between
* 2200 to 2300 MHz and 7750 to 8400 MHz for downlink and 2025 to 2120 MHz for
* uplink.</p>
*/
inline const Frequency& GetCenterFrequency() const{ return m_centerFrequency; }
/**
* <p>Center frequency of a spectral <code>Config</code>. Valid values are between
* 2200 to 2300 MHz and 7750 to 8400 MHz for downlink and 2025 to 2120 MHz for
* uplink.</p>
*/
inline bool CenterFrequencyHasBeenSet() const { return m_centerFrequencyHasBeenSet; }
/**
* <p>Center frequency of a spectral <code>Config</code>. Valid values are between
* 2200 to 2300 MHz and 7750 to 8400 MHz for downlink and 2025 to 2120 MHz for
* uplink.</p>
*/
inline void SetCenterFrequency(const Frequency& value) { m_centerFrequencyHasBeenSet = true; m_centerFrequency = value; }
/**
* <p>Center frequency of a spectral <code>Config</code>. Valid values are between
* 2200 to 2300 MHz and 7750 to 8400 MHz for downlink and 2025 to 2120 MHz for
* uplink.</p>
*/
inline void SetCenterFrequency(Frequency&& value) { m_centerFrequencyHasBeenSet = true; m_centerFrequency = std::move(value); }
/**
* <p>Center frequency of a spectral <code>Config</code>. Valid values are between
* 2200 to 2300 MHz and 7750 to 8400 MHz for downlink and 2025 to 2120 MHz for
* uplink.</p>
*/
inline SpectrumConfig& WithCenterFrequency(const Frequency& value) { SetCenterFrequency(value); return *this;}
/**
* <p>Center frequency of a spectral <code>Config</code>. Valid values are between
* 2200 to 2300 MHz and 7750 to 8400 MHz for downlink and 2025 to 2120 MHz for
* uplink.</p>
*/
inline SpectrumConfig& WithCenterFrequency(Frequency&& value) { SetCenterFrequency(std::move(value)); return *this;}
/**
* <p>Polarization of a spectral <code>Config</code>. Capturing both
* <code>"RIGHT_HAND"</code> and <code>"LEFT_HAND"</code> polarization requires two
* separate configs.</p>
*/
inline const Polarization& GetPolarization() const{ return m_polarization; }
/**
* <p>Polarization of a spectral <code>Config</code>. Capturing both
* <code>"RIGHT_HAND"</code> and <code>"LEFT_HAND"</code> polarization requires two
* separate configs.</p>
*/
inline bool PolarizationHasBeenSet() const { return m_polarizationHasBeenSet; }
/**
* <p>Polarization of a spectral <code>Config</code>. Capturing both
* <code>"RIGHT_HAND"</code> and <code>"LEFT_HAND"</code> polarization requires two
* separate configs.</p>
*/
inline void SetPolarization(const Polarization& value) { m_polarizationHasBeenSet = true; m_polarization = value; }
/**
* <p>Polarization of a spectral <code>Config</code>. Capturing both
* <code>"RIGHT_HAND"</code> and <code>"LEFT_HAND"</code> polarization requires two
* separate configs.</p>
*/
inline void SetPolarization(Polarization&& value) { m_polarizationHasBeenSet = true; m_polarization = std::move(value); }
/**
* <p>Polarization of a spectral <code>Config</code>. Capturing both
* <code>"RIGHT_HAND"</code> and <code>"LEFT_HAND"</code> polarization requires two
* separate configs.</p>
*/
inline SpectrumConfig& WithPolarization(const Polarization& value) { SetPolarization(value); return *this;}
/**
* <p>Polarization of a spectral <code>Config</code>. Capturing both
* <code>"RIGHT_HAND"</code> and <code>"LEFT_HAND"</code> polarization requires two
* separate configs.</p>
*/
inline SpectrumConfig& WithPolarization(Polarization&& value) { SetPolarization(std::move(value)); return *this;}
private:
FrequencyBandwidth m_bandwidth;
bool m_bandwidthHasBeenSet;
Frequency m_centerFrequency;
bool m_centerFrequencyHasBeenSet;
Polarization m_polarization;
bool m_polarizationHasBeenSet;
};
} // namespace Model
} // namespace GroundStation
} // namespace Aws