/** * 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 WellArchitected { namespace Model { /** *

A profile.

See Also:

AWS * API Reference

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

The profile ARN.

*/ inline const Aws::String& GetProfileArn() const{ return m_profileArn; } /** *

The profile ARN.

*/ inline bool ProfileArnHasBeenSet() const { return m_profileArnHasBeenSet; } /** *

The profile ARN.

*/ inline void SetProfileArn(const Aws::String& value) { m_profileArnHasBeenSet = true; m_profileArn = value; } /** *

The profile ARN.

*/ inline void SetProfileArn(Aws::String&& value) { m_profileArnHasBeenSet = true; m_profileArn = std::move(value); } /** *

The profile ARN.

*/ inline void SetProfileArn(const char* value) { m_profileArnHasBeenSet = true; m_profileArn.assign(value); } /** *

The profile ARN.

*/ inline Profile& WithProfileArn(const Aws::String& value) { SetProfileArn(value); return *this;} /** *

The profile ARN.

*/ inline Profile& WithProfileArn(Aws::String&& value) { SetProfileArn(std::move(value)); return *this;} /** *

The profile ARN.

*/ inline Profile& WithProfileArn(const char* value) { SetProfileArn(value); return *this;} /** *

The profile version.

*/ inline const Aws::String& GetProfileVersion() const{ return m_profileVersion; } /** *

The profile version.

*/ inline bool ProfileVersionHasBeenSet() const { return m_profileVersionHasBeenSet; } /** *

The profile version.

*/ inline void SetProfileVersion(const Aws::String& value) { m_profileVersionHasBeenSet = true; m_profileVersion = value; } /** *

The profile version.

*/ inline void SetProfileVersion(Aws::String&& value) { m_profileVersionHasBeenSet = true; m_profileVersion = std::move(value); } /** *

The profile version.

*/ inline void SetProfileVersion(const char* value) { m_profileVersionHasBeenSet = true; m_profileVersion.assign(value); } /** *

The profile version.

*/ inline Profile& WithProfileVersion(const Aws::String& value) { SetProfileVersion(value); return *this;} /** *

The profile version.

*/ inline Profile& WithProfileVersion(Aws::String&& value) { SetProfileVersion(std::move(value)); return *this;} /** *

The profile version.

*/ inline Profile& WithProfileVersion(const char* value) { SetProfileVersion(value); return *this;} /** *

The profile name.

*/ inline const Aws::String& GetProfileName() const{ return m_profileName; } /** *

The profile name.

*/ inline bool ProfileNameHasBeenSet() const { return m_profileNameHasBeenSet; } /** *

The profile name.

*/ inline void SetProfileName(const Aws::String& value) { m_profileNameHasBeenSet = true; m_profileName = value; } /** *

The profile name.

*/ inline void SetProfileName(Aws::String&& value) { m_profileNameHasBeenSet = true; m_profileName = std::move(value); } /** *

The profile name.

*/ inline void SetProfileName(const char* value) { m_profileNameHasBeenSet = true; m_profileName.assign(value); } /** *

The profile name.

*/ inline Profile& WithProfileName(const Aws::String& value) { SetProfileName(value); return *this;} /** *

The profile name.

*/ inline Profile& WithProfileName(Aws::String&& value) { SetProfileName(std::move(value)); return *this;} /** *

The profile name.

*/ inline Profile& WithProfileName(const char* value) { SetProfileName(value); return *this;} /** *

The profile description.

*/ inline const Aws::String& GetProfileDescription() const{ return m_profileDescription; } /** *

The profile description.

*/ inline bool ProfileDescriptionHasBeenSet() const { return m_profileDescriptionHasBeenSet; } /** *

The profile description.

*/ inline void SetProfileDescription(const Aws::String& value) { m_profileDescriptionHasBeenSet = true; m_profileDescription = value; } /** *

The profile description.

*/ inline void SetProfileDescription(Aws::String&& value) { m_profileDescriptionHasBeenSet = true; m_profileDescription = std::move(value); } /** *

The profile description.

*/ inline void SetProfileDescription(const char* value) { m_profileDescriptionHasBeenSet = true; m_profileDescription.assign(value); } /** *

The profile description.

*/ inline Profile& WithProfileDescription(const Aws::String& value) { SetProfileDescription(value); return *this;} /** *

The profile description.

*/ inline Profile& WithProfileDescription(Aws::String&& value) { SetProfileDescription(std::move(value)); return *this;} /** *

The profile description.

*/ inline Profile& WithProfileDescription(const char* value) { SetProfileDescription(value); return *this;} /** *

Profile questions.

*/ inline const Aws::Vector& GetProfileQuestions() const{ return m_profileQuestions; } /** *

Profile questions.

*/ inline bool ProfileQuestionsHasBeenSet() const { return m_profileQuestionsHasBeenSet; } /** *

Profile questions.

*/ inline void SetProfileQuestions(const Aws::Vector& value) { m_profileQuestionsHasBeenSet = true; m_profileQuestions = value; } /** *

Profile questions.

*/ inline void SetProfileQuestions(Aws::Vector&& value) { m_profileQuestionsHasBeenSet = true; m_profileQuestions = std::move(value); } /** *

Profile questions.

*/ inline Profile& WithProfileQuestions(const Aws::Vector& value) { SetProfileQuestions(value); return *this;} /** *

Profile questions.

*/ inline Profile& WithProfileQuestions(Aws::Vector&& value) { SetProfileQuestions(std::move(value)); return *this;} /** *

Profile questions.

*/ inline Profile& AddProfileQuestions(const ProfileQuestion& value) { m_profileQuestionsHasBeenSet = true; m_profileQuestions.push_back(value); return *this; } /** *

Profile questions.

*/ inline Profile& AddProfileQuestions(ProfileQuestion&& value) { m_profileQuestionsHasBeenSet = true; m_profileQuestions.push_back(std::move(value)); return *this; } inline const Aws::String& GetOwner() const{ return m_owner; } inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; } inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); } inline Profile& WithOwner(const Aws::String& value) { SetOwner(value); return *this;} inline Profile& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;} inline Profile& WithOwner(const char* value) { SetOwner(value); return *this;} inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } inline Profile& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} inline Profile& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } inline Profile& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} inline Profile& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} /** *

The ID assigned to the share invitation.

*/ inline const Aws::String& GetShareInvitationId() const{ return m_shareInvitationId; } /** *

The ID assigned to the share invitation.

*/ inline bool ShareInvitationIdHasBeenSet() const { return m_shareInvitationIdHasBeenSet; } /** *

The ID assigned to the share invitation.

*/ inline void SetShareInvitationId(const Aws::String& value) { m_shareInvitationIdHasBeenSet = true; m_shareInvitationId = value; } /** *

The ID assigned to the share invitation.

*/ inline void SetShareInvitationId(Aws::String&& value) { m_shareInvitationIdHasBeenSet = true; m_shareInvitationId = std::move(value); } /** *

The ID assigned to the share invitation.

*/ inline void SetShareInvitationId(const char* value) { m_shareInvitationIdHasBeenSet = true; m_shareInvitationId.assign(value); } /** *

The ID assigned to the share invitation.

*/ inline Profile& WithShareInvitationId(const Aws::String& value) { SetShareInvitationId(value); return *this;} /** *

The ID assigned to the share invitation.

*/ inline Profile& WithShareInvitationId(Aws::String&& value) { SetShareInvitationId(std::move(value)); return *this;} /** *

The ID assigned to the share invitation.

*/ inline Profile& WithShareInvitationId(const char* value) { SetShareInvitationId(value); return *this;} /** *

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

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

The tags assigned to the profile.

*/ inline Profile& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_profileArn; bool m_profileArnHasBeenSet = false; Aws::String m_profileVersion; bool m_profileVersionHasBeenSet = false; Aws::String m_profileName; bool m_profileNameHasBeenSet = false; Aws::String m_profileDescription; bool m_profileDescriptionHasBeenSet = false; Aws::Vector m_profileQuestions; bool m_profileQuestionsHasBeenSet = false; Aws::String m_owner; bool m_ownerHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; Aws::String m_shareInvitationId; bool m_shareInvitationIdHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace WellArchitected } // namespace Aws