com.amazonaws.services.cloudtrail.model.CreateEventDataStoreRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-cloudtrail Show documentation
/*
* Copyright 2019-2024 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;
/**
*
* @see AWS
* API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateEventDataStoreRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The name of the event data store.
*
*/
private String name;
/**
*
* The advanced event selectors to use to select the events for the data store. You can configure up to five
* advanced event selectors for each event data store.
*
*
* For more information about how to use advanced event selectors to log CloudTrail events, see Log events by using advanced event selectors in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include Config configuration items in your
* event data store, see Create an event data store for Config configuration items in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include events outside of Amazon Web Services
* events in your event data store, see Create an integration to log events from outside Amazon Web Services in the CloudTrail User Guide.
*
*/
private com.amazonaws.internal.SdkInternalList advancedEventSelectors;
/**
*
* Specifies whether the event data store includes events from all Regions, or only from the Region in which the
* event data store is created.
*
*/
private Boolean multiRegionEnabled;
/**
*
* Specifies whether an event data store collects events logged for an organization in Organizations.
*
*/
private Boolean organizationEnabled;
/**
*
* The retention period of the event data store, in days. If BillingMode
is set to
* EXTENDABLE_RETENTION_PRICING
, you can set a retention period of up to 3653 days, the equivalent of
* 10 years. If BillingMode
is set to FIXED_RETENTION_PRICING
, you can set a retention
* period of up to 2557 days, the equivalent of seven years.
*
*
* CloudTrail Lake determines whether to retain an event by checking if the eventTime
of the event is
* within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will
* remove events when the eventTime
is older than 90 days.
*
*
*
* If you plan to copy trail events to this event data store, we recommend that you consider both the age of the
* events that you want to copy as well as how long you want to keep the copied events in your event data store. For
* example, if you copy trail events that are 5 years old and specify a retention period of 7 years, the event data
* store will retain those events for two years.
*
*
*/
private Integer retentionPeriod;
/**
*
* Specifies whether termination protection is enabled for the event data store. If termination protection is
* enabled, you cannot delete the event data store until termination protection is disabled.
*
*/
private Boolean terminationProtectionEnabled;
private com.amazonaws.internal.SdkInternalList tagsList;
/**
*
* Specifies the KMS key ID to use to encrypt the events 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.
*
*
*
* Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from
* logging events to the event data store, and prevents users from querying the data in the event data store that
* was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed
* or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up
* your event data store.
*
*
*
* 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
*
*
*
*/
private String kmsKeyId;
/**
*
* Specifies whether the event data store should start ingesting live events. The default is true.
*
*/
private Boolean startIngestion;
/**
*
* The billing mode for the event data store determines the cost for ingesting events and the default and maximum
* retention period for the event data store.
*
*
* The following are the possible values:
*
*
* -
*
* EXTENDABLE_RETENTION_PRICING
- This billing mode is generally recommended if you want a flexible
* retention period of up to 3653 days (about 10 years). The default retention period for this billing mode is 366
* days.
*
*
* -
*
* FIXED_RETENTION_PRICING
- This billing mode is recommended if you expect to ingest more than 25 TB
* of event data per month and need a retention period of up to 2557 days (about 7 years). The default retention
* period for this billing mode is 2557 days.
*
*
*
*
* The default value is EXTENDABLE_RETENTION_PRICING
.
*
*
* For more information about CloudTrail pricing, see CloudTrail
* Pricing and Managing
* CloudTrail Lake costs.
*
*/
private String billingMode;
/**
*
* The name of the event data store.
*
*
* @param name
* The name of the event data store.
*/
public void setName(String name) {
this.name = name;
}
/**
*
* The name of the event data store.
*
*
* @return The name of the event data store.
*/
public String getName() {
return this.name;
}
/**
*
* The name of the event data store.
*
*
* @param name
* The name of the event data store.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withName(String name) {
setName(name);
return this;
}
/**
*
* The advanced event selectors to use to select the events for the data store. You can configure up to five
* advanced event selectors for each event data store.
*
*
* For more information about how to use advanced event selectors to log CloudTrail events, see Log events by using advanced event selectors in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include Config configuration items in your
* event data store, see Create an event data store for Config configuration items in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include events outside of Amazon Web Services
* events in your event data store, see Create an integration to log events from outside Amazon Web Services in the CloudTrail User Guide.
*
*
* @return The advanced event selectors to use to select the events for the data store. You can configure up to five
* advanced event selectors for each event data store.
*
* For more information about how to use advanced event selectors to log CloudTrail events, see Log events by using advanced event selectors in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include Config configuration items in
* your event data store, see Create an event data store for Config configuration items in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include events outside of Amazon Web
* Services events in your event data store, see Create an integration to log events from outside Amazon Web Services in the CloudTrail User Guide.
*/
public java.util.List getAdvancedEventSelectors() {
if (advancedEventSelectors == null) {
advancedEventSelectors = new com.amazonaws.internal.SdkInternalList();
}
return advancedEventSelectors;
}
/**
*
* The advanced event selectors to use to select the events for the data store. You can configure up to five
* advanced event selectors for each event data store.
*
*
* For more information about how to use advanced event selectors to log CloudTrail events, see Log events by using advanced event selectors in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include Config configuration items in your
* event data store, see Create an event data store for Config configuration items in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include events outside of Amazon Web Services
* events in your event data store, see Create an integration to log events from outside Amazon Web Services in the CloudTrail User Guide.
*
*
* @param advancedEventSelectors
* The advanced event selectors to use to select the events for the data store. You can configure up to five
* advanced event selectors for each event data store.
*
* For more information about how to use advanced event selectors to log CloudTrail events, see Log events by using advanced event selectors in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include Config configuration items in
* your event data store, see Create an event data store for Config configuration items in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include events outside of Amazon Web
* Services events in your event data store, see Create an integration to log events from outside Amazon Web Services in the CloudTrail User Guide.
*/
public void setAdvancedEventSelectors(java.util.Collection advancedEventSelectors) {
if (advancedEventSelectors == null) {
this.advancedEventSelectors = null;
return;
}
this.advancedEventSelectors = new com.amazonaws.internal.SdkInternalList(advancedEventSelectors);
}
/**
*
* The advanced event selectors to use to select the events for the data store. You can configure up to five
* advanced event selectors for each event data store.
*
*
* For more information about how to use advanced event selectors to log CloudTrail events, see Log events by using advanced event selectors in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include Config configuration items in your
* event data store, see Create an event data store for Config configuration items in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include events outside of Amazon Web Services
* events in your event data store, see Create an integration to log events from outside Amazon Web Services in the CloudTrail User Guide.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAdvancedEventSelectors(java.util.Collection)} or
* {@link #withAdvancedEventSelectors(java.util.Collection)} if you want to override the existing values.
*
*
* @param advancedEventSelectors
* The advanced event selectors to use to select the events for the data store. You can configure up to five
* advanced event selectors for each event data store.
*
* For more information about how to use advanced event selectors to log CloudTrail events, see Log events by using advanced event selectors in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include Config configuration items in
* your event data store, see Create an event data store for Config configuration items in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include events outside of Amazon Web
* Services events in your event data store, see Create an integration to log events from outside Amazon Web Services in the CloudTrail User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withAdvancedEventSelectors(AdvancedEventSelector... advancedEventSelectors) {
if (this.advancedEventSelectors == null) {
setAdvancedEventSelectors(new com.amazonaws.internal.SdkInternalList(advancedEventSelectors.length));
}
for (AdvancedEventSelector ele : advancedEventSelectors) {
this.advancedEventSelectors.add(ele);
}
return this;
}
/**
*
* The advanced event selectors to use to select the events for the data store. You can configure up to five
* advanced event selectors for each event data store.
*
*
* For more information about how to use advanced event selectors to log CloudTrail events, see Log events by using advanced event selectors in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include Config configuration items in your
* event data store, see Create an event data store for Config configuration items in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include events outside of Amazon Web Services
* events in your event data store, see Create an integration to log events from outside Amazon Web Services in the CloudTrail User Guide.
*
*
* @param advancedEventSelectors
* The advanced event selectors to use to select the events for the data store. You can configure up to five
* advanced event selectors for each event data store.
*
* For more information about how to use advanced event selectors to log CloudTrail events, see Log events by using advanced event selectors in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include Config configuration items in
* your event data store, see Create an event data store for Config configuration items in the CloudTrail User Guide.
*
*
* For more information about how to use advanced event selectors to include events outside of Amazon Web
* Services events in your event data store, see Create an integration to log events from outside Amazon Web Services in the CloudTrail User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withAdvancedEventSelectors(java.util.Collection advancedEventSelectors) {
setAdvancedEventSelectors(advancedEventSelectors);
return this;
}
/**
*
* Specifies whether the event data store includes events from all Regions, or only from the Region in which the
* event data store is created.
*
*
* @param multiRegionEnabled
* Specifies whether the event data store includes events from all Regions, or only from the Region in which
* the event data store is created.
*/
public void setMultiRegionEnabled(Boolean multiRegionEnabled) {
this.multiRegionEnabled = multiRegionEnabled;
}
/**
*
* Specifies whether the event data store includes events from all Regions, or only from the Region in which the
* event data store is created.
*
*
* @return Specifies whether the event data store includes events from all Regions, or only from the Region in which
* the event data store is created.
*/
public Boolean getMultiRegionEnabled() {
return this.multiRegionEnabled;
}
/**
*
* Specifies whether the event data store includes events from all Regions, or only from the Region in which the
* event data store is created.
*
*
* @param multiRegionEnabled
* Specifies whether the event data store includes events from all Regions, or only from the Region in which
* the event data store is created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withMultiRegionEnabled(Boolean multiRegionEnabled) {
setMultiRegionEnabled(multiRegionEnabled);
return this;
}
/**
*
* Specifies whether the event data store includes events from all Regions, or only from the Region in which the
* event data store is created.
*
*
* @return Specifies whether the event data store includes events from all Regions, or only from the Region in which
* the event data store is created.
*/
public Boolean isMultiRegionEnabled() {
return this.multiRegionEnabled;
}
/**
*
* Specifies whether an event data store collects events logged for an organization in Organizations.
*
*
* @param organizationEnabled
* Specifies whether an event data store collects events logged for an organization in Organizations.
*/
public void setOrganizationEnabled(Boolean organizationEnabled) {
this.organizationEnabled = organizationEnabled;
}
/**
*
* Specifies whether an event data store collects events logged for an organization in Organizations.
*
*
* @return Specifies whether an event data store collects events logged for an organization in Organizations.
*/
public Boolean getOrganizationEnabled() {
return this.organizationEnabled;
}
/**
*
* Specifies whether an event data store collects events logged for an organization in Organizations.
*
*
* @param organizationEnabled
* Specifies whether an event data store collects events logged for an organization in Organizations.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withOrganizationEnabled(Boolean organizationEnabled) {
setOrganizationEnabled(organizationEnabled);
return this;
}
/**
*
* Specifies whether an event data store collects events logged for an organization in Organizations.
*
*
* @return Specifies whether an event data store collects events logged for an organization in Organizations.
*/
public Boolean isOrganizationEnabled() {
return this.organizationEnabled;
}
/**
*
* The retention period of the event data store, in days. If BillingMode
is set to
* EXTENDABLE_RETENTION_PRICING
, you can set a retention period of up to 3653 days, the equivalent of
* 10 years. If BillingMode
is set to FIXED_RETENTION_PRICING
, you can set a retention
* period of up to 2557 days, the equivalent of seven years.
*
*
* CloudTrail Lake determines whether to retain an event by checking if the eventTime
of the event is
* within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will
* remove events when the eventTime
is older than 90 days.
*
*
*
* If you plan to copy trail events to this event data store, we recommend that you consider both the age of the
* events that you want to copy as well as how long you want to keep the copied events in your event data store. For
* example, if you copy trail events that are 5 years old and specify a retention period of 7 years, the event data
* store will retain those events for two years.
*
*
*
* @param retentionPeriod
* The retention period of the event data store, in days. If BillingMode
is set to
* EXTENDABLE_RETENTION_PRICING
, you can set a retention period of up to 3653 days, the
* equivalent of 10 years. If BillingMode
is set to FIXED_RETENTION_PRICING
, you
* can set a retention period of up to 2557 days, the equivalent of seven years.
*
* CloudTrail Lake determines whether to retain an event by checking if the eventTime
of the
* event is within the specified retention period. For example, if you set a retention period of 90 days,
* CloudTrail will remove events when the eventTime
is older than 90 days.
*
*
*
* If you plan to copy trail events to this event data store, we recommend that you consider both the age of
* the events that you want to copy as well as how long you want to keep the copied events in your event data
* store. For example, if you copy trail events that are 5 years old and specify a retention period of 7
* years, the event data store will retain those events for two years.
*
*/
public void setRetentionPeriod(Integer retentionPeriod) {
this.retentionPeriod = retentionPeriod;
}
/**
*
* The retention period of the event data store, in days. If BillingMode
is set to
* EXTENDABLE_RETENTION_PRICING
, you can set a retention period of up to 3653 days, the equivalent of
* 10 years. If BillingMode
is set to FIXED_RETENTION_PRICING
, you can set a retention
* period of up to 2557 days, the equivalent of seven years.
*
*
* CloudTrail Lake determines whether to retain an event by checking if the eventTime
of the event is
* within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will
* remove events when the eventTime
is older than 90 days.
*
*
*
* If you plan to copy trail events to this event data store, we recommend that you consider both the age of the
* events that you want to copy as well as how long you want to keep the copied events in your event data store. For
* example, if you copy trail events that are 5 years old and specify a retention period of 7 years, the event data
* store will retain those events for two years.
*
*
*
* @return The retention period of the event data store, in days. If BillingMode
is set to
* EXTENDABLE_RETENTION_PRICING
, you can set a retention period of up to 3653 days, the
* equivalent of 10 years. If BillingMode
is set to FIXED_RETENTION_PRICING
, you
* can set a retention period of up to 2557 days, the equivalent of seven years.
*
* CloudTrail Lake determines whether to retain an event by checking if the eventTime
of the
* event is within the specified retention period. For example, if you set a retention period of 90 days,
* CloudTrail will remove events when the eventTime
is older than 90 days.
*
*
*
* If you plan to copy trail events to this event data store, we recommend that you consider both the age of
* the events that you want to copy as well as how long you want to keep the copied events in your event
* data store. For example, if you copy trail events that are 5 years old and specify a retention period of
* 7 years, the event data store will retain those events for two years.
*
*/
public Integer getRetentionPeriod() {
return this.retentionPeriod;
}
/**
*
* The retention period of the event data store, in days. If BillingMode
is set to
* EXTENDABLE_RETENTION_PRICING
, you can set a retention period of up to 3653 days, the equivalent of
* 10 years. If BillingMode
is set to FIXED_RETENTION_PRICING
, you can set a retention
* period of up to 2557 days, the equivalent of seven years.
*
*
* CloudTrail Lake determines whether to retain an event by checking if the eventTime
of the event is
* within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will
* remove events when the eventTime
is older than 90 days.
*
*
*
* If you plan to copy trail events to this event data store, we recommend that you consider both the age of the
* events that you want to copy as well as how long you want to keep the copied events in your event data store. For
* example, if you copy trail events that are 5 years old and specify a retention period of 7 years, the event data
* store will retain those events for two years.
*
*
*
* @param retentionPeriod
* The retention period of the event data store, in days. If BillingMode
is set to
* EXTENDABLE_RETENTION_PRICING
, you can set a retention period of up to 3653 days, the
* equivalent of 10 years. If BillingMode
is set to FIXED_RETENTION_PRICING
, you
* can set a retention period of up to 2557 days, the equivalent of seven years.
*
* CloudTrail Lake determines whether to retain an event by checking if the eventTime
of the
* event is within the specified retention period. For example, if you set a retention period of 90 days,
* CloudTrail will remove events when the eventTime
is older than 90 days.
*
*
*
* If you plan to copy trail events to this event data store, we recommend that you consider both the age of
* the events that you want to copy as well as how long you want to keep the copied events in your event data
* store. For example, if you copy trail events that are 5 years old and specify a retention period of 7
* years, the event data store will retain those events for two years.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withRetentionPeriod(Integer retentionPeriod) {
setRetentionPeriod(retentionPeriod);
return this;
}
/**
*
* Specifies whether termination protection is enabled for the event data store. If termination protection is
* enabled, you cannot delete the event data store until termination protection is disabled.
*
*
* @param terminationProtectionEnabled
* Specifies whether termination protection is enabled for the event data store. If termination protection is
* enabled, you cannot delete the event data store until termination protection is disabled.
*/
public void setTerminationProtectionEnabled(Boolean terminationProtectionEnabled) {
this.terminationProtectionEnabled = terminationProtectionEnabled;
}
/**
*
* Specifies whether termination protection is enabled for the event data store. If termination protection is
* enabled, you cannot delete the event data store until termination protection is disabled.
*
*
* @return Specifies whether termination protection is enabled for the event data store. If termination protection
* is enabled, you cannot delete the event data store until termination protection is disabled.
*/
public Boolean getTerminationProtectionEnabled() {
return this.terminationProtectionEnabled;
}
/**
*
* Specifies whether termination protection is enabled for the event data store. If termination protection is
* enabled, you cannot delete the event data store until termination protection is disabled.
*
*
* @param terminationProtectionEnabled
* Specifies whether termination protection is enabled for the event data store. If termination protection is
* enabled, you cannot delete the event data store until termination protection is disabled.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withTerminationProtectionEnabled(Boolean terminationProtectionEnabled) {
setTerminationProtectionEnabled(terminationProtectionEnabled);
return this;
}
/**
*
* Specifies whether termination protection is enabled for the event data store. If termination protection is
* enabled, you cannot delete the event data store until termination protection is disabled.
*
*
* @return Specifies whether termination protection is enabled for the event data store. If termination protection
* is enabled, you cannot delete the event data store until termination protection is disabled.
*/
public Boolean isTerminationProtectionEnabled() {
return this.terminationProtectionEnabled;
}
/**
* @return
*/
public java.util.List getTagsList() {
if (tagsList == null) {
tagsList = new com.amazonaws.internal.SdkInternalList();
}
return tagsList;
}
/**
* @param tagsList
*/
public void setTagsList(java.util.Collection tagsList) {
if (tagsList == null) {
this.tagsList = null;
return;
}
this.tagsList = new com.amazonaws.internal.SdkInternalList(tagsList);
}
/**
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTagsList(java.util.Collection)} or {@link #withTagsList(java.util.Collection)} if you want to override
* the existing values.
*
*
* @param tagsList
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withTagsList(Tag... tagsList) {
if (this.tagsList == null) {
setTagsList(new com.amazonaws.internal.SdkInternalList(tagsList.length));
}
for (Tag ele : tagsList) {
this.tagsList.add(ele);
}
return this;
}
/**
* @param tagsList
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withTagsList(java.util.Collection tagsList) {
setTagsList(tagsList);
return this;
}
/**
*
* Specifies the KMS key ID to use to encrypt the events 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.
*
*
*
* Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from
* logging events to the event data store, and prevents users from querying the data in the event data store that
* was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed
* or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up
* your event data store.
*
*
*
* 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
*
*
*
*
* @param kmsKeyId
* Specifies the KMS key ID to use to encrypt the events 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.
*
* Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from
* logging events to the event data store, and prevents users from querying the data in the event data store
* that was encrypted with the key. After you associate an event data store with a KMS key, the KMS key
* cannot be removed or changed. Before you disable or delete a KMS key that you are using with an event data
* store, delete or back up your event data store.
*
*
*
* 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
*
*
*/
public void setKmsKeyId(String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
}
/**
*
* Specifies the KMS key ID to use to encrypt the events 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.
*
*
*
* Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from
* logging events to the event data store, and prevents users from querying the data in the event data store that
* was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed
* or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up
* your event data store.
*
*
*
* 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
*
*
*
*
* @return Specifies the KMS key ID to use to encrypt the events 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.
*
* Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail
* from logging events to the event data store, and prevents users from querying the data in the event data
* store that was encrypted with the key. After you associate an event data store with a KMS key, the KMS
* key cannot be removed or changed. Before you disable or delete a KMS key that you are using with an event
* data store, delete or back up your event data store.
*
*
*
* 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
*
*
*/
public String getKmsKeyId() {
return this.kmsKeyId;
}
/**
*
* Specifies the KMS key ID to use to encrypt the events 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.
*
*
*
* Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from
* logging events to the event data store, and prevents users from querying the data in the event data store that
* was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed
* or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up
* your event data store.
*
*
*
* 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
*
*
*
*
* @param kmsKeyId
* Specifies the KMS key ID to use to encrypt the events 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.
*
* Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from
* logging events to the event data store, and prevents users from querying the data in the event data store
* that was encrypted with the key. After you associate an event data store with a KMS key, the KMS key
* cannot be removed or changed. Before you disable or delete a KMS key that you are using with an event data
* store, delete or back up your event data store.
*
*
*
* 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
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withKmsKeyId(String kmsKeyId) {
setKmsKeyId(kmsKeyId);
return this;
}
/**
*
* Specifies whether the event data store should start ingesting live events. The default is true.
*
*
* @param startIngestion
* Specifies whether the event data store should start ingesting live events. The default is true.
*/
public void setStartIngestion(Boolean startIngestion) {
this.startIngestion = startIngestion;
}
/**
*
* Specifies whether the event data store should start ingesting live events. The default is true.
*
*
* @return Specifies whether the event data store should start ingesting live events. The default is true.
*/
public Boolean getStartIngestion() {
return this.startIngestion;
}
/**
*
* Specifies whether the event data store should start ingesting live events. The default is true.
*
*
* @param startIngestion
* Specifies whether the event data store should start ingesting live events. The default is true.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEventDataStoreRequest withStartIngestion(Boolean startIngestion) {
setStartIngestion(startIngestion);
return this;
}
/**
*
* Specifies whether the event data store should start ingesting live events. The default is true.
*
*
* @return Specifies whether the event data store should start ingesting live events. The default is true.
*/
public Boolean isStartIngestion() {
return this.startIngestion;
}
/**
*
* The billing mode for the event data store determines the cost for ingesting events and the default and maximum
* retention period for the event data store.
*
*
* The following are the possible values:
*
*
* -
*
* EXTENDABLE_RETENTION_PRICING
- This billing mode is generally recommended if you want a flexible
* retention period of up to 3653 days (about 10 years). The default retention period for this billing mode is 366
* days.
*
*
* -
*
* FIXED_RETENTION_PRICING
- This billing mode is recommended if you expect to ingest more than 25 TB
* of event data per month and need a retention period of up to 2557 days (about 7 years). The default retention
* period for this billing mode is 2557 days.
*
*
*
*
* The default value is EXTENDABLE_RETENTION_PRICING
.
*
*
* For more information about CloudTrail pricing, see CloudTrail
* Pricing and Managing
* CloudTrail Lake costs.
*
*
* @param billingMode
* The billing mode for the event data store determines the cost for ingesting events and the default and
* maximum retention period for the event data store.
*
* The following are the possible values:
*
*
* -
*
* EXTENDABLE_RETENTION_PRICING
- This billing mode is generally recommended if you want a
* flexible retention period of up to 3653 days (about 10 years). The default retention period for this
* billing mode is 366 days.
*
*
* -
*
* FIXED_RETENTION_PRICING
- This billing mode is recommended if you expect to ingest more than
* 25 TB of event data per month and need a retention period of up to 2557 days (about 7 years). The default
* retention period for this billing mode is 2557 days.
*
*
*
*
* The default value is EXTENDABLE_RETENTION_PRICING
.
*
*
* For more information about CloudTrail pricing, see CloudTrail Pricing and Managing CloudTrail Lake costs.
* @see BillingMode
*/
public void setBillingMode(String billingMode) {
this.billingMode = billingMode;
}
/**
*
* The billing mode for the event data store determines the cost for ingesting events and the default and maximum
* retention period for the event data store.
*
*
* The following are the possible values:
*
*
* -
*
* EXTENDABLE_RETENTION_PRICING
- This billing mode is generally recommended if you want a flexible
* retention period of up to 3653 days (about 10 years). The default retention period for this billing mode is 366
* days.
*
*
* -
*
* FIXED_RETENTION_PRICING
- This billing mode is recommended if you expect to ingest more than 25 TB
* of event data per month and need a retention period of up to 2557 days (about 7 years). The default retention
* period for this billing mode is 2557 days.
*
*
*
*
* The default value is EXTENDABLE_RETENTION_PRICING
.
*
*
* For more information about CloudTrail pricing, see CloudTrail
* Pricing and Managing
* CloudTrail Lake costs.
*
*
* @return The billing mode for the event data store determines the cost for ingesting events and the default and
* maximum retention period for the event data store.
*
* The following are the possible values:
*
*
* -
*
* EXTENDABLE_RETENTION_PRICING
- This billing mode is generally recommended if you want a
* flexible retention period of up to 3653 days (about 10 years). The default retention period for this
* billing mode is 366 days.
*
*
* -
*
* FIXED_RETENTION_PRICING
- This billing mode is recommended if you expect to ingest more than
* 25 TB of event data per month and need a retention period of up to 2557 days (about 7 years). The default
* retention period for this billing mode is 2557 days.
*
*
*
*
* The default value is EXTENDABLE_RETENTION_PRICING
.
*
*
* For more information about CloudTrail pricing, see CloudTrail Pricing and Managing CloudTrail Lake costs.
* @see BillingMode
*/
public String getBillingMode() {
return this.billingMode;
}
/**
*
* The billing mode for the event data store determines the cost for ingesting events and the default and maximum
* retention period for the event data store.
*
*
* The following are the possible values:
*
*
* -
*
* EXTENDABLE_RETENTION_PRICING
- This billing mode is generally recommended if you want a flexible
* retention period of up to 3653 days (about 10 years). The default retention period for this billing mode is 366
* days.
*
*
* -
*
* FIXED_RETENTION_PRICING
- This billing mode is recommended if you expect to ingest more than 25 TB
* of event data per month and need a retention period of up to 2557 days (about 7 years). The default retention
* period for this billing mode is 2557 days.
*
*
*
*
* The default value is EXTENDABLE_RETENTION_PRICING
.
*
*
* For more information about CloudTrail pricing, see CloudTrail
* Pricing and Managing
* CloudTrail Lake costs.
*
*
* @param billingMode
* The billing mode for the event data store determines the cost for ingesting events and the default and
* maximum retention period for the event data store.
*
* The following are the possible values:
*
*
* -
*
* EXTENDABLE_RETENTION_PRICING
- This billing mode is generally recommended if you want a
* flexible retention period of up to 3653 days (about 10 years). The default retention period for this
* billing mode is 366 days.
*
*
* -
*
* FIXED_RETENTION_PRICING
- This billing mode is recommended if you expect to ingest more than
* 25 TB of event data per month and need a retention period of up to 2557 days (about 7 years). The default
* retention period for this billing mode is 2557 days.
*
*
*
*
* The default value is EXTENDABLE_RETENTION_PRICING
.
*
*
* For more information about CloudTrail pricing, see CloudTrail Pricing and Managing CloudTrail Lake costs.
* @return Returns a reference to this object so that method calls can be chained together.
* @see BillingMode
*/
public CreateEventDataStoreRequest withBillingMode(String billingMode) {
setBillingMode(billingMode);
return this;
}
/**
*
* The billing mode for the event data store determines the cost for ingesting events and the default and maximum
* retention period for the event data store.
*
*
* The following are the possible values:
*
*
* -
*
* EXTENDABLE_RETENTION_PRICING
- This billing mode is generally recommended if you want a flexible
* retention period of up to 3653 days (about 10 years). The default retention period for this billing mode is 366
* days.
*
*
* -
*
* FIXED_RETENTION_PRICING
- This billing mode is recommended if you expect to ingest more than 25 TB
* of event data per month and need a retention period of up to 2557 days (about 7 years). The default retention
* period for this billing mode is 2557 days.
*
*
*
*
* The default value is EXTENDABLE_RETENTION_PRICING
.
*
*
* For more information about CloudTrail pricing, see CloudTrail
* Pricing and Managing
* CloudTrail Lake costs.
*
*
* @param billingMode
* The billing mode for the event data store determines the cost for ingesting events and the default and
* maximum retention period for the event data store.
*
* The following are the possible values:
*
*
* -
*
* EXTENDABLE_RETENTION_PRICING
- This billing mode is generally recommended if you want a
* flexible retention period of up to 3653 days (about 10 years). The default retention period for this
* billing mode is 366 days.
*
*
* -
*
* FIXED_RETENTION_PRICING
- This billing mode is recommended if you expect to ingest more than
* 25 TB of event data per month and need a retention period of up to 2557 days (about 7 years). The default
* retention period for this billing mode is 2557 days.
*
*
*
*
* The default value is EXTENDABLE_RETENTION_PRICING
.
*
*
* For more information about CloudTrail pricing, see CloudTrail Pricing and Managing CloudTrail Lake costs.
* @return Returns a reference to this object so that method calls can be chained together.
* @see BillingMode
*/
public CreateEventDataStoreRequest withBillingMode(BillingMode billingMode) {
this.billingMode = billingMode.toString();
return this;
}
/**
* 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 (getAdvancedEventSelectors() != null)
sb.append("AdvancedEventSelectors: ").append(getAdvancedEventSelectors()).append(",");
if (getMultiRegionEnabled() != null)
sb.append("MultiRegionEnabled: ").append(getMultiRegionEnabled()).append(",");
if (getOrganizationEnabled() != null)
sb.append("OrganizationEnabled: ").append(getOrganizationEnabled()).append(",");
if (getRetentionPeriod() != null)
sb.append("RetentionPeriod: ").append(getRetentionPeriod()).append(",");
if (getTerminationProtectionEnabled() != null)
sb.append("TerminationProtectionEnabled: ").append(getTerminationProtectionEnabled()).append(",");
if (getTagsList() != null)
sb.append("TagsList: ").append(getTagsList()).append(",");
if (getKmsKeyId() != null)
sb.append("KmsKeyId: ").append(getKmsKeyId()).append(",");
if (getStartIngestion() != null)
sb.append("StartIngestion: ").append(getStartIngestion()).append(",");
if (getBillingMode() != null)
sb.append("BillingMode: ").append(getBillingMode());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateEventDataStoreRequest == false)
return false;
CreateEventDataStoreRequest other = (CreateEventDataStoreRequest) obj;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == false)
return false;
if (other.getAdvancedEventSelectors() == null ^ this.getAdvancedEventSelectors() == null)
return false;
if (other.getAdvancedEventSelectors() != null && other.getAdvancedEventSelectors().equals(this.getAdvancedEventSelectors()) == false)
return false;
if (other.getMultiRegionEnabled() == null ^ this.getMultiRegionEnabled() == null)
return false;
if (other.getMultiRegionEnabled() != null && other.getMultiRegionEnabled().equals(this.getMultiRegionEnabled()) == false)
return false;
if (other.getOrganizationEnabled() == null ^ this.getOrganizationEnabled() == null)
return false;
if (other.getOrganizationEnabled() != null && other.getOrganizationEnabled().equals(this.getOrganizationEnabled()) == false)
return false;
if (other.getRetentionPeriod() == null ^ this.getRetentionPeriod() == null)
return false;
if (other.getRetentionPeriod() != null && other.getRetentionPeriod().equals(this.getRetentionPeriod()) == false)
return false;
if (other.getTerminationProtectionEnabled() == null ^ this.getTerminationProtectionEnabled() == null)
return false;
if (other.getTerminationProtectionEnabled() != null && other.getTerminationProtectionEnabled().equals(this.getTerminationProtectionEnabled()) == false)
return false;
if (other.getTagsList() == null ^ this.getTagsList() == null)
return false;
if (other.getTagsList() != null && other.getTagsList().equals(this.getTagsList()) == 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.getStartIngestion() == null ^ this.getStartIngestion() == null)
return false;
if (other.getStartIngestion() != null && other.getStartIngestion().equals(this.getStartIngestion()) == false)
return false;
if (other.getBillingMode() == null ^ this.getBillingMode() == null)
return false;
if (other.getBillingMode() != null && other.getBillingMode().equals(this.getBillingMode()) == 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 + ((getAdvancedEventSelectors() == null) ? 0 : getAdvancedEventSelectors().hashCode());
hashCode = prime * hashCode + ((getMultiRegionEnabled() == null) ? 0 : getMultiRegionEnabled().hashCode());
hashCode = prime * hashCode + ((getOrganizationEnabled() == null) ? 0 : getOrganizationEnabled().hashCode());
hashCode = prime * hashCode + ((getRetentionPeriod() == null) ? 0 : getRetentionPeriod().hashCode());
hashCode = prime * hashCode + ((getTerminationProtectionEnabled() == null) ? 0 : getTerminationProtectionEnabled().hashCode());
hashCode = prime * hashCode + ((getTagsList() == null) ? 0 : getTagsList().hashCode());
hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode());
hashCode = prime * hashCode + ((getStartIngestion() == null) ? 0 : getStartIngestion().hashCode());
hashCode = prime * hashCode + ((getBillingMode() == null) ? 0 : getBillingMode().hashCode());
return hashCode;
}
@Override
public CreateEventDataStoreRequest clone() {
return (CreateEventDataStoreRequest) super.clone();
}
}