/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace IoT { namespace Model { class DescribeSecurityProfileResult { public: AWS_IOT_API DescribeSecurityProfileResult(); AWS_IOT_API DescribeSecurityProfileResult(const Aws::AmazonWebServiceResult& result); AWS_IOT_API DescribeSecurityProfileResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The name of the security profile.

*/ inline const Aws::String& GetSecurityProfileName() const{ return m_securityProfileName; } /** *

The name of the security profile.

*/ inline void SetSecurityProfileName(const Aws::String& value) { m_securityProfileName = value; } /** *

The name of the security profile.

*/ inline void SetSecurityProfileName(Aws::String&& value) { m_securityProfileName = std::move(value); } /** *

The name of the security profile.

*/ inline void SetSecurityProfileName(const char* value) { m_securityProfileName.assign(value); } /** *

The name of the security profile.

*/ inline DescribeSecurityProfileResult& WithSecurityProfileName(const Aws::String& value) { SetSecurityProfileName(value); return *this;} /** *

The name of the security profile.

*/ inline DescribeSecurityProfileResult& WithSecurityProfileName(Aws::String&& value) { SetSecurityProfileName(std::move(value)); return *this;} /** *

The name of the security profile.

*/ inline DescribeSecurityProfileResult& WithSecurityProfileName(const char* value) { SetSecurityProfileName(value); return *this;} /** *

The ARN of the security profile.

*/ inline const Aws::String& GetSecurityProfileArn() const{ return m_securityProfileArn; } /** *

The ARN of the security profile.

*/ inline void SetSecurityProfileArn(const Aws::String& value) { m_securityProfileArn = value; } /** *

The ARN of the security profile.

*/ inline void SetSecurityProfileArn(Aws::String&& value) { m_securityProfileArn = std::move(value); } /** *

The ARN of the security profile.

*/ inline void SetSecurityProfileArn(const char* value) { m_securityProfileArn.assign(value); } /** *

The ARN of the security profile.

*/ inline DescribeSecurityProfileResult& WithSecurityProfileArn(const Aws::String& value) { SetSecurityProfileArn(value); return *this;} /** *

The ARN of the security profile.

*/ inline DescribeSecurityProfileResult& WithSecurityProfileArn(Aws::String&& value) { SetSecurityProfileArn(std::move(value)); return *this;} /** *

The ARN of the security profile.

*/ inline DescribeSecurityProfileResult& WithSecurityProfileArn(const char* value) { SetSecurityProfileArn(value); return *this;} /** *

A description of the security profile (associated with the security profile * when it was created or updated).

*/ inline const Aws::String& GetSecurityProfileDescription() const{ return m_securityProfileDescription; } /** *

A description of the security profile (associated with the security profile * when it was created or updated).

*/ inline void SetSecurityProfileDescription(const Aws::String& value) { m_securityProfileDescription = value; } /** *

A description of the security profile (associated with the security profile * when it was created or updated).

*/ inline void SetSecurityProfileDescription(Aws::String&& value) { m_securityProfileDescription = std::move(value); } /** *

A description of the security profile (associated with the security profile * when it was created or updated).

*/ inline void SetSecurityProfileDescription(const char* value) { m_securityProfileDescription.assign(value); } /** *

A description of the security profile (associated with the security profile * when it was created or updated).

*/ inline DescribeSecurityProfileResult& WithSecurityProfileDescription(const Aws::String& value) { SetSecurityProfileDescription(value); return *this;} /** *

A description of the security profile (associated with the security profile * when it was created or updated).

*/ inline DescribeSecurityProfileResult& WithSecurityProfileDescription(Aws::String&& value) { SetSecurityProfileDescription(std::move(value)); return *this;} /** *

A description of the security profile (associated with the security profile * when it was created or updated).

*/ inline DescribeSecurityProfileResult& WithSecurityProfileDescription(const char* value) { SetSecurityProfileDescription(value); return *this;} /** *

Specifies the behaviors that, when violated by a device (thing), cause an * alert.

*/ inline const Aws::Vector& GetBehaviors() const{ return m_behaviors; } /** *

Specifies the behaviors that, when violated by a device (thing), cause an * alert.

*/ inline void SetBehaviors(const Aws::Vector& value) { m_behaviors = value; } /** *

Specifies the behaviors that, when violated by a device (thing), cause an * alert.

*/ inline void SetBehaviors(Aws::Vector&& value) { m_behaviors = std::move(value); } /** *

Specifies the behaviors that, when violated by a device (thing), cause an * alert.

*/ inline DescribeSecurityProfileResult& WithBehaviors(const Aws::Vector& value) { SetBehaviors(value); return *this;} /** *

Specifies the behaviors that, when violated by a device (thing), cause an * alert.

*/ inline DescribeSecurityProfileResult& WithBehaviors(Aws::Vector&& value) { SetBehaviors(std::move(value)); return *this;} /** *

Specifies the behaviors that, when violated by a device (thing), cause an * alert.

*/ inline DescribeSecurityProfileResult& AddBehaviors(const Behavior& value) { m_behaviors.push_back(value); return *this; } /** *

Specifies the behaviors that, when violated by a device (thing), cause an * alert.

*/ inline DescribeSecurityProfileResult& AddBehaviors(Behavior&& value) { m_behaviors.push_back(std::move(value)); return *this; } /** *

Where the alerts are sent. (Alerts are always sent to the console.)

*/ inline const Aws::Map& GetAlertTargets() const{ return m_alertTargets; } /** *

Where the alerts are sent. (Alerts are always sent to the console.)

*/ inline void SetAlertTargets(const Aws::Map& value) { m_alertTargets = value; } /** *

Where the alerts are sent. (Alerts are always sent to the console.)

*/ inline void SetAlertTargets(Aws::Map&& value) { m_alertTargets = std::move(value); } /** *

Where the alerts are sent. (Alerts are always sent to the console.)

*/ inline DescribeSecurityProfileResult& WithAlertTargets(const Aws::Map& value) { SetAlertTargets(value); return *this;} /** *

Where the alerts are sent. (Alerts are always sent to the console.)

*/ inline DescribeSecurityProfileResult& WithAlertTargets(Aws::Map&& value) { SetAlertTargets(std::move(value)); return *this;} /** *

Where the alerts are sent. (Alerts are always sent to the console.)

*/ inline DescribeSecurityProfileResult& AddAlertTargets(const AlertTargetType& key, const AlertTarget& value) { m_alertTargets.emplace(key, value); return *this; } /** *

Where the alerts are sent. (Alerts are always sent to the console.)

*/ inline DescribeSecurityProfileResult& AddAlertTargets(AlertTargetType&& key, const AlertTarget& value) { m_alertTargets.emplace(std::move(key), value); return *this; } /** *

Where the alerts are sent. (Alerts are always sent to the console.)

*/ inline DescribeSecurityProfileResult& AddAlertTargets(const AlertTargetType& key, AlertTarget&& value) { m_alertTargets.emplace(key, std::move(value)); return *this; } /** *

Where the alerts are sent. (Alerts are always sent to the console.)

*/ inline DescribeSecurityProfileResult& AddAlertTargets(AlertTargetType&& key, AlertTarget&& value) { m_alertTargets.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of metrics whose data is retained (stored). By default, data is * retained for any metric used in the profile's behaviors, but it is also retained * for any metric specified here.

*/ inline const Aws::Vector& GetAdditionalMetricsToRetainV2() const{ return m_additionalMetricsToRetainV2; } /** *

A list of metrics whose data is retained (stored). By default, data is * retained for any metric used in the profile's behaviors, but it is also retained * for any metric specified here.

*/ inline void SetAdditionalMetricsToRetainV2(const Aws::Vector& value) { m_additionalMetricsToRetainV2 = value; } /** *

A list of metrics whose data is retained (stored). By default, data is * retained for any metric used in the profile's behaviors, but it is also retained * for any metric specified here.

*/ inline void SetAdditionalMetricsToRetainV2(Aws::Vector&& value) { m_additionalMetricsToRetainV2 = std::move(value); } /** *

A list of metrics whose data is retained (stored). By default, data is * retained for any metric used in the profile's behaviors, but it is also retained * for any metric specified here.

*/ inline DescribeSecurityProfileResult& WithAdditionalMetricsToRetainV2(const Aws::Vector& value) { SetAdditionalMetricsToRetainV2(value); return *this;} /** *

A list of metrics whose data is retained (stored). By default, data is * retained for any metric used in the profile's behaviors, but it is also retained * for any metric specified here.

*/ inline DescribeSecurityProfileResult& WithAdditionalMetricsToRetainV2(Aws::Vector&& value) { SetAdditionalMetricsToRetainV2(std::move(value)); return *this;} /** *

A list of metrics whose data is retained (stored). By default, data is * retained for any metric used in the profile's behaviors, but it is also retained * for any metric specified here.

*/ inline DescribeSecurityProfileResult& AddAdditionalMetricsToRetainV2(const MetricToRetain& value) { m_additionalMetricsToRetainV2.push_back(value); return *this; } /** *

A list of metrics whose data is retained (stored). By default, data is * retained for any metric used in the profile's behaviors, but it is also retained * for any metric specified here.

*/ inline DescribeSecurityProfileResult& AddAdditionalMetricsToRetainV2(MetricToRetain&& value) { m_additionalMetricsToRetainV2.push_back(std::move(value)); return *this; } /** *

The version of the security profile. A new version is generated whenever the * security profile is updated.

*/ inline long long GetVersion() const{ return m_version; } /** *

The version of the security profile. A new version is generated whenever the * security profile is updated.

*/ inline void SetVersion(long long value) { m_version = value; } /** *

The version of the security profile. A new version is generated whenever the * security profile is updated.

*/ inline DescribeSecurityProfileResult& WithVersion(long long value) { SetVersion(value); return *this;} /** *

The time the security profile was created.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The time the security profile was created.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDate = value; } /** *

The time the security profile was created.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDate = std::move(value); } /** *

The time the security profile was created.

*/ inline DescribeSecurityProfileResult& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The time the security profile was created.

*/ inline DescribeSecurityProfileResult& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

The time the security profile was last modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedDate() const{ return m_lastModifiedDate; } /** *

The time the security profile was last modified.

*/ inline void SetLastModifiedDate(const Aws::Utils::DateTime& value) { m_lastModifiedDate = value; } /** *

The time the security profile was last modified.

*/ inline void SetLastModifiedDate(Aws::Utils::DateTime&& value) { m_lastModifiedDate = std::move(value); } /** *

The time the security profile was last modified.

*/ inline DescribeSecurityProfileResult& WithLastModifiedDate(const Aws::Utils::DateTime& value) { SetLastModifiedDate(value); return *this;} /** *

The time the security profile was last modified.

*/ inline DescribeSecurityProfileResult& WithLastModifiedDate(Aws::Utils::DateTime&& value) { SetLastModifiedDate(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeSecurityProfileResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeSecurityProfileResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeSecurityProfileResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_securityProfileName; Aws::String m_securityProfileArn; Aws::String m_securityProfileDescription; Aws::Vector m_behaviors; Aws::Map m_alertTargets; Aws::Vector m_additionalMetricsToRetainV2; long long m_version; Aws::Utils::DateTime m_creationDate; Aws::Utils::DateTime m_lastModifiedDate; Aws::String m_requestId; }; } // namespace Model } // namespace IoT } // namespace Aws