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

Configurations used to create a decoder manifest.

See Also:

* AWS * API Reference

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

Contains information about a network interface.

*/ inline const Aws::String& GetNetworkInterface() const{ return m_networkInterface; } /** *

Contains information about a network interface.

*/ inline bool NetworkInterfaceHasBeenSet() const { return m_networkInterfaceHasBeenSet; } /** *

Contains information about a network interface.

*/ inline void SetNetworkInterface(const Aws::String& value) { m_networkInterfaceHasBeenSet = true; m_networkInterface = value; } /** *

Contains information about a network interface.

*/ inline void SetNetworkInterface(Aws::String&& value) { m_networkInterfaceHasBeenSet = true; m_networkInterface = std::move(value); } /** *

Contains information about a network interface.

*/ inline void SetNetworkInterface(const char* value) { m_networkInterfaceHasBeenSet = true; m_networkInterface.assign(value); } /** *

Contains information about a network interface.

*/ inline CanDbcDefinition& WithNetworkInterface(const Aws::String& value) { SetNetworkInterface(value); return *this;} /** *

Contains information about a network interface.

*/ inline CanDbcDefinition& WithNetworkInterface(Aws::String&& value) { SetNetworkInterface(std::move(value)); return *this;} /** *

Contains information about a network interface.

*/ inline CanDbcDefinition& WithNetworkInterface(const char* value) { SetNetworkInterface(value); return *this;} /** *

A list of DBC files. You can upload only one DBC file for each network * interface and specify up to five (inclusive) files in the list.

*/ inline const Aws::Vector& GetCanDbcFiles() const{ return m_canDbcFiles; } /** *

A list of DBC files. You can upload only one DBC file for each network * interface and specify up to five (inclusive) files in the list.

*/ inline bool CanDbcFilesHasBeenSet() const { return m_canDbcFilesHasBeenSet; } /** *

A list of DBC files. You can upload only one DBC file for each network * interface and specify up to five (inclusive) files in the list.

*/ inline void SetCanDbcFiles(const Aws::Vector& value) { m_canDbcFilesHasBeenSet = true; m_canDbcFiles = value; } /** *

A list of DBC files. You can upload only one DBC file for each network * interface and specify up to five (inclusive) files in the list.

*/ inline void SetCanDbcFiles(Aws::Vector&& value) { m_canDbcFilesHasBeenSet = true; m_canDbcFiles = std::move(value); } /** *

A list of DBC files. You can upload only one DBC file for each network * interface and specify up to five (inclusive) files in the list.

*/ inline CanDbcDefinition& WithCanDbcFiles(const Aws::Vector& value) { SetCanDbcFiles(value); return *this;} /** *

A list of DBC files. You can upload only one DBC file for each network * interface and specify up to five (inclusive) files in the list.

*/ inline CanDbcDefinition& WithCanDbcFiles(Aws::Vector&& value) { SetCanDbcFiles(std::move(value)); return *this;} /** *

A list of DBC files. You can upload only one DBC file for each network * interface and specify up to five (inclusive) files in the list.

*/ inline CanDbcDefinition& AddCanDbcFiles(const Aws::Utils::ByteBuffer& value) { m_canDbcFilesHasBeenSet = true; m_canDbcFiles.push_back(value); return *this; } /** *

A list of DBC files. You can upload only one DBC file for each network * interface and specify up to five (inclusive) files in the list.

*/ inline CanDbcDefinition& AddCanDbcFiles(Aws::Utils::ByteBuffer&& value) { m_canDbcFilesHasBeenSet = true; m_canDbcFiles.push_back(std::move(value)); return *this; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline const Aws::Map& GetSignalsMap() const{ return m_signalsMap; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline bool SignalsMapHasBeenSet() const { return m_signalsMapHasBeenSet; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline void SetSignalsMap(const Aws::Map& value) { m_signalsMapHasBeenSet = true; m_signalsMap = value; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline void SetSignalsMap(Aws::Map&& value) { m_signalsMapHasBeenSet = true; m_signalsMap = std::move(value); } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline CanDbcDefinition& WithSignalsMap(const Aws::Map& value) { SetSignalsMap(value); return *this;} /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline CanDbcDefinition& WithSignalsMap(Aws::Map&& value) { SetSignalsMap(std::move(value)); return *this;} /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline CanDbcDefinition& AddSignalsMap(const Aws::String& key, const Aws::String& value) { m_signalsMapHasBeenSet = true; m_signalsMap.emplace(key, value); return *this; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline CanDbcDefinition& AddSignalsMap(Aws::String&& key, const Aws::String& value) { m_signalsMapHasBeenSet = true; m_signalsMap.emplace(std::move(key), value); return *this; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline CanDbcDefinition& AddSignalsMap(const Aws::String& key, Aws::String&& value) { m_signalsMapHasBeenSet = true; m_signalsMap.emplace(key, std::move(value)); return *this; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline CanDbcDefinition& AddSignalsMap(Aws::String&& key, Aws::String&& value) { m_signalsMapHasBeenSet = true; m_signalsMap.emplace(std::move(key), std::move(value)); return *this; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline CanDbcDefinition& AddSignalsMap(const char* key, Aws::String&& value) { m_signalsMapHasBeenSet = true; m_signalsMap.emplace(key, std::move(value)); return *this; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline CanDbcDefinition& AddSignalsMap(Aws::String&& key, const char* value) { m_signalsMapHasBeenSet = true; m_signalsMap.emplace(std::move(key), value); return *this; } /** *

Pairs every signal specified in your vehicle model with a signal decoder.

*/ inline CanDbcDefinition& AddSignalsMap(const char* key, const char* value) { m_signalsMapHasBeenSet = true; m_signalsMap.emplace(key, value); return *this; } private: Aws::String m_networkInterface; bool m_networkInterfaceHasBeenSet = false; Aws::Vector m_canDbcFiles; bool m_canDbcFilesHasBeenSet = false; Aws::Map m_signalsMap; bool m_signalsMapHasBeenSet = false; }; } // namespace Model } // namespace IoTFleetWise } // namespace Aws