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

Information about a finding that was detected in your code.

See * Also:

AWS * API Reference

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

The time when the finding was created.

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

The time when the finding was created.

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

The time when the finding was created.

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

The time when the finding was created.

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

The time when the finding was created.

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

The time when the finding was created.

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

A description of the finding.

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

A description of the finding.

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

A description of the finding.

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

A description of the finding.

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

A description of the finding.

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

A description of the finding.

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

A description of the finding.

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

A description of the finding.

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

The identifier for the detector that detected the finding in your code. A * detector is a defined rule based on industry standards and AWS best practices. *

*/ inline const Aws::String& GetDetectorId() const{ return m_detectorId; } /** *

The identifier for the detector that detected the finding in your code. A * detector is a defined rule based on industry standards and AWS best practices. *

*/ inline bool DetectorIdHasBeenSet() const { return m_detectorIdHasBeenSet; } /** *

The identifier for the detector that detected the finding in your code. A * detector is a defined rule based on industry standards and AWS best practices. *

*/ inline void SetDetectorId(const Aws::String& value) { m_detectorIdHasBeenSet = true; m_detectorId = value; } /** *

The identifier for the detector that detected the finding in your code. A * detector is a defined rule based on industry standards and AWS best practices. *

*/ inline void SetDetectorId(Aws::String&& value) { m_detectorIdHasBeenSet = true; m_detectorId = std::move(value); } /** *

The identifier for the detector that detected the finding in your code. A * detector is a defined rule based on industry standards and AWS best practices. *

*/ inline void SetDetectorId(const char* value) { m_detectorIdHasBeenSet = true; m_detectorId.assign(value); } /** *

The identifier for the detector that detected the finding in your code. A * detector is a defined rule based on industry standards and AWS best practices. *

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

The identifier for the detector that detected the finding in your code. A * detector is a defined rule based on industry standards and AWS best practices. *

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

The identifier for the detector that detected the finding in your code. A * detector is a defined rule based on industry standards and AWS best practices. *

*/ inline Finding& WithDetectorId(const char* value) { SetDetectorId(value); return *this;} /** *

The name of the detector that identified the security vulnerability in your * code.

*/ inline const Aws::String& GetDetectorName() const{ return m_detectorName; } /** *

The name of the detector that identified the security vulnerability in your * code.

*/ inline bool DetectorNameHasBeenSet() const { return m_detectorNameHasBeenSet; } /** *

The name of the detector that identified the security vulnerability in your * code.

*/ inline void SetDetectorName(const Aws::String& value) { m_detectorNameHasBeenSet = true; m_detectorName = value; } /** *

The name of the detector that identified the security vulnerability in your * code.

*/ inline void SetDetectorName(Aws::String&& value) { m_detectorNameHasBeenSet = true; m_detectorName = std::move(value); } /** *

The name of the detector that identified the security vulnerability in your * code.

*/ inline void SetDetectorName(const char* value) { m_detectorNameHasBeenSet = true; m_detectorName.assign(value); } /** *

The name of the detector that identified the security vulnerability in your * code.

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

The name of the detector that identified the security vulnerability in your * code.

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

The name of the detector that identified the security vulnerability in your * code.

*/ inline Finding& WithDetectorName(const char* value) { SetDetectorName(value); return *this;} /** *

One or more tags or categorizations that are associated with a detector. * These tags are defined by type, programming language, or other classification * such as maintainability or consistency.

*/ inline const Aws::Vector& GetDetectorTags() const{ return m_detectorTags; } /** *

One or more tags or categorizations that are associated with a detector. * These tags are defined by type, programming language, or other classification * such as maintainability or consistency.

*/ inline bool DetectorTagsHasBeenSet() const { return m_detectorTagsHasBeenSet; } /** *

One or more tags or categorizations that are associated with a detector. * These tags are defined by type, programming language, or other classification * such as maintainability or consistency.

*/ inline void SetDetectorTags(const Aws::Vector& value) { m_detectorTagsHasBeenSet = true; m_detectorTags = value; } /** *

One or more tags or categorizations that are associated with a detector. * These tags are defined by type, programming language, or other classification * such as maintainability or consistency.

*/ inline void SetDetectorTags(Aws::Vector&& value) { m_detectorTagsHasBeenSet = true; m_detectorTags = std::move(value); } /** *

One or more tags or categorizations that are associated with a detector. * These tags are defined by type, programming language, or other classification * such as maintainability or consistency.

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

One or more tags or categorizations that are associated with a detector. * These tags are defined by type, programming language, or other classification * such as maintainability or consistency.

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

One or more tags or categorizations that are associated with a detector. * These tags are defined by type, programming language, or other classification * such as maintainability or consistency.

*/ inline Finding& AddDetectorTags(const Aws::String& value) { m_detectorTagsHasBeenSet = true; m_detectorTags.push_back(value); return *this; } /** *

One or more tags or categorizations that are associated with a detector. * These tags are defined by type, programming language, or other classification * such as maintainability or consistency.

*/ inline Finding& AddDetectorTags(Aws::String&& value) { m_detectorTagsHasBeenSet = true; m_detectorTags.push_back(std::move(value)); return *this; } /** *

One or more tags or categorizations that are associated with a detector. * These tags are defined by type, programming language, or other classification * such as maintainability or consistency.

*/ inline Finding& AddDetectorTags(const char* value) { m_detectorTagsHasBeenSet = true; m_detectorTags.push_back(value); return *this; } /** *

The identifier for the component that generated a finding such as * AWSCodeGuruSecurity or AWSInspector.

*/ inline const Aws::String& GetGeneratorId() const{ return m_generatorId; } /** *

The identifier for the component that generated a finding such as * AWSCodeGuruSecurity or AWSInspector.

*/ inline bool GeneratorIdHasBeenSet() const { return m_generatorIdHasBeenSet; } /** *

The identifier for the component that generated a finding such as * AWSCodeGuruSecurity or AWSInspector.

*/ inline void SetGeneratorId(const Aws::String& value) { m_generatorIdHasBeenSet = true; m_generatorId = value; } /** *

The identifier for the component that generated a finding such as * AWSCodeGuruSecurity or AWSInspector.

*/ inline void SetGeneratorId(Aws::String&& value) { m_generatorIdHasBeenSet = true; m_generatorId = std::move(value); } /** *

The identifier for the component that generated a finding such as * AWSCodeGuruSecurity or AWSInspector.

*/ inline void SetGeneratorId(const char* value) { m_generatorIdHasBeenSet = true; m_generatorId.assign(value); } /** *

The identifier for the component that generated a finding such as * AWSCodeGuruSecurity or AWSInspector.

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

The identifier for the component that generated a finding such as * AWSCodeGuruSecurity or AWSInspector.

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

The identifier for the component that generated a finding such as * AWSCodeGuruSecurity or AWSInspector.

*/ inline Finding& WithGeneratorId(const char* value) { SetGeneratorId(value); return *this;} /** *

The identifier for a finding.

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

The identifier for a finding.

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

The identifier for a finding.

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

The identifier for a finding.

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

The identifier for a finding.

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

The identifier for a finding.

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

The identifier for a finding.

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

The identifier for a finding.

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

An object that contains the details about how to remediate a finding.

*/ inline const Remediation& GetRemediation() const{ return m_remediation; } /** *

An object that contains the details about how to remediate a finding.

*/ inline bool RemediationHasBeenSet() const { return m_remediationHasBeenSet; } /** *

An object that contains the details about how to remediate a finding.

*/ inline void SetRemediation(const Remediation& value) { m_remediationHasBeenSet = true; m_remediation = value; } /** *

An object that contains the details about how to remediate a finding.

*/ inline void SetRemediation(Remediation&& value) { m_remediationHasBeenSet = true; m_remediation = std::move(value); } /** *

An object that contains the details about how to remediate a finding.

*/ inline Finding& WithRemediation(const Remediation& value) { SetRemediation(value); return *this;} /** *

An object that contains the details about how to remediate a finding.

*/ inline Finding& WithRemediation(Remediation&& value) { SetRemediation(std::move(value)); return *this;} /** *

The resource where Amazon CodeGuru Security detected a finding.

*/ inline const Resource& GetResource() const{ return m_resource; } /** *

The resource where Amazon CodeGuru Security detected a finding.

*/ inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } /** *

The resource where Amazon CodeGuru Security detected a finding.

*/ inline void SetResource(const Resource& value) { m_resourceHasBeenSet = true; m_resource = value; } /** *

The resource where Amazon CodeGuru Security detected a finding.

*/ inline void SetResource(Resource&& value) { m_resourceHasBeenSet = true; m_resource = std::move(value); } /** *

The resource where Amazon CodeGuru Security detected a finding.

*/ inline Finding& WithResource(const Resource& value) { SetResource(value); return *this;} /** *

The resource where Amazon CodeGuru Security detected a finding.

*/ inline Finding& WithResource(Resource&& value) { SetResource(std::move(value)); return *this;} /** *

The identifier for the rule that generated the finding.

*/ inline const Aws::String& GetRuleId() const{ return m_ruleId; } /** *

The identifier for the rule that generated the finding.

*/ inline bool RuleIdHasBeenSet() const { return m_ruleIdHasBeenSet; } /** *

The identifier for the rule that generated the finding.

*/ inline void SetRuleId(const Aws::String& value) { m_ruleIdHasBeenSet = true; m_ruleId = value; } /** *

The identifier for the rule that generated the finding.

*/ inline void SetRuleId(Aws::String&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::move(value); } /** *

The identifier for the rule that generated the finding.

*/ inline void SetRuleId(const char* value) { m_ruleIdHasBeenSet = true; m_ruleId.assign(value); } /** *

The identifier for the rule that generated the finding.

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

The identifier for the rule that generated the finding.

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

The identifier for the rule that generated the finding.

*/ inline Finding& WithRuleId(const char* value) { SetRuleId(value); return *this;} /** *

The severity of the finding.

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

The severity of the finding.

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

The severity of the finding.

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

The severity of the finding.

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

The severity of the finding.

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

The severity of the finding.

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

The status of the finding. A finding status can be open or closed.

*/ inline const Status& GetStatus() const{ return m_status; } /** *

The status of the finding. A finding status can be open or closed.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the finding. A finding status can be open or closed.

*/ inline void SetStatus(const Status& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the finding. A finding status can be open or closed.

*/ inline void SetStatus(Status&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the finding. A finding status can be open or closed.

*/ inline Finding& WithStatus(const Status& value) { SetStatus(value); return *this;} /** *

The status of the finding. A finding status can be open or closed.

*/ inline Finding& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} /** *

The title of the finding.

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

The title of the finding.

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

The title of the finding.

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

The title of the finding.

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

The title of the finding.

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

The title of the finding.

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

The title of the finding.

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

The title of the finding.

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

The type of finding.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of finding.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of finding.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of finding.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of finding.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of finding.

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

The type of finding.

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

The type of finding.

*/ inline Finding& WithType(const char* value) { SetType(value); return *this;} /** *

The time when the finding was last updated. Findings are updated when you * remediate them or when the finding code location changes.

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

The time when the finding was last updated. Findings are updated when you * remediate them or when the finding code location changes.

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

The time when the finding was last updated. Findings are updated when you * remediate them or when the finding code location changes.

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

The time when the finding was last updated. Findings are updated when you * remediate them or when the finding code location changes.

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

The time when the finding was last updated. Findings are updated when you * remediate them or when the finding code location changes.

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

The time when the finding was last updated. Findings are updated when you * remediate them or when the finding code location changes.

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

An object that describes the detected security vulnerability.

*/ inline const Vulnerability& GetVulnerability() const{ return m_vulnerability; } /** *

An object that describes the detected security vulnerability.

*/ inline bool VulnerabilityHasBeenSet() const { return m_vulnerabilityHasBeenSet; } /** *

An object that describes the detected security vulnerability.

*/ inline void SetVulnerability(const Vulnerability& value) { m_vulnerabilityHasBeenSet = true; m_vulnerability = value; } /** *

An object that describes the detected security vulnerability.

*/ inline void SetVulnerability(Vulnerability&& value) { m_vulnerabilityHasBeenSet = true; m_vulnerability = std::move(value); } /** *

An object that describes the detected security vulnerability.

*/ inline Finding& WithVulnerability(const Vulnerability& value) { SetVulnerability(value); return *this;} /** *

An object that describes the detected security vulnerability.

*/ inline Finding& WithVulnerability(Vulnerability&& value) { SetVulnerability(std::move(value)); return *this;} private: Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_detectorId; bool m_detectorIdHasBeenSet = false; Aws::String m_detectorName; bool m_detectorNameHasBeenSet = false; Aws::Vector m_detectorTags; bool m_detectorTagsHasBeenSet = false; Aws::String m_generatorId; bool m_generatorIdHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Remediation m_remediation; bool m_remediationHasBeenSet = false; Resource m_resource; bool m_resourceHasBeenSet = false; Aws::String m_ruleId; bool m_ruleIdHasBeenSet = false; Severity m_severity; bool m_severityHasBeenSet = false; Status m_status; bool m_statusHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; Vulnerability m_vulnerability; bool m_vulnerabilityHasBeenSet = false; }; } // namespace Model } // namespace CodeGuruSecurity } // namespace Aws