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 template<typename RESULT_TYPE>
14 class AmazonWebServiceResult;
15 
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21 } // namespace Json
22 } // namespace Utils
23 namespace CloudTrail
24 {
25 namespace Model
26 {
27   /**
28    * <p>Returns the objects or data listed below if successful. Otherwise, returns an
29    * error.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/CreateTrailResponse">AWS
31    * API Reference</a></p>
32    */
33   class AWS_CLOUDTRAIL_API CreateTrailResult
34   {
35   public:
36     CreateTrailResult();
37     CreateTrailResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
38     CreateTrailResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
39 
40 
41     /**
42      * <p>Specifies the name of the trail.</p>
43      */
GetName()44     inline const Aws::String& GetName() const{ return m_name; }
45 
46     /**
47      * <p>Specifies the name of the trail.</p>
48      */
SetName(const Aws::String & value)49     inline void SetName(const Aws::String& value) { m_name = value; }
50 
51     /**
52      * <p>Specifies the name of the trail.</p>
53      */
SetName(Aws::String && value)54     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
55 
56     /**
57      * <p>Specifies the name of the trail.</p>
58      */
SetName(const char * value)59     inline void SetName(const char* value) { m_name.assign(value); }
60 
61     /**
62      * <p>Specifies the name of the trail.</p>
63      */
WithName(const Aws::String & value)64     inline CreateTrailResult& WithName(const Aws::String& value) { SetName(value); return *this;}
65 
66     /**
67      * <p>Specifies the name of the trail.</p>
68      */
WithName(Aws::String && value)69     inline CreateTrailResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
70 
71     /**
72      * <p>Specifies the name of the trail.</p>
73      */
WithName(const char * value)74     inline CreateTrailResult& WithName(const char* value) { SetName(value); return *this;}
75 
76 
77     /**
78      * <p>Specifies the name of the Amazon S3 bucket designated for publishing log
79      * files.</p>
80      */
GetS3BucketName()81     inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; }
82 
83     /**
84      * <p>Specifies the name of the Amazon S3 bucket designated for publishing log
85      * files.</p>
86      */
SetS3BucketName(const Aws::String & value)87     inline void SetS3BucketName(const Aws::String& value) { m_s3BucketName = value; }
88 
89     /**
90      * <p>Specifies the name of the Amazon S3 bucket designated for publishing log
91      * files.</p>
92      */
SetS3BucketName(Aws::String && value)93     inline void SetS3BucketName(Aws::String&& value) { m_s3BucketName = std::move(value); }
94 
95     /**
96      * <p>Specifies the name of the Amazon S3 bucket designated for publishing log
97      * files.</p>
98      */
SetS3BucketName(const char * value)99     inline void SetS3BucketName(const char* value) { m_s3BucketName.assign(value); }
100 
101     /**
102      * <p>Specifies the name of the Amazon S3 bucket designated for publishing log
103      * files.</p>
104      */
WithS3BucketName(const Aws::String & value)105     inline CreateTrailResult& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;}
106 
107     /**
108      * <p>Specifies the name of the Amazon S3 bucket designated for publishing log
109      * files.</p>
110      */
WithS3BucketName(Aws::String && value)111     inline CreateTrailResult& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;}
112 
113     /**
114      * <p>Specifies the name of the Amazon S3 bucket designated for publishing log
115      * files.</p>
116      */
WithS3BucketName(const char * value)117     inline CreateTrailResult& WithS3BucketName(const char* value) { SetS3BucketName(value); return *this;}
118 
119 
120     /**
121      * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket
122      * you have designated for log file delivery. For more information, see <a
123      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding
124      * Your CloudTrail Log Files</a>.</p>
125      */
GetS3KeyPrefix()126     inline const Aws::String& GetS3KeyPrefix() const{ return m_s3KeyPrefix; }
127 
128     /**
129      * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket
130      * you have designated for log file delivery. For more information, see <a
131      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding
132      * Your CloudTrail Log Files</a>.</p>
133      */
SetS3KeyPrefix(const Aws::String & value)134     inline void SetS3KeyPrefix(const Aws::String& value) { m_s3KeyPrefix = value; }
135 
136     /**
137      * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket
138      * you have designated for log file delivery. For more information, see <a
139      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding
140      * Your CloudTrail Log Files</a>.</p>
141      */
SetS3KeyPrefix(Aws::String && value)142     inline void SetS3KeyPrefix(Aws::String&& value) { m_s3KeyPrefix = std::move(value); }
143 
144     /**
145      * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket
146      * you have designated for log file delivery. For more information, see <a
147      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding
148      * Your CloudTrail Log Files</a>.</p>
149      */
SetS3KeyPrefix(const char * value)150     inline void SetS3KeyPrefix(const char* value) { m_s3KeyPrefix.assign(value); }
151 
152     /**
153      * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket
154      * you have designated for log file delivery. For more information, see <a
155      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding
156      * Your CloudTrail Log Files</a>.</p>
157      */
WithS3KeyPrefix(const Aws::String & value)158     inline CreateTrailResult& WithS3KeyPrefix(const Aws::String& value) { SetS3KeyPrefix(value); return *this;}
159 
160     /**
161      * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket
162      * you have designated for log file delivery. For more information, see <a
163      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding
164      * Your CloudTrail Log Files</a>.</p>
165      */
WithS3KeyPrefix(Aws::String && value)166     inline CreateTrailResult& WithS3KeyPrefix(Aws::String&& value) { SetS3KeyPrefix(std::move(value)); return *this;}
167 
168     /**
169      * <p>Specifies the Amazon S3 key prefix that comes after the name of the bucket
170      * you have designated for log file delivery. For more information, see <a
171      * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html">Finding
172      * Your CloudTrail Log Files</a>.</p>
173      */
WithS3KeyPrefix(const char * value)174     inline CreateTrailResult& WithS3KeyPrefix(const char* value) { SetS3KeyPrefix(value); return *this;}
175 
176 
177     /**
178      * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send
179      * notifications when log files are delivered. The format of a topic ARN is:</p>
180      * <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p>
181      */
GetSnsTopicARN()182     inline const Aws::String& GetSnsTopicARN() const{ return m_snsTopicARN; }
183 
184     /**
185      * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send
186      * notifications when log files are delivered. The format of a topic ARN is:</p>
187      * <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p>
188      */
SetSnsTopicARN(const Aws::String & value)189     inline void SetSnsTopicARN(const Aws::String& value) { m_snsTopicARN = value; }
190 
191     /**
192      * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send
193      * notifications when log files are delivered. The format of a topic ARN is:</p>
194      * <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p>
195      */
SetSnsTopicARN(Aws::String && value)196     inline void SetSnsTopicARN(Aws::String&& value) { m_snsTopicARN = std::move(value); }
197 
198     /**
199      * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send
200      * notifications when log files are delivered. The format of a topic ARN is:</p>
201      * <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p>
202      */
SetSnsTopicARN(const char * value)203     inline void SetSnsTopicARN(const char* value) { m_snsTopicARN.assign(value); }
204 
205     /**
206      * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send
207      * notifications when log files are delivered. The format of a topic ARN is:</p>
208      * <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p>
209      */
WithSnsTopicARN(const Aws::String & value)210     inline CreateTrailResult& WithSnsTopicARN(const Aws::String& value) { SetSnsTopicARN(value); return *this;}
211 
212     /**
213      * <p>Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send
214      * notifications when log files are delivered. The format of a topic ARN is:</p>
215      * <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p>
216      */
WithSnsTopicARN(Aws::String && value)217     inline CreateTrailResult& WithSnsTopicARN(Aws::String&& value) { SetSnsTopicARN(std::move(value)); return *this;}
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 format of a topic ARN is:</p>
222      * <p> <code>arn:aws:sns:us-east-2:123456789012:MyTopic</code> </p>
223      */
WithSnsTopicARN(const char * value)224     inline CreateTrailResult& WithSnsTopicARN(const char* value) { SetSnsTopicARN(value); return *this;}
225 
226 
227     /**
228      * <p>Specifies whether the trail is publishing events from global services such as
229      * IAM to the log files.</p>
230      */
GetIncludeGlobalServiceEvents()231     inline bool GetIncludeGlobalServiceEvents() const{ return m_includeGlobalServiceEvents; }
232 
233     /**
234      * <p>Specifies whether the trail is publishing events from global services such as
235      * IAM to the log files.</p>
236      */
SetIncludeGlobalServiceEvents(bool value)237     inline void SetIncludeGlobalServiceEvents(bool value) { m_includeGlobalServiceEvents = value; }
238 
239     /**
240      * <p>Specifies whether the trail is publishing events from global services such as
241      * IAM to the log files.</p>
242      */
WithIncludeGlobalServiceEvents(bool value)243     inline CreateTrailResult& WithIncludeGlobalServiceEvents(bool value) { SetIncludeGlobalServiceEvents(value); return *this;}
244 
245 
246     /**
247      * <p>Specifies whether the trail exists in one region or in all regions.</p>
248      */
GetIsMultiRegionTrail()249     inline bool GetIsMultiRegionTrail() const{ return m_isMultiRegionTrail; }
250 
251     /**
252      * <p>Specifies whether the trail exists in one region or in all regions.</p>
253      */
SetIsMultiRegionTrail(bool value)254     inline void SetIsMultiRegionTrail(bool value) { m_isMultiRegionTrail = value; }
255 
256     /**
257      * <p>Specifies whether the trail exists in one region or in all regions.</p>
258      */
WithIsMultiRegionTrail(bool value)259     inline CreateTrailResult& WithIsMultiRegionTrail(bool value) { SetIsMultiRegionTrail(value); return *this;}
260 
261 
262     /**
263      * <p>Specifies the ARN of the trail that was created. The format of a trail ARN
264      * is:</p> <p> <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code>
265      * </p>
266      */
GetTrailARN()267     inline const Aws::String& GetTrailARN() const{ return m_trailARN; }
268 
269     /**
270      * <p>Specifies the ARN of the trail that was created. The format of a trail ARN
271      * is:</p> <p> <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code>
272      * </p>
273      */
SetTrailARN(const Aws::String & value)274     inline void SetTrailARN(const Aws::String& value) { m_trailARN = value; }
275 
276     /**
277      * <p>Specifies the ARN of the trail that was created. The format of a trail ARN
278      * is:</p> <p> <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code>
279      * </p>
280      */
SetTrailARN(Aws::String && value)281     inline void SetTrailARN(Aws::String&& value) { m_trailARN = std::move(value); }
282 
283     /**
284      * <p>Specifies the ARN of the trail that was created. The format of a trail ARN
285      * is:</p> <p> <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code>
286      * </p>
287      */
SetTrailARN(const char * value)288     inline void SetTrailARN(const char* value) { m_trailARN.assign(value); }
289 
290     /**
291      * <p>Specifies the ARN of the trail that was created. The format of a trail ARN
292      * is:</p> <p> <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code>
293      * </p>
294      */
WithTrailARN(const Aws::String & value)295     inline CreateTrailResult& WithTrailARN(const Aws::String& value) { SetTrailARN(value); return *this;}
296 
297     /**
298      * <p>Specifies the ARN of the trail that was created. The format of a trail ARN
299      * is:</p> <p> <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code>
300      * </p>
301      */
WithTrailARN(Aws::String && value)302     inline CreateTrailResult& WithTrailARN(Aws::String&& value) { SetTrailARN(std::move(value)); return *this;}
303 
304     /**
305      * <p>Specifies the ARN of the trail that was created. The format of a trail ARN
306      * is:</p> <p> <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code>
307      * </p>
308      */
WithTrailARN(const char * value)309     inline CreateTrailResult& WithTrailARN(const char* value) { SetTrailARN(value); return *this;}
310 
311 
312     /**
313      * <p>Specifies whether log file integrity validation is enabled.</p>
314      */
GetLogFileValidationEnabled()315     inline bool GetLogFileValidationEnabled() const{ return m_logFileValidationEnabled; }
316 
317     /**
318      * <p>Specifies whether log file integrity validation is enabled.</p>
319      */
SetLogFileValidationEnabled(bool value)320     inline void SetLogFileValidationEnabled(bool value) { m_logFileValidationEnabled = value; }
321 
322     /**
323      * <p>Specifies whether log file integrity validation is enabled.</p>
324      */
WithLogFileValidationEnabled(bool value)325     inline CreateTrailResult& WithLogFileValidationEnabled(bool value) { SetLogFileValidationEnabled(value); return *this;}
326 
327 
328     /**
329      * <p>Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
330      * logs will be delivered.</p>
331      */
GetCloudWatchLogsLogGroupArn()332     inline const Aws::String& GetCloudWatchLogsLogGroupArn() const{ return m_cloudWatchLogsLogGroupArn; }
333 
334     /**
335      * <p>Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
336      * logs will be delivered.</p>
337      */
SetCloudWatchLogsLogGroupArn(const Aws::String & value)338     inline void SetCloudWatchLogsLogGroupArn(const Aws::String& value) { m_cloudWatchLogsLogGroupArn = value; }
339 
340     /**
341      * <p>Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
342      * logs will be delivered.</p>
343      */
SetCloudWatchLogsLogGroupArn(Aws::String && value)344     inline void SetCloudWatchLogsLogGroupArn(Aws::String&& value) { m_cloudWatchLogsLogGroupArn = std::move(value); }
345 
346     /**
347      * <p>Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
348      * logs will be delivered.</p>
349      */
SetCloudWatchLogsLogGroupArn(const char * value)350     inline void SetCloudWatchLogsLogGroupArn(const char* value) { m_cloudWatchLogsLogGroupArn.assign(value); }
351 
352     /**
353      * <p>Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
354      * logs will be delivered.</p>
355      */
WithCloudWatchLogsLogGroupArn(const Aws::String & value)356     inline CreateTrailResult& WithCloudWatchLogsLogGroupArn(const Aws::String& value) { SetCloudWatchLogsLogGroupArn(value); return *this;}
357 
358     /**
359      * <p>Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
360      * logs will be delivered.</p>
361      */
WithCloudWatchLogsLogGroupArn(Aws::String && value)362     inline CreateTrailResult& WithCloudWatchLogsLogGroupArn(Aws::String&& value) { SetCloudWatchLogsLogGroupArn(std::move(value)); return *this;}
363 
364     /**
365      * <p>Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
366      * logs will be delivered.</p>
367      */
WithCloudWatchLogsLogGroupArn(const char * value)368     inline CreateTrailResult& WithCloudWatchLogsLogGroupArn(const char* value) { SetCloudWatchLogsLogGroupArn(value); return *this;}
369 
370 
371     /**
372      * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a
373      * user's log group.</p>
374      */
GetCloudWatchLogsRoleArn()375     inline const Aws::String& GetCloudWatchLogsRoleArn() const{ return m_cloudWatchLogsRoleArn; }
376 
377     /**
378      * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a
379      * user's log group.</p>
380      */
SetCloudWatchLogsRoleArn(const Aws::String & value)381     inline void SetCloudWatchLogsRoleArn(const Aws::String& value) { m_cloudWatchLogsRoleArn = value; }
382 
383     /**
384      * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a
385      * user's log group.</p>
386      */
SetCloudWatchLogsRoleArn(Aws::String && value)387     inline void SetCloudWatchLogsRoleArn(Aws::String&& value) { m_cloudWatchLogsRoleArn = std::move(value); }
388 
389     /**
390      * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a
391      * user's log group.</p>
392      */
SetCloudWatchLogsRoleArn(const char * value)393     inline void SetCloudWatchLogsRoleArn(const char* value) { m_cloudWatchLogsRoleArn.assign(value); }
394 
395     /**
396      * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a
397      * user's log group.</p>
398      */
WithCloudWatchLogsRoleArn(const Aws::String & value)399     inline CreateTrailResult& WithCloudWatchLogsRoleArn(const Aws::String& value) { SetCloudWatchLogsRoleArn(value); return *this;}
400 
401     /**
402      * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a
403      * user's log group.</p>
404      */
WithCloudWatchLogsRoleArn(Aws::String && value)405     inline CreateTrailResult& WithCloudWatchLogsRoleArn(Aws::String&& value) { SetCloudWatchLogsRoleArn(std::move(value)); return *this;}
406 
407     /**
408      * <p>Specifies the role for the CloudWatch Logs endpoint to assume to write to a
409      * user's log group.</p>
410      */
WithCloudWatchLogsRoleArn(const char * value)411     inline CreateTrailResult& WithCloudWatchLogsRoleArn(const char* value) { SetCloudWatchLogsRoleArn(value); return *this;}
412 
413 
414     /**
415      * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The
416      * value is a fully specified ARN to a KMS key in the following format.</p> <p>
417      * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code>
418      * </p>
419      */
GetKmsKeyId()420     inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
421 
422     /**
423      * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The
424      * value is a fully specified ARN to a KMS key in the following format.</p> <p>
425      * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code>
426      * </p>
427      */
SetKmsKeyId(const Aws::String & value)428     inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyId = value; }
429 
430     /**
431      * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The
432      * value is a fully specified ARN to a KMS key in the following format.</p> <p>
433      * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code>
434      * </p>
435      */
SetKmsKeyId(Aws::String && value)436     inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyId = std::move(value); }
437 
438     /**
439      * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The
440      * value is a fully specified ARN to a KMS key in the following format.</p> <p>
441      * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code>
442      * </p>
443      */
SetKmsKeyId(const char * value)444     inline void SetKmsKeyId(const char* value) { m_kmsKeyId.assign(value); }
445 
446     /**
447      * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The
448      * value is a fully specified ARN to a KMS key in the following format.</p> <p>
449      * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code>
450      * </p>
451      */
WithKmsKeyId(const Aws::String & value)452     inline CreateTrailResult& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
453 
454     /**
455      * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The
456      * value is a fully specified ARN to a KMS key in the following format.</p> <p>
457      * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code>
458      * </p>
459      */
WithKmsKeyId(Aws::String && value)460     inline CreateTrailResult& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}
461 
462     /**
463      * <p>Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The
464      * value is a fully specified ARN to a KMS key in the following format.</p> <p>
465      * <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code>
466      * </p>
467      */
WithKmsKeyId(const char * value)468     inline CreateTrailResult& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
469 
470 
471     /**
472      * <p>Specifies whether the trail is an organization trail.</p>
473      */
GetIsOrganizationTrail()474     inline bool GetIsOrganizationTrail() const{ return m_isOrganizationTrail; }
475 
476     /**
477      * <p>Specifies whether the trail is an organization trail.</p>
478      */
SetIsOrganizationTrail(bool value)479     inline void SetIsOrganizationTrail(bool value) { m_isOrganizationTrail = value; }
480 
481     /**
482      * <p>Specifies whether the trail is an organization trail.</p>
483      */
WithIsOrganizationTrail(bool value)484     inline CreateTrailResult& WithIsOrganizationTrail(bool value) { SetIsOrganizationTrail(value); return *this;}
485 
486   private:
487 
488     Aws::String m_name;
489 
490     Aws::String m_s3BucketName;
491 
492     Aws::String m_s3KeyPrefix;
493 
494     Aws::String m_snsTopicARN;
495 
496     bool m_includeGlobalServiceEvents;
497 
498     bool m_isMultiRegionTrail;
499 
500     Aws::String m_trailARN;
501 
502     bool m_logFileValidationEnabled;
503 
504     Aws::String m_cloudWatchLogsLogGroupArn;
505 
506     Aws::String m_cloudWatchLogsRoleArn;
507 
508     Aws::String m_kmsKeyId;
509 
510     bool m_isOrganizationTrail;
511   };
512 
513 } // namespace Model
514 } // namespace CloudTrail
515 } // namespace Aws
516