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

com.pulumi.azurenative.timeseriesinsights.EventHubEventSourceArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.timeseriesinsights;

import com.pulumi.azurenative.timeseriesinsights.enums.IngressStartAtType;
import com.pulumi.azurenative.timeseriesinsights.inputs.LocalTimestampArgs;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final EventHubEventSourceArgs Empty = new EventHubEventSourceArgs();

    /**
     * The name of the event hub's consumer group that holds the partitions from which events will be read.
     * 
     */
    @Import(name="consumerGroupName", required=true)
    private Output consumerGroupName;

    /**
     * @return The name of the event hub's consumer group that holds the partitions from which events will be read.
     * 
     */
    public Output consumerGroupName() {
        return this.consumerGroupName;
    }

    /**
     * The name of the Time Series Insights environment associated with the specified resource group.
     * 
     */
    @Import(name="environmentName", required=true)
    private Output environmentName;

    /**
     * @return The name of the Time Series Insights environment associated with the specified resource group.
     * 
     */
    public Output environmentName() {
        return this.environmentName;
    }

    /**
     * The name of the event hub.
     * 
     */
    @Import(name="eventHubName", required=true)
    private Output eventHubName;

    /**
     * @return The name of the event hub.
     * 
     */
    public Output eventHubName() {
        return this.eventHubName;
    }

    /**
     * Name of the event source.
     * 
     */
    @Import(name="eventSourceName")
    private @Nullable Output eventSourceName;

    /**
     * @return Name of the event source.
     * 
     */
    public Optional> eventSourceName() {
        return Optional.ofNullable(this.eventSourceName);
    }

    /**
     * The resource id of the event source in Azure Resource Manager.
     * 
     */
    @Import(name="eventSourceResourceId", required=true)
    private Output eventSourceResourceId;

    /**
     * @return The resource id of the event source in Azure Resource Manager.
     * 
     */
    public Output eventSourceResourceId() {
        return this.eventSourceResourceId;
    }

    /**
     * The name of the SAS key that grants the Time Series Insights service access to the event hub. The shared access policies for this key must grant 'Listen' permissions to the event hub.
     * 
     */
    @Import(name="keyName", required=true)
    private Output keyName;

    /**
     * @return The name of the SAS key that grants the Time Series Insights service access to the event hub. The shared access policies for this key must grant 'Listen' permissions to the event hub.
     * 
     */
    public Output keyName() {
        return this.keyName;
    }

    /**
     * The kind of the event source.
     * Expected value is 'Microsoft.EventHub'.
     * 
     */
    @Import(name="kind", required=true)
    private Output kind;

    /**
     * @return The kind of the event source.
     * Expected value is 'Microsoft.EventHub'.
     * 
     */
    public Output kind() {
        return this.kind;
    }

    /**
     * An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events.
     * 
     */
    @Import(name="localTimestamp")
    private @Nullable Output localTimestamp;

    /**
     * @return An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events.
     * 
     */
    public Optional> localTimestamp() {
        return Optional.ofNullable(this.localTimestamp);
    }

    /**
     * The location of the resource.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The location of the resource.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Name of an Azure Resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Name of an Azure Resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The name of the service bus that contains the event hub.
     * 
     */
    @Import(name="serviceBusNamespace", required=true)
    private Output serviceBusNamespace;

    /**
     * @return The name of the service bus that contains the event hub.
     * 
     */
    public Output serviceBusNamespace() {
        return this.serviceBusNamespace;
    }

    /**
     * The value of the shared access key that grants the Time Series Insights service read access to the event hub. This property is not shown in event source responses.
     * 
     */
    @Import(name="sharedAccessKey", required=true)
    private Output sharedAccessKey;

    /**
     * @return The value of the shared access key that grants the Time Series Insights service read access to the event hub. This property is not shown in event source responses.
     * 
     */
    public Output sharedAccessKey() {
        return this.sharedAccessKey;
    }

    /**
     * Key-value pairs of additional properties for the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value pairs of additional properties for the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * ISO8601 UTC datetime with seconds precision (milliseconds are optional), specifying the date and time that will be the starting point for Events to be consumed.
     * 
     */
    @Import(name="time")
    private @Nullable Output time;

    /**
     * @return ISO8601 UTC datetime with seconds precision (milliseconds are optional), specifying the date and time that will be the starting point for Events to be consumed.
     * 
     */
    public Optional> time() {
        return Optional.ofNullable(this.time);
    }

    /**
     * The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used.
     * 
     */
    @Import(name="timestampPropertyName")
    private @Nullable Output timestampPropertyName;

    /**
     * @return The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used.
     * 
     */
    public Optional> timestampPropertyName() {
        return Optional.ofNullable(this.timestampPropertyName);
    }

    /**
     * The type of the ingressStartAt, It can be "EarliestAvailable", "EventSourceCreationTime", "CustomEnqueuedTime".
     * 
     */
    @Import(name="type")
    private @Nullable Output> type;

    /**
     * @return The type of the ingressStartAt, It can be "EarliestAvailable", "EventSourceCreationTime", "CustomEnqueuedTime".
     * 
     */
    public Optional>> type() {
        return Optional.ofNullable(this.type);
    }

    private EventHubEventSourceArgs() {}

    private EventHubEventSourceArgs(EventHubEventSourceArgs $) {
        this.consumerGroupName = $.consumerGroupName;
        this.environmentName = $.environmentName;
        this.eventHubName = $.eventHubName;
        this.eventSourceName = $.eventSourceName;
        this.eventSourceResourceId = $.eventSourceResourceId;
        this.keyName = $.keyName;
        this.kind = $.kind;
        this.localTimestamp = $.localTimestamp;
        this.location = $.location;
        this.resourceGroupName = $.resourceGroupName;
        this.serviceBusNamespace = $.serviceBusNamespace;
        this.sharedAccessKey = $.sharedAccessKey;
        this.tags = $.tags;
        this.time = $.time;
        this.timestampPropertyName = $.timestampPropertyName;
        this.type = $.type;
    }

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

    public static final class Builder {
        private EventHubEventSourceArgs $;

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

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

        /**
         * @param consumerGroupName The name of the event hub's consumer group that holds the partitions from which events will be read.
         * 
         * @return builder
         * 
         */
        public Builder consumerGroupName(Output consumerGroupName) {
            $.consumerGroupName = consumerGroupName;
            return this;
        }

        /**
         * @param consumerGroupName The name of the event hub's consumer group that holds the partitions from which events will be read.
         * 
         * @return builder
         * 
         */
        public Builder consumerGroupName(String consumerGroupName) {
            return consumerGroupName(Output.of(consumerGroupName));
        }

        /**
         * @param environmentName The name of the Time Series Insights environment associated with the specified resource group.
         * 
         * @return builder
         * 
         */
        public Builder environmentName(Output environmentName) {
            $.environmentName = environmentName;
            return this;
        }

        /**
         * @param environmentName The name of the Time Series Insights environment associated with the specified resource group.
         * 
         * @return builder
         * 
         */
        public Builder environmentName(String environmentName) {
            return environmentName(Output.of(environmentName));
        }

        /**
         * @param eventHubName The name of the event hub.
         * 
         * @return builder
         * 
         */
        public Builder eventHubName(Output eventHubName) {
            $.eventHubName = eventHubName;
            return this;
        }

        /**
         * @param eventHubName The name of the event hub.
         * 
         * @return builder
         * 
         */
        public Builder eventHubName(String eventHubName) {
            return eventHubName(Output.of(eventHubName));
        }

        /**
         * @param eventSourceName Name of the event source.
         * 
         * @return builder
         * 
         */
        public Builder eventSourceName(@Nullable Output eventSourceName) {
            $.eventSourceName = eventSourceName;
            return this;
        }

        /**
         * @param eventSourceName Name of the event source.
         * 
         * @return builder
         * 
         */
        public Builder eventSourceName(String eventSourceName) {
            return eventSourceName(Output.of(eventSourceName));
        }

        /**
         * @param eventSourceResourceId The resource id of the event source in Azure Resource Manager.
         * 
         * @return builder
         * 
         */
        public Builder eventSourceResourceId(Output eventSourceResourceId) {
            $.eventSourceResourceId = eventSourceResourceId;
            return this;
        }

        /**
         * @param eventSourceResourceId The resource id of the event source in Azure Resource Manager.
         * 
         * @return builder
         * 
         */
        public Builder eventSourceResourceId(String eventSourceResourceId) {
            return eventSourceResourceId(Output.of(eventSourceResourceId));
        }

        /**
         * @param keyName The name of the SAS key that grants the Time Series Insights service access to the event hub. The shared access policies for this key must grant 'Listen' permissions to the event hub.
         * 
         * @return builder
         * 
         */
        public Builder keyName(Output keyName) {
            $.keyName = keyName;
            return this;
        }

        /**
         * @param keyName The name of the SAS key that grants the Time Series Insights service access to the event hub. The shared access policies for this key must grant 'Listen' permissions to the event hub.
         * 
         * @return builder
         * 
         */
        public Builder keyName(String keyName) {
            return keyName(Output.of(keyName));
        }

        /**
         * @param kind The kind of the event source.
         * Expected value is 'Microsoft.EventHub'.
         * 
         * @return builder
         * 
         */
        public Builder kind(Output kind) {
            $.kind = kind;
            return this;
        }

        /**
         * @param kind The kind of the event source.
         * Expected value is 'Microsoft.EventHub'.
         * 
         * @return builder
         * 
         */
        public Builder kind(String kind) {
            return kind(Output.of(kind));
        }

        /**
         * @param localTimestamp An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events.
         * 
         * @return builder
         * 
         */
        public Builder localTimestamp(@Nullable Output localTimestamp) {
            $.localTimestamp = localTimestamp;
            return this;
        }

        /**
         * @param localTimestamp An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events.
         * 
         * @return builder
         * 
         */
        public Builder localTimestamp(LocalTimestampArgs localTimestamp) {
            return localTimestamp(Output.of(localTimestamp));
        }

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

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

        /**
         * @param resourceGroupName Name of an Azure Resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Name of an Azure Resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param serviceBusNamespace The name of the service bus that contains the event hub.
         * 
         * @return builder
         * 
         */
        public Builder serviceBusNamespace(Output serviceBusNamespace) {
            $.serviceBusNamespace = serviceBusNamespace;
            return this;
        }

        /**
         * @param serviceBusNamespace The name of the service bus that contains the event hub.
         * 
         * @return builder
         * 
         */
        public Builder serviceBusNamespace(String serviceBusNamespace) {
            return serviceBusNamespace(Output.of(serviceBusNamespace));
        }

        /**
         * @param sharedAccessKey The value of the shared access key that grants the Time Series Insights service read access to the event hub. This property is not shown in event source responses.
         * 
         * @return builder
         * 
         */
        public Builder sharedAccessKey(Output sharedAccessKey) {
            $.sharedAccessKey = sharedAccessKey;
            return this;
        }

        /**
         * @param sharedAccessKey The value of the shared access key that grants the Time Series Insights service read access to the event hub. This property is not shown in event source responses.
         * 
         * @return builder
         * 
         */
        public Builder sharedAccessKey(String sharedAccessKey) {
            return sharedAccessKey(Output.of(sharedAccessKey));
        }

        /**
         * @param tags Key-value pairs of additional properties for the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value pairs of additional properties for the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param time ISO8601 UTC datetime with seconds precision (milliseconds are optional), specifying the date and time that will be the starting point for Events to be consumed.
         * 
         * @return builder
         * 
         */
        public Builder time(@Nullable Output time) {
            $.time = time;
            return this;
        }

        /**
         * @param time ISO8601 UTC datetime with seconds precision (milliseconds are optional), specifying the date and time that will be the starting point for Events to be consumed.
         * 
         * @return builder
         * 
         */
        public Builder time(String time) {
            return time(Output.of(time));
        }

        /**
         * @param timestampPropertyName The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used.
         * 
         * @return builder
         * 
         */
        public Builder timestampPropertyName(@Nullable Output timestampPropertyName) {
            $.timestampPropertyName = timestampPropertyName;
            return this;
        }

        /**
         * @param timestampPropertyName The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used.
         * 
         * @return builder
         * 
         */
        public Builder timestampPropertyName(String timestampPropertyName) {
            return timestampPropertyName(Output.of(timestampPropertyName));
        }

        /**
         * @param type The type of the ingressStartAt, It can be "EarliestAvailable", "EventSourceCreationTime", "CustomEnqueuedTime".
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output> type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The type of the ingressStartAt, It can be "EarliestAvailable", "EventSourceCreationTime", "CustomEnqueuedTime".
         * 
         * @return builder
         * 
         */
        public Builder type(Either type) {
            return type(Output.of(type));
        }

        /**
         * @param type The type of the ingressStartAt, It can be "EarliestAvailable", "EventSourceCreationTime", "CustomEnqueuedTime".
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Either.ofLeft(type));
        }

        /**
         * @param type The type of the ingressStartAt, It can be "EarliestAvailable", "EventSourceCreationTime", "CustomEnqueuedTime".
         * 
         * @return builder
         * 
         */
        public Builder type(IngressStartAtType type) {
            return type(Either.ofRight(type));
        }

        public EventHubEventSourceArgs build() {
            if ($.consumerGroupName == null) {
                throw new MissingRequiredPropertyException("EventHubEventSourceArgs", "consumerGroupName");
            }
            if ($.environmentName == null) {
                throw new MissingRequiredPropertyException("EventHubEventSourceArgs", "environmentName");
            }
            if ($.eventHubName == null) {
                throw new MissingRequiredPropertyException("EventHubEventSourceArgs", "eventHubName");
            }
            if ($.eventSourceResourceId == null) {
                throw new MissingRequiredPropertyException("EventHubEventSourceArgs", "eventSourceResourceId");
            }
            if ($.keyName == null) {
                throw new MissingRequiredPropertyException("EventHubEventSourceArgs", "keyName");
            }
            $.kind = Codegen.stringProp("kind").output().arg($.kind).require();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("EventHubEventSourceArgs", "resourceGroupName");
            }
            if ($.serviceBusNamespace == null) {
                throw new MissingRequiredPropertyException("EventHubEventSourceArgs", "serviceBusNamespace");
            }
            if ($.sharedAccessKey == null) {
                throw new MissingRequiredPropertyException("EventHubEventSourceArgs", "sharedAccessKey");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy