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

An entity that defines the scope of audit evidence collected by Audit * Manager. An Audit Manager assessment is an implementation of an Audit Manager * framework.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the assessment.

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

The Amazon Resource Name (ARN) of the assessment.

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

The Amazon Resource Name (ARN) of the assessment.

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

The Amazon Resource Name (ARN) of the assessment.

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

The Amazon Resource Name (ARN) of the assessment.

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

The Amazon Resource Name (ARN) of the assessment.

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

The Amazon Resource Name (ARN) of the assessment.

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

The Amazon Resource Name (ARN) of the assessment.

*/ inline Assessment& WithArn(const char* value) { SetArn(value); return *this;} /** *

The Amazon Web Services account that's associated with the assessment.

*/ inline const AWSAccount& GetAwsAccount() const{ return m_awsAccount; } /** *

The Amazon Web Services account that's associated with the assessment.

*/ inline bool AwsAccountHasBeenSet() const { return m_awsAccountHasBeenSet; } /** *

The Amazon Web Services account that's associated with the assessment.

*/ inline void SetAwsAccount(const AWSAccount& value) { m_awsAccountHasBeenSet = true; m_awsAccount = value; } /** *

The Amazon Web Services account that's associated with the assessment.

*/ inline void SetAwsAccount(AWSAccount&& value) { m_awsAccountHasBeenSet = true; m_awsAccount = std::move(value); } /** *

The Amazon Web Services account that's associated with the assessment.

*/ inline Assessment& WithAwsAccount(const AWSAccount& value) { SetAwsAccount(value); return *this;} /** *

The Amazon Web Services account that's associated with the assessment.

*/ inline Assessment& WithAwsAccount(AWSAccount&& value) { SetAwsAccount(std::move(value)); return *this;} /** *

The metadata for the assessment.

*/ inline const AssessmentMetadata& GetMetadata() const{ return m_metadata; } /** *

The metadata for the assessment.

*/ inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } /** *

The metadata for the assessment.

*/ inline void SetMetadata(const AssessmentMetadata& value) { m_metadataHasBeenSet = true; m_metadata = value; } /** *

The metadata for the assessment.

*/ inline void SetMetadata(AssessmentMetadata&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } /** *

The metadata for the assessment.

*/ inline Assessment& WithMetadata(const AssessmentMetadata& value) { SetMetadata(value); return *this;} /** *

The metadata for the assessment.

*/ inline Assessment& WithMetadata(AssessmentMetadata&& value) { SetMetadata(std::move(value)); return *this;} /** *

The framework that the assessment was created from.

*/ inline const AssessmentFramework& GetFramework() const{ return m_framework; } /** *

The framework that the assessment was created from.

*/ inline bool FrameworkHasBeenSet() const { return m_frameworkHasBeenSet; } /** *

The framework that the assessment was created from.

*/ inline void SetFramework(const AssessmentFramework& value) { m_frameworkHasBeenSet = true; m_framework = value; } /** *

The framework that the assessment was created from.

*/ inline void SetFramework(AssessmentFramework&& value) { m_frameworkHasBeenSet = true; m_framework = std::move(value); } /** *

The framework that the assessment was created from.

*/ inline Assessment& WithFramework(const AssessmentFramework& value) { SetFramework(value); return *this;} /** *

The framework that the assessment was created from.

*/ inline Assessment& WithFramework(AssessmentFramework&& value) { SetFramework(std::move(value)); return *this;} /** *

The tags that are associated with the assessment.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags that are associated with the assessment.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags that are associated with the assessment.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags that are associated with the assessment.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags that are associated with the assessment.

*/ inline Assessment& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags that are associated with the assessment.

*/ inline Assessment& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags that are associated with the assessment.

*/ inline Assessment& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The tags that are associated with the assessment.

*/ inline Assessment& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags that are associated with the assessment.

*/ inline Assessment& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags that are associated with the assessment.

*/ inline Assessment& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags that are associated with the assessment.

*/ inline Assessment& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags that are associated with the assessment.

*/ inline Assessment& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags that are associated with the assessment.

*/ inline Assessment& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_arn; bool m_arnHasBeenSet = false; AWSAccount m_awsAccount; bool m_awsAccountHasBeenSet = false; AssessmentMetadata m_metadata; bool m_metadataHasBeenSet = false; AssessmentFramework m_framework; bool m_frameworkHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace AuditManager } // namespace Aws