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/cloudtrail/CloudTrail_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace CloudTrail 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>The settings for a trail.</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/Trail">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_CLOUDTRAIL_API Trail 32 { 33 public: 34 Trail(); 35 Trail(Aws::Utils::Json::JsonView jsonValue); 36 Trail& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * <p>Name of the trail set by calling <a>CreateTrail</a>. The maximum length is 42 * 128 characters.</p> 43 */ GetName()44 inline const Aws::String& GetName() const{ return m_name; } 45 46 /** 47 * <p>Name of the trail set by calling <a>CreateTrail</a>. The maximum length is 48 * 128 characters.</p> 49 */ NameHasBeenSet()50 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 51 52 /** 53 * <p>Name of the trail set by calling <a>CreateTrail</a>. The maximum length is 54 * 128 characters.</p> 55 */ SetName(const Aws::String & value)56 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 57 58 /** 59 * <p>Name of the trail set by calling <a>CreateTrail</a>. The maximum length is 60 * 128 characters.</p> 61 */ SetName(Aws::String && value)62 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 63 64 /** 65 * <p>Name of the trail set by calling <a>CreateTrail</a>. The maximum length is 66 * 128 characters.</p> 67 */ SetName(const char * value)68 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 69 70 /** 71 * <p>Name of the trail set by calling <a>CreateTrail</a>. The maximum length is 72 * 128 characters.</p> 73 */ WithName(const Aws::String & value)74 inline Trail& WithName(const Aws::String& value) { SetName(value); return *this;} 75 76 /** 77 * <p>Name of the trail set by calling <a>CreateTrail</a>. The maximum length is 78 * 128 characters.</p> 79 */ WithName(Aws::String && value)80 inline Trail& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 81 82 /** 83 * <p>Name of the trail set by calling <a>CreateTrail</a>. The maximum length is 84 * 128 characters.</p> 85 */ WithName(const char * value)86 inline Trail& WithName(const char* value) { SetName(value); return *this;} 87 88 89 /** 90 * <p>Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. 91 * See <a 92 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html">Amazon 93 * S3 Bucket Naming Requirements</a>.</p> 94 */ GetS3BucketName()95 inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; } 96 97 /** 98 * <p>Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. 99 * See <a 100 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html">Amazon 101 * S3 Bucket Naming Requirements</a>.</p> 102 */ S3BucketNameHasBeenSet()103 inline bool S3BucketNameHasBeenSet() const { return m_s3BucketNameHasBeenSet; } 104 105 /** 106 * <p>Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. 107 * See <a 108 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html">Amazon 109 * S3 Bucket Naming Requirements</a>.</p> 110 */ SetS3BucketName(const Aws::String & value)111 inline void SetS3BucketName(const Aws::String& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = value; } 112 113 /** 114 * <p>Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. 115 * See <a 116 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html">Amazon 117 * S3 Bucket Naming Requirements</a>.</p> 118 */ SetS3BucketName(Aws::String && value)119 inline void SetS3BucketName(Aws::String&& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = std::move(value); } 120 121 /** 122 * <p>Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. 123 * See <a 124 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html">Amazon 125 * S3 Bucket Naming Requirements</a>.</p> 126 */ SetS3BucketName(const char * value)127 inline void SetS3BucketName(const char* value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName.assign(value); } 128 129 /** 130 * <p>Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. 131 * See <a 132 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html">Amazon 133 * S3 Bucket Naming Requirements</a>.</p> 134 */ WithS3BucketName(const Aws::String & value)135 inline Trail& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;} 136 137 /** 138 * <p>Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. 139 * See <a 140 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html">Amazon 141 * S3 Bucket Naming Requirements</a>.</p> 142 */ WithS3BucketName(Aws::String && value)143 inline Trail& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;} 144 145 /** 146 * <p>Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. 147 * See <a 148 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html">Amazon 149 * S3 Bucket Naming Requirements</a>.</p> 150 */ WithS3BucketName(const char * value)151 inline Trail& WithS3BucketName(const char* value) { SetS3BucketName(value); return *this;} 152 153 154 /** 155 * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket 156 * you have designated for log file delivery. For more information, see <a 157 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding 158 * Your CloudTrail Log Files</a>. The maximum length is 200 characters.</p> 159 */ GetS3KeyPrefix()160 inline const Aws::String& GetS3KeyPrefix() const{ return m_s3KeyPrefix; } 161 162 /** 163 * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket 164 * you have designated for log file delivery. For more information, see <a 165 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding 166 * Your CloudTrail Log Files</a>. The maximum length is 200 characters.</p> 167 */ S3KeyPrefixHasBeenSet()168 inline bool S3KeyPrefixHasBeenSet() const { return m_s3KeyPrefixHasBeenSet; } 169 170 /** 171 * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket 172 * you have designated for log file delivery. For more information, see <a 173 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding 174 * Your CloudTrail Log Files</a>. The maximum length is 200 characters.</p> 175 */ SetS3KeyPrefix(const Aws::String & value)176 inline void SetS3KeyPrefix(const Aws::String& value) { m_s3KeyPrefixHasBeenSet = true; m_s3KeyPrefix = value; } 177 178 /** 179 * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket 180 * you have designated for log file delivery. For more information, see <a 181 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding 182 * Your CloudTrail Log Files</a>. The maximum length is 200 characters.</p> 183 */ SetS3KeyPrefix(Aws::String && value)184 inline void SetS3KeyPrefix(Aws::String&& value) { m_s3KeyPrefixHasBeenSet = true; m_s3KeyPrefix = std::move(value); } 185 186 /** 187 * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket 188 * you have designated for log file delivery. For more information, see <a 189 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding 190 * Your CloudTrail Log Files</a>. The maximum length is 200 characters.</p> 191 */ SetS3KeyPrefix(const char * value)192 inline void SetS3KeyPrefix(const char* value) { m_s3KeyPrefixHasBeenSet = true; m_s3KeyPrefix.assign(value); } 193 194 /** 195 * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket 196 * you have designated for log file delivery. For more information, see <a 197 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding 198 * Your CloudTrail Log Files</a>. The maximum length is 200 characters.</p> 199 */ WithS3KeyPrefix(const Aws::String & value)200 inline Trail& WithS3KeyPrefix(const Aws::String& value) { SetS3KeyPrefix(value); return *this;} 201 202 /** 203 * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket 204 * you have designated for log file delivery. For more information, see <a 205 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding 206 * Your CloudTrail Log Files</a>. The maximum length is 200 characters.</p> 207 */ WithS3KeyPrefix(Aws::String && value)208 inline Trail& WithS3KeyPrefix(Aws::String&& value) { SetS3KeyPrefix(std::move(value)); return *this;} 209 210 /** 211 * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket 212 * you have designated for log file delivery. For more information, see <a 213 * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding 214 * Your CloudTrail Log Files</a>. The maximum length is 200 characters.</p> 215 */ WithS3KeyPrefix(const char * value)216 inline Trail& WithS3KeyPrefix(const char* value) { SetS3KeyPrefix(value); return *this;} 217 218 219 /** 220 * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send 221 * notifications when log files are delivered. The following is the format of a 222 * topic ARN.</p> <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p> 223 */ GetSnsTopicARN()224 inline const Aws::String& GetSnsTopicARN() const{ return m_snsTopicARN; } 225 226 /** 227 * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send 228 * notifications when log files are delivered. The following is the format of a 229 * topic ARN.</p> <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p> 230 */ SnsTopicARNHasBeenSet()231 inline bool SnsTopicARNHasBeenSet() const { return m_snsTopicARNHasBeenSet; } 232 233 /** 234 * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send 235 * notifications when log files are delivered. The following is the format of a 236 * topic ARN.</p> <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p> 237 */ SetSnsTopicARN(const Aws::String & value)238 inline void SetSnsTopicARN(const Aws::String& value) { m_snsTopicARNHasBeenSet = true; m_snsTopicARN = value; } 239 240 /** 241 * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send 242 * notifications when log files are delivered. The following is the format of a 243 * topic ARN.</p> <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p> 244 */ SetSnsTopicARN(Aws::String && value)245 inline void SetSnsTopicARN(Aws::String&& value) { m_snsTopicARNHasBeenSet = true; m_snsTopicARN = std::move(value); } 246 247 /** 248 * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send 249 * notifications when log files are delivered. The following is the format of a 250 * topic ARN.</p> <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p> 251 */ SetSnsTopicARN(const char * value)252 inline void SetSnsTopicARN(const char* value) { m_snsTopicARNHasBeenSet = true; m_snsTopicARN.assign(value); } 253 254 /** 255 * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send 256 * notifications when log files are delivered. The following is the format of a 257 * topic ARN.</p> <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p> 258 */ WithSnsTopicARN(const Aws::String & value)259 inline Trail& WithSnsTopicARN(const Aws::String& value) { SetSnsTopicARN(value); return *this;} 260 261 /** 262 * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send 263 * notifications when log files are delivered. The following is the format of a 264 * topic ARN.</p> <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p> 265 */ WithSnsTopicARN(Aws::String && value)266 inline Trail& WithSnsTopicARN(Aws::String&& value) { SetSnsTopicARN(std::move(value)); return *this;} 267 268 /** 269 * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send 270 * notifications when log files are delivered. The following is the format of a 271 * topic ARN.</p> <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p> 272 */ WithSnsTopicARN(const char * value)273 inline Trail& WithSnsTopicARN(const char* value) { SetSnsTopicARN(value); return *this;} 274 275 276 /** 277 * <p>Set to <b>True</b> to include Amazon Web Services API calls from Amazon Web 278 * Services global services such as IAM. Otherwise, <b>False</b>.</p> 279 */ GetIncludeGlobalServiceEvents()280 inline bool GetIncludeGlobalServiceEvents() const{ return m_includeGlobalServiceEvents; } 281 282 /** 283 * <p>Set to <b>True</b> to include Amazon Web Services API calls from Amazon Web 284 * Services global services such as IAM. Otherwise, <b>False</b>.</p> 285 */ IncludeGlobalServiceEventsHasBeenSet()286 inline bool IncludeGlobalServiceEventsHasBeenSet() const { return m_includeGlobalServiceEventsHasBeenSet; } 287 288 /** 289 * <p>Set to <b>True</b> to include Amazon Web Services API calls from Amazon Web 290 * Services global services such as IAM. Otherwise, <b>False</b>.</p> 291 */ SetIncludeGlobalServiceEvents(bool value)292 inline void SetIncludeGlobalServiceEvents(bool value) { m_includeGlobalServiceEventsHasBeenSet = true; m_includeGlobalServiceEvents = value; } 293 294 /** 295 * <p>Set to <b>True</b> to include Amazon Web Services API calls from Amazon Web 296 * Services global services such as IAM. Otherwise, <b>False</b>.</p> 297 */ WithIncludeGlobalServiceEvents(bool value)298 inline Trail& WithIncludeGlobalServiceEvents(bool value) { SetIncludeGlobalServiceEvents(value); return *this;} 299 300 301 /** 302 * <p>Specifies whether the trail exists only in one region or exists in all 303 * regions.</p> 304 */ GetIsMultiRegionTrail()305 inline bool GetIsMultiRegionTrail() const{ return m_isMultiRegionTrail; } 306 307 /** 308 * <p>Specifies whether the trail exists only in one region or exists in all 309 * regions.</p> 310 */ IsMultiRegionTrailHasBeenSet()311 inline bool IsMultiRegionTrailHasBeenSet() const { return m_isMultiRegionTrailHasBeenSet; } 312 313 /** 314 * <p>Specifies whether the trail exists only in one region or exists in all 315 * regions.</p> 316 */ SetIsMultiRegionTrail(bool value)317 inline void SetIsMultiRegionTrail(bool value) { m_isMultiRegionTrailHasBeenSet = true; m_isMultiRegionTrail = value; } 318 319 /** 320 * <p>Specifies whether the trail exists only in one region or exists in all 321 * regions.</p> 322 */ WithIsMultiRegionTrail(bool value)323 inline Trail& WithIsMultiRegionTrail(bool value) { SetIsMultiRegionTrail(value); return *this;} 324 325 326 /** 327 * <p>The region in which the trail was created.</p> 328 */ GetHomeRegion()329 inline const Aws::String& GetHomeRegion() const{ return m_homeRegion; } 330 331 /** 332 * <p>The region in which the trail was created.</p> 333 */ HomeRegionHasBeenSet()334 inline bool HomeRegionHasBeenSet() const { return m_homeRegionHasBeenSet; } 335 336 /** 337 * <p>The region in which the trail was created.</p> 338 */ SetHomeRegion(const Aws::String & value)339 inline void SetHomeRegion(const Aws::String& value) { m_homeRegionHasBeenSet = true; m_homeRegion = value; } 340 341 /** 342 * <p>The region in which the trail was created.</p> 343 */ SetHomeRegion(Aws::String && value)344 inline void SetHomeRegion(Aws::String&& value) { m_homeRegionHasBeenSet = true; m_homeRegion = std::move(value); } 345 346 /** 347 * <p>The region in which the trail was created.</p> 348 */ SetHomeRegion(const char * value)349 inline void SetHomeRegion(const char* value) { m_homeRegionHasBeenSet = true; m_homeRegion.assign(value); } 350 351 /** 352 * <p>The region in which the trail was created.</p> 353 */ WithHomeRegion(const Aws::String & value)354 inline Trail& WithHomeRegion(const Aws::String& value) { SetHomeRegion(value); return *this;} 355 356 /** 357 * <p>The region in which the trail was created.</p> 358 */ WithHomeRegion(Aws::String && value)359 inline Trail& WithHomeRegion(Aws::String&& value) { SetHomeRegion(std::move(value)); return *this;} 360 361 /** 362 * <p>The region in which the trail was created.</p> 363 */ WithHomeRegion(const char * value)364 inline Trail& WithHomeRegion(const char* value) { SetHomeRegion(value); return *this;} 365 366 367 /** 368 * <p>Specifies the ARN of the trail. The following is the format of a trail 369 * ARN.</p> <p> 370 * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code> </p> 371 */ GetTrailARN()372 inline const Aws::String& GetTrailARN() const{ return m_trailARN; } 373 374 /** 375 * <p>Specifies the ARN of the trail. The following is the format of a trail 376 * ARN.</p> <p> 377 * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code> </p> 378 */ TrailARNHasBeenSet()379 inline bool TrailARNHasBeenSet() const { return m_trailARNHasBeenSet; } 380 381 /** 382 * <p>Specifies the ARN of the trail. The following is the format of a trail 383 * ARN.</p> <p> 384 * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code> </p> 385 */ SetTrailARN(const Aws::String & value)386 inline void SetTrailARN(const Aws::String& value) { m_trailARNHasBeenSet = true; m_trailARN = value; } 387 388 /** 389 * <p>Specifies the ARN of the trail. The following is the format of a trail 390 * ARN.</p> <p> 391 * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code> </p> 392 */ SetTrailARN(Aws::String && value)393 inline void SetTrailARN(Aws::String&& value) { m_trailARNHasBeenSet = true; m_trailARN = std::move(value); } 394 395 /** 396 * <p>Specifies the ARN of the trail. The following is the format of a trail 397 * ARN.</p> <p> 398 * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code> </p> 399 */ SetTrailARN(const char * value)400 inline void SetTrailARN(const char* value) { m_trailARNHasBeenSet = true; m_trailARN.assign(value); } 401 402 /** 403 * <p>Specifies the ARN of the trail. The following is the format of a trail 404 * ARN.</p> <p> 405 * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code> </p> 406 */ WithTrailARN(const Aws::String & value)407 inline Trail& WithTrailARN(const Aws::String& value) { SetTrailARN(value); return *this;} 408 409 /** 410 * <p>Specifies the ARN of the trail. The following is the format of a trail 411 * ARN.</p> <p> 412 * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code> </p> 413 */ WithTrailARN(Aws::String && value)414 inline Trail& WithTrailARN(Aws::String&& value) { SetTrailARN(std::move(value)); return *this;} 415 416 /** 417 * <p>Specifies the ARN of the trail. The following is the format of a trail 418 * ARN.</p> <p> 419 * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code> </p> 420 */ WithTrailARN(const char * value)421 inline Trail& WithTrailARN(const char* value) { SetTrailARN(value); return *this;} 422 423 424 /** 425 * <p>Specifies whether log file validation is enabled.</p> 426 */ GetLogFileValidationEnabled()427 inline bool GetLogFileValidationEnabled() const{ return m_logFileValidationEnabled; } 428 429 /** 430 * <p>Specifies whether log file validation is enabled.</p> 431 */ LogFileValidationEnabledHasBeenSet()432 inline bool LogFileValidationEnabledHasBeenSet() const { return m_logFileValidationEnabledHasBeenSet; } 433 434 /** 435 * <p>Specifies whether log file validation is enabled.</p> 436 */ SetLogFileValidationEnabled(bool value)437 inline void SetLogFileValidationEnabled(bool value) { m_logFileValidationEnabledHasBeenSet = true; m_logFileValidationEnabled = value; } 438 439 /** 440 * <p>Specifies whether log file validation is enabled.</p> 441 */ WithLogFileValidationEnabled(bool value)442 inline Trail& WithLogFileValidationEnabled(bool value) { SetLogFileValidationEnabled(value); return *this;} 443 444 445 /** 446 * <p>Specifies an Amazon Resource Name (ARN), a unique identifier that represents 447 * the log group to which CloudTrail logs will be delivered.</p> 448 */ GetCloudWatchLogsLogGroupArn()449 inline const Aws::String& GetCloudWatchLogsLogGroupArn() const{ return m_cloudWatchLogsLogGroupArn; } 450 451 /** 452 * <p>Specifies an Amazon Resource Name (ARN), a unique identifier that represents 453 * the log group to which CloudTrail logs will be delivered.</p> 454 */ CloudWatchLogsLogGroupArnHasBeenSet()455 inline bool CloudWatchLogsLogGroupArnHasBeenSet() const { return m_cloudWatchLogsLogGroupArnHasBeenSet; } 456 457 /** 458 * <p>Specifies an Amazon Resource Name (ARN), a unique identifier that represents 459 * the log group to which CloudTrail logs will be delivered.</p> 460 */ SetCloudWatchLogsLogGroupArn(const Aws::String & value)461 inline void SetCloudWatchLogsLogGroupArn(const Aws::String& value) { m_cloudWatchLogsLogGroupArnHasBeenSet = true; m_cloudWatchLogsLogGroupArn = value; } 462 463 /** 464 * <p>Specifies an Amazon Resource Name (ARN), a unique identifier that represents 465 * the log group to which CloudTrail logs will be delivered.</p> 466 */ SetCloudWatchLogsLogGroupArn(Aws::String && value)467 inline void SetCloudWatchLogsLogGroupArn(Aws::String&& value) { m_cloudWatchLogsLogGroupArnHasBeenSet = true; m_cloudWatchLogsLogGroupArn = std::move(value); } 468 469 /** 470 * <p>Specifies an Amazon Resource Name (ARN), a unique identifier that represents 471 * the log group to which CloudTrail logs will be delivered.</p> 472 */ SetCloudWatchLogsLogGroupArn(const char * value)473 inline void SetCloudWatchLogsLogGroupArn(const char* value) { m_cloudWatchLogsLogGroupArnHasBeenSet = true; m_cloudWatchLogsLogGroupArn.assign(value); } 474 475 /** 476 * <p>Specifies an Amazon Resource Name (ARN), a unique identifier that represents 477 * the log group to which CloudTrail logs will be delivered.</p> 478 */ WithCloudWatchLogsLogGroupArn(const Aws::String & value)479 inline Trail& WithCloudWatchLogsLogGroupArn(const Aws::String& value) { SetCloudWatchLogsLogGroupArn(value); return *this;} 480 481 /** 482 * <p>Specifies an Amazon Resource Name (ARN), a unique identifier that represents 483 * the log group to which CloudTrail logs will be delivered.</p> 484 */ WithCloudWatchLogsLogGroupArn(Aws::String && value)485 inline Trail& WithCloudWatchLogsLogGroupArn(Aws::String&& value) { SetCloudWatchLogsLogGroupArn(std::move(value)); return *this;} 486 487 /** 488 * <p>Specifies an Amazon Resource Name (ARN), a unique identifier that represents 489 * the log group to which CloudTrail logs will be delivered.</p> 490 */ WithCloudWatchLogsLogGroupArn(const char * value)491 inline Trail& WithCloudWatchLogsLogGroupArn(const char* value) { SetCloudWatchLogsLogGroupArn(value); return *this;} 492 493 494 /** 495 * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a 496 * user's log group.</p> 497 */ GetCloudWatchLogsRoleArn()498 inline const Aws::String& GetCloudWatchLogsRoleArn() const{ return m_cloudWatchLogsRoleArn; } 499 500 /** 501 * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a 502 * user's log group.</p> 503 */ CloudWatchLogsRoleArnHasBeenSet()504 inline bool CloudWatchLogsRoleArnHasBeenSet() const { return m_cloudWatchLogsRoleArnHasBeenSet; } 505 506 /** 507 * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a 508 * user's log group.</p> 509 */ SetCloudWatchLogsRoleArn(const Aws::String & value)510 inline void SetCloudWatchLogsRoleArn(const Aws::String& value) { m_cloudWatchLogsRoleArnHasBeenSet = true; m_cloudWatchLogsRoleArn = value; } 511 512 /** 513 * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a 514 * user's log group.</p> 515 */ SetCloudWatchLogsRoleArn(Aws::String && value)516 inline void SetCloudWatchLogsRoleArn(Aws::String&& value) { m_cloudWatchLogsRoleArnHasBeenSet = true; m_cloudWatchLogsRoleArn = std::move(value); } 517 518 /** 519 * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a 520 * user's log group.</p> 521 */ SetCloudWatchLogsRoleArn(const char * value)522 inline void SetCloudWatchLogsRoleArn(const char* value) { m_cloudWatchLogsRoleArnHasBeenSet = true; m_cloudWatchLogsRoleArn.assign(value); } 523 524 /** 525 * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a 526 * user's log group.</p> 527 */ WithCloudWatchLogsRoleArn(const Aws::String & value)528 inline Trail& WithCloudWatchLogsRoleArn(const Aws::String& value) { SetCloudWatchLogsRoleArn(value); return *this;} 529 530 /** 531 * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a 532 * user's log group.</p> 533 */ WithCloudWatchLogsRoleArn(Aws::String && value)534 inline Trail& WithCloudWatchLogsRoleArn(Aws::String&& value) { SetCloudWatchLogsRoleArn(std::move(value)); return *this;} 535 536 /** 537 * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a 538 * user's log group.</p> 539 */ WithCloudWatchLogsRoleArn(const char * value)540 inline Trail& WithCloudWatchLogsRoleArn(const char* value) { SetCloudWatchLogsRoleArn(value); return *this;} 541 542 543 /** 544 * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The 545 * value is a fully specified ARN to a KMS key in the following format.</p> <p> 546 * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code> 547 * </p> 548 */ GetKmsKeyId()549 inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } 550 551 /** 552 * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The 553 * value is a fully specified ARN to a KMS key in the following format.</p> <p> 554 * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code> 555 * </p> 556 */ KmsKeyIdHasBeenSet()557 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } 558 559 /** 560 * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The 561 * value is a fully specified ARN to a KMS key in the following format.</p> <p> 562 * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code> 563 * </p> 564 */ SetKmsKeyId(const Aws::String & value)565 inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } 566 567 /** 568 * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The 569 * value is a fully specified ARN to a KMS key in the following format.</p> <p> 570 * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code> 571 * </p> 572 */ SetKmsKeyId(Aws::String && value)573 inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } 574 575 /** 576 * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The 577 * value is a fully specified ARN to a KMS key in the following format.</p> <p> 578 * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code> 579 * </p> 580 */ SetKmsKeyId(const char * value)581 inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } 582 583 /** 584 * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The 585 * value is a fully specified ARN to a KMS key in the following format.</p> <p> 586 * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code> 587 * </p> 588 */ WithKmsKeyId(const Aws::String & value)589 inline Trail& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} 590 591 /** 592 * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The 593 * value is a fully specified ARN to a KMS key in the following format.</p> <p> 594 * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code> 595 * </p> 596 */ WithKmsKeyId(Aws::String && value)597 inline Trail& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} 598 599 /** 600 * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The 601 * value is a fully specified ARN to a KMS key in the following format.</p> <p> 602 * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code> 603 * </p> 604 */ WithKmsKeyId(const char * value)605 inline Trail& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} 606 607 608 /** 609 * <p>Specifies if the trail has custom event selectors.</p> 610 */ GetHasCustomEventSelectors()611 inline bool GetHasCustomEventSelectors() const{ return m_hasCustomEventSelectors; } 612 613 /** 614 * <p>Specifies if the trail has custom event selectors.</p> 615 */ HasCustomEventSelectorsHasBeenSet()616 inline bool HasCustomEventSelectorsHasBeenSet() const { return m_hasCustomEventSelectorsHasBeenSet; } 617 618 /** 619 * <p>Specifies if the trail has custom event selectors.</p> 620 */ SetHasCustomEventSelectors(bool value)621 inline void SetHasCustomEventSelectors(bool value) { m_hasCustomEventSelectorsHasBeenSet = true; m_hasCustomEventSelectors = value; } 622 623 /** 624 * <p>Specifies if the trail has custom event selectors.</p> 625 */ WithHasCustomEventSelectors(bool value)626 inline Trail& WithHasCustomEventSelectors(bool value) { SetHasCustomEventSelectors(value); return *this;} 627 628 629 /** 630 * <p>Specifies whether a trail has insight types specified in an 631 * <code>InsightSelector</code> list.</p> 632 */ GetHasInsightSelectors()633 inline bool GetHasInsightSelectors() const{ return m_hasInsightSelectors; } 634 635 /** 636 * <p>Specifies whether a trail has insight types specified in an 637 * <code>InsightSelector</code> list.</p> 638 */ HasInsightSelectorsHasBeenSet()639 inline bool HasInsightSelectorsHasBeenSet() const { return m_hasInsightSelectorsHasBeenSet; } 640 641 /** 642 * <p>Specifies whether a trail has insight types specified in an 643 * <code>InsightSelector</code> list.</p> 644 */ SetHasInsightSelectors(bool value)645 inline void SetHasInsightSelectors(bool value) { m_hasInsightSelectorsHasBeenSet = true; m_hasInsightSelectors = value; } 646 647 /** 648 * <p>Specifies whether a trail has insight types specified in an 649 * <code>InsightSelector</code> list.</p> 650 */ WithHasInsightSelectors(bool value)651 inline Trail& WithHasInsightSelectors(bool value) { SetHasInsightSelectors(value); return *this;} 652 653 654 /** 655 * <p>Specifies whether the trail is an organization trail.</p> 656 */ GetIsOrganizationTrail()657 inline bool GetIsOrganizationTrail() const{ return m_isOrganizationTrail; } 658 659 /** 660 * <p>Specifies whether the trail is an organization trail.</p> 661 */ IsOrganizationTrailHasBeenSet()662 inline bool IsOrganizationTrailHasBeenSet() const { return m_isOrganizationTrailHasBeenSet; } 663 664 /** 665 * <p>Specifies whether the trail is an organization trail.</p> 666 */ SetIsOrganizationTrail(bool value)667 inline void SetIsOrganizationTrail(bool value) { m_isOrganizationTrailHasBeenSet = true; m_isOrganizationTrail = value; } 668 669 /** 670 * <p>Specifies whether the trail is an organization trail.</p> 671 */ WithIsOrganizationTrail(bool value)672 inline Trail& WithIsOrganizationTrail(bool value) { SetIsOrganizationTrail(value); return *this;} 673 674 private: 675 676 Aws::String m_name; 677 bool m_nameHasBeenSet; 678 679 Aws::String m_s3BucketName; 680 bool m_s3BucketNameHasBeenSet; 681 682 Aws::String m_s3KeyPrefix; 683 bool m_s3KeyPrefixHasBeenSet; 684 685 Aws::String m_snsTopicARN; 686 bool m_snsTopicARNHasBeenSet; 687 688 bool m_includeGlobalServiceEvents; 689 bool m_includeGlobalServiceEventsHasBeenSet; 690 691 bool m_isMultiRegionTrail; 692 bool m_isMultiRegionTrailHasBeenSet; 693 694 Aws::String m_homeRegion; 695 bool m_homeRegionHasBeenSet; 696 697 Aws::String m_trailARN; 698 bool m_trailARNHasBeenSet; 699 700 bool m_logFileValidationEnabled; 701 bool m_logFileValidationEnabledHasBeenSet; 702 703 Aws::String m_cloudWatchLogsLogGroupArn; 704 bool m_cloudWatchLogsLogGroupArnHasBeenSet; 705 706 Aws::String m_cloudWatchLogsRoleArn; 707 bool m_cloudWatchLogsRoleArnHasBeenSet; 708 709 Aws::String m_kmsKeyId; 710 bool m_kmsKeyIdHasBeenSet; 711 712 bool m_hasCustomEventSelectors; 713 bool m_hasCustomEventSelectorsHasBeenSet; 714 715 bool m_hasInsightSelectors; 716 bool m_hasInsightSelectorsHasBeenSet; 717 718 bool m_isOrganizationTrail; 719 bool m_isOrganizationTrailHasBeenSet; 720 }; 721 722 } // namespace Model 723 } // namespace CloudTrail 724 } // namespace Aws 725