/** * 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 #include #include namespace Aws { namespace SecurityHub { namespace Model { /** */ class BatchUpdateFindingsRequest : public SecurityHubRequest { public: AWS_SECURITYHUB_API BatchUpdateFindingsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "BatchUpdateFindings"; } AWS_SECURITYHUB_API Aws::String SerializePayload() const override; /** *

The list of findings to update. BatchUpdateFindings can be used * to update up to 100 findings at a time.

For each finding, the list * provides the finding identifier and the ARN of the finding provider.

*/ inline const Aws::Vector& GetFindingIdentifiers() const{ return m_findingIdentifiers; } /** *

The list of findings to update. BatchUpdateFindings can be used * to update up to 100 findings at a time.

For each finding, the list * provides the finding identifier and the ARN of the finding provider.

*/ inline bool FindingIdentifiersHasBeenSet() const { return m_findingIdentifiersHasBeenSet; } /** *

The list of findings to update. BatchUpdateFindings can be used * to update up to 100 findings at a time.

For each finding, the list * provides the finding identifier and the ARN of the finding provider.

*/ inline void SetFindingIdentifiers(const Aws::Vector& value) { m_findingIdentifiersHasBeenSet = true; m_findingIdentifiers = value; } /** *

The list of findings to update. BatchUpdateFindings can be used * to update up to 100 findings at a time.

For each finding, the list * provides the finding identifier and the ARN of the finding provider.

*/ inline void SetFindingIdentifiers(Aws::Vector&& value) { m_findingIdentifiersHasBeenSet = true; m_findingIdentifiers = std::move(value); } /** *

The list of findings to update. BatchUpdateFindings can be used * to update up to 100 findings at a time.

For each finding, the list * provides the finding identifier and the ARN of the finding provider.

*/ inline BatchUpdateFindingsRequest& WithFindingIdentifiers(const Aws::Vector& value) { SetFindingIdentifiers(value); return *this;} /** *

The list of findings to update. BatchUpdateFindings can be used * to update up to 100 findings at a time.

For each finding, the list * provides the finding identifier and the ARN of the finding provider.

*/ inline BatchUpdateFindingsRequest& WithFindingIdentifiers(Aws::Vector&& value) { SetFindingIdentifiers(std::move(value)); return *this;} /** *

The list of findings to update. BatchUpdateFindings can be used * to update up to 100 findings at a time.

For each finding, the list * provides the finding identifier and the ARN of the finding provider.

*/ inline BatchUpdateFindingsRequest& AddFindingIdentifiers(const AwsSecurityFindingIdentifier& value) { m_findingIdentifiersHasBeenSet = true; m_findingIdentifiers.push_back(value); return *this; } /** *

The list of findings to update. BatchUpdateFindings can be used * to update up to 100 findings at a time.

For each finding, the list * provides the finding identifier and the ARN of the finding provider.

*/ inline BatchUpdateFindingsRequest& AddFindingIdentifiers(AwsSecurityFindingIdentifier&& value) { m_findingIdentifiersHasBeenSet = true; m_findingIdentifiers.push_back(std::move(value)); return *this; } inline const NoteUpdate& GetNote() const{ return m_note; } inline bool NoteHasBeenSet() const { return m_noteHasBeenSet; } inline void SetNote(const NoteUpdate& value) { m_noteHasBeenSet = true; m_note = value; } inline void SetNote(NoteUpdate&& value) { m_noteHasBeenSet = true; m_note = std::move(value); } inline BatchUpdateFindingsRequest& WithNote(const NoteUpdate& value) { SetNote(value); return *this;} inline BatchUpdateFindingsRequest& WithNote(NoteUpdate&& value) { SetNote(std::move(value)); return *this;} /** *

Used to update the finding severity.

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

Used to update the finding severity.

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

Used to update the finding severity.

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

Used to update the finding severity.

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

Used to update the finding severity.

*/ inline BatchUpdateFindingsRequest& WithSeverity(const SeverityUpdate& value) { SetSeverity(value); return *this;} /** *

Used to update the finding severity.

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

Indicates the veracity of a finding.

The available values for * VerificationState are as follows.

  • * UNKNOWN – The default disposition of a security finding

  • *
  • TRUE_POSITIVE – The security finding is confirmed

    *
  • FALSE_POSITIVE – The security finding was determined * to be a false alarm

  • BENIGN_POSITIVE – A special * case of TRUE_POSITIVE where the finding doesn't pose any threat, is * expected, or both

*/ inline const VerificationState& GetVerificationState() const{ return m_verificationState; } /** *

Indicates the veracity of a finding.

The available values for * VerificationState are as follows.

  • * UNKNOWN – The default disposition of a security finding

  • *
  • TRUE_POSITIVE – The security finding is confirmed

    *
  • FALSE_POSITIVE – The security finding was determined * to be a false alarm

  • BENIGN_POSITIVE – A special * case of TRUE_POSITIVE where the finding doesn't pose any threat, is * expected, or both

*/ inline bool VerificationStateHasBeenSet() const { return m_verificationStateHasBeenSet; } /** *

Indicates the veracity of a finding.

The available values for * VerificationState are as follows.

  • * UNKNOWN – The default disposition of a security finding

  • *
  • TRUE_POSITIVE – The security finding is confirmed

    *
  • FALSE_POSITIVE – The security finding was determined * to be a false alarm

  • BENIGN_POSITIVE – A special * case of TRUE_POSITIVE where the finding doesn't pose any threat, is * expected, or both

*/ inline void SetVerificationState(const VerificationState& value) { m_verificationStateHasBeenSet = true; m_verificationState = value; } /** *

Indicates the veracity of a finding.

The available values for * VerificationState are as follows.

  • * UNKNOWN – The default disposition of a security finding

  • *
  • TRUE_POSITIVE – The security finding is confirmed

    *
  • FALSE_POSITIVE – The security finding was determined * to be a false alarm

  • BENIGN_POSITIVE – A special * case of TRUE_POSITIVE where the finding doesn't pose any threat, is * expected, or both

*/ inline void SetVerificationState(VerificationState&& value) { m_verificationStateHasBeenSet = true; m_verificationState = std::move(value); } /** *

Indicates the veracity of a finding.

The available values for * VerificationState are as follows.

  • * UNKNOWN – The default disposition of a security finding

  • *
  • TRUE_POSITIVE – The security finding is confirmed

    *
  • FALSE_POSITIVE – The security finding was determined * to be a false alarm

  • BENIGN_POSITIVE – A special * case of TRUE_POSITIVE where the finding doesn't pose any threat, is * expected, or both

*/ inline BatchUpdateFindingsRequest& WithVerificationState(const VerificationState& value) { SetVerificationState(value); return *this;} /** *

Indicates the veracity of a finding.

The available values for * VerificationState are as follows.

  • * UNKNOWN – The default disposition of a security finding

  • *
  • TRUE_POSITIVE – The security finding is confirmed

    *
  • FALSE_POSITIVE – The security finding was determined * to be a false alarm

  • BENIGN_POSITIVE – A special * case of TRUE_POSITIVE where the finding doesn't pose any threat, is * expected, or both

*/ inline BatchUpdateFindingsRequest& WithVerificationState(VerificationState&& value) { SetVerificationState(std::move(value)); return *this;} /** *

The updated value for the finding 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; } /** *

The updated value for the finding 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; } /** *

The updated value for the finding 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; } /** *

The updated value for the finding 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 BatchUpdateFindingsRequest& WithConfidence(int value) { SetConfidence(value); return *this;} /** *

The updated value for the level of importance assigned to the resources * associated with the findings.

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 updated value for the level of importance assigned to the resources * associated with the findings.

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 updated value for the level of importance assigned to the resources * associated with the findings.

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 updated value for the level of importance assigned to the resources * associated with the findings.

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 BatchUpdateFindingsRequest& WithCriticality(int value) { SetCriticality(value); return *this;} /** *

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

Valid namespace values are as follows.

  • *

    Software and Configuration Checks

  • TTPs

  • *

    Effects

  • Unusual Behaviors

  • Sensitive Data * Identifications

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

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

Valid namespace values are as follows.

  • *

    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 as follows.

  • *

    Software and Configuration Checks

  • TTPs

  • *

    Effects

  • Unusual Behaviors

  • Sensitive Data * Identifications

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

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

Valid namespace values are as follows.

  • *

    Software and Configuration Checks

  • TTPs

  • *

    Effects

  • Unusual Behaviors

  • Sensitive Data * Identifications

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

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

Valid namespace values are as follows.

  • *

    Software and Configuration Checks

  • TTPs

  • *

    Effects

  • Unusual Behaviors

  • Sensitive Data * Identifications

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

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

Valid namespace values are as follows.

  • *

    Software and Configuration Checks

  • TTPs

  • *

    Effects

  • Unusual Behaviors

  • Sensitive Data * Identifications

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

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

Valid namespace values are as follows.

  • *

    Software and Configuration Checks

  • TTPs

  • *

    Effects

  • Unusual Behaviors

  • Sensitive Data * Identifications

*/ inline BatchUpdateFindingsRequest& 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 as follows.

  • *

    Software and Configuration Checks

  • TTPs

  • *

    Effects

  • Unusual Behaviors

  • Sensitive Data * Identifications

*/ inline BatchUpdateFindingsRequest& 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 as follows.

  • *

    Software and Configuration Checks

  • TTPs

  • *

    Effects

  • Unusual Behaviors

  • Sensitive Data * Identifications

*/ inline BatchUpdateFindingsRequest& AddTypes(const char* value) { m_typesHasBeenSet = true; m_types.push_back(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 const Aws::Map& GetUserDefinedFields() const{ return m_userDefinedFields; } /** *

A 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::Map& value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields = value; } /** *

A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.

*/ inline void SetUserDefinedFields(Aws::Map&& value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields = std::move(value); } /** *

A list of name/value string pairs associated with the finding. These are * custom, user-defined fields added to a finding.

*/ inline BatchUpdateFindingsRequest& WithUserDefinedFields(const Aws::Map& value) { SetUserDefinedFields(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 BatchUpdateFindingsRequest& WithUserDefinedFields(Aws::Map&& value) { SetUserDefinedFields(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 BatchUpdateFindingsRequest& 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 BatchUpdateFindingsRequest& 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 BatchUpdateFindingsRequest& 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 BatchUpdateFindingsRequest& 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 BatchUpdateFindingsRequest& 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 BatchUpdateFindingsRequest& 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 BatchUpdateFindingsRequest& AddUserDefinedFields(const char* key, const char* value) { m_userDefinedFieldsHasBeenSet = true; m_userDefinedFields.emplace(key, value); return *this; } /** *

Used to update the workflow status of a finding.

The workflow status * indicates the progress of the investigation into the finding.

*/ inline const WorkflowUpdate& GetWorkflow() const{ return m_workflow; } /** *

Used to update the workflow status of a finding.

The workflow status * indicates the progress of the investigation into the finding.

*/ inline bool WorkflowHasBeenSet() const { return m_workflowHasBeenSet; } /** *

Used to update the workflow status of a finding.

The workflow status * indicates the progress of the investigation into the finding.

*/ inline void SetWorkflow(const WorkflowUpdate& value) { m_workflowHasBeenSet = true; m_workflow = value; } /** *

Used to update the workflow status of a finding.

The workflow status * indicates the progress of the investigation into the finding.

*/ inline void SetWorkflow(WorkflowUpdate&& value) { m_workflowHasBeenSet = true; m_workflow = std::move(value); } /** *

Used to update the workflow status of a finding.

The workflow status * indicates the progress of the investigation into the finding.

*/ inline BatchUpdateFindingsRequest& WithWorkflow(const WorkflowUpdate& value) { SetWorkflow(value); return *this;} /** *

Used to update the workflow status of a finding.

The workflow status * indicates the progress of the investigation into the finding.

*/ inline BatchUpdateFindingsRequest& WithWorkflow(WorkflowUpdate&& value) { SetWorkflow(std::move(value)); return *this;} /** *

A list of findings that are related to the updated findings.

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

A list of findings that are related to the updated findings.

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

A list of findings that are related to the updated findings.

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

A list of findings that are related to the updated findings.

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

A list of findings that are related to the updated findings.

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

A list of findings that are related to the updated findings.

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

A list of findings that are related to the updated findings.

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

A list of findings that are related to the updated findings.

*/ inline BatchUpdateFindingsRequest& AddRelatedFindings(RelatedFinding&& value) { m_relatedFindingsHasBeenSet = true; m_relatedFindings.push_back(std::move(value)); return *this; } private: Aws::Vector m_findingIdentifiers; bool m_findingIdentifiersHasBeenSet = false; NoteUpdate m_note; bool m_noteHasBeenSet = false; SeverityUpdate m_severity; bool m_severityHasBeenSet = false; VerificationState m_verificationState; bool m_verificationStateHasBeenSet = false; int m_confidence; bool m_confidenceHasBeenSet = false; int m_criticality; bool m_criticalityHasBeenSet = false; Aws::Vector m_types; bool m_typesHasBeenSet = false; Aws::Map m_userDefinedFields; bool m_userDefinedFieldsHasBeenSet = false; WorkflowUpdate m_workflow; bool m_workflowHasBeenSet = false; Aws::Vector m_relatedFindings; bool m_relatedFindingsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws