
com.pulumi.awsnative.cloudtrail.kotlin.outputs.TrailEventSelector.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.cloudtrail.kotlin.outputs
import com.pulumi.awsnative.cloudtrail.kotlin.enums.TrailEventSelectorReadWriteType
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
* The type of email sending events to publish to the event destination.
* @property dataResources CloudTrail supports data event logging for Amazon S3 objects in standard S3 buckets, AWS Lambda functions, and Amazon DynamoDB tables with basic event selectors. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.
* For more information, see [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) and [Limits in AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) in the *AWS CloudTrail User Guide* .
* > To log data events for all other resource types including objects stored in [directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) , you must use [AdvancedEventSelectors](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html) . You must also use `AdvancedEventSelectors` if you want to filter on the `eventName` field.
* @property excludeManagementEventSources An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing "kms.amazonaws.com". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.
* @property includeManagementEvents Specify if you want your event selector to include management events for your trail.
* @property readWriteType Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.
*/
public data class TrailEventSelector(
public val dataResources: List? = null,
public val excludeManagementEventSources: List? = null,
public val includeManagementEvents: Boolean? = null,
public val readWriteType: TrailEventSelectorReadWriteType? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.cloudtrail.outputs.TrailEventSelector): TrailEventSelector = TrailEventSelector(
dataResources = javaType.dataResources().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.cloudtrail.kotlin.outputs.TrailDataResource.Companion.toKotlin(args0)
})
}),
excludeManagementEventSources = javaType.excludeManagementEventSources().map({ args0 -> args0 }),
includeManagementEvents = javaType.includeManagementEvents().map({ args0 -> args0 }).orElse(null),
readWriteType = javaType.readWriteType().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.cloudtrail.kotlin.enums.TrailEventSelectorReadWriteType.Companion.toKotlin(args0)
})
}).orElse(null),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy