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

In a BatchImportFindings request, finding providers use * FindingProviderFields to provide and update values for confidence, * criticality, related findings, severity, and types.

See Also:

* AWS * API Reference

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

A finding's confidence. Confidence is defined as the likelihood that a * finding accurately identifies the behavior or issue that it was intended to * identify.

Confidence is scored on a 0-100 basis using a ratio scale, * where 0 means zero percent confidence and 100 means 100 percent confidence.

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

A finding's confidence. Confidence is defined as the likelihood that a * finding accurately identifies the behavior or issue that it was intended to * identify.

Confidence is scored on a 0-100 basis using a ratio scale, * where 0 means zero percent confidence and 100 means 100 percent confidence.

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

A finding's confidence. Confidence is defined as the likelihood that a * finding accurately identifies the behavior or issue that it was intended to * identify.

Confidence is scored on a 0-100 basis using a ratio scale, * where 0 means zero percent confidence and 100 means 100 percent confidence.

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

A finding's confidence. Confidence is defined as the likelihood that a * finding accurately identifies the behavior or issue that it was intended to * identify.

Confidence is scored on a 0-100 basis using a ratio scale, * where 0 means zero percent confidence and 100 means 100 percent confidence.

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

The level of importance assigned to the resources associated with the * finding.

A score of 0 means that the underlying resources have no * criticality, and a score of 100 is reserved for the most critical resources.

*/ inline int GetCriticality() const{ return m_criticality; } /** *

The level of importance assigned to the resources associated with the * finding.

A score of 0 means that the underlying resources have no * criticality, and a score of 100 is reserved for the most critical resources.

*/ inline bool CriticalityHasBeenSet() const { return m_criticalityHasBeenSet; } /** *

The level of importance assigned to the resources associated with the * finding.

A score of 0 means that the underlying resources have no * criticality, and a score of 100 is reserved for the most critical resources.

*/ inline void SetCriticality(int value) { m_criticalityHasBeenSet = true; m_criticality = value; } /** *

The level of importance assigned to the resources associated with the * finding.

A score of 0 means that the underlying resources have no * criticality, and a score of 100 is reserved for the most critical resources.

*/ inline FindingProviderFields& WithCriticality(int value) { SetCriticality(value); return *this;} /** *

A list of findings that are related to the current finding.

*/ inline const Aws::Vector& GetRelatedFindings() const{ return m_relatedFindings; } /** *

A list of findings that are related to the current finding.

*/ inline bool RelatedFindingsHasBeenSet() const { return m_relatedFindingsHasBeenSet; } /** *

A list of findings that are related to the current finding.

*/ inline void SetRelatedFindings(const Aws::Vector& value) { m_relatedFindingsHasBeenSet = true; m_relatedFindings = value; } /** *

A list of findings that are related to the current finding.

*/ inline void SetRelatedFindings(Aws::Vector&& value) { m_relatedFindingsHasBeenSet = true; m_relatedFindings = std::move(value); } /** *

A list of findings that are related to the current finding.

*/ inline FindingProviderFields& WithRelatedFindings(const Aws::Vector& value) { SetRelatedFindings(value); return *this;} /** *

A list of findings that are related to the current finding.

*/ inline FindingProviderFields& WithRelatedFindings(Aws::Vector&& value) { SetRelatedFindings(std::move(value)); return *this;} /** *

A list of findings that are related to the current finding.

*/ inline FindingProviderFields& AddRelatedFindings(const RelatedFinding& value) { m_relatedFindingsHasBeenSet = true; m_relatedFindings.push_back(value); return *this; } /** *

A list of findings that are related to the current finding.

*/ inline FindingProviderFields& AddRelatedFindings(RelatedFinding&& value) { m_relatedFindingsHasBeenSet = true; m_relatedFindings.push_back(std::move(value)); return *this; } /** *

The severity of a finding.

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

The severity of a finding.

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

The severity of a finding.

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

The severity of a finding.

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

The severity of a finding.

*/ inline FindingProviderFields& WithSeverity(const FindingProviderSeverity& value) { SetSeverity(value); return *this;} /** *

The severity of a finding.

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

One or more finding types in the format of * namespace/category/classifier that classify a finding.

Valid * namespace values are: Software and Configuration Checks | TTPs | Effects | * Unusual Behaviors | Sensitive Data Identifications

*/ inline const Aws::Vector& GetTypes() const{ return m_types; } /** *

One or more finding types in the format of * namespace/category/classifier that classify a finding.

Valid * namespace values are: Software and Configuration Checks | TTPs | Effects | * Unusual Behaviors | Sensitive Data Identifications

*/ inline bool TypesHasBeenSet() const { return m_typesHasBeenSet; } /** *

One or more finding types in the format of * namespace/category/classifier that classify a finding.

Valid * namespace values are: Software and Configuration Checks | TTPs | Effects | * Unusual Behaviors | Sensitive Data Identifications

*/ inline void SetTypes(const Aws::Vector& value) { m_typesHasBeenSet = true; m_types = value; } /** *

One or more finding types in the format of * namespace/category/classifier that classify a finding.

Valid * namespace values are: Software and Configuration Checks | TTPs | Effects | * Unusual Behaviors | Sensitive Data Identifications

*/ inline void SetTypes(Aws::Vector&& value) { m_typesHasBeenSet = true; m_types = std::move(value); } /** *

One or more finding types in the format of * namespace/category/classifier that classify a finding.

Valid * namespace values are: Software and Configuration Checks | TTPs | Effects | * Unusual Behaviors | Sensitive Data Identifications

*/ inline FindingProviderFields& WithTypes(const Aws::Vector& value) { SetTypes(value); return *this;} /** *

One or more finding types in the format of * namespace/category/classifier that classify a finding.

Valid * namespace values are: Software and Configuration Checks | TTPs | Effects | * Unusual Behaviors | Sensitive Data Identifications

*/ inline FindingProviderFields& WithTypes(Aws::Vector&& value) { SetTypes(std::move(value)); return *this;} /** *

One or more finding types in the format of * namespace/category/classifier that classify a finding.

Valid * namespace values are: Software and Configuration Checks | TTPs | Effects | * Unusual Behaviors | Sensitive Data Identifications

*/ inline FindingProviderFields& AddTypes(const Aws::String& value) { m_typesHasBeenSet = true; m_types.push_back(value); return *this; } /** *

One or more finding types in the format of * namespace/category/classifier that classify a finding.

Valid * namespace values are: Software and Configuration Checks | TTPs | Effects | * Unusual Behaviors | Sensitive Data Identifications

*/ inline FindingProviderFields& AddTypes(Aws::String&& value) { m_typesHasBeenSet = true; m_types.push_back(std::move(value)); return *this; } /** *

One or more finding types in the format of * namespace/category/classifier that classify a finding.

Valid * namespace values are: Software and Configuration Checks | TTPs | Effects | * Unusual Behaviors | Sensitive Data Identifications

*/ inline FindingProviderFields& AddTypes(const char* value) { m_typesHasBeenSet = true; m_types.push_back(value); return *this; } private: int m_confidence; bool m_confidenceHasBeenSet = false; int m_criticality; bool m_criticalityHasBeenSet = false; Aws::Vector m_relatedFindings; bool m_relatedFindingsHasBeenSet = false; FindingProviderSeverity m_severity; bool m_severityHasBeenSet = false; Aws::Vector m_types; bool m_typesHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws