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

com.pulumi.azurenative.dbformariadb.inputs.ServerPropertiesForRestoreArgs 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 by restoring from a backup.
 * 
 */
public final class ServerPropertiesForRestoreArgs extends com.pulumi.resources.ResourceArgs {

    public static final ServerPropertiesForRestoreArgs Empty = new ServerPropertiesForRestoreArgs();

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

    /**
     * @return The mode to create a new server.
     * Expected value is 'PointInTimeRestore'.
     * 
     */
    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);
    }

    /**
     * Restore point creation time (ISO8601 format), specifying the time to restore from.
     * 
     */
    @Import(name="restorePointInTime", required=true)
    private Output restorePointInTime;

    /**
     * @return Restore point creation time (ISO8601 format), specifying the time to restore from.
     * 
     */
    public Output restorePointInTime() {
        return this.restorePointInTime;
    }

    /**
     * The source server id to restore from.
     * 
     */
    @Import(name="sourceServerId", required=true)
    private Output sourceServerId;

    /**
     * @return The source server id to restore from.
     * 
     */
    public Output sourceServerId() {
        return this.sourceServerId;
    }

    /**
     * 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 ServerPropertiesForRestoreArgs() {}

    private ServerPropertiesForRestoreArgs(ServerPropertiesForRestoreArgs $) {
        this.createMode = $.createMode;
        this.minimalTlsVersion = $.minimalTlsVersion;
        this.publicNetworkAccess = $.publicNetworkAccess;
        this.restorePointInTime = $.restorePointInTime;
        this.sourceServerId = $.sourceServerId;
        this.sslEnforcement = $.sslEnforcement;
        this.storageProfile = $.storageProfile;
        this.version = $.version;
    }

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

    public static final class Builder {
        private ServerPropertiesForRestoreArgs $;

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

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

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

        /**
         * @param createMode The mode to create a new server.
         * Expected value is 'PointInTimeRestore'.
         * 
         * @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 restorePointInTime Restore point creation time (ISO8601 format), specifying the time to restore from.
         * 
         * @return builder
         * 
         */
        public Builder restorePointInTime(Output restorePointInTime) {
            $.restorePointInTime = restorePointInTime;
            return this;
        }

        /**
         * @param restorePointInTime Restore point creation time (ISO8601 format), specifying the time to restore from.
         * 
         * @return builder
         * 
         */
        public Builder restorePointInTime(String restorePointInTime) {
            return restorePointInTime(Output.of(restorePointInTime));
        }

        /**
         * @param sourceServerId The source server id to restore from.
         * 
         * @return builder
         * 
         */
        public Builder sourceServerId(Output sourceServerId) {
            $.sourceServerId = sourceServerId;
            return this;
        }

        /**
         * @param sourceServerId The source server id to restore from.
         * 
         * @return builder
         * 
         */
        public Builder sourceServerId(String sourceServerId) {
            return sourceServerId(Output.of(sourceServerId));
        }

        /**
         * @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 ServerPropertiesForRestoreArgs build() {
            $.createMode = Codegen.stringProp("createMode").output().arg($.createMode).require();
            if ($.restorePointInTime == null) {
                throw new MissingRequiredPropertyException("ServerPropertiesForRestoreArgs", "restorePointInTime");
            }
            if ($.sourceServerId == null) {
                throw new MissingRequiredPropertyException("ServerPropertiesForRestoreArgs", "sourceServerId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy