/** * 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 { /** *

Information about a security profile and the target associated with * it.

See Also:

AWS * API Reference

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

Information that identifies the security profile.

*/ inline const SecurityProfileIdentifier& GetSecurityProfileIdentifier() const{ return m_securityProfileIdentifier; } /** *

Information that identifies the security profile.

*/ inline bool SecurityProfileIdentifierHasBeenSet() const { return m_securityProfileIdentifierHasBeenSet; } /** *

Information that identifies the security profile.

*/ inline void SetSecurityProfileIdentifier(const SecurityProfileIdentifier& value) { m_securityProfileIdentifierHasBeenSet = true; m_securityProfileIdentifier = value; } /** *

Information that identifies the security profile.

*/ inline void SetSecurityProfileIdentifier(SecurityProfileIdentifier&& value) { m_securityProfileIdentifierHasBeenSet = true; m_securityProfileIdentifier = std::move(value); } /** *

Information that identifies the security profile.

*/ inline SecurityProfileTargetMapping& WithSecurityProfileIdentifier(const SecurityProfileIdentifier& value) { SetSecurityProfileIdentifier(value); return *this;} /** *

Information that identifies the security profile.

*/ inline SecurityProfileTargetMapping& WithSecurityProfileIdentifier(SecurityProfileIdentifier&& value) { SetSecurityProfileIdentifier(std::move(value)); return *this;} /** *

Information about the target (thing group) associated with the security * profile.

*/ inline const SecurityProfileTarget& GetTarget() const{ return m_target; } /** *

Information about the target (thing group) associated with the security * profile.

*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *

Information about the target (thing group) associated with the security * profile.

*/ inline void SetTarget(const SecurityProfileTarget& value) { m_targetHasBeenSet = true; m_target = value; } /** *

Information about the target (thing group) associated with the security * profile.

*/ inline void SetTarget(SecurityProfileTarget&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } /** *

Information about the target (thing group) associated with the security * profile.

*/ inline SecurityProfileTargetMapping& WithTarget(const SecurityProfileTarget& value) { SetTarget(value); return *this;} /** *

Information about the target (thing group) associated with the security * profile.

*/ inline SecurityProfileTargetMapping& WithTarget(SecurityProfileTarget&& value) { SetTarget(std::move(value)); return *this;} private: SecurityProfileIdentifier m_securityProfileIdentifier; bool m_securityProfileIdentifierHasBeenSet = false; SecurityProfileTarget m_target; bool m_targetHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws