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

Provides the details of a finding.

See Also:

AWS API * Reference

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

The unique identifier for the Amazon Web Services account that the finding * applies to. This is typically the account that owns the affected resource.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The unique identifier for the Amazon Web Services account that the finding * applies to. This is typically the account that owns the affected resource.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The unique identifier for the Amazon Web Services account that the finding * applies to. This is typically the account that owns the affected resource.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The unique identifier for the Amazon Web Services account that the finding * applies to. This is typically the account that owns the affected resource.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The unique identifier for the Amazon Web Services account that the finding * applies to. This is typically the account that owns the affected resource.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The unique identifier for the Amazon Web Services account that the finding * applies to. This is typically the account that owns the affected resource.

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

The unique identifier for the Amazon Web Services account that the finding * applies to. This is typically the account that owns the affected resource.

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

The unique identifier for the Amazon Web Services account that the finding * applies to. This is typically the account that owns the affected resource.

*/ inline Finding& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

Specifies whether the finding is archived (suppressed).

*/ inline bool GetArchived() const{ return m_archived; } /** *

Specifies whether the finding is archived (suppressed).

*/ inline bool ArchivedHasBeenSet() const { return m_archivedHasBeenSet; } /** *

Specifies whether the finding is archived (suppressed).

*/ inline void SetArchived(bool value) { m_archivedHasBeenSet = true; m_archived = value; } /** *

Specifies whether the finding is archived (suppressed).

*/ inline Finding& WithArchived(bool value) { SetArchived(value); return *this;} /** *

The category of the finding. Possible values are: CLASSIFICATION, for a * sensitive data finding; and, POLICY, for a policy finding.

*/ inline const FindingCategory& GetCategory() const{ return m_category; } /** *

The category of the finding. Possible values are: CLASSIFICATION, for a * sensitive data finding; and, POLICY, for a policy finding.

*/ inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } /** *

The category of the finding. Possible values are: CLASSIFICATION, for a * sensitive data finding; and, POLICY, for a policy finding.

*/ inline void SetCategory(const FindingCategory& value) { m_categoryHasBeenSet = true; m_category = value; } /** *

The category of the finding. Possible values are: CLASSIFICATION, for a * sensitive data finding; and, POLICY, for a policy finding.

*/ inline void SetCategory(FindingCategory&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } /** *

The category of the finding. Possible values are: CLASSIFICATION, for a * sensitive data finding; and, POLICY, for a policy finding.

*/ inline Finding& WithCategory(const FindingCategory& value) { SetCategory(value); return *this;} /** *

The category of the finding. Possible values are: CLASSIFICATION, for a * sensitive data finding; and, POLICY, for a policy finding.

*/ inline Finding& WithCategory(FindingCategory&& value) { SetCategory(std::move(value)); return *this;} /** *

The details of a sensitive data finding. This value is null for a policy * finding.

*/ inline const ClassificationDetails& GetClassificationDetails() const{ return m_classificationDetails; } /** *

The details of a sensitive data finding. This value is null for a policy * finding.

*/ inline bool ClassificationDetailsHasBeenSet() const { return m_classificationDetailsHasBeenSet; } /** *

The details of a sensitive data finding. This value is null for a policy * finding.

*/ inline void SetClassificationDetails(const ClassificationDetails& value) { m_classificationDetailsHasBeenSet = true; m_classificationDetails = value; } /** *

The details of a sensitive data finding. This value is null for a policy * finding.

*/ inline void SetClassificationDetails(ClassificationDetails&& value) { m_classificationDetailsHasBeenSet = true; m_classificationDetails = std::move(value); } /** *

The details of a sensitive data finding. This value is null for a policy * finding.

*/ inline Finding& WithClassificationDetails(const ClassificationDetails& value) { SetClassificationDetails(value); return *this;} /** *

The details of a sensitive data finding. This value is null for a policy * finding.

*/ inline Finding& WithClassificationDetails(ClassificationDetails&& value) { SetClassificationDetails(std::move(value)); return *this;} /** *

The total number of occurrences of the finding. For sensitive data findings, * this value is always 1. All sensitive data findings are considered unique.

*/ inline long long GetCount() const{ return m_count; } /** *

The total number of occurrences of the finding. For sensitive data findings, * this value is always 1. All sensitive data findings are considered unique.

*/ inline bool CountHasBeenSet() const { return m_countHasBeenSet; } /** *

The total number of occurrences of the finding. For sensitive data findings, * this value is always 1. All sensitive data findings are considered unique.

*/ inline void SetCount(long long value) { m_countHasBeenSet = true; m_count = value; } /** *

The total number of occurrences of the finding. For sensitive data findings, * this value is always 1. All sensitive data findings are considered unique.

*/ inline Finding& WithCount(long long value) { SetCount(value); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * created the finding.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * created the finding.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * created the finding.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * created the finding.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * created the finding.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * created the finding.

*/ inline Finding& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(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 unique identifier for the finding. This is a random string that Amazon * Macie generates and assigns to a finding when it creates the finding.

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

The unique identifier for the finding. This is a random string that Amazon * Macie generates and assigns to a finding when it creates the finding.

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

The unique identifier for the finding. This is a random string that Amazon * Macie generates and assigns to a finding when it creates the finding.

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

The unique identifier for the finding. This is a random string that Amazon * Macie generates and assigns to a finding when it creates the finding.

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

The unique identifier for the finding. This is a random string that Amazon * Macie generates and assigns to a finding when it creates the finding.

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

The unique identifier for the finding. This is a random string that Amazon * Macie generates and assigns to a finding when it creates the finding.

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

The unique identifier for the finding. This is a random string that Amazon * Macie generates and assigns to a finding when it creates the finding.

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

The unique identifier for the finding. This is a random string that Amazon * Macie generates and assigns to a finding when it creates the finding.

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

The Amazon Web Services partition that Amazon Macie created the finding * in.

*/ inline const Aws::String& GetPartition() const{ return m_partition; } /** *

The Amazon Web Services partition that Amazon Macie created the finding * in.

*/ inline bool PartitionHasBeenSet() const { return m_partitionHasBeenSet; } /** *

The Amazon Web Services partition that Amazon Macie created the finding * in.

*/ inline void SetPartition(const Aws::String& value) { m_partitionHasBeenSet = true; m_partition = value; } /** *

The Amazon Web Services partition that Amazon Macie created the finding * in.

*/ inline void SetPartition(Aws::String&& value) { m_partitionHasBeenSet = true; m_partition = std::move(value); } /** *

The Amazon Web Services partition that Amazon Macie created the finding * in.

*/ inline void SetPartition(const char* value) { m_partitionHasBeenSet = true; m_partition.assign(value); } /** *

The Amazon Web Services partition that Amazon Macie created the finding * in.

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

The Amazon Web Services partition that Amazon Macie created the finding * in.

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

The Amazon Web Services partition that Amazon Macie created the finding * in.

*/ inline Finding& WithPartition(const char* value) { SetPartition(value); return *this;} /** *

The details of a policy finding. This value is null for a sensitive data * finding.

*/ inline const PolicyDetails& GetPolicyDetails() const{ return m_policyDetails; } /** *

The details of a policy finding. This value is null for a sensitive data * finding.

*/ inline bool PolicyDetailsHasBeenSet() const { return m_policyDetailsHasBeenSet; } /** *

The details of a policy finding. This value is null for a sensitive data * finding.

*/ inline void SetPolicyDetails(const PolicyDetails& value) { m_policyDetailsHasBeenSet = true; m_policyDetails = value; } /** *

The details of a policy finding. This value is null for a sensitive data * finding.

*/ inline void SetPolicyDetails(PolicyDetails&& value) { m_policyDetailsHasBeenSet = true; m_policyDetails = std::move(value); } /** *

The details of a policy finding. This value is null for a sensitive data * finding.

*/ inline Finding& WithPolicyDetails(const PolicyDetails& value) { SetPolicyDetails(value); return *this;} /** *

The details of a policy finding. This value is null for a sensitive data * finding.

*/ inline Finding& WithPolicyDetails(PolicyDetails&& value) { SetPolicyDetails(std::move(value)); return *this;} /** *

The Amazon Web Services Region that Amazon Macie created the finding in.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The Amazon Web Services Region that Amazon Macie created the finding in.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

The Amazon Web Services Region that Amazon Macie created the finding in.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

The Amazon Web Services Region that Amazon Macie created the finding in.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

The Amazon Web Services Region that Amazon Macie created the finding in.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

The Amazon Web Services Region that Amazon Macie created the finding in.

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

The Amazon Web Services Region that Amazon Macie created the finding in.

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

The Amazon Web Services Region that Amazon Macie created the finding in.

*/ inline Finding& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

The resources that the finding applies to.

*/ inline const ResourcesAffected& GetResourcesAffected() const{ return m_resourcesAffected; } /** *

The resources that the finding applies to.

*/ inline bool ResourcesAffectedHasBeenSet() const { return m_resourcesAffectedHasBeenSet; } /** *

The resources that the finding applies to.

*/ inline void SetResourcesAffected(const ResourcesAffected& value) { m_resourcesAffectedHasBeenSet = true; m_resourcesAffected = value; } /** *

The resources that the finding applies to.

*/ inline void SetResourcesAffected(ResourcesAffected&& value) { m_resourcesAffectedHasBeenSet = true; m_resourcesAffected = std::move(value); } /** *

The resources that the finding applies to.

*/ inline Finding& WithResourcesAffected(const ResourcesAffected& value) { SetResourcesAffected(value); return *this;} /** *

The resources that the finding applies to.

*/ inline Finding& WithResourcesAffected(ResourcesAffected&& value) { SetResourcesAffected(std::move(value)); return *this;} /** *

Specifies whether the finding is a sample finding. A sample finding is * a finding that uses example data to demonstrate what a finding might * contain.

*/ inline bool GetSample() const{ return m_sample; } /** *

Specifies whether the finding is a sample finding. A sample finding is * a finding that uses example data to demonstrate what a finding might * contain.

*/ inline bool SampleHasBeenSet() const { return m_sampleHasBeenSet; } /** *

Specifies whether the finding is a sample finding. A sample finding is * a finding that uses example data to demonstrate what a finding might * contain.

*/ inline void SetSample(bool value) { m_sampleHasBeenSet = true; m_sample = value; } /** *

Specifies whether the finding is a sample finding. A sample finding is * a finding that uses example data to demonstrate what a finding might * contain.

*/ inline Finding& WithSample(bool value) { SetSample(value); return *this;} /** *

The version of the schema that was used to define the data structures in the * finding.

*/ inline const Aws::String& GetSchemaVersion() const{ return m_schemaVersion; } /** *

The version of the schema that was used to define the data structures in the * finding.

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

The version of the schema that was used to define the data structures in the * finding.

*/ inline void SetSchemaVersion(const Aws::String& value) { m_schemaVersionHasBeenSet = true; m_schemaVersion = value; } /** *

The version of the schema that was used to define the data structures in the * finding.

*/ inline void SetSchemaVersion(Aws::String&& value) { m_schemaVersionHasBeenSet = true; m_schemaVersion = std::move(value); } /** *

The version of the schema that was used to define the data structures in the * finding.

*/ inline void SetSchemaVersion(const char* value) { m_schemaVersionHasBeenSet = true; m_schemaVersion.assign(value); } /** *

The version of the schema that was used to define the data structures in the * finding.

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

The version of the schema that was used to define the data structures in the * finding.

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

The version of the schema that was used to define the data structures in the * finding.

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

The severity level and score for the finding.

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

The severity level and score for the finding.

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

The severity level and score for the finding.

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

The severity level and score for the finding.

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

The severity level and score for the finding.

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

The severity level and score for the finding.

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

The brief description of the finding.

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

The brief description of the finding.

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

The brief description of the finding.

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

The brief description of the finding.

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

The brief description of the finding.

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

The brief description of the finding.

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

The brief description of the finding.

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

The brief description of the finding.

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

The type of the finding.

*/ inline const FindingType& GetType() const{ return m_type; } /** *

The type of the finding.

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

The type of the finding.

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

The type of the finding.

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

The type of the finding.

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

The type of the finding.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * last updated the finding. For sensitive data findings, this value is the same as * the value for the createdAt property. All sensitive data findings are considered * new.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * last updated the finding. For sensitive data findings, this value is the same as * the value for the createdAt property. All sensitive data findings are considered * new.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * last updated the finding. For sensitive data findings, this value is the same as * the value for the createdAt property. All sensitive data findings are considered * new.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * last updated the finding. For sensitive data findings, this value is the same as * the value for the createdAt property. All sensitive data findings are considered * new.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * last updated the finding. For sensitive data findings, this value is the same as * the value for the createdAt property. All sensitive data findings are considered * new.

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

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * last updated the finding. For sensitive data findings, this value is the same as * the value for the createdAt property. All sensitive data findings are considered * new.

*/ inline Finding& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; bool m_archived; bool m_archivedHasBeenSet = false; FindingCategory m_category; bool m_categoryHasBeenSet = false; ClassificationDetails m_classificationDetails; bool m_classificationDetailsHasBeenSet = false; long long m_count; bool m_countHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_partition; bool m_partitionHasBeenSet = false; PolicyDetails m_policyDetails; bool m_policyDetailsHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; ResourcesAffected m_resourcesAffected; bool m_resourcesAffectedHasBeenSet = false; bool m_sample; bool m_sampleHasBeenSet = false; Aws::String m_schemaVersion; bool m_schemaVersionHasBeenSet = false; Severity m_severity; bool m_severityHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; FindingType m_type; bool m_typeHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws