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

Contains information about what was excluded from an assessment * run.

See Also:

AWS * API Reference

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

The ARN that specifies the exclusion.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The ARN that specifies the exclusion.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The ARN that specifies the exclusion.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The ARN that specifies the exclusion.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The ARN that specifies the exclusion.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The ARN that specifies the exclusion.

*/ inline Exclusion& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The ARN that specifies the exclusion.

*/ inline Exclusion& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The ARN that specifies the exclusion.

*/ inline Exclusion& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the exclusion.

*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *

The name of the exclusion.

*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *

The name of the exclusion.

*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *

The name of the exclusion.

*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *

The name of the exclusion.

*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *

The name of the exclusion.

*/ inline Exclusion& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

The name of the exclusion.

*/ inline Exclusion& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *

The name of the exclusion.

*/ inline Exclusion& WithTitle(const char* value) { SetTitle(value); return *this;} /** *

The description of the exclusion.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the exclusion.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the exclusion.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the exclusion.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the exclusion.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the exclusion.

*/ inline Exclusion& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the exclusion.

*/ inline Exclusion& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the exclusion.

*/ inline Exclusion& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The recommendation for the exclusion.

*/ inline const Aws::String& GetRecommendation() const{ return m_recommendation; } /** *

The recommendation for the exclusion.

*/ inline bool RecommendationHasBeenSet() const { return m_recommendationHasBeenSet; } /** *

The recommendation for the exclusion.

*/ inline void SetRecommendation(const Aws::String& value) { m_recommendationHasBeenSet = true; m_recommendation = value; } /** *

The recommendation for the exclusion.

*/ inline void SetRecommendation(Aws::String&& value) { m_recommendationHasBeenSet = true; m_recommendation = std::move(value); } /** *

The recommendation for the exclusion.

*/ inline void SetRecommendation(const char* value) { m_recommendationHasBeenSet = true; m_recommendation.assign(value); } /** *

The recommendation for the exclusion.

*/ inline Exclusion& WithRecommendation(const Aws::String& value) { SetRecommendation(value); return *this;} /** *

The recommendation for the exclusion.

*/ inline Exclusion& WithRecommendation(Aws::String&& value) { SetRecommendation(std::move(value)); return *this;} /** *

The recommendation for the exclusion.

*/ inline Exclusion& WithRecommendation(const char* value) { SetRecommendation(value); return *this;} /** *

The AWS resources for which the exclusion pertains.

*/ inline const Aws::Vector& GetScopes() const{ return m_scopes; } /** *

The AWS resources for which the exclusion pertains.

*/ inline bool ScopesHasBeenSet() const { return m_scopesHasBeenSet; } /** *

The AWS resources for which the exclusion pertains.

*/ inline void SetScopes(const Aws::Vector& value) { m_scopesHasBeenSet = true; m_scopes = value; } /** *

The AWS resources for which the exclusion pertains.

*/ inline void SetScopes(Aws::Vector&& value) { m_scopesHasBeenSet = true; m_scopes = std::move(value); } /** *

The AWS resources for which the exclusion pertains.

*/ inline Exclusion& WithScopes(const Aws::Vector& value) { SetScopes(value); return *this;} /** *

The AWS resources for which the exclusion pertains.

*/ inline Exclusion& WithScopes(Aws::Vector&& value) { SetScopes(std::move(value)); return *this;} /** *

The AWS resources for which the exclusion pertains.

*/ inline Exclusion& AddScopes(const Scope& value) { m_scopesHasBeenSet = true; m_scopes.push_back(value); return *this; } /** *

The AWS resources for which the exclusion pertains.

*/ inline Exclusion& AddScopes(Scope&& value) { m_scopesHasBeenSet = true; m_scopes.push_back(std::move(value)); return *this; } /** *

The system-defined attributes for the exclusion.

*/ inline const Aws::Vector& GetAttributes() const{ return m_attributes; } /** *

The system-defined attributes for the exclusion.

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

The system-defined attributes for the exclusion.

*/ inline void SetAttributes(const Aws::Vector& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

The system-defined attributes for the exclusion.

*/ inline void SetAttributes(Aws::Vector&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

The system-defined attributes for the exclusion.

*/ inline Exclusion& WithAttributes(const Aws::Vector& value) { SetAttributes(value); return *this;} /** *

The system-defined attributes for the exclusion.

*/ inline Exclusion& WithAttributes(Aws::Vector&& value) { SetAttributes(std::move(value)); return *this;} /** *

The system-defined attributes for the exclusion.

*/ inline Exclusion& AddAttributes(const Attribute& value) { m_attributesHasBeenSet = true; m_attributes.push_back(value); return *this; } /** *

The system-defined attributes for the exclusion.

*/ inline Exclusion& AddAttributes(Attribute&& value) { m_attributesHasBeenSet = true; m_attributes.push_back(std::move(value)); return *this; } private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_recommendation; bool m_recommendationHasBeenSet = false; Aws::Vector m_scopes; bool m_scopesHasBeenSet = false; Aws::Vector m_attributes; bool m_attributesHasBeenSet = false; }; } // namespace Model } // namespace Inspector } // namespace Aws