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

com.pulumi.azurenative.digitaltwins.inputs.ServiceBusArgs 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.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 ServiceBus.
 * 
 */
public final class ServiceBusArgs extends com.pulumi.resources.ResourceArgs {

    public static final ServiceBusArgs Empty = new ServiceBusArgs();

    /**
     * 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);
    }

    /**
     * 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 'ServiceBus'.
     * 
     */
    @Import(name="endpointType", required=true)
    private Output endpointType;

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

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

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

    /**
     * The ServiceBus Topic name for identity-based authentication.
     * 
     */
    @Import(name="entityPath")
    private @Nullable Output entityPath;

    /**
     * @return The ServiceBus Topic name 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);
    }

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

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

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

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

    private ServiceBusArgs() {}

    private ServiceBusArgs(ServiceBusArgs $) {
        this.authenticationType = $.authenticationType;
        this.deadLetterSecret = $.deadLetterSecret;
        this.deadLetterUri = $.deadLetterUri;
        this.endpointType = $.endpointType;
        this.endpointUri = $.endpointUri;
        this.entityPath = $.entityPath;
        this.identity = $.identity;
        this.primaryConnectionString = $.primaryConnectionString;
        this.secondaryConnectionString = $.secondaryConnectionString;
    }

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

    public static final class Builder {
        private ServiceBusArgs $;

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

        public Builder(ServiceBusArgs defaults) {
            $ = new ServiceBusArgs(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 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 'ServiceBus'.
         * 
         * @return builder
         * 
         */
        public Builder endpointType(Output endpointType) {
            $.endpointType = endpointType;
            return this;
        }

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

        /**
         * @param endpointUri The URL of the ServiceBus 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 ServiceBus 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 ServiceBus Topic name for identity-based authentication.
         * 
         * @return builder
         * 
         */
        public Builder entityPath(@Nullable Output entityPath) {
            $.entityPath = entityPath;
            return this;
        }

        /**
         * @param entityPath The ServiceBus Topic name 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));
        }

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

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

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

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

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy