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

A network interface that specifies the On-board diagnostic (OBD) II network * protocol.

See Also:

AWS * API Reference

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

The name of the interface.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the interface.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the interface.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the interface.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the interface.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the interface.

*/ inline ObdInterface& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the interface.

*/ inline ObdInterface& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the interface.

*/ inline ObdInterface& WithName(const char* value) { SetName(value); return *this;} /** *

The ID of the message requesting vehicle data.

*/ inline int GetRequestMessageId() const{ return m_requestMessageId; } /** *

The ID of the message requesting vehicle data.

*/ inline bool RequestMessageIdHasBeenSet() const { return m_requestMessageIdHasBeenSet; } /** *

The ID of the message requesting vehicle data.

*/ inline void SetRequestMessageId(int value) { m_requestMessageIdHasBeenSet = true; m_requestMessageId = value; } /** *

The ID of the message requesting vehicle data.

*/ inline ObdInterface& WithRequestMessageId(int value) { SetRequestMessageId(value); return *this;} /** *

The standard OBD II PID.

*/ inline const Aws::String& GetObdStandard() const{ return m_obdStandard; } /** *

The standard OBD II PID.

*/ inline bool ObdStandardHasBeenSet() const { return m_obdStandardHasBeenSet; } /** *

The standard OBD II PID.

*/ inline void SetObdStandard(const Aws::String& value) { m_obdStandardHasBeenSet = true; m_obdStandard = value; } /** *

The standard OBD II PID.

*/ inline void SetObdStandard(Aws::String&& value) { m_obdStandardHasBeenSet = true; m_obdStandard = std::move(value); } /** *

The standard OBD II PID.

*/ inline void SetObdStandard(const char* value) { m_obdStandardHasBeenSet = true; m_obdStandard.assign(value); } /** *

The standard OBD II PID.

*/ inline ObdInterface& WithObdStandard(const Aws::String& value) { SetObdStandard(value); return *this;} /** *

The standard OBD II PID.

*/ inline ObdInterface& WithObdStandard(Aws::String&& value) { SetObdStandard(std::move(value)); return *this;} /** *

The standard OBD II PID.

*/ inline ObdInterface& WithObdStandard(const char* value) { SetObdStandard(value); return *this;} /** *

The maximum number message requests per second.

*/ inline int GetPidRequestIntervalSeconds() const{ return m_pidRequestIntervalSeconds; } /** *

The maximum number message requests per second.

*/ inline bool PidRequestIntervalSecondsHasBeenSet() const { return m_pidRequestIntervalSecondsHasBeenSet; } /** *

The maximum number message requests per second.

*/ inline void SetPidRequestIntervalSeconds(int value) { m_pidRequestIntervalSecondsHasBeenSet = true; m_pidRequestIntervalSeconds = value; } /** *

The maximum number message requests per second.

*/ inline ObdInterface& WithPidRequestIntervalSeconds(int value) { SetPidRequestIntervalSeconds(value); return *this;} /** *

The maximum number message requests per diagnostic trouble code per * second.

*/ inline int GetDtcRequestIntervalSeconds() const{ return m_dtcRequestIntervalSeconds; } /** *

The maximum number message requests per diagnostic trouble code per * second.

*/ inline bool DtcRequestIntervalSecondsHasBeenSet() const { return m_dtcRequestIntervalSecondsHasBeenSet; } /** *

The maximum number message requests per diagnostic trouble code per * second.

*/ inline void SetDtcRequestIntervalSeconds(int value) { m_dtcRequestIntervalSecondsHasBeenSet = true; m_dtcRequestIntervalSeconds = value; } /** *

The maximum number message requests per diagnostic trouble code per * second.

*/ inline ObdInterface& WithDtcRequestIntervalSeconds(int value) { SetDtcRequestIntervalSeconds(value); return *this;} /** *

Whether to use extended IDs in the message.

*/ inline bool GetUseExtendedIds() const{ return m_useExtendedIds; } /** *

Whether to use extended IDs in the message.

*/ inline bool UseExtendedIdsHasBeenSet() const { return m_useExtendedIdsHasBeenSet; } /** *

Whether to use extended IDs in the message.

*/ inline void SetUseExtendedIds(bool value) { m_useExtendedIdsHasBeenSet = true; m_useExtendedIds = value; } /** *

Whether to use extended IDs in the message.

*/ inline ObdInterface& WithUseExtendedIds(bool value) { SetUseExtendedIds(value); return *this;} /** *

Whether the vehicle has a transmission control module (TCM).

*/ inline bool GetHasTransmissionEcu() const{ return m_hasTransmissionEcu; } /** *

Whether the vehicle has a transmission control module (TCM).

*/ inline bool HasTransmissionEcuHasBeenSet() const { return m_hasTransmissionEcuHasBeenSet; } /** *

Whether the vehicle has a transmission control module (TCM).

*/ inline void SetHasTransmissionEcu(bool value) { m_hasTransmissionEcuHasBeenSet = true; m_hasTransmissionEcu = value; } /** *

Whether the vehicle has a transmission control module (TCM).

*/ inline ObdInterface& WithHasTransmissionEcu(bool value) { SetHasTransmissionEcu(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; int m_requestMessageId; bool m_requestMessageIdHasBeenSet = false; Aws::String m_obdStandard; bool m_obdStandardHasBeenSet = false; int m_pidRequestIntervalSeconds; bool m_pidRequestIntervalSecondsHasBeenSet = false; int m_dtcRequestIntervalSeconds; bool m_dtcRequestIntervalSecondsHasBeenSet = false; bool m_useExtendedIds; bool m_useExtendedIdsHasBeenSet = false; bool m_hasTransmissionEcu; bool m_hasTransmissionEcuHasBeenSet = false; }; } // namespace Model } // namespace IoTFleetWise } // namespace Aws