/* * 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 settings to update for the trail. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateTrailRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* Specifies the name of the trail or trail ARN. If Name
is a trail name, the string must meet the
* following requirements:
*
* Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *
** Start with a letter or number, and end with a letter or number *
** Be between 3 and 128 characters *
*
* Have no adjacent periods, underscores or dashes. Names like my-_namespace
and
* my--namespace
are not valid.
*
* Not be in IP address format (for example, 192.168.5.4) *
*
* If Name
is a trail ARN, it must be in the following format.
*
* arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
*
* 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 applies only to the current Region or to all Regions. The default is false. If the * trail exists only in the current Region and this value is set to true, shadow trails (replications of the trail) * will be created in the other Regions. If the trail exists in all Regions and this value is set to false, the * trail will remain in the Region where it was created, and its shadow trails in other Regions will be deleted. As * a best practice, consider using trails that log events in all Regions. *
*/ private Boolean isMultiRegionTrail; /** ** Specifies whether log file 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. *
** Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group * to which CloudTrail logs are delivered. You must use a log group that exists in your account. *
*
* Not required unless you specify CloudWatchLogsRoleArn
.
*
* 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: *
** alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *
** 12345678-1234-1234-1234-123456789012 *
*
* Specifies whether the trail is applied to 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. If the trail is not an organization trail and this is set to true
,
* the trail will be created in all Amazon Web Services accounts that belong to the organization. If the trail is an
* organization trail and this is set to false
, the trail will remain in the current Amazon Web
* Services account but be deleted from all member accounts in the organization.
*
* Specifies the name of the trail or trail ARN. If Name
is a trail name, the string must meet the
* following requirements:
*
* Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *
** Start with a letter or number, and end with a letter or number *
** Be between 3 and 128 characters *
*
* Have no adjacent periods, underscores or dashes. Names like my-_namespace
and
* my--namespace
are not valid.
*
* Not be in IP address format (for example, 192.168.5.4) *
*
* If Name
is a trail ARN, it must be in the following format.
*
* arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
*
Name
is a trail name, the string must meet
* the following requirements:
* * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *
** Start with a letter or number, and end with a letter or number *
** Be between 3 and 128 characters *
*
* Have no adjacent periods, underscores or dashes. Names like my-_namespace
and
* my--namespace
are not valid.
*
* Not be in IP address format (for example, 192.168.5.4) *
*
* If Name
is a trail ARN, it must be in the following format.
*
* arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
*/
public void setName(String name) {
this.name = name;
}
/**
*
* Specifies the name of the trail or trail ARN. If Name
is a trail name, the string must meet the
* following requirements:
*
* Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *
** Start with a letter or number, and end with a letter or number *
** Be between 3 and 128 characters *
*
* Have no adjacent periods, underscores or dashes. Names like my-_namespace
and
* my--namespace
are not valid.
*
* Not be in IP address format (for example, 192.168.5.4) *
*
* If Name
is a trail ARN, it must be in the following format.
*
* arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
*
Name
is a trail name, the string must meet
* the following requirements:
* * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *
** Start with a letter or number, and end with a letter or number *
** Be between 3 and 128 characters *
*
* Have no adjacent periods, underscores or dashes. Names like my-_namespace
and
* my--namespace
are not valid.
*
* Not be in IP address format (for example, 192.168.5.4) *
*
* If Name
is a trail ARN, it must be in the following format.
*
* arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
*/
public String getName() {
return this.name;
}
/**
*
* Specifies the name of the trail or trail ARN. If Name
is a trail name, the string must meet the
* following requirements:
*
* Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *
** Start with a letter or number, and end with a letter or number *
** Be between 3 and 128 characters *
*
* Have no adjacent periods, underscores or dashes. Names like my-_namespace
and
* my--namespace
are not valid.
*
* Not be in IP address format (for example, 192.168.5.4) *
*
* If Name
is a trail ARN, it must be in the following format.
*
* arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
*
Name
is a trail name, the string must meet
* the following requirements:
* * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *
** Start with a letter or number, and end with a letter or number *
** Be between 3 and 128 characters *
*
* Have no adjacent periods, underscores or dashes. Names like my-_namespace
and
* my--namespace
are not valid.
*
* Not be in IP address format (for example, 192.168.5.4) *
*
* If Name
is a trail ARN, it must be in the following format.
*
* arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateTrailRequest withName(String name) {
setName(name);
return this;
}
/**
*
* Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 * Bucket Naming Requirements. *
* * @param s3BucketName * Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon * S3 Bucket Naming Requirements. */ public void setS3BucketName(String s3BucketName) { this.s3BucketName = s3BucketName; } /** ** Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 * Bucket Naming Requirements. *
* * @return Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon * S3 Bucket Naming Requirements. */ public String getS3BucketName() { return this.s3BucketName; } /** ** Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 * Bucket Naming Requirements. *
* * @param s3BucketName * Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon * S3 Bucket Naming Requirements. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateTrailRequest withS3BucketName(String s3BucketName) { setS3BucketName(s3BucketName); return this; } /** ** 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. *
* * @param s3KeyPrefix * 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. */ public void setS3KeyPrefix(String s3KeyPrefix) { this.s3KeyPrefix = s3KeyPrefix; } /** ** 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. *
* * @return 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. */ public String getS3KeyPrefix() { return this.s3KeyPrefix; } /** ** 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. *
* * @param s3KeyPrefix * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateTrailRequest withS3KeyPrefix(String s3KeyPrefix) { setS3KeyPrefix(s3KeyPrefix); return this; } /** ** Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is * 256 characters. *
* * @param snsTopicName * Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum * length is 256 characters. */ public void setSnsTopicName(String snsTopicName) { this.snsTopicName = snsTopicName; } /** ** Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is * 256 characters. *
* * @return Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum * length is 256 characters. */ public String getSnsTopicName() { return this.snsTopicName; } /** ** Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is * 256 characters. *
* * @param snsTopicName * Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum * length is 256 characters. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateTrailRequest withSnsTopicName(String snsTopicName) { setSnsTopicName(snsTopicName); return this; } /** ** Specifies whether the trail is publishing events from global services such as IAM to the log files. *
* * @param includeGlobalServiceEvents * Specifies whether the trail is publishing events from global services such as IAM to the log files. */ public void setIncludeGlobalServiceEvents(Boolean includeGlobalServiceEvents) { this.includeGlobalServiceEvents = includeGlobalServiceEvents; } /** ** Specifies whether the trail is publishing events from global services such as IAM to the log files. *
* * @return Specifies whether the trail is publishing events from global services such as IAM to the log files. */ public Boolean getIncludeGlobalServiceEvents() { return this.includeGlobalServiceEvents; } /** ** Specifies whether the trail is publishing events from global services such as IAM to the log files. *
* * @param includeGlobalServiceEvents * Specifies whether the trail is publishing events from global services such as IAM to the log files. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateTrailRequest withIncludeGlobalServiceEvents(Boolean includeGlobalServiceEvents) { setIncludeGlobalServiceEvents(includeGlobalServiceEvents); return this; } /** ** Specifies whether the trail is publishing events from global services such as IAM to the log files. *
* * @return Specifies whether the trail is publishing events from global services such as IAM to the log files. */ public Boolean isIncludeGlobalServiceEvents() { return this.includeGlobalServiceEvents; } /** ** Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If the * trail exists only in the current Region and this value is set to true, shadow trails (replications of the trail) * will be created in the other Regions. If the trail exists in all Regions and this value is set to false, the * trail will remain in the Region where it was created, and its shadow trails in other Regions will be deleted. As * a best practice, consider using trails that log events in all Regions. *
* * @param isMultiRegionTrail * Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If * the trail exists only in the current Region and this value is set to true, shadow trails (replications of * the trail) will be created in the other Regions. If the trail exists in all Regions and this value is set * to false, the trail will remain in the Region where it was created, and its shadow trails in other Regions * will be deleted. As a best practice, consider using trails that log events in all Regions. */ public void setIsMultiRegionTrail(Boolean isMultiRegionTrail) { this.isMultiRegionTrail = isMultiRegionTrail; } /** ** Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If the * trail exists only in the current Region and this value is set to true, shadow trails (replications of the trail) * will be created in the other Regions. If the trail exists in all Regions and this value is set to false, the * trail will remain in the Region where it was created, and its shadow trails in other Regions will be deleted. As * a best practice, consider using trails that log events in all Regions. *
* * @return Specifies whether the trail applies only to the current Region or to all Regions. The default is false. * If the trail exists only in the current Region and this value is set to true, shadow trails (replications * of the trail) will be created in the other Regions. If the trail exists in all Regions and this value is * set to false, the trail will remain in the Region where it was created, and its shadow trails in other * Regions will be deleted. As a best practice, consider using trails that log events in all Regions. */ public Boolean getIsMultiRegionTrail() { return this.isMultiRegionTrail; } /** ** Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If the * trail exists only in the current Region and this value is set to true, shadow trails (replications of the trail) * will be created in the other Regions. If the trail exists in all Regions and this value is set to false, the * trail will remain in the Region where it was created, and its shadow trails in other Regions will be deleted. As * a best practice, consider using trails that log events in all Regions. *
* * @param isMultiRegionTrail * Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If * the trail exists only in the current Region and this value is set to true, shadow trails (replications of * the trail) will be created in the other Regions. If the trail exists in all Regions and this value is set * to false, the trail will remain in the Region where it was created, and its shadow trails in other Regions * will be deleted. As a best practice, consider using trails that log events in all Regions. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateTrailRequest withIsMultiRegionTrail(Boolean isMultiRegionTrail) { setIsMultiRegionTrail(isMultiRegionTrail); return this; } /** ** Specifies whether the trail applies only to the current Region or to all Regions. The default is false. If the * trail exists only in the current Region and this value is set to true, shadow trails (replications of the trail) * will be created in the other Regions. If the trail exists in all Regions and this value is set to false, the * trail will remain in the Region where it was created, and its shadow trails in other Regions will be deleted. As * a best practice, consider using trails that log events in all Regions. *
* * @return Specifies whether the trail applies only to the current Region or to all Regions. The default is false. * If the trail exists only in the current Region and this value is set to true, shadow trails (replications * of the trail) will be created in the other Regions. If the trail exists in all Regions and this value is * set to false, the trail will remain in the Region where it was created, and its shadow trails in other * Regions will be deleted. As a best practice, consider using trails that log events in all Regions. */ public Boolean isMultiRegionTrail() { return this.isMultiRegionTrail; } /** ** Specifies whether log file 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. *
** 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. *
*/ public void setEnableLogFileValidation(Boolean enableLogFileValidation) { this.enableLogFileValidation = enableLogFileValidation; } /** ** Specifies whether log file 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. *
** 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. *
*/ public Boolean getEnableLogFileValidation() { return this.enableLogFileValidation; } /** ** Specifies whether log file 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. *
** 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. *
* @return Returns a reference to this object so that method calls can be chained together. */ public UpdateTrailRequest withEnableLogFileValidation(Boolean enableLogFileValidation) { setEnableLogFileValidation(enableLogFileValidation); return this; } /** ** Specifies whether log file 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. *
** 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. *
*/ public Boolean isEnableLogFileValidation() { return this.enableLogFileValidation; } /** ** Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group * to which CloudTrail logs are delivered. You must use a log group that exists in your account. *
*
* Not required unless you specify CloudWatchLogsRoleArn
.
*
* Not required unless you specify CloudWatchLogsRoleArn
.
*/
public void setCloudWatchLogsLogGroupArn(String cloudWatchLogsLogGroupArn) {
this.cloudWatchLogsLogGroupArn = cloudWatchLogsLogGroupArn;
}
/**
*
* Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group * to which CloudTrail logs are delivered. You must use a log group that exists in your account. *
*
* Not required unless you specify CloudWatchLogsRoleArn
.
*
* Not required unless you specify CloudWatchLogsRoleArn
.
*/
public String getCloudWatchLogsLogGroupArn() {
return this.cloudWatchLogsLogGroupArn;
}
/**
*
* Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group * to which CloudTrail logs are delivered. You must use a log group that exists in your account. *
*
* Not required unless you specify CloudWatchLogsRoleArn
.
*
* Not required unless you specify CloudWatchLogsRoleArn
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateTrailRequest withCloudWatchLogsLogGroupArn(String cloudWatchLogsLogGroupArn) {
setCloudWatchLogsLogGroupArn(cloudWatchLogsLogGroupArn);
return this;
}
/**
*
* 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. *
* * @param cloudWatchLogsRoleArn * 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. */ public void setCloudWatchLogsRoleArn(String cloudWatchLogsRoleArn) { this.cloudWatchLogsRoleArn = cloudWatchLogsRoleArn; } /** ** 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. *
* * @return 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. */ public String getCloudWatchLogsRoleArn() { return this.cloudWatchLogsRoleArn; } /** ** 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. *
* * @param cloudWatchLogsRoleArn * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateTrailRequest withCloudWatchLogsRoleArn(String cloudWatchLogsRoleArn) { setCloudWatchLogsRoleArn(cloudWatchLogsRoleArn); return this; } /** ** 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: *
** alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *
** 12345678-1234-1234-1234-123456789012 *
** 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: *
** alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *
** 12345678-1234-1234-1234-123456789012 *
** 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: *
** alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *
** 12345678-1234-1234-1234-123456789012 *
** 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: *
** alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *
** 12345678-1234-1234-1234-123456789012 *
** 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: *
** alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *
** 12345678-1234-1234-1234-123456789012 *
** 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: *
** alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:alias/MyAliasName *
** arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 *
** 12345678-1234-1234-1234-123456789012 *
*
* Specifies whether the trail is applied to 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. If the trail is not an organization trail and this is set to true
,
* the trail will be created in all Amazon Web Services accounts that belong to the organization. If the trail is an
* organization trail and this is set to false
, the trail will remain in the current Amazon Web
* Services account but be deleted from all member accounts in the organization.
*
true
, the trail will be created in all Amazon Web Services accounts that belong to the
* organization. If the trail is an organization trail and this is set to false
, the trail will
* remain in the current Amazon Web Services account but be deleted from all member accounts in the
* organization.
*/
public void setIsOrganizationTrail(Boolean isOrganizationTrail) {
this.isOrganizationTrail = isOrganizationTrail;
}
/**
*
* Specifies whether the trail is applied to 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. If the trail is not an organization trail and this is set to true
,
* the trail will be created in all Amazon Web Services accounts that belong to the organization. If the trail is an
* organization trail and this is set to false
, the trail will remain in the current Amazon Web
* Services account but be deleted from all member accounts in the organization.
*
true
, the trail will be created in all Amazon Web Services accounts that belong to the
* organization. If the trail is an organization trail and this is set to false
, the trail will
* remain in the current Amazon Web Services account but be deleted from all member accounts in the
* organization.
*/
public Boolean getIsOrganizationTrail() {
return this.isOrganizationTrail;
}
/**
*
* Specifies whether the trail is applied to 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. If the trail is not an organization trail and this is set to true
,
* the trail will be created in all Amazon Web Services accounts that belong to the organization. If the trail is an
* organization trail and this is set to false
, the trail will remain in the current Amazon Web
* Services account but be deleted from all member accounts in the organization.
*
true
, the trail will be created in all Amazon Web Services accounts that belong to the
* organization. If the trail is an organization trail and this is set to false
, the trail will
* remain in the current Amazon Web Services account but be deleted from all member accounts in the
* organization.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateTrailRequest withIsOrganizationTrail(Boolean isOrganizationTrail) {
setIsOrganizationTrail(isOrganizationTrail);
return this;
}
/**
*
* Specifies whether the trail is applied to 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. If the trail is not an organization trail and this is set to true
,
* the trail will be created in all Amazon Web Services accounts that belong to the organization. If the trail is an
* organization trail and this is set to false
, the trail will remain in the current Amazon Web
* Services account but be deleted from all member accounts in the organization.
*
true
, the trail will be created in all Amazon Web Services accounts that belong to the
* organization. If the trail is an organization trail and this is set to false
, the trail will
* remain in the current Amazon Web Services account but be deleted from all member accounts in the
* organization.
*/
public Boolean isOrganizationTrail() {
return this.isOrganizationTrail;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getName() != null)
sb.append("Name: ").append(getName()).append(",");
if (getS3BucketName() != null)
sb.append("S3BucketName: ").append(getS3BucketName()).append(",");
if (getS3KeyPrefix() != null)
sb.append("S3KeyPrefix: ").append(getS3KeyPrefix()).append(",");
if (getSnsTopicName() != null)
sb.append("SnsTopicName: ").append(getSnsTopicName()).append(",");
if (getIncludeGlobalServiceEvents() != null)
sb.append("IncludeGlobalServiceEvents: ").append(getIncludeGlobalServiceEvents()).append(",");
if (getIsMultiRegionTrail() != null)
sb.append("IsMultiRegionTrail: ").append(getIsMultiRegionTrail()).append(",");
if (getEnableLogFileValidation() != null)
sb.append("EnableLogFileValidation: ").append(getEnableLogFileValidation()).append(",");
if (getCloudWatchLogsLogGroupArn() != null)
sb.append("CloudWatchLogsLogGroupArn: ").append(getCloudWatchLogsLogGroupArn()).append(",");
if (getCloudWatchLogsRoleArn() != null)
sb.append("CloudWatchLogsRoleArn: ").append(getCloudWatchLogsRoleArn()).append(",");
if (getKmsKeyId() != null)
sb.append("KmsKeyId: ").append(getKmsKeyId()).append(",");
if (getIsOrganizationTrail() != null)
sb.append("IsOrganizationTrail: ").append(getIsOrganizationTrail());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof UpdateTrailRequest == false)
return false;
UpdateTrailRequest other = (UpdateTrailRequest) obj;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == false)
return false;
if (other.getS3BucketName() == null ^ this.getS3BucketName() == null)
return false;
if (other.getS3BucketName() != null && other.getS3BucketName().equals(this.getS3BucketName()) == false)
return false;
if (other.getS3KeyPrefix() == null ^ this.getS3KeyPrefix() == null)
return false;
if (other.getS3KeyPrefix() != null && other.getS3KeyPrefix().equals(this.getS3KeyPrefix()) == false)
return false;
if (other.getSnsTopicName() == null ^ this.getSnsTopicName() == null)
return false;
if (other.getSnsTopicName() != null && other.getSnsTopicName().equals(this.getSnsTopicName()) == false)
return false;
if (other.getIncludeGlobalServiceEvents() == null ^ this.getIncludeGlobalServiceEvents() == null)
return false;
if (other.getIncludeGlobalServiceEvents() != null && other.getIncludeGlobalServiceEvents().equals(this.getIncludeGlobalServiceEvents()) == false)
return false;
if (other.getIsMultiRegionTrail() == null ^ this.getIsMultiRegionTrail() == null)
return false;
if (other.getIsMultiRegionTrail() != null && other.getIsMultiRegionTrail().equals(this.getIsMultiRegionTrail()) == false)
return false;
if (other.getEnableLogFileValidation() == null ^ this.getEnableLogFileValidation() == null)
return false;
if (other.getEnableLogFileValidation() != null && other.getEnableLogFileValidation().equals(this.getEnableLogFileValidation()) == false)
return false;
if (other.getCloudWatchLogsLogGroupArn() == null ^ this.getCloudWatchLogsLogGroupArn() == null)
return false;
if (other.getCloudWatchLogsLogGroupArn() != null && other.getCloudWatchLogsLogGroupArn().equals(this.getCloudWatchLogsLogGroupArn()) == false)
return false;
if (other.getCloudWatchLogsRoleArn() == null ^ this.getCloudWatchLogsRoleArn() == null)
return false;
if (other.getCloudWatchLogsRoleArn() != null && other.getCloudWatchLogsRoleArn().equals(this.getCloudWatchLogsRoleArn()) == false)
return false;
if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null)
return false;
if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false)
return false;
if (other.getIsOrganizationTrail() == null ^ this.getIsOrganizationTrail() == null)
return false;
if (other.getIsOrganizationTrail() != null && other.getIsOrganizationTrail().equals(this.getIsOrganizationTrail()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode());
hashCode = prime * hashCode + ((getS3BucketName() == null) ? 0 : getS3BucketName().hashCode());
hashCode = prime * hashCode + ((getS3KeyPrefix() == null) ? 0 : getS3KeyPrefix().hashCode());
hashCode = prime * hashCode + ((getSnsTopicName() == null) ? 0 : getSnsTopicName().hashCode());
hashCode = prime * hashCode + ((getIncludeGlobalServiceEvents() == null) ? 0 : getIncludeGlobalServiceEvents().hashCode());
hashCode = prime * hashCode + ((getIsMultiRegionTrail() == null) ? 0 : getIsMultiRegionTrail().hashCode());
hashCode = prime * hashCode + ((getEnableLogFileValidation() == null) ? 0 : getEnableLogFileValidation().hashCode());
hashCode = prime * hashCode + ((getCloudWatchLogsLogGroupArn() == null) ? 0 : getCloudWatchLogsLogGroupArn().hashCode());
hashCode = prime * hashCode + ((getCloudWatchLogsRoleArn() == null) ? 0 : getCloudWatchLogsRoleArn().hashCode());
hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode());
hashCode = prime * hashCode + ((getIsOrganizationTrail() == null) ? 0 : getIsOrganizationTrail().hashCode());
return hashCode;
}
@Override
public UpdateTrailRequest clone() {
return (UpdateTrailRequest) super.clone();
}
}