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

Information about the Amazon Simple Storage Service (Amazon S3) storage * type.

See Also:

AWS * API Reference

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

The S3 bucket name.

*/ inline const Aws::String& GetBucketName() const{ return m_bucketName; } /** *

The S3 bucket name.

*/ inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; } /** *

The S3 bucket name.

*/ inline void SetBucketName(const Aws::String& value) { m_bucketNameHasBeenSet = true; m_bucketName = value; } /** *

The S3 bucket name.

*/ inline void SetBucketName(Aws::String&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::move(value); } /** *

The S3 bucket name.

*/ inline void SetBucketName(const char* value) { m_bucketNameHasBeenSet = true; m_bucketName.assign(value); } /** *

The S3 bucket name.

*/ inline S3Config& WithBucketName(const Aws::String& value) { SetBucketName(value); return *this;} /** *

The S3 bucket name.

*/ inline S3Config& WithBucketName(Aws::String&& value) { SetBucketName(std::move(value)); return *this;} /** *

The S3 bucket name.

*/ inline S3Config& WithBucketName(const char* value) { SetBucketName(value); return *this;} /** *

The S3 bucket prefix.

*/ inline const Aws::String& GetBucketPrefix() const{ return m_bucketPrefix; } /** *

The S3 bucket prefix.

*/ inline bool BucketPrefixHasBeenSet() const { return m_bucketPrefixHasBeenSet; } /** *

The S3 bucket prefix.

*/ inline void SetBucketPrefix(const Aws::String& value) { m_bucketPrefixHasBeenSet = true; m_bucketPrefix = value; } /** *

The S3 bucket prefix.

*/ inline void SetBucketPrefix(Aws::String&& value) { m_bucketPrefixHasBeenSet = true; m_bucketPrefix = std::move(value); } /** *

The S3 bucket prefix.

*/ inline void SetBucketPrefix(const char* value) { m_bucketPrefixHasBeenSet = true; m_bucketPrefix.assign(value); } /** *

The S3 bucket prefix.

*/ inline S3Config& WithBucketPrefix(const Aws::String& value) { SetBucketPrefix(value); return *this;} /** *

The S3 bucket prefix.

*/ inline S3Config& WithBucketPrefix(Aws::String&& value) { SetBucketPrefix(std::move(value)); return *this;} /** *

The S3 bucket prefix.

*/ inline S3Config& WithBucketPrefix(const char* value) { SetBucketPrefix(value); return *this;} /** *

The Amazon S3 encryption configuration.

*/ inline const EncryptionConfig& GetEncryptionConfig() const{ return m_encryptionConfig; } /** *

The Amazon S3 encryption configuration.

*/ inline bool EncryptionConfigHasBeenSet() const { return m_encryptionConfigHasBeenSet; } /** *

The Amazon S3 encryption configuration.

*/ inline void SetEncryptionConfig(const EncryptionConfig& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = value; } /** *

The Amazon S3 encryption configuration.

*/ inline void SetEncryptionConfig(EncryptionConfig&& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = std::move(value); } /** *

The Amazon S3 encryption configuration.

*/ inline S3Config& WithEncryptionConfig(const EncryptionConfig& value) { SetEncryptionConfig(value); return *this;} /** *

The Amazon S3 encryption configuration.

*/ inline S3Config& WithEncryptionConfig(EncryptionConfig&& value) { SetEncryptionConfig(std::move(value)); return *this;} private: Aws::String m_bucketName; bool m_bucketNameHasBeenSet = false; Aws::String m_bucketPrefix; bool m_bucketPrefixHasBeenSet = false; EncryptionConfig m_encryptionConfig; bool m_encryptionConfigHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws