/** * 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 ConnectCases { namespace Model { /** */ class CreateCaseRequest : public ConnectCasesRequest { public: AWS_CONNECTCASES_API CreateCaseRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateCase"; } AWS_CONNECTCASES_API Aws::String SerializePayload() const override; /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If not provided, the Amazon Web Services SDK * populates this field. For more information about idempotency, see Making * retries safe with idempotent APIs.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If not provided, the Amazon Web Services SDK * populates this field. For more information about idempotency, see Making * retries safe with idempotent APIs.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If not provided, the Amazon Web Services SDK * populates this field. For more information about idempotency, see Making * retries safe with idempotent APIs.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If not provided, the Amazon Web Services SDK * populates this field. For more information about idempotency, see Making * retries safe with idempotent APIs.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If not provided, the Amazon Web Services SDK * populates this field. For more information about idempotency, see Making * retries safe with idempotent APIs.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If not provided, the Amazon Web Services SDK * populates this field. For more information about idempotency, see Making * retries safe with idempotent APIs.

*/ inline CreateCaseRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If not provided, the Amazon Web Services SDK * populates this field. For more information about idempotency, see Making * retries safe with idempotent APIs.

*/ inline CreateCaseRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If not provided, the Amazon Web Services SDK * populates this field. For more information about idempotency, see Making * retries safe with idempotent APIs.

*/ inline CreateCaseRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The unique identifier of the Cases domain.

*/ inline const Aws::String& GetDomainId() const{ return m_domainId; } /** *

The unique identifier of the Cases domain.

*/ inline bool DomainIdHasBeenSet() const { return m_domainIdHasBeenSet; } /** *

The unique identifier of the Cases domain.

*/ inline void SetDomainId(const Aws::String& value) { m_domainIdHasBeenSet = true; m_domainId = value; } /** *

The unique identifier of the Cases domain.

*/ inline void SetDomainId(Aws::String&& value) { m_domainIdHasBeenSet = true; m_domainId = std::move(value); } /** *

The unique identifier of the Cases domain.

*/ inline void SetDomainId(const char* value) { m_domainIdHasBeenSet = true; m_domainId.assign(value); } /** *

The unique identifier of the Cases domain.

*/ inline CreateCaseRequest& WithDomainId(const Aws::String& value) { SetDomainId(value); return *this;} /** *

The unique identifier of the Cases domain.

*/ inline CreateCaseRequest& WithDomainId(Aws::String&& value) { SetDomainId(std::move(value)); return *this;} /** *

The unique identifier of the Cases domain.

*/ inline CreateCaseRequest& WithDomainId(const char* value) { SetDomainId(value); return *this;} /** *

An array of objects with field ID (matching ListFields/DescribeField) and * value union data.

*/ inline const Aws::Vector& GetFields() const{ return m_fields; } /** *

An array of objects with field ID (matching ListFields/DescribeField) and * value union data.

*/ inline bool FieldsHasBeenSet() const { return m_fieldsHasBeenSet; } /** *

An array of objects with field ID (matching ListFields/DescribeField) and * value union data.

*/ inline void SetFields(const Aws::Vector& value) { m_fieldsHasBeenSet = true; m_fields = value; } /** *

An array of objects with field ID (matching ListFields/DescribeField) and * value union data.

*/ inline void SetFields(Aws::Vector&& value) { m_fieldsHasBeenSet = true; m_fields = std::move(value); } /** *

An array of objects with field ID (matching ListFields/DescribeField) and * value union data.

*/ inline CreateCaseRequest& WithFields(const Aws::Vector& value) { SetFields(value); return *this;} /** *

An array of objects with field ID (matching ListFields/DescribeField) and * value union data.

*/ inline CreateCaseRequest& WithFields(Aws::Vector&& value) { SetFields(std::move(value)); return *this;} /** *

An array of objects with field ID (matching ListFields/DescribeField) and * value union data.

*/ inline CreateCaseRequest& AddFields(const FieldValue& value) { m_fieldsHasBeenSet = true; m_fields.push_back(value); return *this; } /** *

An array of objects with field ID (matching ListFields/DescribeField) and * value union data.

*/ inline CreateCaseRequest& AddFields(FieldValue&& value) { m_fieldsHasBeenSet = true; m_fields.push_back(std::move(value)); return *this; } /** *

A unique identifier of a template.

*/ inline const Aws::String& GetTemplateId() const{ return m_templateId; } /** *

A unique identifier of a template.

*/ inline bool TemplateIdHasBeenSet() const { return m_templateIdHasBeenSet; } /** *

A unique identifier of a template.

*/ inline void SetTemplateId(const Aws::String& value) { m_templateIdHasBeenSet = true; m_templateId = value; } /** *

A unique identifier of a template.

*/ inline void SetTemplateId(Aws::String&& value) { m_templateIdHasBeenSet = true; m_templateId = std::move(value); } /** *

A unique identifier of a template.

*/ inline void SetTemplateId(const char* value) { m_templateIdHasBeenSet = true; m_templateId.assign(value); } /** *

A unique identifier of a template.

*/ inline CreateCaseRequest& WithTemplateId(const Aws::String& value) { SetTemplateId(value); return *this;} /** *

A unique identifier of a template.

*/ inline CreateCaseRequest& WithTemplateId(Aws::String&& value) { SetTemplateId(std::move(value)); return *this;} /** *

A unique identifier of a template.

*/ inline CreateCaseRequest& WithTemplateId(const char* value) { SetTemplateId(value); return *this;} private: Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_domainId; bool m_domainIdHasBeenSet = false; Aws::Vector m_fields; bool m_fieldsHasBeenSet = false; Aws::String m_templateId; bool m_templateIdHasBeenSet = false; }; } // namespace Model } // namespace ConnectCases } // namespace Aws