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

The destination where the Amazon Web Services IoT FleetWise campaign sends * data. You can send data to be stored in Amazon S3 or Amazon * Timestream.

See Also:

AWS * API Reference

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

The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign * sends data.

*/ inline const S3Config& GetS3Config() const{ return m_s3Config; } /** *

The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign * sends data.

*/ inline bool S3ConfigHasBeenSet() const { return m_s3ConfigHasBeenSet; } /** *

The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign * sends data.

*/ inline void SetS3Config(const S3Config& value) { m_s3ConfigHasBeenSet = true; m_s3Config = value; } /** *

The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign * sends data.

*/ inline void SetS3Config(S3Config&& value) { m_s3ConfigHasBeenSet = true; m_s3Config = std::move(value); } /** *

The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign * sends data.

*/ inline DataDestinationConfig& WithS3Config(const S3Config& value) { SetS3Config(value); return *this;} /** *

The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign * sends data.

*/ inline DataDestinationConfig& WithS3Config(S3Config&& value) { SetS3Config(std::move(value)); return *this;} /** *

The Amazon Timestream table where the campaign sends data.

*/ inline const TimestreamConfig& GetTimestreamConfig() const{ return m_timestreamConfig; } /** *

The Amazon Timestream table where the campaign sends data.

*/ inline bool TimestreamConfigHasBeenSet() const { return m_timestreamConfigHasBeenSet; } /** *

The Amazon Timestream table where the campaign sends data.

*/ inline void SetTimestreamConfig(const TimestreamConfig& value) { m_timestreamConfigHasBeenSet = true; m_timestreamConfig = value; } /** *

The Amazon Timestream table where the campaign sends data.

*/ inline void SetTimestreamConfig(TimestreamConfig&& value) { m_timestreamConfigHasBeenSet = true; m_timestreamConfig = std::move(value); } /** *

The Amazon Timestream table where the campaign sends data.

*/ inline DataDestinationConfig& WithTimestreamConfig(const TimestreamConfig& value) { SetTimestreamConfig(value); return *this;} /** *

The Amazon Timestream table where the campaign sends data.

*/ inline DataDestinationConfig& WithTimestreamConfig(TimestreamConfig&& value) { SetTimestreamConfig(std::move(value)); return *this;} private: S3Config m_s3Config; bool m_s3ConfigHasBeenSet = false; TimestreamConfig m_timestreamConfig; bool m_timestreamConfigHasBeenSet = false; }; } // namespace Model } // namespace IoTFleetWise } // namespace Aws