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

The storage configuration for the instance.

See Also:

AWS * API Reference

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

The existing association identifier that uniquely identifies the resource * type and storage config for the given instance ID.

*/ inline const Aws::String& GetAssociationId() const{ return m_associationId; } /** *

The existing association identifier that uniquely identifies the resource * type and storage config for the given instance ID.

*/ inline bool AssociationIdHasBeenSet() const { return m_associationIdHasBeenSet; } /** *

The existing association identifier that uniquely identifies the resource * type and storage config for the given instance ID.

*/ inline void SetAssociationId(const Aws::String& value) { m_associationIdHasBeenSet = true; m_associationId = value; } /** *

The existing association identifier that uniquely identifies the resource * type and storage config for the given instance ID.

*/ inline void SetAssociationId(Aws::String&& value) { m_associationIdHasBeenSet = true; m_associationId = std::move(value); } /** *

The existing association identifier that uniquely identifies the resource * type and storage config for the given instance ID.

*/ inline void SetAssociationId(const char* value) { m_associationIdHasBeenSet = true; m_associationId.assign(value); } /** *

The existing association identifier that uniquely identifies the resource * type and storage config for the given instance ID.

*/ inline InstanceStorageConfig& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;} /** *

The existing association identifier that uniquely identifies the resource * type and storage config for the given instance ID.

*/ inline InstanceStorageConfig& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;} /** *

The existing association identifier that uniquely identifies the resource * type and storage config for the given instance ID.

*/ inline InstanceStorageConfig& WithAssociationId(const char* value) { SetAssociationId(value); return *this;} /** *

A valid storage type.

*/ inline const StorageType& GetStorageType() const{ return m_storageType; } /** *

A valid storage type.

*/ inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; } /** *

A valid storage type.

*/ inline void SetStorageType(const StorageType& value) { m_storageTypeHasBeenSet = true; m_storageType = value; } /** *

A valid storage type.

*/ inline void SetStorageType(StorageType&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); } /** *

A valid storage type.

*/ inline InstanceStorageConfig& WithStorageType(const StorageType& value) { SetStorageType(value); return *this;} /** *

A valid storage type.

*/ inline InstanceStorageConfig& WithStorageType(StorageType&& value) { SetStorageType(std::move(value)); return *this;} /** *

The S3 bucket configuration.

*/ inline const S3Config& GetS3Config() const{ return m_s3Config; } /** *

The S3 bucket configuration.

*/ inline bool S3ConfigHasBeenSet() const { return m_s3ConfigHasBeenSet; } /** *

The S3 bucket configuration.

*/ inline void SetS3Config(const S3Config& value) { m_s3ConfigHasBeenSet = true; m_s3Config = value; } /** *

The S3 bucket configuration.

*/ inline void SetS3Config(S3Config&& value) { m_s3ConfigHasBeenSet = true; m_s3Config = std::move(value); } /** *

The S3 bucket configuration.

*/ inline InstanceStorageConfig& WithS3Config(const S3Config& value) { SetS3Config(value); return *this;} /** *

The S3 bucket configuration.

*/ inline InstanceStorageConfig& WithS3Config(S3Config&& value) { SetS3Config(std::move(value)); return *this;} /** *

The configuration of the Kinesis video stream.

*/ inline const KinesisVideoStreamConfig& GetKinesisVideoStreamConfig() const{ return m_kinesisVideoStreamConfig; } /** *

The configuration of the Kinesis video stream.

*/ inline bool KinesisVideoStreamConfigHasBeenSet() const { return m_kinesisVideoStreamConfigHasBeenSet; } /** *

The configuration of the Kinesis video stream.

*/ inline void SetKinesisVideoStreamConfig(const KinesisVideoStreamConfig& value) { m_kinesisVideoStreamConfigHasBeenSet = true; m_kinesisVideoStreamConfig = value; } /** *

The configuration of the Kinesis video stream.

*/ inline void SetKinesisVideoStreamConfig(KinesisVideoStreamConfig&& value) { m_kinesisVideoStreamConfigHasBeenSet = true; m_kinesisVideoStreamConfig = std::move(value); } /** *

The configuration of the Kinesis video stream.

*/ inline InstanceStorageConfig& WithKinesisVideoStreamConfig(const KinesisVideoStreamConfig& value) { SetKinesisVideoStreamConfig(value); return *this;} /** *

The configuration of the Kinesis video stream.

*/ inline InstanceStorageConfig& WithKinesisVideoStreamConfig(KinesisVideoStreamConfig&& value) { SetKinesisVideoStreamConfig(std::move(value)); return *this;} /** *

The configuration of the Kinesis data stream.

*/ inline const KinesisStreamConfig& GetKinesisStreamConfig() const{ return m_kinesisStreamConfig; } /** *

The configuration of the Kinesis data stream.

*/ inline bool KinesisStreamConfigHasBeenSet() const { return m_kinesisStreamConfigHasBeenSet; } /** *

The configuration of the Kinesis data stream.

*/ inline void SetKinesisStreamConfig(const KinesisStreamConfig& value) { m_kinesisStreamConfigHasBeenSet = true; m_kinesisStreamConfig = value; } /** *

The configuration of the Kinesis data stream.

*/ inline void SetKinesisStreamConfig(KinesisStreamConfig&& value) { m_kinesisStreamConfigHasBeenSet = true; m_kinesisStreamConfig = std::move(value); } /** *

The configuration of the Kinesis data stream.

*/ inline InstanceStorageConfig& WithKinesisStreamConfig(const KinesisStreamConfig& value) { SetKinesisStreamConfig(value); return *this;} /** *

The configuration of the Kinesis data stream.

*/ inline InstanceStorageConfig& WithKinesisStreamConfig(KinesisStreamConfig&& value) { SetKinesisStreamConfig(std::move(value)); return *this;} /** *

The configuration of the Kinesis Firehose delivery stream.

*/ inline const KinesisFirehoseConfig& GetKinesisFirehoseConfig() const{ return m_kinesisFirehoseConfig; } /** *

The configuration of the Kinesis Firehose delivery stream.

*/ inline bool KinesisFirehoseConfigHasBeenSet() const { return m_kinesisFirehoseConfigHasBeenSet; } /** *

The configuration of the Kinesis Firehose delivery stream.

*/ inline void SetKinesisFirehoseConfig(const KinesisFirehoseConfig& value) { m_kinesisFirehoseConfigHasBeenSet = true; m_kinesisFirehoseConfig = value; } /** *

The configuration of the Kinesis Firehose delivery stream.

*/ inline void SetKinesisFirehoseConfig(KinesisFirehoseConfig&& value) { m_kinesisFirehoseConfigHasBeenSet = true; m_kinesisFirehoseConfig = std::move(value); } /** *

The configuration of the Kinesis Firehose delivery stream.

*/ inline InstanceStorageConfig& WithKinesisFirehoseConfig(const KinesisFirehoseConfig& value) { SetKinesisFirehoseConfig(value); return *this;} /** *

The configuration of the Kinesis Firehose delivery stream.

*/ inline InstanceStorageConfig& WithKinesisFirehoseConfig(KinesisFirehoseConfig&& value) { SetKinesisFirehoseConfig(std::move(value)); return *this;} private: Aws::String m_associationId; bool m_associationIdHasBeenSet = false; StorageType m_storageType; bool m_storageTypeHasBeenSet = false; S3Config m_s3Config; bool m_s3ConfigHasBeenSet = false; KinesisVideoStreamConfig m_kinesisVideoStreamConfig; bool m_kinesisVideoStreamConfigHasBeenSet = false; KinesisStreamConfig m_kinesisStreamConfig; bool m_kinesisStreamConfigHasBeenSet = false; KinesisFirehoseConfig m_kinesisFirehoseConfig; bool m_kinesisFirehoseConfigHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws