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

Information about the evaluation form.

See Also:

AWS * API Reference

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

The unique identifier for the evaluation form.

*/ inline const Aws::String& GetEvaluationFormId() const{ return m_evaluationFormId; } /** *

The unique identifier for the evaluation form.

*/ inline bool EvaluationFormIdHasBeenSet() const { return m_evaluationFormIdHasBeenSet; } /** *

The unique identifier for the evaluation form.

*/ inline void SetEvaluationFormId(const Aws::String& value) { m_evaluationFormIdHasBeenSet = true; m_evaluationFormId = value; } /** *

The unique identifier for the evaluation form.

*/ inline void SetEvaluationFormId(Aws::String&& value) { m_evaluationFormIdHasBeenSet = true; m_evaluationFormId = std::move(value); } /** *

The unique identifier for the evaluation form.

*/ inline void SetEvaluationFormId(const char* value) { m_evaluationFormIdHasBeenSet = true; m_evaluationFormId.assign(value); } /** *

The unique identifier for the evaluation form.

*/ inline EvaluationForm& WithEvaluationFormId(const Aws::String& value) { SetEvaluationFormId(value); return *this;} /** *

The unique identifier for the evaluation form.

*/ inline EvaluationForm& WithEvaluationFormId(Aws::String&& value) { SetEvaluationFormId(std::move(value)); return *this;} /** *

The unique identifier for the evaluation form.

*/ inline EvaluationForm& WithEvaluationFormId(const char* value) { SetEvaluationFormId(value); return *this;} /** *

A version of the evaluation form.

*/ inline int GetEvaluationFormVersion() const{ return m_evaluationFormVersion; } /** *

A version of the evaluation form.

*/ inline bool EvaluationFormVersionHasBeenSet() const { return m_evaluationFormVersionHasBeenSet; } /** *

A version of the evaluation form.

*/ inline void SetEvaluationFormVersion(int value) { m_evaluationFormVersionHasBeenSet = true; m_evaluationFormVersion = value; } /** *

A version of the evaluation form.

*/ inline EvaluationForm& WithEvaluationFormVersion(int value) { SetEvaluationFormVersion(value); return *this;} /** *

The flag indicating whether the evaluation form is locked for changes.

*/ inline bool GetLocked() const{ return m_locked; } /** *

The flag indicating whether the evaluation form is locked for changes.

*/ inline bool LockedHasBeenSet() const { return m_lockedHasBeenSet; } /** *

The flag indicating whether the evaluation form is locked for changes.

*/ inline void SetLocked(bool value) { m_lockedHasBeenSet = true; m_locked = value; } /** *

The flag indicating whether the evaluation form is locked for changes.

*/ inline EvaluationForm& WithLocked(bool value) { SetLocked(value); return *this;} /** *

The Amazon Resource Name (ARN) for the evaluation form resource.

*/ inline const Aws::String& GetEvaluationFormArn() const{ return m_evaluationFormArn; } /** *

The Amazon Resource Name (ARN) for the evaluation form resource.

*/ inline bool EvaluationFormArnHasBeenSet() const { return m_evaluationFormArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the evaluation form resource.

*/ inline void SetEvaluationFormArn(const Aws::String& value) { m_evaluationFormArnHasBeenSet = true; m_evaluationFormArn = value; } /** *

The Amazon Resource Name (ARN) for the evaluation form resource.

*/ inline void SetEvaluationFormArn(Aws::String&& value) { m_evaluationFormArnHasBeenSet = true; m_evaluationFormArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the evaluation form resource.

*/ inline void SetEvaluationFormArn(const char* value) { m_evaluationFormArnHasBeenSet = true; m_evaluationFormArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the evaluation form resource.

*/ inline EvaluationForm& WithEvaluationFormArn(const Aws::String& value) { SetEvaluationFormArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the evaluation form resource.

*/ inline EvaluationForm& WithEvaluationFormArn(Aws::String&& value) { SetEvaluationFormArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the evaluation form resource.

*/ inline EvaluationForm& WithEvaluationFormArn(const char* value) { SetEvaluationFormArn(value); return *this;} /** *

A title of the evaluation form.

*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *

A title of the evaluation form.

*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *

A title of the evaluation form.

*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *

A title of the evaluation form.

*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *

A title of the evaluation form.

*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *

A title of the evaluation form.

*/ inline EvaluationForm& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

A title of the evaluation form.

*/ inline EvaluationForm& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *

A title of the evaluation form.

*/ inline EvaluationForm& WithTitle(const char* value) { SetTitle(value); return *this;} /** *

The description of the evaluation form.

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

The description of the evaluation form.

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

The description of the evaluation form.

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

The description of the evaluation form.

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

The description of the evaluation form.

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

The description of the evaluation form.

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

The description of the evaluation form.

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

The description of the evaluation form.

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

The status of the evaluation form.

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

The status of the evaluation form.

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

The status of the evaluation form.

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

The status of the evaluation form.

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

The status of the evaluation form.

*/ inline EvaluationForm& WithStatus(const EvaluationFormVersionStatus& value) { SetStatus(value); return *this;} /** *

The status of the evaluation form.

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

Items that are part of the evaluation form. The total number of sections and * questions must not exceed 100 each. Questions must be contained in a * section.

*/ inline const Aws::Vector& GetItems() const{ return m_items; } /** *

Items that are part of the evaluation form. The total number of sections and * questions must not exceed 100 each. Questions must be contained in a * section.

*/ inline bool ItemsHasBeenSet() const { return m_itemsHasBeenSet; } /** *

Items that are part of the evaluation form. The total number of sections and * questions must not exceed 100 each. Questions must be contained in a * section.

*/ inline void SetItems(const Aws::Vector& value) { m_itemsHasBeenSet = true; m_items = value; } /** *

Items that are part of the evaluation form. The total number of sections and * questions must not exceed 100 each. Questions must be contained in a * section.

*/ inline void SetItems(Aws::Vector&& value) { m_itemsHasBeenSet = true; m_items = std::move(value); } /** *

Items that are part of the evaluation form. The total number of sections and * questions must not exceed 100 each. Questions must be contained in a * section.

*/ inline EvaluationForm& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} /** *

Items that are part of the evaluation form. The total number of sections and * questions must not exceed 100 each. Questions must be contained in a * section.

*/ inline EvaluationForm& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} /** *

Items that are part of the evaluation form. The total number of sections and * questions must not exceed 100 each. Questions must be contained in a * section.

*/ inline EvaluationForm& AddItems(const EvaluationFormItem& value) { m_itemsHasBeenSet = true; m_items.push_back(value); return *this; } /** *

Items that are part of the evaluation form. The total number of sections and * questions must not exceed 100 each. Questions must be contained in a * section.

*/ inline EvaluationForm& AddItems(EvaluationFormItem&& value) { m_itemsHasBeenSet = true; m_items.push_back(std::move(value)); return *this; } /** *

A scoring strategy of the evaluation form.

*/ inline const EvaluationFormScoringStrategy& GetScoringStrategy() const{ return m_scoringStrategy; } /** *

A scoring strategy of the evaluation form.

*/ inline bool ScoringStrategyHasBeenSet() const { return m_scoringStrategyHasBeenSet; } /** *

A scoring strategy of the evaluation form.

*/ inline void SetScoringStrategy(const EvaluationFormScoringStrategy& value) { m_scoringStrategyHasBeenSet = true; m_scoringStrategy = value; } /** *

A scoring strategy of the evaluation form.

*/ inline void SetScoringStrategy(EvaluationFormScoringStrategy&& value) { m_scoringStrategyHasBeenSet = true; m_scoringStrategy = std::move(value); } /** *

A scoring strategy of the evaluation form.

*/ inline EvaluationForm& WithScoringStrategy(const EvaluationFormScoringStrategy& value) { SetScoringStrategy(value); return *this;} /** *

A scoring strategy of the evaluation form.

*/ inline EvaluationForm& WithScoringStrategy(EvaluationFormScoringStrategy&& value) { SetScoringStrategy(std::move(value)); return *this;} /** *

The timestamp for when the evaluation form was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *

The timestamp for when the evaluation form was created.

*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *

The timestamp for when the evaluation form was created.

*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *

The timestamp for when the evaluation form was created.

*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *

The timestamp for when the evaluation form was created.

*/ inline EvaluationForm& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *

The timestamp for when the evaluation form was created.

*/ inline EvaluationForm& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user who created the evaluation * form.

*/ inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } /** *

The Amazon Resource Name (ARN) of the user who created the evaluation * form.

*/ inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the user who created the evaluation * form.

*/ inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } /** *

The Amazon Resource Name (ARN) of the user who created the evaluation * form.

*/ inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } /** *

The Amazon Resource Name (ARN) of the user who created the evaluation * form.

*/ inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } /** *

The Amazon Resource Name (ARN) of the user who created the evaluation * form.

*/ inline EvaluationForm& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} /** *

The Amazon Resource Name (ARN) of the user who created the evaluation * form.

*/ inline EvaluationForm& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user who created the evaluation * form.

*/ inline EvaluationForm& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} /** *

The timestamp for when the evaluation form was last updated.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

The timestamp for when the evaluation form was last updated.

*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *

The timestamp for when the evaluation form was last updated.

*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *

The timestamp for when the evaluation form was last updated.

*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *

The timestamp for when the evaluation form was last updated.

*/ inline EvaluationForm& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *

The timestamp for when the evaluation form was last updated.

*/ inline EvaluationForm& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user who last updated the evaluation * form.

*/ inline const Aws::String& GetLastModifiedBy() const{ return m_lastModifiedBy; } /** *

The Amazon Resource Name (ARN) of the user who last updated the evaluation * form.

*/ inline bool LastModifiedByHasBeenSet() const { return m_lastModifiedByHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the user who last updated the evaluation * form.

*/ inline void SetLastModifiedBy(const Aws::String& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = value; } /** *

The Amazon Resource Name (ARN) of the user who last updated the evaluation * form.

*/ inline void SetLastModifiedBy(Aws::String&& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = std::move(value); } /** *

The Amazon Resource Name (ARN) of the user who last updated the evaluation * form.

*/ inline void SetLastModifiedBy(const char* value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy.assign(value); } /** *

The Amazon Resource Name (ARN) of the user who last updated the evaluation * form.

*/ inline EvaluationForm& WithLastModifiedBy(const Aws::String& value) { SetLastModifiedBy(value); return *this;} /** *

The Amazon Resource Name (ARN) of the user who last updated the evaluation * form.

*/ inline EvaluationForm& WithLastModifiedBy(Aws::String&& value) { SetLastModifiedBy(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user who last updated the evaluation * form.

*/ inline EvaluationForm& WithLastModifiedBy(const char* value) { SetLastModifiedBy(value); return *this;} /** *

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

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

The tags used to organize, track, or control access for this resource. For * example, { "tags": {"key1":"value1", "key2":"value2"} }.

*/ inline EvaluationForm& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_evaluationFormId; bool m_evaluationFormIdHasBeenSet = false; int m_evaluationFormVersion; bool m_evaluationFormVersionHasBeenSet = false; bool m_locked; bool m_lockedHasBeenSet = false; Aws::String m_evaluationFormArn; bool m_evaluationFormArnHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; EvaluationFormVersionStatus m_status; bool m_statusHasBeenSet = false; Aws::Vector m_items; bool m_itemsHasBeenSet = false; EvaluationFormScoringStrategy m_scoringStrategy; bool m_scoringStrategyHasBeenSet = false; Aws::Utils::DateTime m_createdTime; bool m_createdTimeHasBeenSet = false; Aws::String m_createdBy; bool m_createdByHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; Aws::String m_lastModifiedBy; bool m_lastModifiedByHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws