1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/lex-models/LexModelBuildingService_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/lex-models/model/LogSettingsResponse.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace LexModelBuildingService 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Contains information about conversation log settings.</p><p><h3>See 30 * Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/ConversationLogsResponse">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_LEXMODELBUILDINGSERVICE_API ConversationLogsResponse 35 { 36 public: 37 ConversationLogsResponse(); 38 ConversationLogsResponse(Aws::Utils::Json::JsonView jsonValue); 39 ConversationLogsResponse& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The settings for your conversation logs. You can log text, audio, or 45 * both.</p> 46 */ GetLogSettings()47 inline const Aws::Vector<LogSettingsResponse>& GetLogSettings() const{ return m_logSettings; } 48 49 /** 50 * <p>The settings for your conversation logs. You can log text, audio, or 51 * both.</p> 52 */ LogSettingsHasBeenSet()53 inline bool LogSettingsHasBeenSet() const { return m_logSettingsHasBeenSet; } 54 55 /** 56 * <p>The settings for your conversation logs. You can log text, audio, or 57 * both.</p> 58 */ SetLogSettings(const Aws::Vector<LogSettingsResponse> & value)59 inline void SetLogSettings(const Aws::Vector<LogSettingsResponse>& value) { m_logSettingsHasBeenSet = true; m_logSettings = value; } 60 61 /** 62 * <p>The settings for your conversation logs. You can log text, audio, or 63 * both.</p> 64 */ SetLogSettings(Aws::Vector<LogSettingsResponse> && value)65 inline void SetLogSettings(Aws::Vector<LogSettingsResponse>&& value) { m_logSettingsHasBeenSet = true; m_logSettings = std::move(value); } 66 67 /** 68 * <p>The settings for your conversation logs. You can log text, audio, or 69 * both.</p> 70 */ WithLogSettings(const Aws::Vector<LogSettingsResponse> & value)71 inline ConversationLogsResponse& WithLogSettings(const Aws::Vector<LogSettingsResponse>& value) { SetLogSettings(value); return *this;} 72 73 /** 74 * <p>The settings for your conversation logs. You can log text, audio, or 75 * both.</p> 76 */ WithLogSettings(Aws::Vector<LogSettingsResponse> && value)77 inline ConversationLogsResponse& WithLogSettings(Aws::Vector<LogSettingsResponse>&& value) { SetLogSettings(std::move(value)); return *this;} 78 79 /** 80 * <p>The settings for your conversation logs. You can log text, audio, or 81 * both.</p> 82 */ AddLogSettings(const LogSettingsResponse & value)83 inline ConversationLogsResponse& AddLogSettings(const LogSettingsResponse& value) { m_logSettingsHasBeenSet = true; m_logSettings.push_back(value); return *this; } 84 85 /** 86 * <p>The settings for your conversation logs. You can log text, audio, or 87 * both.</p> 88 */ AddLogSettings(LogSettingsResponse && value)89 inline ConversationLogsResponse& AddLogSettings(LogSettingsResponse&& value) { m_logSettingsHasBeenSet = true; m_logSettings.push_back(std::move(value)); return *this; } 90 91 92 /** 93 * <p>The Amazon Resource Name (ARN) of the IAM role used to write your logs to 94 * CloudWatch Logs or an S3 bucket.</p> 95 */ GetIamRoleArn()96 inline const Aws::String& GetIamRoleArn() const{ return m_iamRoleArn; } 97 98 /** 99 * <p>The Amazon Resource Name (ARN) of the IAM role used to write your logs to 100 * CloudWatch Logs or an S3 bucket.</p> 101 */ IamRoleArnHasBeenSet()102 inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; } 103 104 /** 105 * <p>The Amazon Resource Name (ARN) of the IAM role used to write your logs to 106 * CloudWatch Logs or an S3 bucket.</p> 107 */ SetIamRoleArn(const Aws::String & value)108 inline void SetIamRoleArn(const Aws::String& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = value; } 109 110 /** 111 * <p>The Amazon Resource Name (ARN) of the IAM role used to write your logs to 112 * CloudWatch Logs or an S3 bucket.</p> 113 */ SetIamRoleArn(Aws::String && value)114 inline void SetIamRoleArn(Aws::String&& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = std::move(value); } 115 116 /** 117 * <p>The Amazon Resource Name (ARN) of the IAM role used to write your logs to 118 * CloudWatch Logs or an S3 bucket.</p> 119 */ SetIamRoleArn(const char * value)120 inline void SetIamRoleArn(const char* value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn.assign(value); } 121 122 /** 123 * <p>The Amazon Resource Name (ARN) of the IAM role used to write your logs to 124 * CloudWatch Logs or an S3 bucket.</p> 125 */ WithIamRoleArn(const Aws::String & value)126 inline ConversationLogsResponse& WithIamRoleArn(const Aws::String& value) { SetIamRoleArn(value); return *this;} 127 128 /** 129 * <p>The Amazon Resource Name (ARN) of the IAM role used to write your logs to 130 * CloudWatch Logs or an S3 bucket.</p> 131 */ WithIamRoleArn(Aws::String && value)132 inline ConversationLogsResponse& WithIamRoleArn(Aws::String&& value) { SetIamRoleArn(std::move(value)); return *this;} 133 134 /** 135 * <p>The Amazon Resource Name (ARN) of the IAM role used to write your logs to 136 * CloudWatch Logs or an S3 bucket.</p> 137 */ WithIamRoleArn(const char * value)138 inline ConversationLogsResponse& WithIamRoleArn(const char* value) { SetIamRoleArn(value); return *this;} 139 140 private: 141 142 Aws::Vector<LogSettingsResponse> m_logSettings; 143 bool m_logSettingsHasBeenSet; 144 145 Aws::String m_iamRoleArn; 146 bool m_iamRoleArnHasBeenSet; 147 }; 148 149 } // namespace Model 150 } // namespace LexModelBuildingService 151 } // namespace Aws 152