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

Contains details about a vulnerability scan finding.

See Also:

* AWS * API Reference

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

The Amazon Web Services account ID that's associated with the finding.

*/ inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } /** *

The Amazon Web Services account ID that's associated with the finding.

*/ inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } /** *

The Amazon Web Services account ID that's associated with the finding.

*/ inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } /** *

The Amazon Web Services account ID that's associated with the finding.

*/ inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } /** *

The Amazon Web Services account ID that's associated with the finding.

*/ inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } /** *

The Amazon Web Services account ID that's associated with the finding.

*/ inline ImageScanFinding& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} /** *

The Amazon Web Services account ID that's associated with the finding.

*/ inline ImageScanFinding& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID that's associated with the finding.

*/ inline ImageScanFinding& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the image build version that's associated * with the finding.

*/ inline const Aws::String& GetImageBuildVersionArn() const{ return m_imageBuildVersionArn; } /** *

The Amazon Resource Name (ARN) of the image build version that's associated * with the finding.

*/ inline bool ImageBuildVersionArnHasBeenSet() const { return m_imageBuildVersionArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the image build version that's associated * with the finding.

*/ inline void SetImageBuildVersionArn(const Aws::String& value) { m_imageBuildVersionArnHasBeenSet = true; m_imageBuildVersionArn = value; } /** *

The Amazon Resource Name (ARN) of the image build version that's associated * with the finding.

*/ inline void SetImageBuildVersionArn(Aws::String&& value) { m_imageBuildVersionArnHasBeenSet = true; m_imageBuildVersionArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the image build version that's associated * with the finding.

*/ inline void SetImageBuildVersionArn(const char* value) { m_imageBuildVersionArnHasBeenSet = true; m_imageBuildVersionArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the image build version that's associated * with the finding.

*/ inline ImageScanFinding& WithImageBuildVersionArn(const Aws::String& value) { SetImageBuildVersionArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the image build version that's associated * with the finding.

*/ inline ImageScanFinding& WithImageBuildVersionArn(Aws::String&& value) { SetImageBuildVersionArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the image build version that's associated * with the finding.

*/ inline ImageScanFinding& WithImageBuildVersionArn(const char* value) { SetImageBuildVersionArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the image pipeline that's associated with * the finding.

*/ inline const Aws::String& GetImagePipelineArn() const{ return m_imagePipelineArn; } /** *

The Amazon Resource Name (ARN) of the image pipeline that's associated with * the finding.

*/ inline bool ImagePipelineArnHasBeenSet() const { return m_imagePipelineArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the image pipeline that's associated with * the finding.

*/ inline void SetImagePipelineArn(const Aws::String& value) { m_imagePipelineArnHasBeenSet = true; m_imagePipelineArn = value; } /** *

The Amazon Resource Name (ARN) of the image pipeline that's associated with * the finding.

*/ inline void SetImagePipelineArn(Aws::String&& value) { m_imagePipelineArnHasBeenSet = true; m_imagePipelineArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the image pipeline that's associated with * the finding.

*/ inline void SetImagePipelineArn(const char* value) { m_imagePipelineArnHasBeenSet = true; m_imagePipelineArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the image pipeline that's associated with * the finding.

*/ inline ImageScanFinding& WithImagePipelineArn(const Aws::String& value) { SetImagePipelineArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the image pipeline that's associated with * the finding.

*/ inline ImageScanFinding& WithImagePipelineArn(Aws::String&& value) { SetImagePipelineArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the image pipeline that's associated with * the finding.

*/ inline ImageScanFinding& WithImagePipelineArn(const char* value) { SetImagePipelineArn(value); return *this;} /** *

The type of the finding. Image Builder looks for findings of the type * PACKAGE_VULNERABILITY that apply to output images, and excludes * other types.

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

The type of the finding. Image Builder looks for findings of the type * PACKAGE_VULNERABILITY that apply to output images, and excludes * other types.

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

The type of the finding. Image Builder looks for findings of the type * PACKAGE_VULNERABILITY that apply to output images, and excludes * other types.

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

The type of the finding. Image Builder looks for findings of the type * PACKAGE_VULNERABILITY that apply to output images, and excludes * other types.

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

The type of the finding. Image Builder looks for findings of the type * PACKAGE_VULNERABILITY that apply to output images, and excludes * other types.

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

The type of the finding. Image Builder looks for findings of the type * PACKAGE_VULNERABILITY that apply to output images, and excludes * other types.

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

The type of the finding. Image Builder looks for findings of the type * PACKAGE_VULNERABILITY that apply to output images, and excludes * other types.

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

The type of the finding. Image Builder looks for findings of the type * PACKAGE_VULNERABILITY that apply to output images, and excludes * other types.

*/ inline ImageScanFinding& WithType(const char* value) { SetType(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 ImageScanFinding& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the finding.

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

The description of the finding.

*/ inline ImageScanFinding& WithDescription(const char* value) { SetDescription(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 ImageScanFinding& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

The title of the finding.

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

The title of the finding.

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

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

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

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

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

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

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

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

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

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

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

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

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

The severity of the finding.

*/ inline const Aws::String& 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 Aws::String& value) { m_severityHasBeenSet = true; m_severity = value; } /** *

The severity of the finding.

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

The severity of the finding.

*/ inline void SetSeverity(const char* value) { m_severityHasBeenSet = true; m_severity.assign(value); } /** *

The severity of the finding.

*/ inline ImageScanFinding& WithSeverity(const Aws::String& value) { SetSeverity(value); return *this;} /** *

The severity of the finding.

*/ inline ImageScanFinding& WithSeverity(Aws::String&& value) { SetSeverity(std::move(value)); return *this;} /** *

The severity of the finding.

*/ inline ImageScanFinding& WithSeverity(const char* value) { SetSeverity(value); return *this;} /** *

The date and time when the finding was first observed.

*/ inline const Aws::Utils::DateTime& GetFirstObservedAt() const{ return m_firstObservedAt; } /** *

The date and time when the finding was first observed.

*/ inline bool FirstObservedAtHasBeenSet() const { return m_firstObservedAtHasBeenSet; } /** *

The date and time when the finding was first observed.

*/ inline void SetFirstObservedAt(const Aws::Utils::DateTime& value) { m_firstObservedAtHasBeenSet = true; m_firstObservedAt = value; } /** *

The date and time when the finding was first observed.

*/ inline void SetFirstObservedAt(Aws::Utils::DateTime&& value) { m_firstObservedAtHasBeenSet = true; m_firstObservedAt = std::move(value); } /** *

The date and time when the finding was first observed.

*/ inline ImageScanFinding& WithFirstObservedAt(const Aws::Utils::DateTime& value) { SetFirstObservedAt(value); return *this;} /** *

The date and time when the finding was first observed.

*/ inline ImageScanFinding& WithFirstObservedAt(Aws::Utils::DateTime&& value) { SetFirstObservedAt(std::move(value)); return *this;} /** *

The timestamp when the finding was last updated.

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

The timestamp when the finding was last updated.

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

The timestamp when the finding was last updated.

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

The timestamp when the finding was last updated.

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

The timestamp when the finding was last updated.

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

The timestamp when the finding was last updated.

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

The score that Amazon Inspector assigned for the finding.

*/ inline double GetInspectorScore() const{ return m_inspectorScore; } /** *

The score that Amazon Inspector assigned for the finding.

*/ inline bool InspectorScoreHasBeenSet() const { return m_inspectorScoreHasBeenSet; } /** *

The score that Amazon Inspector assigned for the finding.

*/ inline void SetInspectorScore(double value) { m_inspectorScoreHasBeenSet = true; m_inspectorScore = value; } /** *

The score that Amazon Inspector assigned for the finding.

*/ inline ImageScanFinding& WithInspectorScore(double value) { SetInspectorScore(value); return *this;} /** *

An object that contains details of the Amazon Inspector score.

*/ inline const InspectorScoreDetails& GetInspectorScoreDetails() const{ return m_inspectorScoreDetails; } /** *

An object that contains details of the Amazon Inspector score.

*/ inline bool InspectorScoreDetailsHasBeenSet() const { return m_inspectorScoreDetailsHasBeenSet; } /** *

An object that contains details of the Amazon Inspector score.

*/ inline void SetInspectorScoreDetails(const InspectorScoreDetails& value) { m_inspectorScoreDetailsHasBeenSet = true; m_inspectorScoreDetails = value; } /** *

An object that contains details of the Amazon Inspector score.

*/ inline void SetInspectorScoreDetails(InspectorScoreDetails&& value) { m_inspectorScoreDetailsHasBeenSet = true; m_inspectorScoreDetails = std::move(value); } /** *

An object that contains details of the Amazon Inspector score.

*/ inline ImageScanFinding& WithInspectorScoreDetails(const InspectorScoreDetails& value) { SetInspectorScoreDetails(value); return *this;} /** *

An object that contains details of the Amazon Inspector score.

*/ inline ImageScanFinding& WithInspectorScoreDetails(InspectorScoreDetails&& value) { SetInspectorScoreDetails(std::move(value)); return *this;} /** *

An object that contains the details of a package vulnerability finding.

*/ inline const PackageVulnerabilityDetails& GetPackageVulnerabilityDetails() const{ return m_packageVulnerabilityDetails; } /** *

An object that contains the details of a package vulnerability finding.

*/ inline bool PackageVulnerabilityDetailsHasBeenSet() const { return m_packageVulnerabilityDetailsHasBeenSet; } /** *

An object that contains the details of a package vulnerability finding.

*/ inline void SetPackageVulnerabilityDetails(const PackageVulnerabilityDetails& value) { m_packageVulnerabilityDetailsHasBeenSet = true; m_packageVulnerabilityDetails = value; } /** *

An object that contains the details of a package vulnerability finding.

*/ inline void SetPackageVulnerabilityDetails(PackageVulnerabilityDetails&& value) { m_packageVulnerabilityDetailsHasBeenSet = true; m_packageVulnerabilityDetails = std::move(value); } /** *

An object that contains the details of a package vulnerability finding.

*/ inline ImageScanFinding& WithPackageVulnerabilityDetails(const PackageVulnerabilityDetails& value) { SetPackageVulnerabilityDetails(value); return *this;} /** *

An object that contains the details of a package vulnerability finding.

*/ inline ImageScanFinding& WithPackageVulnerabilityDetails(PackageVulnerabilityDetails&& value) { SetPackageVulnerabilityDetails(std::move(value)); return *this;} /** *

Details about whether a fix is available for any of the packages that are * identified in the finding through a version update.

*/ inline const Aws::String& GetFixAvailable() const{ return m_fixAvailable; } /** *

Details about whether a fix is available for any of the packages that are * identified in the finding through a version update.

*/ inline bool FixAvailableHasBeenSet() const { return m_fixAvailableHasBeenSet; } /** *

Details about whether a fix is available for any of the packages that are * identified in the finding through a version update.

*/ inline void SetFixAvailable(const Aws::String& value) { m_fixAvailableHasBeenSet = true; m_fixAvailable = value; } /** *

Details about whether a fix is available for any of the packages that are * identified in the finding through a version update.

*/ inline void SetFixAvailable(Aws::String&& value) { m_fixAvailableHasBeenSet = true; m_fixAvailable = std::move(value); } /** *

Details about whether a fix is available for any of the packages that are * identified in the finding through a version update.

*/ inline void SetFixAvailable(const char* value) { m_fixAvailableHasBeenSet = true; m_fixAvailable.assign(value); } /** *

Details about whether a fix is available for any of the packages that are * identified in the finding through a version update.

*/ inline ImageScanFinding& WithFixAvailable(const Aws::String& value) { SetFixAvailable(value); return *this;} /** *

Details about whether a fix is available for any of the packages that are * identified in the finding through a version update.

*/ inline ImageScanFinding& WithFixAvailable(Aws::String&& value) { SetFixAvailable(std::move(value)); return *this;} /** *

Details about whether a fix is available for any of the packages that are * identified in the finding through a version update.

*/ inline ImageScanFinding& WithFixAvailable(const char* value) { SetFixAvailable(value); return *this;} private: Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; Aws::String m_imageBuildVersionArn; bool m_imageBuildVersionArnHasBeenSet = false; Aws::String m_imagePipelineArn; bool m_imagePipelineArnHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; Remediation m_remediation; bool m_remediationHasBeenSet = false; Aws::String m_severity; bool m_severityHasBeenSet = false; Aws::Utils::DateTime m_firstObservedAt; bool m_firstObservedAtHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; double m_inspectorScore; bool m_inspectorScoreHasBeenSet = false; InspectorScoreDetails m_inspectorScoreDetails; bool m_inspectorScoreDetailsHasBeenSet = false; PackageVulnerabilityDetails m_packageVulnerabilityDetails; bool m_packageVulnerabilityDetailsHasBeenSet = false; Aws::String m_fixAvailable; bool m_fixAvailableHasBeenSet = false; }; } // namespace Model } // namespace imagebuilder } // namespace Aws