/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GroundStation { namespace Model { /** *

Dataflow details for the source side.

See Also:

AWS * API Reference

*/ class Source { public: AWS_GROUNDSTATION_API Source(); AWS_GROUNDSTATION_API Source(Aws::Utils::Json::JsonView jsonValue); AWS_GROUNDSTATION_API Source& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GROUNDSTATION_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Additional details for a Config, if type is * dataflow-endpoint or antenna-downlink-demod-decode *

*/ inline const ConfigDetails& GetConfigDetails() const{ return m_configDetails; } /** *

Additional details for a Config, if type is * dataflow-endpoint or antenna-downlink-demod-decode *

*/ inline bool ConfigDetailsHasBeenSet() const { return m_configDetailsHasBeenSet; } /** *

Additional details for a Config, if type is * dataflow-endpoint or antenna-downlink-demod-decode *

*/ inline void SetConfigDetails(const ConfigDetails& value) { m_configDetailsHasBeenSet = true; m_configDetails = value; } /** *

Additional details for a Config, if type is * dataflow-endpoint or antenna-downlink-demod-decode *

*/ inline void SetConfigDetails(ConfigDetails&& value) { m_configDetailsHasBeenSet = true; m_configDetails = std::move(value); } /** *

Additional details for a Config, if type is * dataflow-endpoint or antenna-downlink-demod-decode *

*/ inline Source& WithConfigDetails(const ConfigDetails& value) { SetConfigDetails(value); return *this;} /** *

Additional details for a Config, if type is * dataflow-endpoint or antenna-downlink-demod-decode *

*/ inline Source& WithConfigDetails(ConfigDetails&& value) { SetConfigDetails(std::move(value)); return *this;} /** *

UUID of a Config.

*/ inline const Aws::String& GetConfigId() const{ return m_configId; } /** *

UUID of a Config.

*/ inline bool ConfigIdHasBeenSet() const { return m_configIdHasBeenSet; } /** *

UUID of a Config.

*/ inline void SetConfigId(const Aws::String& value) { m_configIdHasBeenSet = true; m_configId = value; } /** *

UUID of a Config.

*/ inline void SetConfigId(Aws::String&& value) { m_configIdHasBeenSet = true; m_configId = std::move(value); } /** *

UUID of a Config.

*/ inline void SetConfigId(const char* value) { m_configIdHasBeenSet = true; m_configId.assign(value); } /** *

UUID of a Config.

*/ inline Source& WithConfigId(const Aws::String& value) { SetConfigId(value); return *this;} /** *

UUID of a Config.

*/ inline Source& WithConfigId(Aws::String&& value) { SetConfigId(std::move(value)); return *this;} /** *

UUID of a Config.

*/ inline Source& WithConfigId(const char* value) { SetConfigId(value); return *this;} /** *

Type of a Config.

*/ inline const ConfigCapabilityType& GetConfigType() const{ return m_configType; } /** *

Type of a Config.

*/ inline bool ConfigTypeHasBeenSet() const { return m_configTypeHasBeenSet; } /** *

Type of a Config.

*/ inline void SetConfigType(const ConfigCapabilityType& value) { m_configTypeHasBeenSet = true; m_configType = value; } /** *

Type of a Config.

*/ inline void SetConfigType(ConfigCapabilityType&& value) { m_configTypeHasBeenSet = true; m_configType = std::move(value); } /** *

Type of a Config.

*/ inline Source& WithConfigType(const ConfigCapabilityType& value) { SetConfigType(value); return *this;} /** *

Type of a Config.

*/ inline Source& WithConfigType(ConfigCapabilityType&& value) { SetConfigType(std::move(value)); return *this;} /** *

Region of a dataflow source.

*/ inline const Aws::String& GetDataflowSourceRegion() const{ return m_dataflowSourceRegion; } /** *

Region of a dataflow source.

*/ inline bool DataflowSourceRegionHasBeenSet() const { return m_dataflowSourceRegionHasBeenSet; } /** *

Region of a dataflow source.

*/ inline void SetDataflowSourceRegion(const Aws::String& value) { m_dataflowSourceRegionHasBeenSet = true; m_dataflowSourceRegion = value; } /** *

Region of a dataflow source.

*/ inline void SetDataflowSourceRegion(Aws::String&& value) { m_dataflowSourceRegionHasBeenSet = true; m_dataflowSourceRegion = std::move(value); } /** *

Region of a dataflow source.

*/ inline void SetDataflowSourceRegion(const char* value) { m_dataflowSourceRegionHasBeenSet = true; m_dataflowSourceRegion.assign(value); } /** *

Region of a dataflow source.

*/ inline Source& WithDataflowSourceRegion(const Aws::String& value) { SetDataflowSourceRegion(value); return *this;} /** *

Region of a dataflow source.

*/ inline Source& WithDataflowSourceRegion(Aws::String&& value) { SetDataflowSourceRegion(std::move(value)); return *this;} /** *

Region of a dataflow source.

*/ inline Source& WithDataflowSourceRegion(const char* value) { SetDataflowSourceRegion(value); return *this;} private: ConfigDetails m_configDetails; bool m_configDetailsHasBeenSet = false; Aws::String m_configId; bool m_configIdHasBeenSet = false; ConfigCapabilityType m_configType; bool m_configTypeHasBeenSet = false; Aws::String m_dataflowSourceRegion; bool m_dataflowSourceRegionHasBeenSet = false; }; } // namespace Model } // namespace GroundStation } // namespace Aws