All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.awsconnector.inputs.EventSelectorArgs Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.awsconnector.inputs;

import com.pulumi.azurenative.awsconnector.enums.EventSelectorReadWriteType;
import com.pulumi.azurenative.awsconnector.inputs.DataResourceArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of EventSelector
 * 
 */
public final class EventSelectorArgs extends com.pulumi.resources.ResourceArgs {

    public static final EventSelectorArgs Empty = new EventSelectorArgs();

    /**
     * Property dataResources
     * 
     */
    @Import(name="dataResources")
    private @Nullable Output> dataResources;

    /**
     * @return Property dataResources
     * 
     */
    public Optional>> dataResources() {
        return Optional.ofNullable(this.dataResources);
    }

    /**
     * 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.
     * 
     */
    @Import(name="excludeManagementEventSources")
    private @Nullable Output> excludeManagementEventSources;

    /**
     * @return 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.
     * 
     */
    public Optional>> excludeManagementEventSources() {
        return Optional.ofNullable(this.excludeManagementEventSources);
    }

    /**
     * Specify if you want your event selector to include management events for your trail.
     * 
     */
    @Import(name="includeManagementEvents")
    private @Nullable Output includeManagementEvents;

    /**
     * @return Specify if you want your event selector to include management events for your trail.
     * 
     */
    public Optional> includeManagementEvents() {
        return Optional.ofNullable(this.includeManagementEvents);
    }

    /**
     * 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.
     * 
     */
    @Import(name="readWriteType")
    private @Nullable Output> readWriteType;

    /**
     * @return 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 Optional>> readWriteType() {
        return Optional.ofNullable(this.readWriteType);
    }

    private EventSelectorArgs() {}

    private EventSelectorArgs(EventSelectorArgs $) {
        this.dataResources = $.dataResources;
        this.excludeManagementEventSources = $.excludeManagementEventSources;
        this.includeManagementEvents = $.includeManagementEvents;
        this.readWriteType = $.readWriteType;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(EventSelectorArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private EventSelectorArgs $;

        public Builder() {
            $ = new EventSelectorArgs();
        }

        public Builder(EventSelectorArgs defaults) {
            $ = new EventSelectorArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param dataResources Property dataResources
         * 
         * @return builder
         * 
         */
        public Builder dataResources(@Nullable Output> dataResources) {
            $.dataResources = dataResources;
            return this;
        }

        /**
         * @param dataResources Property dataResources
         * 
         * @return builder
         * 
         */
        public Builder dataResources(List dataResources) {
            return dataResources(Output.of(dataResources));
        }

        /**
         * @param dataResources Property dataResources
         * 
         * @return builder
         * 
         */
        public Builder dataResources(DataResourceArgs... dataResources) {
            return dataResources(List.of(dataResources));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder excludeManagementEventSources(@Nullable Output> excludeManagementEventSources) {
            $.excludeManagementEventSources = excludeManagementEventSources;
            return this;
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder excludeManagementEventSources(List excludeManagementEventSources) {
            return excludeManagementEventSources(Output.of(excludeManagementEventSources));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder excludeManagementEventSources(String... excludeManagementEventSources) {
            return excludeManagementEventSources(List.of(excludeManagementEventSources));
        }

        /**
         * @param includeManagementEvents Specify if you want your event selector to include management events for your trail.
         * 
         * @return builder
         * 
         */
        public Builder includeManagementEvents(@Nullable Output includeManagementEvents) {
            $.includeManagementEvents = includeManagementEvents;
            return this;
        }

        /**
         * @param includeManagementEvents Specify if you want your event selector to include management events for your trail.
         * 
         * @return builder
         * 
         */
        public Builder includeManagementEvents(Boolean includeManagementEvents) {
            return includeManagementEvents(Output.of(includeManagementEvents));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder readWriteType(@Nullable Output> readWriteType) {
            $.readWriteType = readWriteType;
            return this;
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder readWriteType(Either readWriteType) {
            return readWriteType(Output.of(readWriteType));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder readWriteType(String readWriteType) {
            return readWriteType(Either.ofLeft(readWriteType));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder readWriteType(EventSelectorReadWriteType readWriteType) {
            return readWriteType(Either.ofRight(readWriteType));
        }

        public EventSelectorArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy