/** * 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 IoT { namespace Model { /** *

A log target.

See Also:

AWS API * Reference

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

The target type.

*/ inline const LogTargetType& GetTargetType() const{ return m_targetType; } /** *

The target type.

*/ inline bool TargetTypeHasBeenSet() const { return m_targetTypeHasBeenSet; } /** *

The target type.

*/ inline void SetTargetType(const LogTargetType& value) { m_targetTypeHasBeenSet = true; m_targetType = value; } /** *

The target type.

*/ inline void SetTargetType(LogTargetType&& value) { m_targetTypeHasBeenSet = true; m_targetType = std::move(value); } /** *

The target type.

*/ inline LogTarget& WithTargetType(const LogTargetType& value) { SetTargetType(value); return *this;} /** *

The target type.

*/ inline LogTarget& WithTargetType(LogTargetType&& value) { SetTargetType(std::move(value)); return *this;} /** *

The target name.

*/ inline const Aws::String& GetTargetName() const{ return m_targetName; } /** *

The target name.

*/ inline bool TargetNameHasBeenSet() const { return m_targetNameHasBeenSet; } /** *

The target name.

*/ inline void SetTargetName(const Aws::String& value) { m_targetNameHasBeenSet = true; m_targetName = value; } /** *

The target name.

*/ inline void SetTargetName(Aws::String&& value) { m_targetNameHasBeenSet = true; m_targetName = std::move(value); } /** *

The target name.

*/ inline void SetTargetName(const char* value) { m_targetNameHasBeenSet = true; m_targetName.assign(value); } /** *

The target name.

*/ inline LogTarget& WithTargetName(const Aws::String& value) { SetTargetName(value); return *this;} /** *

The target name.

*/ inline LogTarget& WithTargetName(Aws::String&& value) { SetTargetName(std::move(value)); return *this;} /** *

The target name.

*/ inline LogTarget& WithTargetName(const char* value) { SetTargetName(value); return *this;} private: LogTargetType m_targetType; bool m_targetTypeHasBeenSet = false; Aws::String m_targetName; bool m_targetNameHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws