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

Represents a set of controls in an Audit Manager assessment.

See * Also:

AWS * API Reference

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

The identifier of the control set in the assessment. This is the control set * name in a plain string format.

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

The identifier of the control set in the assessment. This is the control set * name in a plain string format.

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

The identifier of the control set in the assessment. This is the control set * name in a plain string format.

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

The identifier of the control set in the assessment. This is the control set * name in a plain string format.

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

The identifier of the control set in the assessment. This is the control set * name in a plain string format.

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

The identifier of the control set in the assessment. This is the control set * name in a plain string format.

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

The identifier of the control set in the assessment. This is the control set * name in a plain string format.

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

The identifier of the control set in the assessment. This is the control set * name in a plain string format.

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

The description for the control set.

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

The description for the control set.

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

The description for the control set.

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

The description for the control set.

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

The description for the control set.

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

The description for the control set.

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

The description for the control set.

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

The description for the control set.

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

The current status of the control set.

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

The current status of the control set.

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

The current status of the control set.

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

The current status of the control set.

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

The current status of the control set.

*/ inline AssessmentControlSet& WithStatus(const ControlSetStatus& value) { SetStatus(value); return *this;} /** *

The current status of the control set.

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

The roles that are associated with the control set.

*/ inline const Aws::Vector& GetRoles() const{ return m_roles; } /** *

The roles that are associated with the control set.

*/ inline bool RolesHasBeenSet() const { return m_rolesHasBeenSet; } /** *

The roles that are associated with the control set.

*/ inline void SetRoles(const Aws::Vector& value) { m_rolesHasBeenSet = true; m_roles = value; } /** *

The roles that are associated with the control set.

*/ inline void SetRoles(Aws::Vector&& value) { m_rolesHasBeenSet = true; m_roles = std::move(value); } /** *

The roles that are associated with the control set.

*/ inline AssessmentControlSet& WithRoles(const Aws::Vector& value) { SetRoles(value); return *this;} /** *

The roles that are associated with the control set.

*/ inline AssessmentControlSet& WithRoles(Aws::Vector&& value) { SetRoles(std::move(value)); return *this;} /** *

The roles that are associated with the control set.

*/ inline AssessmentControlSet& AddRoles(const Role& value) { m_rolesHasBeenSet = true; m_roles.push_back(value); return *this; } /** *

The roles that are associated with the control set.

*/ inline AssessmentControlSet& AddRoles(Role&& value) { m_rolesHasBeenSet = true; m_roles.push_back(std::move(value)); return *this; } /** *

The list of controls that's contained with the control set.

*/ inline const Aws::Vector& GetControls() const{ return m_controls; } /** *

The list of controls that's contained with the control set.

*/ inline bool ControlsHasBeenSet() const { return m_controlsHasBeenSet; } /** *

The list of controls that's contained with the control set.

*/ inline void SetControls(const Aws::Vector& value) { m_controlsHasBeenSet = true; m_controls = value; } /** *

The list of controls that's contained with the control set.

*/ inline void SetControls(Aws::Vector&& value) { m_controlsHasBeenSet = true; m_controls = std::move(value); } /** *

The list of controls that's contained with the control set.

*/ inline AssessmentControlSet& WithControls(const Aws::Vector& value) { SetControls(value); return *this;} /** *

The list of controls that's contained with the control set.

*/ inline AssessmentControlSet& WithControls(Aws::Vector&& value) { SetControls(std::move(value)); return *this;} /** *

The list of controls that's contained with the control set.

*/ inline AssessmentControlSet& AddControls(const AssessmentControl& value) { m_controlsHasBeenSet = true; m_controls.push_back(value); return *this; } /** *

The list of controls that's contained with the control set.

*/ inline AssessmentControlSet& AddControls(AssessmentControl&& value) { m_controlsHasBeenSet = true; m_controls.push_back(std::move(value)); return *this; } /** *

The delegations that are associated with the control set.

*/ inline const Aws::Vector& GetDelegations() const{ return m_delegations; } /** *

The delegations that are associated with the control set.

*/ inline bool DelegationsHasBeenSet() const { return m_delegationsHasBeenSet; } /** *

The delegations that are associated with the control set.

*/ inline void SetDelegations(const Aws::Vector& value) { m_delegationsHasBeenSet = true; m_delegations = value; } /** *

The delegations that are associated with the control set.

*/ inline void SetDelegations(Aws::Vector&& value) { m_delegationsHasBeenSet = true; m_delegations = std::move(value); } /** *

The delegations that are associated with the control set.

*/ inline AssessmentControlSet& WithDelegations(const Aws::Vector& value) { SetDelegations(value); return *this;} /** *

The delegations that are associated with the control set.

*/ inline AssessmentControlSet& WithDelegations(Aws::Vector&& value) { SetDelegations(std::move(value)); return *this;} /** *

The delegations that are associated with the control set.

*/ inline AssessmentControlSet& AddDelegations(const Delegation& value) { m_delegationsHasBeenSet = true; m_delegations.push_back(value); return *this; } /** *

The delegations that are associated with the control set.

*/ inline AssessmentControlSet& AddDelegations(Delegation&& value) { m_delegationsHasBeenSet = true; m_delegations.push_back(std::move(value)); return *this; } /** *

The total number of evidence objects that are retrieved automatically for * the control set.

*/ inline int GetSystemEvidenceCount() const{ return m_systemEvidenceCount; } /** *

The total number of evidence objects that are retrieved automatically for * the control set.

*/ inline bool SystemEvidenceCountHasBeenSet() const { return m_systemEvidenceCountHasBeenSet; } /** *

The total number of evidence objects that are retrieved automatically for * the control set.

*/ inline void SetSystemEvidenceCount(int value) { m_systemEvidenceCountHasBeenSet = true; m_systemEvidenceCount = value; } /** *

The total number of evidence objects that are retrieved automatically for * the control set.

*/ inline AssessmentControlSet& WithSystemEvidenceCount(int value) { SetSystemEvidenceCount(value); return *this;} /** *

The total number of evidence objects that are uploaded manually to the * control set.

*/ inline int GetManualEvidenceCount() const{ return m_manualEvidenceCount; } /** *

The total number of evidence objects that are uploaded manually to the * control set.

*/ inline bool ManualEvidenceCountHasBeenSet() const { return m_manualEvidenceCountHasBeenSet; } /** *

The total number of evidence objects that are uploaded manually to the * control set.

*/ inline void SetManualEvidenceCount(int value) { m_manualEvidenceCountHasBeenSet = true; m_manualEvidenceCount = value; } /** *

The total number of evidence objects that are uploaded manually to the * control set.

*/ inline AssessmentControlSet& WithManualEvidenceCount(int value) { SetManualEvidenceCount(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; ControlSetStatus m_status; bool m_statusHasBeenSet = false; Aws::Vector m_roles; bool m_rolesHasBeenSet = false; Aws::Vector m_controls; bool m_controlsHasBeenSet = false; Aws::Vector m_delegations; bool m_delegationsHasBeenSet = false; int m_systemEvidenceCount; bool m_systemEvidenceCountHasBeenSet = false; int m_manualEvidenceCount; bool m_manualEvidenceCountHasBeenSet = false; }; } // namespace Model } // namespace AuditManager } // namespace Aws