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/glue/Glue_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace Glue 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Specifies a data store in Amazon Simple Storage Service (Amazon 29 * S3).</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/S3Target">AWS API 31 * Reference</a></p> 32 */ 33 class AWS_GLUE_API S3Target 34 { 35 public: 36 S3Target(); 37 S3Target(Aws::Utils::Json::JsonView jsonValue); 38 S3Target& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The path to the Amazon S3 target.</p> 44 */ GetPath()45 inline const Aws::String& GetPath() const{ return m_path; } 46 47 /** 48 * <p>The path to the Amazon S3 target.</p> 49 */ PathHasBeenSet()50 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } 51 52 /** 53 * <p>The path to the Amazon S3 target.</p> 54 */ SetPath(const Aws::String & value)55 inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } 56 57 /** 58 * <p>The path to the Amazon S3 target.</p> 59 */ SetPath(Aws::String && value)60 inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } 61 62 /** 63 * <p>The path to the Amazon S3 target.</p> 64 */ SetPath(const char * value)65 inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } 66 67 /** 68 * <p>The path to the Amazon S3 target.</p> 69 */ WithPath(const Aws::String & value)70 inline S3Target& WithPath(const Aws::String& value) { SetPath(value); return *this;} 71 72 /** 73 * <p>The path to the Amazon S3 target.</p> 74 */ WithPath(Aws::String && value)75 inline S3Target& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} 76 77 /** 78 * <p>The path to the Amazon S3 target.</p> 79 */ WithPath(const char * value)80 inline S3Target& WithPath(const char* value) { SetPath(value); return *this;} 81 82 83 /** 84 * <p>A list of glob patterns used to exclude from the crawl. For more information, 85 * see <a 86 * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog 87 * Tables with a Crawler</a>.</p> 88 */ GetExclusions()89 inline const Aws::Vector<Aws::String>& GetExclusions() const{ return m_exclusions; } 90 91 /** 92 * <p>A list of glob patterns used to exclude from the crawl. For more information, 93 * see <a 94 * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog 95 * Tables with a Crawler</a>.</p> 96 */ ExclusionsHasBeenSet()97 inline bool ExclusionsHasBeenSet() const { return m_exclusionsHasBeenSet; } 98 99 /** 100 * <p>A list of glob patterns used to exclude from the crawl. For more information, 101 * see <a 102 * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog 103 * Tables with a Crawler</a>.</p> 104 */ SetExclusions(const Aws::Vector<Aws::String> & value)105 inline void SetExclusions(const Aws::Vector<Aws::String>& value) { m_exclusionsHasBeenSet = true; m_exclusions = value; } 106 107 /** 108 * <p>A list of glob patterns used to exclude from the crawl. For more information, 109 * see <a 110 * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog 111 * Tables with a Crawler</a>.</p> 112 */ SetExclusions(Aws::Vector<Aws::String> && value)113 inline void SetExclusions(Aws::Vector<Aws::String>&& value) { m_exclusionsHasBeenSet = true; m_exclusions = std::move(value); } 114 115 /** 116 * <p>A list of glob patterns used to exclude from the crawl. For more information, 117 * see <a 118 * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog 119 * Tables with a Crawler</a>.</p> 120 */ WithExclusions(const Aws::Vector<Aws::String> & value)121 inline S3Target& WithExclusions(const Aws::Vector<Aws::String>& value) { SetExclusions(value); return *this;} 122 123 /** 124 * <p>A list of glob patterns used to exclude from the crawl. For more information, 125 * see <a 126 * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog 127 * Tables with a Crawler</a>.</p> 128 */ WithExclusions(Aws::Vector<Aws::String> && value)129 inline S3Target& WithExclusions(Aws::Vector<Aws::String>&& value) { SetExclusions(std::move(value)); return *this;} 130 131 /** 132 * <p>A list of glob patterns used to exclude from the crawl. For more information, 133 * see <a 134 * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog 135 * Tables with a Crawler</a>.</p> 136 */ AddExclusions(const Aws::String & value)137 inline S3Target& AddExclusions(const Aws::String& value) { m_exclusionsHasBeenSet = true; m_exclusions.push_back(value); return *this; } 138 139 /** 140 * <p>A list of glob patterns used to exclude from the crawl. For more information, 141 * see <a 142 * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog 143 * Tables with a Crawler</a>.</p> 144 */ AddExclusions(Aws::String && value)145 inline S3Target& AddExclusions(Aws::String&& value) { m_exclusionsHasBeenSet = true; m_exclusions.push_back(std::move(value)); return *this; } 146 147 /** 148 * <p>A list of glob patterns used to exclude from the crawl. For more information, 149 * see <a 150 * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog 151 * Tables with a Crawler</a>.</p> 152 */ AddExclusions(const char * value)153 inline S3Target& AddExclusions(const char* value) { m_exclusionsHasBeenSet = true; m_exclusions.push_back(value); return *this; } 154 155 156 /** 157 * <p>The name of a connection which allows a job or crawler to access data in 158 * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).</p> 159 */ GetConnectionName()160 inline const Aws::String& GetConnectionName() const{ return m_connectionName; } 161 162 /** 163 * <p>The name of a connection which allows a job or crawler to access data in 164 * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).</p> 165 */ ConnectionNameHasBeenSet()166 inline bool ConnectionNameHasBeenSet() const { return m_connectionNameHasBeenSet; } 167 168 /** 169 * <p>The name of a connection which allows a job or crawler to access data in 170 * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).</p> 171 */ SetConnectionName(const Aws::String & value)172 inline void SetConnectionName(const Aws::String& value) { m_connectionNameHasBeenSet = true; m_connectionName = value; } 173 174 /** 175 * <p>The name of a connection which allows a job or crawler to access data in 176 * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).</p> 177 */ SetConnectionName(Aws::String && value)178 inline void SetConnectionName(Aws::String&& value) { m_connectionNameHasBeenSet = true; m_connectionName = std::move(value); } 179 180 /** 181 * <p>The name of a connection which allows a job or crawler to access data in 182 * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).</p> 183 */ SetConnectionName(const char * value)184 inline void SetConnectionName(const char* value) { m_connectionNameHasBeenSet = true; m_connectionName.assign(value); } 185 186 /** 187 * <p>The name of a connection which allows a job or crawler to access data in 188 * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).</p> 189 */ WithConnectionName(const Aws::String & value)190 inline S3Target& WithConnectionName(const Aws::String& value) { SetConnectionName(value); return *this;} 191 192 /** 193 * <p>The name of a connection which allows a job or crawler to access data in 194 * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).</p> 195 */ WithConnectionName(Aws::String && value)196 inline S3Target& WithConnectionName(Aws::String&& value) { SetConnectionName(std::move(value)); return *this;} 197 198 /** 199 * <p>The name of a connection which allows a job or crawler to access data in 200 * Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).</p> 201 */ WithConnectionName(const char * value)202 inline S3Target& WithConnectionName(const char* value) { SetConnectionName(value); return *this;} 203 204 205 /** 206 * <p>Sets the number of files in each leaf folder to be crawled when crawling 207 * sample files in a dataset. If not set, all the files are crawled. A valid value 208 * is an integer between 1 and 249.</p> 209 */ GetSampleSize()210 inline int GetSampleSize() const{ return m_sampleSize; } 211 212 /** 213 * <p>Sets the number of files in each leaf folder to be crawled when crawling 214 * sample files in a dataset. If not set, all the files are crawled. A valid value 215 * is an integer between 1 and 249.</p> 216 */ SampleSizeHasBeenSet()217 inline bool SampleSizeHasBeenSet() const { return m_sampleSizeHasBeenSet; } 218 219 /** 220 * <p>Sets the number of files in each leaf folder to be crawled when crawling 221 * sample files in a dataset. If not set, all the files are crawled. A valid value 222 * is an integer between 1 and 249.</p> 223 */ SetSampleSize(int value)224 inline void SetSampleSize(int value) { m_sampleSizeHasBeenSet = true; m_sampleSize = value; } 225 226 /** 227 * <p>Sets the number of files in each leaf folder to be crawled when crawling 228 * sample files in a dataset. If not set, all the files are crawled. A valid value 229 * is an integer between 1 and 249.</p> 230 */ WithSampleSize(int value)231 inline S3Target& WithSampleSize(int value) { SetSampleSize(value); return *this;} 232 233 234 /** 235 * <p>A valid Amazon SQS ARN. For example, 236 * <code>arn:aws:sqs:region:account:sqs</code>.</p> 237 */ GetEventQueueArn()238 inline const Aws::String& GetEventQueueArn() const{ return m_eventQueueArn; } 239 240 /** 241 * <p>A valid Amazon SQS ARN. For example, 242 * <code>arn:aws:sqs:region:account:sqs</code>.</p> 243 */ EventQueueArnHasBeenSet()244 inline bool EventQueueArnHasBeenSet() const { return m_eventQueueArnHasBeenSet; } 245 246 /** 247 * <p>A valid Amazon SQS ARN. For example, 248 * <code>arn:aws:sqs:region:account:sqs</code>.</p> 249 */ SetEventQueueArn(const Aws::String & value)250 inline void SetEventQueueArn(const Aws::String& value) { m_eventQueueArnHasBeenSet = true; m_eventQueueArn = value; } 251 252 /** 253 * <p>A valid Amazon SQS ARN. For example, 254 * <code>arn:aws:sqs:region:account:sqs</code>.</p> 255 */ SetEventQueueArn(Aws::String && value)256 inline void SetEventQueueArn(Aws::String&& value) { m_eventQueueArnHasBeenSet = true; m_eventQueueArn = std::move(value); } 257 258 /** 259 * <p>A valid Amazon SQS ARN. For example, 260 * <code>arn:aws:sqs:region:account:sqs</code>.</p> 261 */ SetEventQueueArn(const char * value)262 inline void SetEventQueueArn(const char* value) { m_eventQueueArnHasBeenSet = true; m_eventQueueArn.assign(value); } 263 264 /** 265 * <p>A valid Amazon SQS ARN. For example, 266 * <code>arn:aws:sqs:region:account:sqs</code>.</p> 267 */ WithEventQueueArn(const Aws::String & value)268 inline S3Target& WithEventQueueArn(const Aws::String& value) { SetEventQueueArn(value); return *this;} 269 270 /** 271 * <p>A valid Amazon SQS ARN. For example, 272 * <code>arn:aws:sqs:region:account:sqs</code>.</p> 273 */ WithEventQueueArn(Aws::String && value)274 inline S3Target& WithEventQueueArn(Aws::String&& value) { SetEventQueueArn(std::move(value)); return *this;} 275 276 /** 277 * <p>A valid Amazon SQS ARN. For example, 278 * <code>arn:aws:sqs:region:account:sqs</code>.</p> 279 */ WithEventQueueArn(const char * value)280 inline S3Target& WithEventQueueArn(const char* value) { SetEventQueueArn(value); return *this;} 281 282 283 /** 284 * <p>A valid Amazon dead-letter SQS ARN. For example, 285 * <code>arn:aws:sqs:region:account:deadLetterQueue</code>.</p> 286 */ GetDlqEventQueueArn()287 inline const Aws::String& GetDlqEventQueueArn() const{ return m_dlqEventQueueArn; } 288 289 /** 290 * <p>A valid Amazon dead-letter SQS ARN. For example, 291 * <code>arn:aws:sqs:region:account:deadLetterQueue</code>.</p> 292 */ DlqEventQueueArnHasBeenSet()293 inline bool DlqEventQueueArnHasBeenSet() const { return m_dlqEventQueueArnHasBeenSet; } 294 295 /** 296 * <p>A valid Amazon dead-letter SQS ARN. For example, 297 * <code>arn:aws:sqs:region:account:deadLetterQueue</code>.</p> 298 */ SetDlqEventQueueArn(const Aws::String & value)299 inline void SetDlqEventQueueArn(const Aws::String& value) { m_dlqEventQueueArnHasBeenSet = true; m_dlqEventQueueArn = value; } 300 301 /** 302 * <p>A valid Amazon dead-letter SQS ARN. For example, 303 * <code>arn:aws:sqs:region:account:deadLetterQueue</code>.</p> 304 */ SetDlqEventQueueArn(Aws::String && value)305 inline void SetDlqEventQueueArn(Aws::String&& value) { m_dlqEventQueueArnHasBeenSet = true; m_dlqEventQueueArn = std::move(value); } 306 307 /** 308 * <p>A valid Amazon dead-letter SQS ARN. For example, 309 * <code>arn:aws:sqs:region:account:deadLetterQueue</code>.</p> 310 */ SetDlqEventQueueArn(const char * value)311 inline void SetDlqEventQueueArn(const char* value) { m_dlqEventQueueArnHasBeenSet = true; m_dlqEventQueueArn.assign(value); } 312 313 /** 314 * <p>A valid Amazon dead-letter SQS ARN. For example, 315 * <code>arn:aws:sqs:region:account:deadLetterQueue</code>.</p> 316 */ WithDlqEventQueueArn(const Aws::String & value)317 inline S3Target& WithDlqEventQueueArn(const Aws::String& value) { SetDlqEventQueueArn(value); return *this;} 318 319 /** 320 * <p>A valid Amazon dead-letter SQS ARN. For example, 321 * <code>arn:aws:sqs:region:account:deadLetterQueue</code>.</p> 322 */ WithDlqEventQueueArn(Aws::String && value)323 inline S3Target& WithDlqEventQueueArn(Aws::String&& value) { SetDlqEventQueueArn(std::move(value)); return *this;} 324 325 /** 326 * <p>A valid Amazon dead-letter SQS ARN. For example, 327 * <code>arn:aws:sqs:region:account:deadLetterQueue</code>.</p> 328 */ WithDlqEventQueueArn(const char * value)329 inline S3Target& WithDlqEventQueueArn(const char* value) { SetDlqEventQueueArn(value); return *this;} 330 331 private: 332 333 Aws::String m_path; 334 bool m_pathHasBeenSet; 335 336 Aws::Vector<Aws::String> m_exclusions; 337 bool m_exclusionsHasBeenSet; 338 339 Aws::String m_connectionName; 340 bool m_connectionNameHasBeenSet; 341 342 int m_sampleSize; 343 bool m_sampleSizeHasBeenSet; 344 345 Aws::String m_eventQueueArn; 346 bool m_eventQueueArnHasBeenSet; 347 348 Aws::String m_dlqEventQueueArn; 349 bool m_dlqEventQueueArnHasBeenSet; 350 }; 351 352 } // namespace Model 353 } // namespace Glue 354 } // namespace Aws 355