/** * 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 { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Inspector { namespace Model { /** *

Contains information about an Amazon Inspector finding. This data type is * used as the response element in the DescribeFindings * action.

See Also:

AWS * API Reference

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

The ARN that specifies the finding.

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

The ARN that specifies the finding.

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

The ARN that specifies the finding.

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

The ARN that specifies the finding.

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

The ARN that specifies the finding.

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

The ARN that specifies the finding.

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

The ARN that specifies the finding.

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

The ARN that specifies the finding.

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

The schema version of this data type.

*/ inline int GetSchemaVersion() const{ return m_schemaVersion; } /** *

The schema version of this data type.

*/ inline bool SchemaVersionHasBeenSet() const { return m_schemaVersionHasBeenSet; } /** *

The schema version of this data type.

*/ inline void SetSchemaVersion(int value) { m_schemaVersionHasBeenSet = true; m_schemaVersion = value; } /** *

The schema version of this data type.

*/ inline Finding& WithSchemaVersion(int value) { SetSchemaVersion(value); return *this;} /** *

The data element is set to "Inspector".

*/ inline const Aws::String& GetService() const{ return m_service; } /** *

The data element is set to "Inspector".

*/ inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } /** *

The data element is set to "Inspector".

*/ inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } /** *

The data element is set to "Inspector".

*/ inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } /** *

The data element is set to "Inspector".

*/ inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } /** *

The data element is set to "Inspector".

*/ inline Finding& WithService(const Aws::String& value) { SetService(value); return *this;} /** *

The data element is set to "Inspector".

*/ inline Finding& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} /** *

The data element is set to "Inspector".

*/ inline Finding& WithService(const char* value) { SetService(value); return *this;} /** *

This data type is used in the Finding data type.

*/ inline const InspectorServiceAttributes& GetServiceAttributes() const{ return m_serviceAttributes; } /** *

This data type is used in the Finding data type.

*/ inline bool ServiceAttributesHasBeenSet() const { return m_serviceAttributesHasBeenSet; } /** *

This data type is used in the Finding data type.

*/ inline void SetServiceAttributes(const InspectorServiceAttributes& value) { m_serviceAttributesHasBeenSet = true; m_serviceAttributes = value; } /** *

This data type is used in the Finding data type.

*/ inline void SetServiceAttributes(InspectorServiceAttributes&& value) { m_serviceAttributesHasBeenSet = true; m_serviceAttributes = std::move(value); } /** *

This data type is used in the Finding data type.

*/ inline Finding& WithServiceAttributes(const InspectorServiceAttributes& value) { SetServiceAttributes(value); return *this;} /** *

This data type is used in the Finding data type.

*/ inline Finding& WithServiceAttributes(InspectorServiceAttributes&& value) { SetServiceAttributes(std::move(value)); return *this;} /** *

The type of the host from which the finding is generated.

*/ inline const AssetType& GetAssetType() const{ return m_assetType; } /** *

The type of the host from which the finding is generated.

*/ inline bool AssetTypeHasBeenSet() const { return m_assetTypeHasBeenSet; } /** *

The type of the host from which the finding is generated.

*/ inline void SetAssetType(const AssetType& value) { m_assetTypeHasBeenSet = true; m_assetType = value; } /** *

The type of the host from which the finding is generated.

*/ inline void SetAssetType(AssetType&& value) { m_assetTypeHasBeenSet = true; m_assetType = std::move(value); } /** *

The type of the host from which the finding is generated.

*/ inline Finding& WithAssetType(const AssetType& value) { SetAssetType(value); return *this;} /** *

The type of the host from which the finding is generated.

*/ inline Finding& WithAssetType(AssetType&& value) { SetAssetType(std::move(value)); return *this;} /** *

A collection of attributes of the host from which the finding is * generated.

*/ inline const AssetAttributes& GetAssetAttributes() const{ return m_assetAttributes; } /** *

A collection of attributes of the host from which the finding is * generated.

*/ inline bool AssetAttributesHasBeenSet() const { return m_assetAttributesHasBeenSet; } /** *

A collection of attributes of the host from which the finding is * generated.

*/ inline void SetAssetAttributes(const AssetAttributes& value) { m_assetAttributesHasBeenSet = true; m_assetAttributes = value; } /** *

A collection of attributes of the host from which the finding is * generated.

*/ inline void SetAssetAttributes(AssetAttributes&& value) { m_assetAttributesHasBeenSet = true; m_assetAttributes = std::move(value); } /** *

A collection of attributes of the host from which the finding is * generated.

*/ inline Finding& WithAssetAttributes(const AssetAttributes& value) { SetAssetAttributes(value); return *this;} /** *

A collection of attributes of the host from which the finding is * generated.

*/ inline Finding& WithAssetAttributes(AssetAttributes&& value) { SetAssetAttributes(std::move(value)); return *this;} /** *

The ID of the finding.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the finding.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the finding.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the finding.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the finding.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the finding.

*/ inline Finding& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the finding.

*/ inline Finding& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the finding.

*/ inline Finding& WithId(const char* value) { SetId(value); return *this;} /** *

The name of the finding.

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

The name of the finding.

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

The name of the finding.

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

The name of the finding.

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

The name of the finding.

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

The name of the finding.

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

The name of the finding.

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

The name of the finding.

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

The description of the finding.

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

The description of the finding.

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

The description of the finding.

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

The description of the finding.

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

The description of the finding.

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

The description of the finding.

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

The description of the finding.

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

The description of the finding.

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

The recommendation for the finding.

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

The recommendation for the finding.

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

The recommendation for the finding.

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

The recommendation for the finding.

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

The recommendation for the finding.

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

The recommendation for the finding.

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

The recommendation for the finding.

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

The recommendation for the finding.

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

The finding severity. Values can be set to High, Medium, Low, and * Informational.

*/ inline const Severity& GetSeverity() const{ return m_severity; } /** *

The finding severity. Values can be set to High, Medium, Low, and * Informational.

*/ inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } /** *

The finding severity. Values can be set to High, Medium, Low, and * Informational.

*/ inline void SetSeverity(const Severity& value) { m_severityHasBeenSet = true; m_severity = value; } /** *

The finding severity. Values can be set to High, Medium, Low, and * Informational.

*/ inline void SetSeverity(Severity&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); } /** *

The finding severity. Values can be set to High, Medium, Low, and * Informational.

*/ inline Finding& WithSeverity(const Severity& value) { SetSeverity(value); return *this;} /** *

The finding severity. Values can be set to High, Medium, Low, and * Informational.

*/ inline Finding& WithSeverity(Severity&& value) { SetSeverity(std::move(value)); return *this;} /** *

The numeric value of the finding severity.

*/ inline double GetNumericSeverity() const{ return m_numericSeverity; } /** *

The numeric value of the finding severity.

*/ inline bool NumericSeverityHasBeenSet() const { return m_numericSeverityHasBeenSet; } /** *

The numeric value of the finding severity.

*/ inline void SetNumericSeverity(double value) { m_numericSeverityHasBeenSet = true; m_numericSeverity = value; } /** *

The numeric value of the finding severity.

*/ inline Finding& WithNumericSeverity(double value) { SetNumericSeverity(value); return *this;} /** *

This data element is currently not used.

*/ inline int GetConfidence() const{ return m_confidence; } /** *

This data element is currently not used.

*/ inline bool ConfidenceHasBeenSet() const { return m_confidenceHasBeenSet; } /** *

This data element is currently not used.

*/ inline void SetConfidence(int value) { m_confidenceHasBeenSet = true; m_confidence = value; } /** *

This data element is currently not used.

*/ inline Finding& WithConfidence(int value) { SetConfidence(value); return *this;} /** *

This data element is currently not used.

*/ inline bool GetIndicatorOfCompromise() const{ return m_indicatorOfCompromise; } /** *

This data element is currently not used.

*/ inline bool IndicatorOfCompromiseHasBeenSet() const { return m_indicatorOfCompromiseHasBeenSet; } /** *

This data element is currently not used.

*/ inline void SetIndicatorOfCompromise(bool value) { m_indicatorOfCompromiseHasBeenSet = true; m_indicatorOfCompromise = value; } /** *

This data element is currently not used.

*/ inline Finding& WithIndicatorOfCompromise(bool value) { SetIndicatorOfCompromise(value); return *this;} /** *

The system-defined attributes for the finding.

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

The system-defined attributes for the finding.

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

The system-defined attributes for the finding.

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

The system-defined attributes for the finding.

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

The system-defined attributes for the finding.

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

The system-defined attributes for the finding.

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

The system-defined attributes for the finding.

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

The system-defined attributes for the finding.

*/ inline Finding& AddAttributes(Attribute&& value) { m_attributesHasBeenSet = true; m_attributes.push_back(std::move(value)); return *this; } /** *

The user-defined attributes that are assigned to the finding.

*/ inline const Aws::Vector& GetUserAttributes() const{ return m_userAttributes; } /** *

The user-defined attributes that are assigned to the finding.

*/ inline bool UserAttributesHasBeenSet() const { return m_userAttributesHasBeenSet; } /** *

The user-defined attributes that are assigned to the finding.

*/ inline void SetUserAttributes(const Aws::Vector& value) { m_userAttributesHasBeenSet = true; m_userAttributes = value; } /** *

The user-defined attributes that are assigned to the finding.

*/ inline void SetUserAttributes(Aws::Vector&& value) { m_userAttributesHasBeenSet = true; m_userAttributes = std::move(value); } /** *

The user-defined attributes that are assigned to the finding.

*/ inline Finding& WithUserAttributes(const Aws::Vector& value) { SetUserAttributes(value); return *this;} /** *

The user-defined attributes that are assigned to the finding.

*/ inline Finding& WithUserAttributes(Aws::Vector&& value) { SetUserAttributes(std::move(value)); return *this;} /** *

The user-defined attributes that are assigned to the finding.

*/ inline Finding& AddUserAttributes(const Attribute& value) { m_userAttributesHasBeenSet = true; m_userAttributes.push_back(value); return *this; } /** *

The user-defined attributes that are assigned to the finding.

*/ inline Finding& AddUserAttributes(Attribute&& value) { m_userAttributesHasBeenSet = true; m_userAttributes.push_back(std::move(value)); return *this; } /** *

The time when the finding was generated.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The time when the finding was generated.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The time when the finding was generated.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The time when the finding was generated.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The time when the finding was generated.

*/ inline Finding& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The time when the finding was generated.

*/ inline Finding& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The time when AddAttributesToFindings is called.

*/ inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } /** *

The time when AddAttributesToFindings is called.

*/ inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } /** *

The time when AddAttributesToFindings is called.

*/ inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } /** *

The time when AddAttributesToFindings is called.

*/ inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } /** *

The time when AddAttributesToFindings is called.

*/ inline Finding& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *

The time when AddAttributesToFindings is called.

*/ inline Finding& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; int m_schemaVersion; bool m_schemaVersionHasBeenSet = false; Aws::String m_service; bool m_serviceHasBeenSet = false; InspectorServiceAttributes m_serviceAttributes; bool m_serviceAttributesHasBeenSet = false; AssetType m_assetType; bool m_assetTypeHasBeenSet = false; AssetAttributes m_assetAttributes; bool m_assetAttributesHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = 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; Severity m_severity; bool m_severityHasBeenSet = false; double m_numericSeverity; bool m_numericSeverityHasBeenSet = false; int m_confidence; bool m_confidenceHasBeenSet = false; bool m_indicatorOfCompromise; bool m_indicatorOfCompromiseHasBeenSet = false; Aws::Vector m_attributes; bool m_attributesHasBeenSet = false; Aws::Vector m_userAttributes; bool m_userAttributesHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; }; } // namespace Model } // namespace Inspector } // namespace Aws