/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Support { namespace Model { /** *

An attachment to a case communication. The attachment consists of the file * name and the content of the file.

See Also:

AWS * API Reference

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

The name of the attachment file.

*/ inline const Aws::String& GetFileName() const{ return m_fileName; } /** *

The name of the attachment file.

*/ inline bool FileNameHasBeenSet() const { return m_fileNameHasBeenSet; } /** *

The name of the attachment file.

*/ inline void SetFileName(const Aws::String& value) { m_fileNameHasBeenSet = true; m_fileName = value; } /** *

The name of the attachment file.

*/ inline void SetFileName(Aws::String&& value) { m_fileNameHasBeenSet = true; m_fileName = std::move(value); } /** *

The name of the attachment file.

*/ inline void SetFileName(const char* value) { m_fileNameHasBeenSet = true; m_fileName.assign(value); } /** *

The name of the attachment file.

*/ inline Attachment& WithFileName(const Aws::String& value) { SetFileName(value); return *this;} /** *

The name of the attachment file.

*/ inline Attachment& WithFileName(Aws::String&& value) { SetFileName(std::move(value)); return *this;} /** *

The name of the attachment file.

*/ inline Attachment& WithFileName(const char* value) { SetFileName(value); return *this;} /** *

The content of the attachment file.

*/ inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } /** *

The content of the attachment file.

*/ inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } /** *

The content of the attachment file.

*/ inline void SetData(const Aws::Utils::ByteBuffer& value) { m_dataHasBeenSet = true; m_data = value; } /** *

The content of the attachment file.

*/ inline void SetData(Aws::Utils::ByteBuffer&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } /** *

The content of the attachment file.

*/ inline Attachment& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} /** *

The content of the attachment file.

*/ inline Attachment& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} private: Aws::String m_fileName; bool m_fileNameHasBeenSet = false; Aws::Utils::ByteBuffer m_data; bool m_dataHasBeenSet = false; }; } // namespace Model } // namespace Support } // namespace Aws