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

Describes constraints that apply to the template fields.

See * Also:

AWS * API Reference

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

Lists the fields that are required to be filled by agents.

*/ inline const Aws::Vector& GetRequiredFields() const{ return m_requiredFields; } /** *

Lists the fields that are required to be filled by agents.

*/ inline bool RequiredFieldsHasBeenSet() const { return m_requiredFieldsHasBeenSet; } /** *

Lists the fields that are required to be filled by agents.

*/ inline void SetRequiredFields(const Aws::Vector& value) { m_requiredFieldsHasBeenSet = true; m_requiredFields = value; } /** *

Lists the fields that are required to be filled by agents.

*/ inline void SetRequiredFields(Aws::Vector&& value) { m_requiredFieldsHasBeenSet = true; m_requiredFields = std::move(value); } /** *

Lists the fields that are required to be filled by agents.

*/ inline TaskTemplateConstraints& WithRequiredFields(const Aws::Vector& value) { SetRequiredFields(value); return *this;} /** *

Lists the fields that are required to be filled by agents.

*/ inline TaskTemplateConstraints& WithRequiredFields(Aws::Vector&& value) { SetRequiredFields(std::move(value)); return *this;} /** *

Lists the fields that are required to be filled by agents.

*/ inline TaskTemplateConstraints& AddRequiredFields(const RequiredFieldInfo& value) { m_requiredFieldsHasBeenSet = true; m_requiredFields.push_back(value); return *this; } /** *

Lists the fields that are required to be filled by agents.

*/ inline TaskTemplateConstraints& AddRequiredFields(RequiredFieldInfo&& value) { m_requiredFieldsHasBeenSet = true; m_requiredFields.push_back(std::move(value)); return *this; } /** *

Lists the fields that are read-only to agents, and cannot be edited.

*/ inline const Aws::Vector& GetReadOnlyFields() const{ return m_readOnlyFields; } /** *

Lists the fields that are read-only to agents, and cannot be edited.

*/ inline bool ReadOnlyFieldsHasBeenSet() const { return m_readOnlyFieldsHasBeenSet; } /** *

Lists the fields that are read-only to agents, and cannot be edited.

*/ inline void SetReadOnlyFields(const Aws::Vector& value) { m_readOnlyFieldsHasBeenSet = true; m_readOnlyFields = value; } /** *

Lists the fields that are read-only to agents, and cannot be edited.

*/ inline void SetReadOnlyFields(Aws::Vector&& value) { m_readOnlyFieldsHasBeenSet = true; m_readOnlyFields = std::move(value); } /** *

Lists the fields that are read-only to agents, and cannot be edited.

*/ inline TaskTemplateConstraints& WithReadOnlyFields(const Aws::Vector& value) { SetReadOnlyFields(value); return *this;} /** *

Lists the fields that are read-only to agents, and cannot be edited.

*/ inline TaskTemplateConstraints& WithReadOnlyFields(Aws::Vector&& value) { SetReadOnlyFields(std::move(value)); return *this;} /** *

Lists the fields that are read-only to agents, and cannot be edited.

*/ inline TaskTemplateConstraints& AddReadOnlyFields(const ReadOnlyFieldInfo& value) { m_readOnlyFieldsHasBeenSet = true; m_readOnlyFields.push_back(value); return *this; } /** *

Lists the fields that are read-only to agents, and cannot be edited.

*/ inline TaskTemplateConstraints& AddReadOnlyFields(ReadOnlyFieldInfo&& value) { m_readOnlyFieldsHasBeenSet = true; m_readOnlyFields.push_back(std::move(value)); return *this; } /** *

Lists the fields that are invisible to agents.

*/ inline const Aws::Vector& GetInvisibleFields() const{ return m_invisibleFields; } /** *

Lists the fields that are invisible to agents.

*/ inline bool InvisibleFieldsHasBeenSet() const { return m_invisibleFieldsHasBeenSet; } /** *

Lists the fields that are invisible to agents.

*/ inline void SetInvisibleFields(const Aws::Vector& value) { m_invisibleFieldsHasBeenSet = true; m_invisibleFields = value; } /** *

Lists the fields that are invisible to agents.

*/ inline void SetInvisibleFields(Aws::Vector&& value) { m_invisibleFieldsHasBeenSet = true; m_invisibleFields = std::move(value); } /** *

Lists the fields that are invisible to agents.

*/ inline TaskTemplateConstraints& WithInvisibleFields(const Aws::Vector& value) { SetInvisibleFields(value); return *this;} /** *

Lists the fields that are invisible to agents.

*/ inline TaskTemplateConstraints& WithInvisibleFields(Aws::Vector&& value) { SetInvisibleFields(std::move(value)); return *this;} /** *

Lists the fields that are invisible to agents.

*/ inline TaskTemplateConstraints& AddInvisibleFields(const InvisibleFieldInfo& value) { m_invisibleFieldsHasBeenSet = true; m_invisibleFields.push_back(value); return *this; } /** *

Lists the fields that are invisible to agents.

*/ inline TaskTemplateConstraints& AddInvisibleFields(InvisibleFieldInfo&& value) { m_invisibleFieldsHasBeenSet = true; m_invisibleFields.push_back(std::move(value)); return *this; } private: Aws::Vector m_requiredFields; bool m_requiredFieldsHasBeenSet = false; Aws::Vector m_readOnlyFields; bool m_readOnlyFieldsHasBeenSet = false; Aws::Vector m_invisibleFields; bool m_invisibleFieldsHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws