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

com.pulumi.azurenative.dbformariadb.inputs.ServerPropertiesForDefaultCreateArgs 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.dbformariadb.inputs;

import com.pulumi.azurenative.dbformariadb.enums.MinimalTlsVersionEnum;
import com.pulumi.azurenative.dbformariadb.enums.PublicNetworkAccessEnum;
import com.pulumi.azurenative.dbformariadb.enums.ServerVersion;
import com.pulumi.azurenative.dbformariadb.enums.SslEnforcementEnum;
import com.pulumi.azurenative.dbformariadb.inputs.StorageProfileArgs;
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;


/**
 * The properties used to create a new server.
 * 
 */
public final class ServerPropertiesForDefaultCreateArgs extends com.pulumi.resources.ResourceArgs {

    public static final ServerPropertiesForDefaultCreateArgs Empty = new ServerPropertiesForDefaultCreateArgs();

    /**
     * The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).
     * 
     */
    @Import(name="administratorLogin", required=true)
    private Output administratorLogin;

    /**
     * @return The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).
     * 
     */
    public Output administratorLogin() {
        return this.administratorLogin;
    }

    /**
     * The password of the administrator login.
     * 
     */
    @Import(name="administratorLoginPassword", required=true)
    private Output administratorLoginPassword;

    /**
     * @return The password of the administrator login.
     * 
     */
    public Output administratorLoginPassword() {
        return this.administratorLoginPassword;
    }

    /**
     * The mode to create a new server.
     * Expected value is 'Default'.
     * 
     */
    @Import(name="createMode", required=true)
    private Output createMode;

    /**
     * @return The mode to create a new server.
     * Expected value is 'Default'.
     * 
     */
    public Output createMode() {
        return this.createMode;
    }

    /**
     * Enforce a minimal Tls version for the server.
     * 
     */
    @Import(name="minimalTlsVersion")
    private @Nullable Output> minimalTlsVersion;

    /**
     * @return Enforce a minimal Tls version for the server.
     * 
     */
    public Optional>> minimalTlsVersion() {
        return Optional.ofNullable(this.minimalTlsVersion);
    }

    /**
     * Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'
     * 
     */
    @Import(name="publicNetworkAccess")
    private @Nullable Output> publicNetworkAccess;

    /**
     * @return Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'
     * 
     */
    public Optional>> publicNetworkAccess() {
        return Optional.ofNullable(this.publicNetworkAccess);
    }

    /**
     * Enable ssl enforcement or not when connect to server.
     * 
     */
    @Import(name="sslEnforcement")
    private @Nullable Output sslEnforcement;

    /**
     * @return Enable ssl enforcement or not when connect to server.
     * 
     */
    public Optional> sslEnforcement() {
        return Optional.ofNullable(this.sslEnforcement);
    }

    /**
     * Storage profile of a server.
     * 
     */
    @Import(name="storageProfile")
    private @Nullable Output storageProfile;

    /**
     * @return Storage profile of a server.
     * 
     */
    public Optional> storageProfile() {
        return Optional.ofNullable(this.storageProfile);
    }

    /**
     * Server version.
     * 
     */
    @Import(name="version")
    private @Nullable Output> version;

    /**
     * @return Server version.
     * 
     */
    public Optional>> version() {
        return Optional.ofNullable(this.version);
    }

    private ServerPropertiesForDefaultCreateArgs() {}

    private ServerPropertiesForDefaultCreateArgs(ServerPropertiesForDefaultCreateArgs $) {
        this.administratorLogin = $.administratorLogin;
        this.administratorLoginPassword = $.administratorLoginPassword;
        this.createMode = $.createMode;
        this.minimalTlsVersion = $.minimalTlsVersion;
        this.publicNetworkAccess = $.publicNetworkAccess;
        this.sslEnforcement = $.sslEnforcement;
        this.storageProfile = $.storageProfile;
        this.version = $.version;
    }

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

    public static final class Builder {
        private ServerPropertiesForDefaultCreateArgs $;

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

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

        /**
         * @param administratorLogin The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).
         * 
         * @return builder
         * 
         */
        public Builder administratorLogin(Output administratorLogin) {
            $.administratorLogin = administratorLogin;
            return this;
        }

        /**
         * @param administratorLogin The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).
         * 
         * @return builder
         * 
         */
        public Builder administratorLogin(String administratorLogin) {
            return administratorLogin(Output.of(administratorLogin));
        }

        /**
         * @param administratorLoginPassword The password of the administrator login.
         * 
         * @return builder
         * 
         */
        public Builder administratorLoginPassword(Output administratorLoginPassword) {
            $.administratorLoginPassword = administratorLoginPassword;
            return this;
        }

        /**
         * @param administratorLoginPassword The password of the administrator login.
         * 
         * @return builder
         * 
         */
        public Builder administratorLoginPassword(String administratorLoginPassword) {
            return administratorLoginPassword(Output.of(administratorLoginPassword));
        }

        /**
         * @param createMode The mode to create a new server.
         * Expected value is 'Default'.
         * 
         * @return builder
         * 
         */
        public Builder createMode(Output createMode) {
            $.createMode = createMode;
            return this;
        }

        /**
         * @param createMode The mode to create a new server.
         * Expected value is 'Default'.
         * 
         * @return builder
         * 
         */
        public Builder createMode(String createMode) {
            return createMode(Output.of(createMode));
        }

        /**
         * @param minimalTlsVersion Enforce a minimal Tls version for the server.
         * 
         * @return builder
         * 
         */
        public Builder minimalTlsVersion(@Nullable Output> minimalTlsVersion) {
            $.minimalTlsVersion = minimalTlsVersion;
            return this;
        }

        /**
         * @param minimalTlsVersion Enforce a minimal Tls version for the server.
         * 
         * @return builder
         * 
         */
        public Builder minimalTlsVersion(Either minimalTlsVersion) {
            return minimalTlsVersion(Output.of(minimalTlsVersion));
        }

        /**
         * @param minimalTlsVersion Enforce a minimal Tls version for the server.
         * 
         * @return builder
         * 
         */
        public Builder minimalTlsVersion(String minimalTlsVersion) {
            return minimalTlsVersion(Either.ofLeft(minimalTlsVersion));
        }

        /**
         * @param minimalTlsVersion Enforce a minimal Tls version for the server.
         * 
         * @return builder
         * 
         */
        public Builder minimalTlsVersion(MinimalTlsVersionEnum minimalTlsVersion) {
            return minimalTlsVersion(Either.ofRight(minimalTlsVersion));
        }

        /**
         * @param publicNetworkAccess Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(@Nullable Output> publicNetworkAccess) {
            $.publicNetworkAccess = publicNetworkAccess;
            return this;
        }

        /**
         * @param publicNetworkAccess Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(Either publicNetworkAccess) {
            return publicNetworkAccess(Output.of(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(String publicNetworkAccess) {
            return publicNetworkAccess(Either.ofLeft(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(PublicNetworkAccessEnum publicNetworkAccess) {
            return publicNetworkAccess(Either.ofRight(publicNetworkAccess));
        }

        /**
         * @param sslEnforcement Enable ssl enforcement or not when connect to server.
         * 
         * @return builder
         * 
         */
        public Builder sslEnforcement(@Nullable Output sslEnforcement) {
            $.sslEnforcement = sslEnforcement;
            return this;
        }

        /**
         * @param sslEnforcement Enable ssl enforcement or not when connect to server.
         * 
         * @return builder
         * 
         */
        public Builder sslEnforcement(SslEnforcementEnum sslEnforcement) {
            return sslEnforcement(Output.of(sslEnforcement));
        }

        /**
         * @param storageProfile Storage profile of a server.
         * 
         * @return builder
         * 
         */
        public Builder storageProfile(@Nullable Output storageProfile) {
            $.storageProfile = storageProfile;
            return this;
        }

        /**
         * @param storageProfile Storage profile of a server.
         * 
         * @return builder
         * 
         */
        public Builder storageProfile(StorageProfileArgs storageProfile) {
            return storageProfile(Output.of(storageProfile));
        }

        /**
         * @param version Server version.
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output> version) {
            $.version = version;
            return this;
        }

        /**
         * @param version Server version.
         * 
         * @return builder
         * 
         */
        public Builder version(Either version) {
            return version(Output.of(version));
        }

        /**
         * @param version Server version.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Either.ofLeft(version));
        }

        /**
         * @param version Server version.
         * 
         * @return builder
         * 
         */
        public Builder version(ServerVersion version) {
            return version(Either.ofRight(version));
        }

        public ServerPropertiesForDefaultCreateArgs build() {
            if ($.administratorLogin == null) {
                throw new MissingRequiredPropertyException("ServerPropertiesForDefaultCreateArgs", "administratorLogin");
            }
            if ($.administratorLoginPassword == null) {
                throw new MissingRequiredPropertyException("ServerPropertiesForDefaultCreateArgs", "administratorLoginPassword");
            }
            $.createMode = Codegen.stringProp("createMode").output().arg($.createMode).require();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy