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

com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodsArgs 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.iotoperationsmq.inputs;

import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodCustomArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodSatArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodSvidArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodUsernamePasswordArgs;
import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodX509Args;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Collection of different CrdAuthenticator methods of Broker Resource. NOTE Enum - Only one method is supported for each entry.
 * 
 */
public final class BrokerAuthenticatorMethodsArgs extends com.pulumi.resources.ResourceArgs {

    public static final BrokerAuthenticatorMethodsArgs Empty = new BrokerAuthenticatorMethodsArgs();

    /**
     * Custom Authentication Method.
     * 
     */
    @Import(name="custom")
    private @Nullable Output custom;

    /**
     * @return Custom Authentication Method.
     * 
     */
    public Optional> custom() {
        return Optional.ofNullable(this.custom);
    }

    /**
     * Service Account Token Method.
     * 
     */
    @Import(name="sat")
    private @Nullable Output sat;

    /**
     * @return Service Account Token Method.
     * 
     */
    public Optional> sat() {
        return Optional.ofNullable(this.sat);
    }

    /**
     * Service Account Token Method.
     * 
     */
    @Import(name="svid")
    private @Nullable Output svid;

    /**
     * @return Service Account Token Method.
     * 
     */
    public Optional> svid() {
        return Optional.ofNullable(this.svid);
    }

    /**
     * UsernamePassword Method.
     * 
     */
    @Import(name="usernamePassword")
    private @Nullable Output usernamePassword;

    /**
     * @return UsernamePassword Method.
     * 
     */
    public Optional> usernamePassword() {
        return Optional.ofNullable(this.usernamePassword);
    }

    /**
     * X509 Method.
     * 
     */
    @Import(name="x509")
    private @Nullable Output x509;

    /**
     * @return X509 Method.
     * 
     */
    public Optional> x509() {
        return Optional.ofNullable(this.x509);
    }

    private BrokerAuthenticatorMethodsArgs() {}

    private BrokerAuthenticatorMethodsArgs(BrokerAuthenticatorMethodsArgs $) {
        this.custom = $.custom;
        this.sat = $.sat;
        this.svid = $.svid;
        this.usernamePassword = $.usernamePassword;
        this.x509 = $.x509;
    }

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

    public static final class Builder {
        private BrokerAuthenticatorMethodsArgs $;

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

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

        /**
         * @param custom Custom Authentication Method.
         * 
         * @return builder
         * 
         */
        public Builder custom(@Nullable Output custom) {
            $.custom = custom;
            return this;
        }

        /**
         * @param custom Custom Authentication Method.
         * 
         * @return builder
         * 
         */
        public Builder custom(BrokerAuthenticatorMethodCustomArgs custom) {
            return custom(Output.of(custom));
        }

        /**
         * @param sat Service Account Token Method.
         * 
         * @return builder
         * 
         */
        public Builder sat(@Nullable Output sat) {
            $.sat = sat;
            return this;
        }

        /**
         * @param sat Service Account Token Method.
         * 
         * @return builder
         * 
         */
        public Builder sat(BrokerAuthenticatorMethodSatArgs sat) {
            return sat(Output.of(sat));
        }

        /**
         * @param svid Service Account Token Method.
         * 
         * @return builder
         * 
         */
        public Builder svid(@Nullable Output svid) {
            $.svid = svid;
            return this;
        }

        /**
         * @param svid Service Account Token Method.
         * 
         * @return builder
         * 
         */
        public Builder svid(BrokerAuthenticatorMethodSvidArgs svid) {
            return svid(Output.of(svid));
        }

        /**
         * @param usernamePassword UsernamePassword Method.
         * 
         * @return builder
         * 
         */
        public Builder usernamePassword(@Nullable Output usernamePassword) {
            $.usernamePassword = usernamePassword;
            return this;
        }

        /**
         * @param usernamePassword UsernamePassword Method.
         * 
         * @return builder
         * 
         */
        public Builder usernamePassword(BrokerAuthenticatorMethodUsernamePasswordArgs usernamePassword) {
            return usernamePassword(Output.of(usernamePassword));
        }

        /**
         * @param x509 X509 Method.
         * 
         * @return builder
         * 
         */
        public Builder x509(@Nullable Output x509) {
            $.x509 = x509;
            return this;
        }

        /**
         * @param x509 X509 Method.
         * 
         * @return builder
         * 
         */
        public Builder x509(BrokerAuthenticatorMethodX509Args x509) {
            return x509(Output.of(x509));
        }

        public BrokerAuthenticatorMethodsArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy