/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AuditManager { namespace Model { /** *

The file used to structure and automate Audit Manager assessments for a * given compliance standard.

See Also:

AWS * API Reference

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

The unique identifier for the framework.

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

The unique identifier for the framework.

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

The unique identifier for the framework.

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

The unique identifier for the framework.

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

The unique identifier for the framework.

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

The unique identifier for the framework.

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

The unique identifier for the framework.

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

The unique identifier for the framework.

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

The Amazon Resource Name (ARN) of the framework.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the framework.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the framework.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the framework.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the framework.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the framework.

*/ inline AssessmentFramework& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the framework.

*/ inline AssessmentFramework& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the framework.

*/ inline AssessmentFramework& WithArn(const char* value) { SetArn(value); return *this;} inline const FrameworkMetadata& GetMetadata() const{ return m_metadata; } inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } inline void SetMetadata(const FrameworkMetadata& value) { m_metadataHasBeenSet = true; m_metadata = value; } inline void SetMetadata(FrameworkMetadata&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } inline AssessmentFramework& WithMetadata(const FrameworkMetadata& value) { SetMetadata(value); return *this;} inline AssessmentFramework& WithMetadata(FrameworkMetadata&& value) { SetMetadata(std::move(value)); return *this;} /** *

The control sets that are associated with the framework.

*/ inline const Aws::Vector& GetControlSets() const{ return m_controlSets; } /** *

The control sets that are associated with the framework.

*/ inline bool ControlSetsHasBeenSet() const { return m_controlSetsHasBeenSet; } /** *

The control sets that are associated with the framework.

*/ inline void SetControlSets(const Aws::Vector& value) { m_controlSetsHasBeenSet = true; m_controlSets = value; } /** *

The control sets that are associated with the framework.

*/ inline void SetControlSets(Aws::Vector&& value) { m_controlSetsHasBeenSet = true; m_controlSets = std::move(value); } /** *

The control sets that are associated with the framework.

*/ inline AssessmentFramework& WithControlSets(const Aws::Vector& value) { SetControlSets(value); return *this;} /** *

The control sets that are associated with the framework.

*/ inline AssessmentFramework& WithControlSets(Aws::Vector&& value) { SetControlSets(std::move(value)); return *this;} /** *

The control sets that are associated with the framework.

*/ inline AssessmentFramework& AddControlSets(const AssessmentControlSet& value) { m_controlSetsHasBeenSet = true; m_controlSets.push_back(value); return *this; } /** *

The control sets that are associated with the framework.

*/ inline AssessmentFramework& AddControlSets(AssessmentControlSet&& value) { m_controlSetsHasBeenSet = true; m_controlSets.push_back(std::move(value)); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; FrameworkMetadata m_metadata; bool m_metadataHasBeenSet = false; Aws::Vector m_controlSets; bool m_controlSetsHasBeenSet = false; }; } // namespace Model } // namespace AuditManager } // namespace Aws