/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Provides consistent format for the contents of the Security Hub-aggregated
* findings. A finding is a potential security issue generated either
* by AWS services (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the
* integrated third-party solutions and standards checks.AwsSecurityFinding format enables you to share findings
* between AWS security services and third-party solutions, and security standards
* checks.See
* Also:
AWS
* API Reference
The schema version that a finding is formatted for.
*/ inline const Aws::String& GetSchemaVersion() const{ return m_schemaVersion; } /** *The schema version that a finding is formatted for.
*/ inline bool SchemaVersionHasBeenSet() const { return m_schemaVersionHasBeenSet; } /** *The schema version that a finding is formatted for.
*/ inline void SetSchemaVersion(const Aws::String& value) { m_schemaVersionHasBeenSet = true; m_schemaVersion = value; } /** *The schema version that a finding is formatted for.
*/ inline void SetSchemaVersion(Aws::String&& value) { m_schemaVersionHasBeenSet = true; m_schemaVersion = std::move(value); } /** *The schema version that a finding is formatted for.
*/ inline void SetSchemaVersion(const char* value) { m_schemaVersionHasBeenSet = true; m_schemaVersion.assign(value); } /** *The schema version that a finding is formatted for.
*/ inline AwsSecurityFinding& WithSchemaVersion(const Aws::String& value) { SetSchemaVersion(value); return *this;} /** *The schema version that a finding is formatted for.
*/ inline AwsSecurityFinding& WithSchemaVersion(Aws::String&& value) { SetSchemaVersion(std::move(value)); return *this;} /** *The schema version that a finding is formatted for.
*/ inline AwsSecurityFinding& WithSchemaVersion(const char* value) { SetSchemaVersion(value); return *this;} /** *The security findings provider-specific identifier for a finding.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The security findings provider-specific identifier for a finding.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The security findings provider-specific identifier for a finding.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The security findings provider-specific identifier for a finding.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The security findings provider-specific identifier for a finding.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The security findings provider-specific identifier for a finding.
*/ inline AwsSecurityFinding& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The security findings provider-specific identifier for a finding.
*/ inline AwsSecurityFinding& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The security findings provider-specific identifier for a finding.
*/ inline AwsSecurityFinding& WithId(const char* value) { SetId(value); return *this;} /** *The ARN generated by Security Hub that uniquely identifies a product that * generates findings. This can be the ARN for a third-party product that is * integrated with Security Hub, or the ARN for a custom integration.
*/ inline const Aws::String& GetProductArn() const{ return m_productArn; } /** *The ARN generated by Security Hub that uniquely identifies a product that * generates findings. This can be the ARN for a third-party product that is * integrated with Security Hub, or the ARN for a custom integration.
*/ inline bool ProductArnHasBeenSet() const { return m_productArnHasBeenSet; } /** *The ARN generated by Security Hub that uniquely identifies a product that * generates findings. This can be the ARN for a third-party product that is * integrated with Security Hub, or the ARN for a custom integration.
*/ inline void SetProductArn(const Aws::String& value) { m_productArnHasBeenSet = true; m_productArn = value; } /** *The ARN generated by Security Hub that uniquely identifies a product that * generates findings. This can be the ARN for a third-party product that is * integrated with Security Hub, or the ARN for a custom integration.
*/ inline void SetProductArn(Aws::String&& value) { m_productArnHasBeenSet = true; m_productArn = std::move(value); } /** *The ARN generated by Security Hub that uniquely identifies a product that * generates findings. This can be the ARN for a third-party product that is * integrated with Security Hub, or the ARN for a custom integration.
*/ inline void SetProductArn(const char* value) { m_productArnHasBeenSet = true; m_productArn.assign(value); } /** *The ARN generated by Security Hub that uniquely identifies a product that * generates findings. This can be the ARN for a third-party product that is * integrated with Security Hub, or the ARN for a custom integration.
*/ inline AwsSecurityFinding& WithProductArn(const Aws::String& value) { SetProductArn(value); return *this;} /** *The ARN generated by Security Hub that uniquely identifies a product that * generates findings. This can be the ARN for a third-party product that is * integrated with Security Hub, or the ARN for a custom integration.
*/ inline AwsSecurityFinding& WithProductArn(Aws::String&& value) { SetProductArn(std::move(value)); return *this;} /** *The ARN generated by Security Hub that uniquely identifies a product that * generates findings. This can be the ARN for a third-party product that is * integrated with Security Hub, or the ARN for a custom integration.
*/ inline AwsSecurityFinding& WithProductArn(const char* value) { SetProductArn(value); return *this;} /** *The identifier for the solution-specific component (a discrete unit of logic) * that generated a finding. In various security-findings providers' solutions, * this generator can be called a rule, a check, a detector, a plugin, etc.
*/ inline const Aws::String& GetGeneratorId() const{ return m_generatorId; } /** *The identifier for the solution-specific component (a discrete unit of logic) * that generated a finding. In various security-findings providers' solutions, * this generator can be called a rule, a check, a detector, a plugin, etc.
*/ inline bool GeneratorIdHasBeenSet() const { return m_generatorIdHasBeenSet; } /** *The identifier for the solution-specific component (a discrete unit of logic) * that generated a finding. In various security-findings providers' solutions, * this generator can be called a rule, a check, a detector, a plugin, etc.
*/ inline void SetGeneratorId(const Aws::String& value) { m_generatorIdHasBeenSet = true; m_generatorId = value; } /** *The identifier for the solution-specific component (a discrete unit of logic) * that generated a finding. In various security-findings providers' solutions, * this generator can be called a rule, a check, a detector, a plugin, etc.
*/ inline void SetGeneratorId(Aws::String&& value) { m_generatorIdHasBeenSet = true; m_generatorId = std::move(value); } /** *The identifier for the solution-specific component (a discrete unit of logic) * that generated a finding. In various security-findings providers' solutions, * this generator can be called a rule, a check, a detector, a plugin, etc.
*/ inline void SetGeneratorId(const char* value) { m_generatorIdHasBeenSet = true; m_generatorId.assign(value); } /** *The identifier for the solution-specific component (a discrete unit of logic) * that generated a finding. In various security-findings providers' solutions, * this generator can be called a rule, a check, a detector, a plugin, etc.
*/ inline AwsSecurityFinding& WithGeneratorId(const Aws::String& value) { SetGeneratorId(value); return *this;} /** *The identifier for the solution-specific component (a discrete unit of logic) * that generated a finding. In various security-findings providers' solutions, * this generator can be called a rule, a check, a detector, a plugin, etc.
*/ inline AwsSecurityFinding& WithGeneratorId(Aws::String&& value) { SetGeneratorId(std::move(value)); return *this;} /** *The identifier for the solution-specific component (a discrete unit of logic) * that generated a finding. In various security-findings providers' solutions, * this generator can be called a rule, a check, a detector, a plugin, etc.
*/ inline AwsSecurityFinding& WithGeneratorId(const char* value) { SetGeneratorId(value); return *this;} /** *The AWS account ID that a finding is generated in.
*/ inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } /** *The AWS account ID that a finding is generated in.
*/ inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } /** *The AWS account ID that a finding is generated in.
*/ inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } /** *The AWS account ID that a finding is generated in.
*/ inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } /** *The AWS account ID that a finding is generated in.
*/ inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } /** *The AWS account ID that a finding is generated in.
*/ inline AwsSecurityFinding& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} /** *The AWS account ID that a finding is generated in.
*/ inline AwsSecurityFinding& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} /** *The AWS account ID that a finding is generated in.
*/ inline AwsSecurityFinding& WithAwsAccountId(const char* value) { SetAwsAccountId(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::VectorOne 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::VectorOne 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::VectorOne 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 AwsSecurityFinding& WithTypes(const Aws::VectorOne 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 AwsSecurityFinding& WithTypes(Aws::VectorOne 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 AwsSecurityFinding& 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 AwsSecurityFinding& 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 AwsSecurityFinding& AddTypes(const char* value) { m_typesHasBeenSet = true; m_types.push_back(value); return *this; } /** *Indicates when the security-findings provider first observed the potential * security issue that a finding captured.
Uses the date-time
* format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider first observed the potential * security issue that a finding captured.
Uses the date-time
* format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider first observed the potential * security issue that a finding captured.
Uses the date-time
* format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider first observed the potential * security issue that a finding captured.
Uses the date-time
* format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider first observed the potential * security issue that a finding captured.
Uses the date-time
* format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider first observed the potential * security issue that a finding captured.
Uses the date-time
* format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider first observed the potential * security issue that a finding captured.
Uses the date-time
* format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider first observed the potential * security issue that a finding captured.
Uses the date-time
* format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider most recently observed the * potential security issue that a finding captured.
Uses the
* date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider most recently observed the * potential security issue that a finding captured.
Uses the
* date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider most recently observed the * potential security issue that a finding captured.
Uses the
* date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider most recently observed the * potential security issue that a finding captured.
Uses the
* date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider most recently observed the * potential security issue that a finding captured.
Uses the
* date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider most recently observed the * potential security issue that a finding captured.
Uses the
* date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider most recently observed the * potential security issue that a finding captured.
Uses the
* date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider most recently observed the * potential security issue that a finding captured.
Uses the
* date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider created the potential security * issue that a finding captured.
Uses the date-time format
* specified in RFC 3339
* section 5.6, Internet Date/Time Format. The value cannot contain spaces. For
* example, 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider created the potential security * issue that a finding captured.
Uses the date-time format
* specified in RFC 3339
* section 5.6, Internet Date/Time Format. The value cannot contain spaces. For
* example, 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider created the potential security * issue that a finding captured.
Uses the date-time format
* specified in RFC 3339
* section 5.6, Internet Date/Time Format. The value cannot contain spaces. For
* example, 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider created the potential security * issue that a finding captured.
Uses the date-time format
* specified in RFC 3339
* section 5.6, Internet Date/Time Format. The value cannot contain spaces. For
* example, 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider created the potential security * issue that a finding captured.
Uses the date-time format
* specified in RFC 3339
* section 5.6, Internet Date/Time Format. The value cannot contain spaces. For
* example, 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider created the potential security * issue that a finding captured.
Uses the date-time format
* specified in RFC 3339
* section 5.6, Internet Date/Time Format. The value cannot contain spaces. For
* example, 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider created the potential security * issue that a finding captured.
Uses the date-time format
* specified in RFC 3339
* section 5.6, Internet Date/Time Format. The value cannot contain spaces. For
* example, 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider created the potential security * issue that a finding captured.
Uses the date-time format
* specified in RFC 3339
* section 5.6, Internet Date/Time Format. The value cannot contain spaces. For
* example, 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider last updated the finding * record.
Uses the date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider last updated the finding * record.
Uses the date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider last updated the finding * record.
Uses the date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider last updated the finding * record.
Uses the date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider last updated the finding * record.
Uses the date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider last updated the finding * record.
Uses the date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider last updated the finding * record.
Uses the date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
Indicates when the security-findings provider last updated the finding * record.
Uses the date-time format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces. For example,
* 2020-03-22T13:22:13.933Z.
A finding's severity.
*/ inline const Severity& GetSeverity() const{ return m_severity; } /** *A finding's severity.
*/ inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } /** *A finding's severity.
*/ inline void SetSeverity(const Severity& value) { m_severityHasBeenSet = true; m_severity = value; } /** *A finding's severity.
*/ inline void SetSeverity(Severity&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); } /** *A finding's severity.
*/ inline AwsSecurityFinding& WithSeverity(const Severity& value) { SetSeverity(value); return *this;} /** *A finding's severity.
*/ inline AwsSecurityFinding& WithSeverity(Severity&& value) { SetSeverity(std::move(value)); return *this;} /** *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 AwsSecurityFinding& 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 AwsSecurityFinding& WithCriticality(int value) { SetCriticality(value); return *this;} /** *A finding's title.
In this release, Title is a
* required property.
A finding's title.
In this release, Title is a
* required property.
A finding's title.
In this release, Title is a
* required property.
A finding's title.
In this release, Title is a
* required property.
A finding's title.
In this release, Title is a
* required property.
A finding's title.
In this release, Title is a
* required property.
A finding's title.
In this release, Title is a
* required property.
A finding's title.
In this release, Title is a
* required property.
A finding's description.
In this release,
* Description is a required property.
A finding's description.
In this release,
* Description is a required property.
A finding's description.
In this release,
* Description is a required property.
A finding's description.
In this release,
* Description is a required property.
A finding's description.
In this release,
* Description is a required property.
A finding's description.
In this release,
* Description is a required property.
A finding's description.
In this release,
* Description is a required property.
A finding's description.
In this release,
* Description is a required property.
A data type that describes the remediation options for a finding.
*/ inline const Remediation& GetRemediation() const{ return m_remediation; } /** *A data type that describes the remediation options for a finding.
*/ inline bool RemediationHasBeenSet() const { return m_remediationHasBeenSet; } /** *A data type that describes the remediation options for a finding.
*/ inline void SetRemediation(const Remediation& value) { m_remediationHasBeenSet = true; m_remediation = value; } /** *A data type that describes the remediation options for a finding.
*/ inline void SetRemediation(Remediation&& value) { m_remediationHasBeenSet = true; m_remediation = std::move(value); } /** *A data type that describes the remediation options for a finding.
*/ inline AwsSecurityFinding& WithRemediation(const Remediation& value) { SetRemediation(value); return *this;} /** *A data type that describes the remediation options for a finding.
*/ inline AwsSecurityFinding& WithRemediation(Remediation&& value) { SetRemediation(std::move(value)); return *this;} /** *A URL that links to a page about the current finding in the security-findings * provider's solution.
*/ inline const Aws::String& GetSourceUrl() const{ return m_sourceUrl; } /** *A URL that links to a page about the current finding in the security-findings * provider's solution.
*/ inline bool SourceUrlHasBeenSet() const { return m_sourceUrlHasBeenSet; } /** *A URL that links to a page about the current finding in the security-findings * provider's solution.
*/ inline void SetSourceUrl(const Aws::String& value) { m_sourceUrlHasBeenSet = true; m_sourceUrl = value; } /** *A URL that links to a page about the current finding in the security-findings * provider's solution.
*/ inline void SetSourceUrl(Aws::String&& value) { m_sourceUrlHasBeenSet = true; m_sourceUrl = std::move(value); } /** *A URL that links to a page about the current finding in the security-findings * provider's solution.
*/ inline void SetSourceUrl(const char* value) { m_sourceUrlHasBeenSet = true; m_sourceUrl.assign(value); } /** *A URL that links to a page about the current finding in the security-findings * provider's solution.
*/ inline AwsSecurityFinding& WithSourceUrl(const Aws::String& value) { SetSourceUrl(value); return *this;} /** *A URL that links to a page about the current finding in the security-findings * provider's solution.
*/ inline AwsSecurityFinding& WithSourceUrl(Aws::String&& value) { SetSourceUrl(std::move(value)); return *this;} /** *A URL that links to a page about the current finding in the security-findings * provider's solution.
*/ inline AwsSecurityFinding& WithSourceUrl(const char* value) { SetSourceUrl(value); return *this;} /** *A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A data type where security-findings providers can include additional
* solution-specific details that aren't part of the defined
* AwsSecurityFinding format.
A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline const Aws::MapA list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline bool UserDefinedFieldsHasBeenSet() const { return m_userDefinedFieldsHasBeenSet; } /** *A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline void SetUserDefinedFields(const Aws::MapA list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline void SetUserDefinedFields(Aws::MapA list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline AwsSecurityFinding& WithUserDefinedFields(const Aws::MapA list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline AwsSecurityFinding& WithUserDefinedFields(Aws::MapA list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline AwsSecurityFinding& AddUserDefinedFields(const Aws::String& key, const Aws::String& value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields.emplace(key, value); return *this; } /** *A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline AwsSecurityFinding& AddUserDefinedFields(Aws::String&& key, const Aws::String& value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields.emplace(std::move(key), value); return *this; } /** *A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline AwsSecurityFinding& AddUserDefinedFields(const Aws::String& key, Aws::String&& value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields.emplace(key, std::move(value)); return *this; } /** *A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline AwsSecurityFinding& AddUserDefinedFields(Aws::String&& key, Aws::String&& value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields.emplace(std::move(key), std::move(value)); return *this; } /** *A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline AwsSecurityFinding& AddUserDefinedFields(const char* key, Aws::String&& value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields.emplace(key, std::move(value)); return *this; } /** *A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline AwsSecurityFinding& AddUserDefinedFields(Aws::String&& key, const char* value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields.emplace(std::move(key), value); return *this; } /** *A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.
*/ inline AwsSecurityFinding& AddUserDefinedFields(const char* key, const char* value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields.emplace(key, value); return *this; } /** *A list of malware related to a finding.
*/ inline const Aws::VectorA list of malware related to a finding.
*/ inline bool MalwareHasBeenSet() const { return m_malwareHasBeenSet; } /** *A list of malware related to a finding.
*/ inline void SetMalware(const Aws::VectorA list of malware related to a finding.
*/ inline void SetMalware(Aws::VectorA list of malware related to a finding.
*/ inline AwsSecurityFinding& WithMalware(const Aws::VectorA list of malware related to a finding.
*/ inline AwsSecurityFinding& WithMalware(Aws::VectorA list of malware related to a finding.
*/ inline AwsSecurityFinding& AddMalware(const Malware& value) { m_malwareHasBeenSet = true; m_malware.push_back(value); return *this; } /** *A list of malware related to a finding.
*/ inline AwsSecurityFinding& AddMalware(Malware&& value) { m_malwareHasBeenSet = true; m_malware.push_back(std::move(value)); return *this; } /** *The details of network-related information about a finding.
*/ inline const Network& GetNetwork() const{ return m_network; } /** *The details of network-related information about a finding.
*/ inline bool NetworkHasBeenSet() const { return m_networkHasBeenSet; } /** *The details of network-related information about a finding.
*/ inline void SetNetwork(const Network& value) { m_networkHasBeenSet = true; m_network = value; } /** *The details of network-related information about a finding.
*/ inline void SetNetwork(Network&& value) { m_networkHasBeenSet = true; m_network = std::move(value); } /** *The details of network-related information about a finding.
*/ inline AwsSecurityFinding& WithNetwork(const Network& value) { SetNetwork(value); return *this;} /** *The details of network-related information about a finding.
*/ inline AwsSecurityFinding& WithNetwork(Network&& value) { SetNetwork(std::move(value)); return *this;} /** *Provides information about a network path that is relevant to a finding. Each
* entry under NetworkPath represents a component of that path.
Provides information about a network path that is relevant to a finding. Each
* entry under NetworkPath represents a component of that path.
Provides information about a network path that is relevant to a finding. Each
* entry under NetworkPath represents a component of that path.
Provides information about a network path that is relevant to a finding. Each
* entry under NetworkPath represents a component of that path.
Provides information about a network path that is relevant to a finding. Each
* entry under NetworkPath represents a component of that path.
Provides information about a network path that is relevant to a finding. Each
* entry under NetworkPath represents a component of that path.
Provides information about a network path that is relevant to a finding. Each
* entry under NetworkPath represents a component of that path.
Provides information about a network path that is relevant to a finding. Each
* entry under NetworkPath represents a component of that path.
The details of process-related information about a finding.
*/ inline const ProcessDetails& GetProcess() const{ return m_process; } /** *The details of process-related information about a finding.
*/ inline bool ProcessHasBeenSet() const { return m_processHasBeenSet; } /** *The details of process-related information about a finding.
*/ inline void SetProcess(const ProcessDetails& value) { m_processHasBeenSet = true; m_process = value; } /** *The details of process-related information about a finding.
*/ inline void SetProcess(ProcessDetails&& value) { m_processHasBeenSet = true; m_process = std::move(value); } /** *The details of process-related information about a finding.
*/ inline AwsSecurityFinding& WithProcess(const ProcessDetails& value) { SetProcess(value); return *this;} /** *The details of process-related information about a finding.
*/ inline AwsSecurityFinding& WithProcess(ProcessDetails&& value) { SetProcess(std::move(value)); return *this;} /** *Threat intelligence details related to a finding.
*/ inline const Aws::VectorThreat intelligence details related to a finding.
*/ inline bool ThreatIntelIndicatorsHasBeenSet() const { return m_threatIntelIndicatorsHasBeenSet; } /** *Threat intelligence details related to a finding.
*/ inline void SetThreatIntelIndicators(const Aws::VectorThreat intelligence details related to a finding.
*/ inline void SetThreatIntelIndicators(Aws::VectorThreat intelligence details related to a finding.
*/ inline AwsSecurityFinding& WithThreatIntelIndicators(const Aws::VectorThreat intelligence details related to a finding.
*/ inline AwsSecurityFinding& WithThreatIntelIndicators(Aws::VectorThreat intelligence details related to a finding.
*/ inline AwsSecurityFinding& AddThreatIntelIndicators(const ThreatIntelIndicator& value) { m_threatIntelIndicatorsHasBeenSet = true; m_threatIntelIndicators.push_back(value); return *this; } /** *Threat intelligence details related to a finding.
*/ inline AwsSecurityFinding& AddThreatIntelIndicators(ThreatIntelIndicator&& value) { m_threatIntelIndicatorsHasBeenSet = true; m_threatIntelIndicators.push_back(std::move(value)); return *this; } /** *A set of resource data types that describe the resources that the finding * refers to.
*/ inline const Aws::VectorA set of resource data types that describe the resources that the finding * refers to.
*/ inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; } /** *A set of resource data types that describe the resources that the finding * refers to.
*/ inline void SetResources(const Aws::VectorA set of resource data types that describe the resources that the finding * refers to.
*/ inline void SetResources(Aws::VectorA set of resource data types that describe the resources that the finding * refers to.
*/ inline AwsSecurityFinding& WithResources(const Aws::VectorA set of resource data types that describe the resources that the finding * refers to.
*/ inline AwsSecurityFinding& WithResources(Aws::VectorA set of resource data types that describe the resources that the finding * refers to.
*/ inline AwsSecurityFinding& AddResources(const Resource& value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; } /** *A set of resource data types that describe the resources that the finding * refers to.
*/ inline AwsSecurityFinding& AddResources(Resource&& value) { m_resourcesHasBeenSet = true; m_resources.push_back(std::move(value)); return *this; } /** *This data type is exclusive to findings that are generated as the result of a * check run against a specific rule in a supported security standard, such as CIS * AWS Foundations. Contains security standard-related finding details.
*/ inline const Compliance& GetCompliance() const{ return m_compliance; } /** *This data type is exclusive to findings that are generated as the result of a * check run against a specific rule in a supported security standard, such as CIS * AWS Foundations. Contains security standard-related finding details.
*/ inline bool ComplianceHasBeenSet() const { return m_complianceHasBeenSet; } /** *This data type is exclusive to findings that are generated as the result of a * check run against a specific rule in a supported security standard, such as CIS * AWS Foundations. Contains security standard-related finding details.
*/ inline void SetCompliance(const Compliance& value) { m_complianceHasBeenSet = true; m_compliance = value; } /** *This data type is exclusive to findings that are generated as the result of a * check run against a specific rule in a supported security standard, such as CIS * AWS Foundations. Contains security standard-related finding details.
*/ inline void SetCompliance(Compliance&& value) { m_complianceHasBeenSet = true; m_compliance = std::move(value); } /** *This data type is exclusive to findings that are generated as the result of a * check run against a specific rule in a supported security standard, such as CIS * AWS Foundations. Contains security standard-related finding details.
*/ inline AwsSecurityFinding& WithCompliance(const Compliance& value) { SetCompliance(value); return *this;} /** *This data type is exclusive to findings that are generated as the result of a * check run against a specific rule in a supported security standard, such as CIS * AWS Foundations. Contains security standard-related finding details.
*/ inline AwsSecurityFinding& WithCompliance(Compliance&& value) { SetCompliance(std::move(value)); return *this;} /** *Indicates the veracity of a finding.
*/ inline const VerificationState& GetVerificationState() const{ return m_verificationState; } /** *Indicates the veracity of a finding.
*/ inline bool VerificationStateHasBeenSet() const { return m_verificationStateHasBeenSet; } /** *Indicates the veracity of a finding.
*/ inline void SetVerificationState(const VerificationState& value) { m_verificationStateHasBeenSet = true; m_verificationState = value; } /** *Indicates the veracity of a finding.
*/ inline void SetVerificationState(VerificationState&& value) { m_verificationStateHasBeenSet = true; m_verificationState = std::move(value); } /** *Indicates the veracity of a finding.
*/ inline AwsSecurityFinding& WithVerificationState(const VerificationState& value) { SetVerificationState(value); return *this;} /** *Indicates the veracity of a finding.
*/ inline AwsSecurityFinding& WithVerificationState(VerificationState&& value) { SetVerificationState(std::move(value)); return *this;} /** *The workflow state of a finding.
*/ inline const WorkflowState& GetWorkflowState() const{ return m_workflowState; } /** *The workflow state of a finding.
*/ inline bool WorkflowStateHasBeenSet() const { return m_workflowStateHasBeenSet; } /** *The workflow state of a finding.
*/ inline void SetWorkflowState(const WorkflowState& value) { m_workflowStateHasBeenSet = true; m_workflowState = value; } /** *The workflow state of a finding.
*/ inline void SetWorkflowState(WorkflowState&& value) { m_workflowStateHasBeenSet = true; m_workflowState = std::move(value); } /** *The workflow state of a finding.
*/ inline AwsSecurityFinding& WithWorkflowState(const WorkflowState& value) { SetWorkflowState(value); return *this;} /** *The workflow state of a finding.
*/ inline AwsSecurityFinding& WithWorkflowState(WorkflowState&& value) { SetWorkflowState(std::move(value)); return *this;} /** *Provides information about the status of the investigation into a * finding.
*/ inline const Workflow& GetWorkflow() const{ return m_workflow; } /** *Provides information about the status of the investigation into a * finding.
*/ inline bool WorkflowHasBeenSet() const { return m_workflowHasBeenSet; } /** *Provides information about the status of the investigation into a * finding.
*/ inline void SetWorkflow(const Workflow& value) { m_workflowHasBeenSet = true; m_workflow = value; } /** *Provides information about the status of the investigation into a * finding.
*/ inline void SetWorkflow(Workflow&& value) { m_workflowHasBeenSet = true; m_workflow = std::move(value); } /** *Provides information about the status of the investigation into a * finding.
*/ inline AwsSecurityFinding& WithWorkflow(const Workflow& value) { SetWorkflow(value); return *this;} /** *Provides information about the status of the investigation into a * finding.
*/ inline AwsSecurityFinding& WithWorkflow(Workflow&& value) { SetWorkflow(std::move(value)); return *this;} /** *The record state of a finding.
*/ inline const RecordState& GetRecordState() const{ return m_recordState; } /** *The record state of a finding.
*/ inline bool RecordStateHasBeenSet() const { return m_recordStateHasBeenSet; } /** *The record state of a finding.
*/ inline void SetRecordState(const RecordState& value) { m_recordStateHasBeenSet = true; m_recordState = value; } /** *The record state of a finding.
*/ inline void SetRecordState(RecordState&& value) { m_recordStateHasBeenSet = true; m_recordState = std::move(value); } /** *The record state of a finding.
*/ inline AwsSecurityFinding& WithRecordState(const RecordState& value) { SetRecordState(value); return *this;} /** *The record state of a finding.
*/ inline AwsSecurityFinding& WithRecordState(RecordState&& value) { SetRecordState(std::move(value)); return *this;} /** *A list of related findings.
*/ inline const Aws::VectorA list of related findings.
*/ inline bool RelatedFindingsHasBeenSet() const { return m_relatedFindingsHasBeenSet; } /** *A list of related findings.
*/ inline void SetRelatedFindings(const Aws::VectorA list of related findings.
*/ inline void SetRelatedFindings(Aws::VectorA list of related findings.
*/ inline AwsSecurityFinding& WithRelatedFindings(const Aws::VectorA list of related findings.
*/ inline AwsSecurityFinding& WithRelatedFindings(Aws::VectorA list of related findings.
*/ inline AwsSecurityFinding& AddRelatedFindings(const RelatedFinding& value) { m_relatedFindingsHasBeenSet = true; m_relatedFindings.push_back(value); return *this; } /** *A list of related findings.
*/ inline AwsSecurityFinding& AddRelatedFindings(RelatedFinding&& value) { m_relatedFindingsHasBeenSet = true; m_relatedFindings.push_back(std::move(value)); return *this; } /** *A user-defined note added to a finding.
*/ inline const Note& GetNote() const{ return m_note; } /** *A user-defined note added to a finding.
*/ inline bool NoteHasBeenSet() const { return m_noteHasBeenSet; } /** *A user-defined note added to a finding.
*/ inline void SetNote(const Note& value) { m_noteHasBeenSet = true; m_note = value; } /** *A user-defined note added to a finding.
*/ inline void SetNote(Note&& value) { m_noteHasBeenSet = true; m_note = std::move(value); } /** *A user-defined note added to a finding.
*/ inline AwsSecurityFinding& WithNote(const Note& value) { SetNote(value); return *this;} /** *A user-defined note added to a finding.
*/ inline AwsSecurityFinding& WithNote(Note&& value) { SetNote(std::move(value)); return *this;} /** *Provides a list of vulnerabilities associated with the findings.
*/ inline const Aws::VectorProvides a list of vulnerabilities associated with the findings.
*/ inline bool VulnerabilitiesHasBeenSet() const { return m_vulnerabilitiesHasBeenSet; } /** *Provides a list of vulnerabilities associated with the findings.
*/ inline void SetVulnerabilities(const Aws::VectorProvides a list of vulnerabilities associated with the findings.
*/ inline void SetVulnerabilities(Aws::VectorProvides a list of vulnerabilities associated with the findings.
*/ inline AwsSecurityFinding& WithVulnerabilities(const Aws::VectorProvides a list of vulnerabilities associated with the findings.
*/ inline AwsSecurityFinding& WithVulnerabilities(Aws::VectorProvides a list of vulnerabilities associated with the findings.
*/ inline AwsSecurityFinding& AddVulnerabilities(const Vulnerability& value) { m_vulnerabilitiesHasBeenSet = true; m_vulnerabilities.push_back(value); return *this; } /** *Provides a list of vulnerabilities associated with the findings.
*/ inline AwsSecurityFinding& AddVulnerabilities(Vulnerability&& value) { m_vulnerabilitiesHasBeenSet = true; m_vulnerabilities.push_back(std::move(value)); return *this; } private: Aws::String m_schemaVersion; bool m_schemaVersionHasBeenSet; Aws::String m_id; bool m_idHasBeenSet; Aws::String m_productArn; bool m_productArnHasBeenSet; Aws::String m_generatorId; bool m_generatorIdHasBeenSet; Aws::String m_awsAccountId; bool m_awsAccountIdHasBeenSet; Aws::Vector