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

com.pulumi.azurenative.iotoperations.inputs.AdvancedSettingsArgs 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.iotoperations.inputs;

import com.pulumi.azurenative.iotoperations.enums.OperationalMode;
import com.pulumi.azurenative.iotoperations.inputs.CertManagerCertOptionsArgs;
import com.pulumi.azurenative.iotoperations.inputs.ClientConfigArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Broker Advanced Settings
 * 
 */
public final class AdvancedSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final AdvancedSettingsArgs Empty = new AdvancedSettingsArgs();

    /**
     * Configurations related to All Clients.
     * 
     */
    @Import(name="clients")
    private @Nullable Output clients;

    /**
     * @return Configurations related to All Clients.
     * 
     */
    public Optional> clients() {
        return Optional.ofNullable(this.clients);
    }

    /**
     * The setting to enable or disable encryption of internal Traffic.
     * 
     */
    @Import(name="encryptInternalTraffic")
    private @Nullable Output> encryptInternalTraffic;

    /**
     * @return The setting to enable or disable encryption of internal Traffic.
     * 
     */
    public Optional>> encryptInternalTraffic() {
        return Optional.ofNullable(this.encryptInternalTraffic);
    }

    /**
     * Certificate rotation and private key configuration.
     * 
     */
    @Import(name="internalCerts")
    private @Nullable Output internalCerts;

    /**
     * @return Certificate rotation and private key configuration.
     * 
     */
    public Optional> internalCerts() {
        return Optional.ofNullable(this.internalCerts);
    }

    private AdvancedSettingsArgs() {}

    private AdvancedSettingsArgs(AdvancedSettingsArgs $) {
        this.clients = $.clients;
        this.encryptInternalTraffic = $.encryptInternalTraffic;
        this.internalCerts = $.internalCerts;
    }

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

    public static final class Builder {
        private AdvancedSettingsArgs $;

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

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

        /**
         * @param clients Configurations related to All Clients.
         * 
         * @return builder
         * 
         */
        public Builder clients(@Nullable Output clients) {
            $.clients = clients;
            return this;
        }

        /**
         * @param clients Configurations related to All Clients.
         * 
         * @return builder
         * 
         */
        public Builder clients(ClientConfigArgs clients) {
            return clients(Output.of(clients));
        }

        /**
         * @param encryptInternalTraffic The setting to enable or disable encryption of internal Traffic.
         * 
         * @return builder
         * 
         */
        public Builder encryptInternalTraffic(@Nullable Output> encryptInternalTraffic) {
            $.encryptInternalTraffic = encryptInternalTraffic;
            return this;
        }

        /**
         * @param encryptInternalTraffic The setting to enable or disable encryption of internal Traffic.
         * 
         * @return builder
         * 
         */
        public Builder encryptInternalTraffic(Either encryptInternalTraffic) {
            return encryptInternalTraffic(Output.of(encryptInternalTraffic));
        }

        /**
         * @param encryptInternalTraffic The setting to enable or disable encryption of internal Traffic.
         * 
         * @return builder
         * 
         */
        public Builder encryptInternalTraffic(String encryptInternalTraffic) {
            return encryptInternalTraffic(Either.ofLeft(encryptInternalTraffic));
        }

        /**
         * @param encryptInternalTraffic The setting to enable or disable encryption of internal Traffic.
         * 
         * @return builder
         * 
         */
        public Builder encryptInternalTraffic(OperationalMode encryptInternalTraffic) {
            return encryptInternalTraffic(Either.ofRight(encryptInternalTraffic));
        }

        /**
         * @param internalCerts Certificate rotation and private key configuration.
         * 
         * @return builder
         * 
         */
        public Builder internalCerts(@Nullable Output internalCerts) {
            $.internalCerts = internalCerts;
            return this;
        }

        /**
         * @param internalCerts Certificate rotation and private key configuration.
         * 
         * @return builder
         * 
         */
        public Builder internalCerts(CertManagerCertOptionsArgs internalCerts) {
            return internalCerts(Output.of(internalCerts));
        }

        public AdvancedSettingsArgs build() {
            $.encryptInternalTraffic = Codegen.stringProp("encryptInternalTraffic").left(OperationalMode.class).output().arg($.encryptInternalTraffic).def("Enabled").getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy