/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cloudtrail.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *

* Specifies the settings for each trail. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateTrailRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* Specifies the name of the trail. The name must meet the following requirements: *

* */ private String name; /** *

* Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 * Bucket Naming Requirements. *

*/ private String s3BucketName; /** *

* Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file * delivery. For more information, see Finding Your * CloudTrail Log Files. The maximum length is 200 characters. *

*/ private String s3KeyPrefix; /** *

* Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is * 256 characters. *

*/ private String snsTopicName; /** *

* Specifies whether the trail is publishing events from global services such as IAM to the log files. *

*/ private Boolean includeGlobalServiceEvents; /** *

* Specifies whether the trail is created in the current Region or in all Regions. The default is false, which * creates a trail only in the Region where you are signed in. As a best practice, consider creating trails that log * events in all Regions. *

*/ private Boolean isMultiRegionTrail; /** *

* Specifies whether log file integrity validation is enabled. The default is false. *

* *

* When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail * does not create digest files for log files that were delivered during a period in which log file integrity * validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable * it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log * files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail * logging or delete a trail. *

*
*/ private Boolean enableLogFileValidation; /** *

* Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group * to which CloudTrail logs will be delivered. You must use a log group that exists in your account. *

*

* Not required unless you specify CloudWatchLogsRoleArn. *

*/ private String cloudWatchLogsLogGroupArn; /** *

* Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group. You must use a role * that exists in your account. *

*/ private String cloudWatchLogsRoleArn; /** *

* Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name * prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or a globally * unique identifier. *

*

* CloudTrail also supports KMS multi-Region keys. For more information about multi-Region keys, see Using multi-Region * keys in the Key Management Service Developer Guide. *

*

* Examples: *

* */ private String kmsKeyId; /** *

* Specifies whether the trail is created for all accounts in an organization in Organizations, or only for the * current Amazon Web Services account. The default is false, and cannot be true unless the call is made on behalf * of an Amazon Web Services account that is the management account or delegated administrator account for an * organization in Organizations. *

*/ private Boolean isOrganizationTrail; private com.amazonaws.internal.SdkInternalList tagsList; /** *

* Specifies the name of the trail. The name must meet the following requirements: *

* * * @param name * Specifies the name of the trail. The name must meet the following requirements:

*