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

com.pulumi.azurenative.network.inputs.ApplicationGatewaySslPolicyArgs 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.network.inputs;

import com.pulumi.azurenative.network.enums.ApplicationGatewaySslCipherSuite;
import com.pulumi.azurenative.network.enums.ApplicationGatewaySslPolicyName;
import com.pulumi.azurenative.network.enums.ApplicationGatewaySslPolicyType;
import com.pulumi.azurenative.network.enums.ApplicationGatewaySslProtocol;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Application Gateway Ssl policy.
 * 
 */
public final class ApplicationGatewaySslPolicyArgs extends com.pulumi.resources.ResourceArgs {

    public static final ApplicationGatewaySslPolicyArgs Empty = new ApplicationGatewaySslPolicyArgs();

    /**
     * Ssl cipher suites to be enabled in the specified order to application gateway.
     * 
     */
    @Import(name="cipherSuites")
    private @Nullable Output>> cipherSuites;

    /**
     * @return Ssl cipher suites to be enabled in the specified order to application gateway.
     * 
     */
    public Optional>>> cipherSuites() {
        return Optional.ofNullable(this.cipherSuites);
    }

    /**
     * Ssl protocols to be disabled on application gateway.
     * 
     */
    @Import(name="disabledSslProtocols")
    private @Nullable Output>> disabledSslProtocols;

    /**
     * @return Ssl protocols to be disabled on application gateway.
     * 
     */
    public Optional>>> disabledSslProtocols() {
        return Optional.ofNullable(this.disabledSslProtocols);
    }

    /**
     * Minimum version of Ssl protocol to be supported on application gateway.
     * 
     */
    @Import(name="minProtocolVersion")
    private @Nullable Output> minProtocolVersion;

    /**
     * @return Minimum version of Ssl protocol to be supported on application gateway.
     * 
     */
    public Optional>> minProtocolVersion() {
        return Optional.ofNullable(this.minProtocolVersion);
    }

    /**
     * Name of Ssl predefined policy.
     * 
     */
    @Import(name="policyName")
    private @Nullable Output> policyName;

    /**
     * @return Name of Ssl predefined policy.
     * 
     */
    public Optional>> policyName() {
        return Optional.ofNullable(this.policyName);
    }

    /**
     * Type of Ssl Policy.
     * 
     */
    @Import(name="policyType")
    private @Nullable Output> policyType;

    /**
     * @return Type of Ssl Policy.
     * 
     */
    public Optional>> policyType() {
        return Optional.ofNullable(this.policyType);
    }

    private ApplicationGatewaySslPolicyArgs() {}

    private ApplicationGatewaySslPolicyArgs(ApplicationGatewaySslPolicyArgs $) {
        this.cipherSuites = $.cipherSuites;
        this.disabledSslProtocols = $.disabledSslProtocols;
        this.minProtocolVersion = $.minProtocolVersion;
        this.policyName = $.policyName;
        this.policyType = $.policyType;
    }

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

    public static final class Builder {
        private ApplicationGatewaySslPolicyArgs $;

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

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

        /**
         * @param cipherSuites Ssl cipher suites to be enabled in the specified order to application gateway.
         * 
         * @return builder
         * 
         */
        public Builder cipherSuites(@Nullable Output>> cipherSuites) {
            $.cipherSuites = cipherSuites;
            return this;
        }

        /**
         * @param cipherSuites Ssl cipher suites to be enabled in the specified order to application gateway.
         * 
         * @return builder
         * 
         */
        public Builder cipherSuites(List> cipherSuites) {
            return cipherSuites(Output.of(cipherSuites));
        }

        /**
         * @param cipherSuites Ssl cipher suites to be enabled in the specified order to application gateway.
         * 
         * @return builder
         * 
         */
        public Builder cipherSuites(Either... cipherSuites) {
            return cipherSuites(List.of(cipherSuites));
        }

        /**
         * @param disabledSslProtocols Ssl protocols to be disabled on application gateway.
         * 
         * @return builder
         * 
         */
        public Builder disabledSslProtocols(@Nullable Output>> disabledSslProtocols) {
            $.disabledSslProtocols = disabledSslProtocols;
            return this;
        }

        /**
         * @param disabledSslProtocols Ssl protocols to be disabled on application gateway.
         * 
         * @return builder
         * 
         */
        public Builder disabledSslProtocols(List> disabledSslProtocols) {
            return disabledSslProtocols(Output.of(disabledSslProtocols));
        }

        /**
         * @param disabledSslProtocols Ssl protocols to be disabled on application gateway.
         * 
         * @return builder
         * 
         */
        public Builder disabledSslProtocols(Either... disabledSslProtocols) {
            return disabledSslProtocols(List.of(disabledSslProtocols));
        }

        /**
         * @param minProtocolVersion Minimum version of Ssl protocol to be supported on application gateway.
         * 
         * @return builder
         * 
         */
        public Builder minProtocolVersion(@Nullable Output> minProtocolVersion) {
            $.minProtocolVersion = minProtocolVersion;
            return this;
        }

        /**
         * @param minProtocolVersion Minimum version of Ssl protocol to be supported on application gateway.
         * 
         * @return builder
         * 
         */
        public Builder minProtocolVersion(Either minProtocolVersion) {
            return minProtocolVersion(Output.of(minProtocolVersion));
        }

        /**
         * @param minProtocolVersion Minimum version of Ssl protocol to be supported on application gateway.
         * 
         * @return builder
         * 
         */
        public Builder minProtocolVersion(String minProtocolVersion) {
            return minProtocolVersion(Either.ofLeft(minProtocolVersion));
        }

        /**
         * @param minProtocolVersion Minimum version of Ssl protocol to be supported on application gateway.
         * 
         * @return builder
         * 
         */
        public Builder minProtocolVersion(ApplicationGatewaySslProtocol minProtocolVersion) {
            return minProtocolVersion(Either.ofRight(minProtocolVersion));
        }

        /**
         * @param policyName Name of Ssl predefined policy.
         * 
         * @return builder
         * 
         */
        public Builder policyName(@Nullable Output> policyName) {
            $.policyName = policyName;
            return this;
        }

        /**
         * @param policyName Name of Ssl predefined policy.
         * 
         * @return builder
         * 
         */
        public Builder policyName(Either policyName) {
            return policyName(Output.of(policyName));
        }

        /**
         * @param policyName Name of Ssl predefined policy.
         * 
         * @return builder
         * 
         */
        public Builder policyName(String policyName) {
            return policyName(Either.ofLeft(policyName));
        }

        /**
         * @param policyName Name of Ssl predefined policy.
         * 
         * @return builder
         * 
         */
        public Builder policyName(ApplicationGatewaySslPolicyName policyName) {
            return policyName(Either.ofRight(policyName));
        }

        /**
         * @param policyType Type of Ssl Policy.
         * 
         * @return builder
         * 
         */
        public Builder policyType(@Nullable Output> policyType) {
            $.policyType = policyType;
            return this;
        }

        /**
         * @param policyType Type of Ssl Policy.
         * 
         * @return builder
         * 
         */
        public Builder policyType(Either policyType) {
            return policyType(Output.of(policyType));
        }

        /**
         * @param policyType Type of Ssl Policy.
         * 
         * @return builder
         * 
         */
        public Builder policyType(String policyType) {
            return policyType(Either.ofLeft(policyType));
        }

        /**
         * @param policyType Type of Ssl Policy.
         * 
         * @return builder
         * 
         */
        public Builder policyType(ApplicationGatewaySslPolicyType policyType) {
            return policyType(Either.ofRight(policyType));
        }

        public ApplicationGatewaySslPolicyArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy