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/kinesisanalyticsv2/KinesisAnalyticsV2_EXPORTS.h> 8 #include <aws/kinesisanalyticsv2/KinesisAnalyticsV2Request.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/kinesisanalyticsv2/model/Output.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace KinesisAnalyticsV2 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_KINESISANALYTICSV2_API AddApplicationOutputRequest : public KinesisAnalyticsV2Request 23 { 24 public: 25 AddApplicationOutputRequest(); 26 27 // Service request name is the Operation name which will send this request out, 28 // each operation should has unique request name, so that we can get operation's name from this request. 29 // Note: this is not true for response, multiple operations may have the same response name, 30 // so we can not get operation's name from response. GetServiceRequestName()31 inline virtual const char* GetServiceRequestName() const override { return "AddApplicationOutput"; } 32 33 Aws::String SerializePayload() const override; 34 35 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 36 37 38 /** 39 * <p>The name of the application to which you want to add the output 40 * configuration.</p> 41 */ GetApplicationName()42 inline const Aws::String& GetApplicationName() const{ return m_applicationName; } 43 44 /** 45 * <p>The name of the application to which you want to add the output 46 * configuration.</p> 47 */ ApplicationNameHasBeenSet()48 inline bool ApplicationNameHasBeenSet() const { return m_applicationNameHasBeenSet; } 49 50 /** 51 * <p>The name of the application to which you want to add the output 52 * configuration.</p> 53 */ SetApplicationName(const Aws::String & value)54 inline void SetApplicationName(const Aws::String& value) { m_applicationNameHasBeenSet = true; m_applicationName = value; } 55 56 /** 57 * <p>The name of the application to which you want to add the output 58 * configuration.</p> 59 */ SetApplicationName(Aws::String && value)60 inline void SetApplicationName(Aws::String&& value) { m_applicationNameHasBeenSet = true; m_applicationName = std::move(value); } 61 62 /** 63 * <p>The name of the application to which you want to add the output 64 * configuration.</p> 65 */ SetApplicationName(const char * value)66 inline void SetApplicationName(const char* value) { m_applicationNameHasBeenSet = true; m_applicationName.assign(value); } 67 68 /** 69 * <p>The name of the application to which you want to add the output 70 * configuration.</p> 71 */ WithApplicationName(const Aws::String & value)72 inline AddApplicationOutputRequest& WithApplicationName(const Aws::String& value) { SetApplicationName(value); return *this;} 73 74 /** 75 * <p>The name of the application to which you want to add the output 76 * configuration.</p> 77 */ WithApplicationName(Aws::String && value)78 inline AddApplicationOutputRequest& WithApplicationName(Aws::String&& value) { SetApplicationName(std::move(value)); return *this;} 79 80 /** 81 * <p>The name of the application to which you want to add the output 82 * configuration.</p> 83 */ WithApplicationName(const char * value)84 inline AddApplicationOutputRequest& WithApplicationName(const char* value) { SetApplicationName(value); return *this;} 85 86 87 /** 88 * <p>The version of the application to which you want to add the output 89 * configuration. You can use the <a>DescribeApplication</a> operation to get the 90 * current application version. If the version specified is not the current 91 * version, the <code>ConcurrentModificationException</code> is returned. </p> 92 */ GetCurrentApplicationVersionId()93 inline long long GetCurrentApplicationVersionId() const{ return m_currentApplicationVersionId; } 94 95 /** 96 * <p>The version of the application to which you want to add the output 97 * configuration. You can use the <a>DescribeApplication</a> operation to get the 98 * current application version. If the version specified is not the current 99 * version, the <code>ConcurrentModificationException</code> is returned. </p> 100 */ CurrentApplicationVersionIdHasBeenSet()101 inline bool CurrentApplicationVersionIdHasBeenSet() const { return m_currentApplicationVersionIdHasBeenSet; } 102 103 /** 104 * <p>The version of the application to which you want to add the output 105 * configuration. You can use the <a>DescribeApplication</a> operation to get the 106 * current application version. If the version specified is not the current 107 * version, the <code>ConcurrentModificationException</code> is returned. </p> 108 */ SetCurrentApplicationVersionId(long long value)109 inline void SetCurrentApplicationVersionId(long long value) { m_currentApplicationVersionIdHasBeenSet = true; m_currentApplicationVersionId = value; } 110 111 /** 112 * <p>The version of the application to which you want to add the output 113 * configuration. You can use the <a>DescribeApplication</a> operation to get the 114 * current application version. If the version specified is not the current 115 * version, the <code>ConcurrentModificationException</code> is returned. </p> 116 */ WithCurrentApplicationVersionId(long long value)117 inline AddApplicationOutputRequest& WithCurrentApplicationVersionId(long long value) { SetCurrentApplicationVersionId(value); return *this;} 118 119 120 /** 121 * <p>An array of objects, each describing one output configuration. In the output 122 * configuration, you specify the name of an in-application stream, a destination 123 * (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream, or an 124 * Amazon Lambda function), and record the formation to use when writing to the 125 * destination.</p> 126 */ GetOutput()127 inline const Output& GetOutput() const{ return m_output; } 128 129 /** 130 * <p>An array of objects, each describing one output configuration. In the output 131 * configuration, you specify the name of an in-application stream, a destination 132 * (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream, or an 133 * Amazon Lambda function), and record the formation to use when writing to the 134 * destination.</p> 135 */ OutputHasBeenSet()136 inline bool OutputHasBeenSet() const { return m_outputHasBeenSet; } 137 138 /** 139 * <p>An array of objects, each describing one output configuration. In the output 140 * configuration, you specify the name of an in-application stream, a destination 141 * (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream, or an 142 * Amazon Lambda function), and record the formation to use when writing to the 143 * destination.</p> 144 */ SetOutput(const Output & value)145 inline void SetOutput(const Output& value) { m_outputHasBeenSet = true; m_output = value; } 146 147 /** 148 * <p>An array of objects, each describing one output configuration. In the output 149 * configuration, you specify the name of an in-application stream, a destination 150 * (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream, or an 151 * Amazon Lambda function), and record the formation to use when writing to the 152 * destination.</p> 153 */ SetOutput(Output && value)154 inline void SetOutput(Output&& value) { m_outputHasBeenSet = true; m_output = std::move(value); } 155 156 /** 157 * <p>An array of objects, each describing one output configuration. In the output 158 * configuration, you specify the name of an in-application stream, a destination 159 * (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream, or an 160 * Amazon Lambda function), and record the formation to use when writing to the 161 * destination.</p> 162 */ WithOutput(const Output & value)163 inline AddApplicationOutputRequest& WithOutput(const Output& value) { SetOutput(value); return *this;} 164 165 /** 166 * <p>An array of objects, each describing one output configuration. In the output 167 * configuration, you specify the name of an in-application stream, a destination 168 * (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream, or an 169 * Amazon Lambda function), and record the formation to use when writing to the 170 * destination.</p> 171 */ WithOutput(Output && value)172 inline AddApplicationOutputRequest& WithOutput(Output&& value) { SetOutput(std::move(value)); return *this;} 173 174 private: 175 176 Aws::String m_applicationName; 177 bool m_applicationNameHasBeenSet; 178 179 long long m_currentApplicationVersionId; 180 bool m_currentApplicationVersionIdHasBeenSet; 181 182 Output m_output; 183 bool m_outputHasBeenSet; 184 }; 185 186 } // namespace Model 187 } // namespace KinesisAnalyticsV2 188 } // namespace Aws 189