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

Configures conversation logging that saves audio, text, and metadata for the * conversations with your users.

See Also:

AWS * API Reference

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

The Amazon CloudWatch Logs settings for logging text and metadata.

*/ inline const Aws::Vector& GetTextLogSettings() const{ return m_textLogSettings; } /** *

The Amazon CloudWatch Logs settings for logging text and metadata.

*/ inline bool TextLogSettingsHasBeenSet() const { return m_textLogSettingsHasBeenSet; } /** *

The Amazon CloudWatch Logs settings for logging text and metadata.

*/ inline void SetTextLogSettings(const Aws::Vector& value) { m_textLogSettingsHasBeenSet = true; m_textLogSettings = value; } /** *

The Amazon CloudWatch Logs settings for logging text and metadata.

*/ inline void SetTextLogSettings(Aws::Vector&& value) { m_textLogSettingsHasBeenSet = true; m_textLogSettings = std::move(value); } /** *

The Amazon CloudWatch Logs settings for logging text and metadata.

*/ inline ConversationLogSettings& WithTextLogSettings(const Aws::Vector& value) { SetTextLogSettings(value); return *this;} /** *

The Amazon CloudWatch Logs settings for logging text and metadata.

*/ inline ConversationLogSettings& WithTextLogSettings(Aws::Vector&& value) { SetTextLogSettings(std::move(value)); return *this;} /** *

The Amazon CloudWatch Logs settings for logging text and metadata.

*/ inline ConversationLogSettings& AddTextLogSettings(const TextLogSetting& value) { m_textLogSettingsHasBeenSet = true; m_textLogSettings.push_back(value); return *this; } /** *

The Amazon CloudWatch Logs settings for logging text and metadata.

*/ inline ConversationLogSettings& AddTextLogSettings(TextLogSetting&& value) { m_textLogSettingsHasBeenSet = true; m_textLogSettings.push_back(std::move(value)); return *this; } /** *

The Amazon S3 settings for logging audio to an S3 bucket.

*/ inline const Aws::Vector& GetAudioLogSettings() const{ return m_audioLogSettings; } /** *

The Amazon S3 settings for logging audio to an S3 bucket.

*/ inline bool AudioLogSettingsHasBeenSet() const { return m_audioLogSettingsHasBeenSet; } /** *

The Amazon S3 settings for logging audio to an S3 bucket.

*/ inline void SetAudioLogSettings(const Aws::Vector& value) { m_audioLogSettingsHasBeenSet = true; m_audioLogSettings = value; } /** *

The Amazon S3 settings for logging audio to an S3 bucket.

*/ inline void SetAudioLogSettings(Aws::Vector&& value) { m_audioLogSettingsHasBeenSet = true; m_audioLogSettings = std::move(value); } /** *

The Amazon S3 settings for logging audio to an S3 bucket.

*/ inline ConversationLogSettings& WithAudioLogSettings(const Aws::Vector& value) { SetAudioLogSettings(value); return *this;} /** *

The Amazon S3 settings for logging audio to an S3 bucket.

*/ inline ConversationLogSettings& WithAudioLogSettings(Aws::Vector&& value) { SetAudioLogSettings(std::move(value)); return *this;} /** *

The Amazon S3 settings for logging audio to an S3 bucket.

*/ inline ConversationLogSettings& AddAudioLogSettings(const AudioLogSetting& value) { m_audioLogSettingsHasBeenSet = true; m_audioLogSettings.push_back(value); return *this; } /** *

The Amazon S3 settings for logging audio to an S3 bucket.

*/ inline ConversationLogSettings& AddAudioLogSettings(AudioLogSetting&& value) { m_audioLogSettingsHasBeenSet = true; m_audioLogSettings.push_back(std::move(value)); return *this; } private: Aws::Vector m_textLogSettings; bool m_textLogSettingsHasBeenSet = false; Aws::Vector m_audioLogSettings; bool m_audioLogSettingsHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws