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

com.pulumi.azurenative.digitaltwins.inputs.EventHubArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.digitaltwins.inputs;

import com.pulumi.azurenative.digitaltwins.enums.AuthenticationType;
import com.pulumi.azurenative.digitaltwins.inputs.ManagedIdentityReferenceArgs;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Properties related to EventHub.
 * 
 */
public final class EventHubArgs extends com.pulumi.resources.ResourceArgs {

    public static final EventHubArgs Empty = new EventHubArgs();

    /**
     * Specifies the authentication type being used for connecting to the endpoint. Defaults to 'KeyBased'. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is select, the endpointUri and entityPath properties must be specified.
     * 
     */
    @Import(name="authenticationType")
    private @Nullable Output> authenticationType;

    /**
     * @return Specifies the authentication type being used for connecting to the endpoint. Defaults to 'KeyBased'. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is select, the endpointUri and entityPath properties must be specified.
     * 
     */
    public Optional>> authenticationType() {
        return Optional.ofNullable(this.authenticationType);
    }

    /**
     * PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.
     * 
     */
    @Import(name="connectionStringPrimaryKey")
    private @Nullable Output connectionStringPrimaryKey;

    /**
     * @return PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.
     * 
     */
    public Optional> connectionStringPrimaryKey() {
        return Optional.ofNullable(this.connectionStringPrimaryKey);
    }

    /**
     * SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.
     * 
     */
    @Import(name="connectionStringSecondaryKey")
    private @Nullable Output connectionStringSecondaryKey;

    /**
     * @return SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.
     * 
     */
    public Optional> connectionStringSecondaryKey() {
        return Optional.ofNullable(this.connectionStringSecondaryKey);
    }

    /**
     * Dead letter storage secret for key-based authentication. Will be obfuscated during read.
     * 
     */
    @Import(name="deadLetterSecret")
    private @Nullable Output deadLetterSecret;

    /**
     * @return Dead letter storage secret for key-based authentication. Will be obfuscated during read.
     * 
     */
    public Optional> deadLetterSecret() {
        return Optional.ofNullable(this.deadLetterSecret);
    }

    /**
     * Dead letter storage URL for identity-based authentication.
     * 
     */
    @Import(name="deadLetterUri")
    private @Nullable Output deadLetterUri;

    /**
     * @return Dead letter storage URL for identity-based authentication.
     * 
     */
    public Optional> deadLetterUri() {
        return Optional.ofNullable(this.deadLetterUri);
    }

    /**
     * The type of Digital Twins endpoint
     * Expected value is 'EventHub'.
     * 
     */
    @Import(name="endpointType", required=true)
    private Output endpointType;

    /**
     * @return The type of Digital Twins endpoint
     * Expected value is 'EventHub'.
     * 
     */
    public Output endpointType() {
        return this.endpointType;
    }

    /**
     * The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://'.
     * 
     */
    @Import(name="endpointUri")
    private @Nullable Output endpointUri;

    /**
     * @return The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://'.
     * 
     */
    public Optional> endpointUri() {
        return Optional.ofNullable(this.endpointUri);
    }

    /**
     * The EventHub name in the EventHub namespace for identity-based authentication.
     * 
     */
    @Import(name="entityPath")
    private @Nullable Output entityPath;

    /**
     * @return The EventHub name in the EventHub namespace for identity-based authentication.
     * 
     */
    public Optional> entityPath() {
        return Optional.ofNullable(this.entityPath);
    }

    /**
     * Managed identity properties for the endpoint.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return Managed identity properties for the endpoint.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    private EventHubArgs() {}

    private EventHubArgs(EventHubArgs $) {
        this.authenticationType = $.authenticationType;
        this.connectionStringPrimaryKey = $.connectionStringPrimaryKey;
        this.connectionStringSecondaryKey = $.connectionStringSecondaryKey;
        this.deadLetterSecret = $.deadLetterSecret;
        this.deadLetterUri = $.deadLetterUri;
        this.endpointType = $.endpointType;
        this.endpointUri = $.endpointUri;
        this.entityPath = $.entityPath;
        this.identity = $.identity;
    }

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

    public static final class Builder {
        private EventHubArgs $;

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

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

        /**
         * @param authenticationType Specifies the authentication type being used for connecting to the endpoint. Defaults to 'KeyBased'. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is select, the endpointUri and entityPath properties must be specified.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(@Nullable Output> authenticationType) {
            $.authenticationType = authenticationType;
            return this;
        }

        /**
         * @param authenticationType Specifies the authentication type being used for connecting to the endpoint. Defaults to 'KeyBased'. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is select, the endpointUri and entityPath properties must be specified.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(Either authenticationType) {
            return authenticationType(Output.of(authenticationType));
        }

        /**
         * @param authenticationType Specifies the authentication type being used for connecting to the endpoint. Defaults to 'KeyBased'. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is select, the endpointUri and entityPath properties must be specified.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(String authenticationType) {
            return authenticationType(Either.ofLeft(authenticationType));
        }

        /**
         * @param authenticationType Specifies the authentication type being used for connecting to the endpoint. Defaults to 'KeyBased'. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is select, the endpointUri and entityPath properties must be specified.
         * 
         * @return builder
         * 
         */
        public Builder authenticationType(AuthenticationType authenticationType) {
            return authenticationType(Either.ofRight(authenticationType));
        }

        /**
         * @param connectionStringPrimaryKey PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.
         * 
         * @return builder
         * 
         */
        public Builder connectionStringPrimaryKey(@Nullable Output connectionStringPrimaryKey) {
            $.connectionStringPrimaryKey = connectionStringPrimaryKey;
            return this;
        }

        /**
         * @param connectionStringPrimaryKey PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.
         * 
         * @return builder
         * 
         */
        public Builder connectionStringPrimaryKey(String connectionStringPrimaryKey) {
            return connectionStringPrimaryKey(Output.of(connectionStringPrimaryKey));
        }

        /**
         * @param connectionStringSecondaryKey SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.
         * 
         * @return builder
         * 
         */
        public Builder connectionStringSecondaryKey(@Nullable Output connectionStringSecondaryKey) {
            $.connectionStringSecondaryKey = connectionStringSecondaryKey;
            return this;
        }

        /**
         * @param connectionStringSecondaryKey SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.
         * 
         * @return builder
         * 
         */
        public Builder connectionStringSecondaryKey(String connectionStringSecondaryKey) {
            return connectionStringSecondaryKey(Output.of(connectionStringSecondaryKey));
        }

        /**
         * @param deadLetterSecret Dead letter storage secret for key-based authentication. Will be obfuscated during read.
         * 
         * @return builder
         * 
         */
        public Builder deadLetterSecret(@Nullable Output deadLetterSecret) {
            $.deadLetterSecret = deadLetterSecret;
            return this;
        }

        /**
         * @param deadLetterSecret Dead letter storage secret for key-based authentication. Will be obfuscated during read.
         * 
         * @return builder
         * 
         */
        public Builder deadLetterSecret(String deadLetterSecret) {
            return deadLetterSecret(Output.of(deadLetterSecret));
        }

        /**
         * @param deadLetterUri Dead letter storage URL for identity-based authentication.
         * 
         * @return builder
         * 
         */
        public Builder deadLetterUri(@Nullable Output deadLetterUri) {
            $.deadLetterUri = deadLetterUri;
            return this;
        }

        /**
         * @param deadLetterUri Dead letter storage URL for identity-based authentication.
         * 
         * @return builder
         * 
         */
        public Builder deadLetterUri(String deadLetterUri) {
            return deadLetterUri(Output.of(deadLetterUri));
        }

        /**
         * @param endpointType The type of Digital Twins endpoint
         * Expected value is 'EventHub'.
         * 
         * @return builder
         * 
         */
        public Builder endpointType(Output endpointType) {
            $.endpointType = endpointType;
            return this;
        }

        /**
         * @param endpointType The type of Digital Twins endpoint
         * Expected value is 'EventHub'.
         * 
         * @return builder
         * 
         */
        public Builder endpointType(String endpointType) {
            return endpointType(Output.of(endpointType));
        }

        /**
         * @param endpointUri The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://'.
         * 
         * @return builder
         * 
         */
        public Builder endpointUri(@Nullable Output endpointUri) {
            $.endpointUri = endpointUri;
            return this;
        }

        /**
         * @param endpointUri The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://'.
         * 
         * @return builder
         * 
         */
        public Builder endpointUri(String endpointUri) {
            return endpointUri(Output.of(endpointUri));
        }

        /**
         * @param entityPath The EventHub name in the EventHub namespace for identity-based authentication.
         * 
         * @return builder
         * 
         */
        public Builder entityPath(@Nullable Output entityPath) {
            $.entityPath = entityPath;
            return this;
        }

        /**
         * @param entityPath The EventHub name in the EventHub namespace for identity-based authentication.
         * 
         * @return builder
         * 
         */
        public Builder entityPath(String entityPath) {
            return entityPath(Output.of(entityPath));
        }

        /**
         * @param identity Managed identity properties for the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity Managed identity properties for the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder identity(ManagedIdentityReferenceArgs identity) {
            return identity(Output.of(identity));
        }

        public EventHubArgs build() {
            $.endpointType = Codegen.stringProp("endpointType").output().arg($.endpointType).require();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy