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

com.pulumi.azurenative.kusto.EventHubDataConnectionArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** 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.kusto;

import com.pulumi.azurenative.kusto.enums.Compression;
import com.pulumi.azurenative.kusto.enums.DatabaseRouting;
import com.pulumi.azurenative.kusto.enums.EventHubDataFormat;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class EventHubDataConnectionArgs extends com.pulumi.resources.ResourceArgs {

    public static final EventHubDataConnectionArgs Empty = new EventHubDataConnectionArgs();

    /**
     * The name of the Kusto cluster.
     * 
     */
    @Import(name="clusterName", required=true)
    private Output clusterName;

    /**
     * @return The name of the Kusto cluster.
     * 
     */
    public Output clusterName() {
        return this.clusterName;
    }

    /**
     * The event hub messages compression type
     * 
     */
    @Import(name="compression")
    private @Nullable Output> compression;

    /**
     * @return The event hub messages compression type
     * 
     */
    public Optional>> compression() {
        return Optional.ofNullable(this.compression);
    }

    /**
     * The event hub consumer group.
     * 
     */
    @Import(name="consumerGroup", required=true)
    private Output consumerGroup;

    /**
     * @return The event hub consumer group.
     * 
     */
    public Output consumerGroup() {
        return this.consumerGroup;
    }

    /**
     * The name of the data connection.
     * 
     */
    @Import(name="dataConnectionName")
    private @Nullable Output dataConnectionName;

    /**
     * @return The name of the data connection.
     * 
     */
    public Optional> dataConnectionName() {
        return Optional.ofNullable(this.dataConnectionName);
    }

    /**
     * The data format of the message. Optionally the data format can be added to each message.
     * 
     */
    @Import(name="dataFormat")
    private @Nullable Output> dataFormat;

    /**
     * @return The data format of the message. Optionally the data format can be added to each message.
     * 
     */
    public Optional>> dataFormat() {
        return Optional.ofNullable(this.dataFormat);
    }

    /**
     * The name of the database in the Kusto cluster.
     * 
     */
    @Import(name="databaseName", required=true)
    private Output databaseName;

    /**
     * @return The name of the database in the Kusto cluster.
     * 
     */
    public Output databaseName() {
        return this.databaseName;
    }

    /**
     * Indication for database routing information from the data connection, by default only database routing information is allowed
     * 
     */
    @Import(name="databaseRouting")
    private @Nullable Output> databaseRouting;

    /**
     * @return Indication for database routing information from the data connection, by default only database routing information is allowed
     * 
     */
    public Optional>> databaseRouting() {
        return Optional.ofNullable(this.databaseRouting);
    }

    /**
     * The resource ID of the event hub to be used to create a data connection.
     * 
     */
    @Import(name="eventHubResourceId", required=true)
    private Output eventHubResourceId;

    /**
     * @return The resource ID of the event hub to be used to create a data connection.
     * 
     */
    public Output eventHubResourceId() {
        return this.eventHubResourceId;
    }

    /**
     * System properties of the event hub
     * 
     */
    @Import(name="eventSystemProperties")
    private @Nullable Output> eventSystemProperties;

    /**
     * @return System properties of the event hub
     * 
     */
    public Optional>> eventSystemProperties() {
        return Optional.ofNullable(this.eventSystemProperties);
    }

    /**
     * Kind of the endpoint for the data connection
     * Expected value is 'EventHub'.
     * 
     */
    @Import(name="kind", required=true)
    private Output kind;

    /**
     * @return Kind of the endpoint for the data connection
     * Expected value is 'EventHub'.
     * 
     */
    public Output kind() {
        return this.kind;
    }

    /**
     * Resource location.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Resource location.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
     * 
     */
    @Import(name="managedIdentityResourceId")
    private @Nullable Output managedIdentityResourceId;

    /**
     * @return The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
     * 
     */
    public Optional> managedIdentityResourceId() {
        return Optional.ofNullable(this.managedIdentityResourceId);
    }

    /**
     * The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message.
     * 
     */
    @Import(name="mappingRuleName")
    private @Nullable Output mappingRuleName;

    /**
     * @return The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message.
     * 
     */
    public Optional> mappingRuleName() {
        return Optional.ofNullable(this.mappingRuleName);
    }

    /**
     * The name of the resource group containing the Kusto cluster.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group containing the Kusto cluster.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * When defined, the data connection retrieves existing Event hub events created since the Retrieval start date. It can only retrieve events retained by the Event hub, based on its retention period.
     * 
     */
    @Import(name="retrievalStartDate")
    private @Nullable Output retrievalStartDate;

    /**
     * @return When defined, the data connection retrieves existing Event hub events created since the Retrieval start date. It can only retrieve events retained by the Event hub, based on its retention period.
     * 
     */
    public Optional> retrievalStartDate() {
        return Optional.ofNullable(this.retrievalStartDate);
    }

    /**
     * The table where the data should be ingested. Optionally the table information can be added to each message.
     * 
     */
    @Import(name="tableName")
    private @Nullable Output tableName;

    /**
     * @return The table where the data should be ingested. Optionally the table information can be added to each message.
     * 
     */
    public Optional> tableName() {
        return Optional.ofNullable(this.tableName);
    }

    private EventHubDataConnectionArgs() {}

    private EventHubDataConnectionArgs(EventHubDataConnectionArgs $) {
        this.clusterName = $.clusterName;
        this.compression = $.compression;
        this.consumerGroup = $.consumerGroup;
        this.dataConnectionName = $.dataConnectionName;
        this.dataFormat = $.dataFormat;
        this.databaseName = $.databaseName;
        this.databaseRouting = $.databaseRouting;
        this.eventHubResourceId = $.eventHubResourceId;
        this.eventSystemProperties = $.eventSystemProperties;
        this.kind = $.kind;
        this.location = $.location;
        this.managedIdentityResourceId = $.managedIdentityResourceId;
        this.mappingRuleName = $.mappingRuleName;
        this.resourceGroupName = $.resourceGroupName;
        this.retrievalStartDate = $.retrievalStartDate;
        this.tableName = $.tableName;
    }

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

    public static final class Builder {
        private EventHubDataConnectionArgs $;

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

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

        /**
         * @param clusterName The name of the Kusto cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(Output clusterName) {
            $.clusterName = clusterName;
            return this;
        }

        /**
         * @param clusterName The name of the Kusto cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(String clusterName) {
            return clusterName(Output.of(clusterName));
        }

        /**
         * @param compression The event hub messages compression type
         * 
         * @return builder
         * 
         */
        public Builder compression(@Nullable Output> compression) {
            $.compression = compression;
            return this;
        }

        /**
         * @param compression The event hub messages compression type
         * 
         * @return builder
         * 
         */
        public Builder compression(Either compression) {
            return compression(Output.of(compression));
        }

        /**
         * @param compression The event hub messages compression type
         * 
         * @return builder
         * 
         */
        public Builder compression(String compression) {
            return compression(Either.ofLeft(compression));
        }

        /**
         * @param compression The event hub messages compression type
         * 
         * @return builder
         * 
         */
        public Builder compression(Compression compression) {
            return compression(Either.ofRight(compression));
        }

        /**
         * @param consumerGroup The event hub consumer group.
         * 
         * @return builder
         * 
         */
        public Builder consumerGroup(Output consumerGroup) {
            $.consumerGroup = consumerGroup;
            return this;
        }

        /**
         * @param consumerGroup The event hub consumer group.
         * 
         * @return builder
         * 
         */
        public Builder consumerGroup(String consumerGroup) {
            return consumerGroup(Output.of(consumerGroup));
        }

        /**
         * @param dataConnectionName The name of the data connection.
         * 
         * @return builder
         * 
         */
        public Builder dataConnectionName(@Nullable Output dataConnectionName) {
            $.dataConnectionName = dataConnectionName;
            return this;
        }

        /**
         * @param dataConnectionName The name of the data connection.
         * 
         * @return builder
         * 
         */
        public Builder dataConnectionName(String dataConnectionName) {
            return dataConnectionName(Output.of(dataConnectionName));
        }

        /**
         * @param dataFormat The data format of the message. Optionally the data format can be added to each message.
         * 
         * @return builder
         * 
         */
        public Builder dataFormat(@Nullable Output> dataFormat) {
            $.dataFormat = dataFormat;
            return this;
        }

        /**
         * @param dataFormat The data format of the message. Optionally the data format can be added to each message.
         * 
         * @return builder
         * 
         */
        public Builder dataFormat(Either dataFormat) {
            return dataFormat(Output.of(dataFormat));
        }

        /**
         * @param dataFormat The data format of the message. Optionally the data format can be added to each message.
         * 
         * @return builder
         * 
         */
        public Builder dataFormat(String dataFormat) {
            return dataFormat(Either.ofLeft(dataFormat));
        }

        /**
         * @param dataFormat The data format of the message. Optionally the data format can be added to each message.
         * 
         * @return builder
         * 
         */
        public Builder dataFormat(EventHubDataFormat dataFormat) {
            return dataFormat(Either.ofRight(dataFormat));
        }

        /**
         * @param databaseName The name of the database in the Kusto cluster.
         * 
         * @return builder
         * 
         */
        public Builder databaseName(Output databaseName) {
            $.databaseName = databaseName;
            return this;
        }

        /**
         * @param databaseName The name of the database in the Kusto cluster.
         * 
         * @return builder
         * 
         */
        public Builder databaseName(String databaseName) {
            return databaseName(Output.of(databaseName));
        }

        /**
         * @param databaseRouting Indication for database routing information from the data connection, by default only database routing information is allowed
         * 
         * @return builder
         * 
         */
        public Builder databaseRouting(@Nullable Output> databaseRouting) {
            $.databaseRouting = databaseRouting;
            return this;
        }

        /**
         * @param databaseRouting Indication for database routing information from the data connection, by default only database routing information is allowed
         * 
         * @return builder
         * 
         */
        public Builder databaseRouting(Either databaseRouting) {
            return databaseRouting(Output.of(databaseRouting));
        }

        /**
         * @param databaseRouting Indication for database routing information from the data connection, by default only database routing information is allowed
         * 
         * @return builder
         * 
         */
        public Builder databaseRouting(String databaseRouting) {
            return databaseRouting(Either.ofLeft(databaseRouting));
        }

        /**
         * @param databaseRouting Indication for database routing information from the data connection, by default only database routing information is allowed
         * 
         * @return builder
         * 
         */
        public Builder databaseRouting(DatabaseRouting databaseRouting) {
            return databaseRouting(Either.ofRight(databaseRouting));
        }

        /**
         * @param eventHubResourceId The resource ID of the event hub to be used to create a data connection.
         * 
         * @return builder
         * 
         */
        public Builder eventHubResourceId(Output eventHubResourceId) {
            $.eventHubResourceId = eventHubResourceId;
            return this;
        }

        /**
         * @param eventHubResourceId The resource ID of the event hub to be used to create a data connection.
         * 
         * @return builder
         * 
         */
        public Builder eventHubResourceId(String eventHubResourceId) {
            return eventHubResourceId(Output.of(eventHubResourceId));
        }

        /**
         * @param eventSystemProperties System properties of the event hub
         * 
         * @return builder
         * 
         */
        public Builder eventSystemProperties(@Nullable Output> eventSystemProperties) {
            $.eventSystemProperties = eventSystemProperties;
            return this;
        }

        /**
         * @param eventSystemProperties System properties of the event hub
         * 
         * @return builder
         * 
         */
        public Builder eventSystemProperties(List eventSystemProperties) {
            return eventSystemProperties(Output.of(eventSystemProperties));
        }

        /**
         * @param eventSystemProperties System properties of the event hub
         * 
         * @return builder
         * 
         */
        public Builder eventSystemProperties(String... eventSystemProperties) {
            return eventSystemProperties(List.of(eventSystemProperties));
        }

        /**
         * @param kind Kind of the endpoint for the data connection
         * Expected value is 'EventHub'.
         * 
         * @return builder
         * 
         */
        public Builder kind(Output kind) {
            $.kind = kind;
            return this;
        }

        /**
         * @param kind Kind of the endpoint for the data connection
         * Expected value is 'EventHub'.
         * 
         * @return builder
         * 
         */
        public Builder kind(String kind) {
            return kind(Output.of(kind));
        }

        /**
         * @param location Resource location.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Resource location.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param managedIdentityResourceId The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
         * 
         * @return builder
         * 
         */
        public Builder managedIdentityResourceId(@Nullable Output managedIdentityResourceId) {
            $.managedIdentityResourceId = managedIdentityResourceId;
            return this;
        }

        /**
         * @param managedIdentityResourceId The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
         * 
         * @return builder
         * 
         */
        public Builder managedIdentityResourceId(String managedIdentityResourceId) {
            return managedIdentityResourceId(Output.of(managedIdentityResourceId));
        }

        /**
         * @param mappingRuleName The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message.
         * 
         * @return builder
         * 
         */
        public Builder mappingRuleName(@Nullable Output mappingRuleName) {
            $.mappingRuleName = mappingRuleName;
            return this;
        }

        /**
         * @param mappingRuleName The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message.
         * 
         * @return builder
         * 
         */
        public Builder mappingRuleName(String mappingRuleName) {
            return mappingRuleName(Output.of(mappingRuleName));
        }

        /**
         * @param resourceGroupName The name of the resource group containing the Kusto cluster.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group containing the Kusto cluster.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param retrievalStartDate When defined, the data connection retrieves existing Event hub events created since the Retrieval start date. It can only retrieve events retained by the Event hub, based on its retention period.
         * 
         * @return builder
         * 
         */
        public Builder retrievalStartDate(@Nullable Output retrievalStartDate) {
            $.retrievalStartDate = retrievalStartDate;
            return this;
        }

        /**
         * @param retrievalStartDate When defined, the data connection retrieves existing Event hub events created since the Retrieval start date. It can only retrieve events retained by the Event hub, based on its retention period.
         * 
         * @return builder
         * 
         */
        public Builder retrievalStartDate(String retrievalStartDate) {
            return retrievalStartDate(Output.of(retrievalStartDate));
        }

        /**
         * @param tableName The table where the data should be ingested. Optionally the table information can be added to each message.
         * 
         * @return builder
         * 
         */
        public Builder tableName(@Nullable Output tableName) {
            $.tableName = tableName;
            return this;
        }

        /**
         * @param tableName The table where the data should be ingested. Optionally the table information can be added to each message.
         * 
         * @return builder
         * 
         */
        public Builder tableName(String tableName) {
            return tableName(Output.of(tableName));
        }

        public EventHubDataConnectionArgs build() {
            if ($.clusterName == null) {
                throw new MissingRequiredPropertyException("EventHubDataConnectionArgs", "clusterName");
            }
            if ($.consumerGroup == null) {
                throw new MissingRequiredPropertyException("EventHubDataConnectionArgs", "consumerGroup");
            }
            if ($.databaseName == null) {
                throw new MissingRequiredPropertyException("EventHubDataConnectionArgs", "databaseName");
            }
            $.databaseRouting = Codegen.stringProp("databaseRouting").left(DatabaseRouting.class).output().arg($.databaseRouting).def("Single").getNullable();
            if ($.eventHubResourceId == null) {
                throw new MissingRequiredPropertyException("EventHubDataConnectionArgs", "eventHubResourceId");
            }
            $.kind = Codegen.stringProp("kind").output().arg($.kind).require();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("EventHubDataConnectionArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy