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

com.pulumi.azurenative.databox.inputs.DataExportDetailsArgs 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.databox.inputs;

import com.pulumi.azurenative.databox.enums.LogCollectionLevel;
import com.pulumi.azurenative.databox.inputs.ManagedDiskDetailsArgs;
import com.pulumi.azurenative.databox.inputs.StorageAccountDetailsArgs;
import com.pulumi.azurenative.databox.inputs.TransferConfigurationArgs;
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;


/**
 * Details of the data to be used for exporting data from azure.
 * 
 */
public final class DataExportDetailsArgs extends com.pulumi.resources.ResourceArgs {

    public static final DataExportDetailsArgs Empty = new DataExportDetailsArgs();

    /**
     * Account details of the data to be transferred
     * 
     */
    @Import(name="accountDetails", required=true)
    private Output> accountDetails;

    /**
     * @return Account details of the data to be transferred
     * 
     */
    public Output> accountDetails() {
        return this.accountDetails;
    }

    /**
     * Level of the logs to be collected.
     * 
     */
    @Import(name="logCollectionLevel")
    private @Nullable Output> logCollectionLevel;

    /**
     * @return Level of the logs to be collected.
     * 
     */
    public Optional>> logCollectionLevel() {
        return Optional.ofNullable(this.logCollectionLevel);
    }

    /**
     * Configuration for the data transfer.
     * 
     */
    @Import(name="transferConfiguration", required=true)
    private Output transferConfiguration;

    /**
     * @return Configuration for the data transfer.
     * 
     */
    public Output transferConfiguration() {
        return this.transferConfiguration;
    }

    private DataExportDetailsArgs() {}

    private DataExportDetailsArgs(DataExportDetailsArgs $) {
        this.accountDetails = $.accountDetails;
        this.logCollectionLevel = $.logCollectionLevel;
        this.transferConfiguration = $.transferConfiguration;
    }

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

    public static final class Builder {
        private DataExportDetailsArgs $;

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

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

        /**
         * @param accountDetails Account details of the data to be transferred
         * 
         * @return builder
         * 
         */
        public Builder accountDetails(Output> accountDetails) {
            $.accountDetails = accountDetails;
            return this;
        }

        /**
         * @param accountDetails Account details of the data to be transferred
         * 
         * @return builder
         * 
         */
        public Builder accountDetails(Either accountDetails) {
            return accountDetails(Output.of(accountDetails));
        }

        /**
         * @param accountDetails Account details of the data to be transferred
         * 
         * @return builder
         * 
         */
        public Builder accountDetails(ManagedDiskDetailsArgs accountDetails) {
            return accountDetails(Either.ofLeft(accountDetails));
        }

        /**
         * @param accountDetails Account details of the data to be transferred
         * 
         * @return builder
         * 
         */
        public Builder accountDetails(StorageAccountDetailsArgs accountDetails) {
            return accountDetails(Either.ofRight(accountDetails));
        }

        /**
         * @param logCollectionLevel Level of the logs to be collected.
         * 
         * @return builder
         * 
         */
        public Builder logCollectionLevel(@Nullable Output> logCollectionLevel) {
            $.logCollectionLevel = logCollectionLevel;
            return this;
        }

        /**
         * @param logCollectionLevel Level of the logs to be collected.
         * 
         * @return builder
         * 
         */
        public Builder logCollectionLevel(Either logCollectionLevel) {
            return logCollectionLevel(Output.of(logCollectionLevel));
        }

        /**
         * @param logCollectionLevel Level of the logs to be collected.
         * 
         * @return builder
         * 
         */
        public Builder logCollectionLevel(String logCollectionLevel) {
            return logCollectionLevel(Either.ofLeft(logCollectionLevel));
        }

        /**
         * @param logCollectionLevel Level of the logs to be collected.
         * 
         * @return builder
         * 
         */
        public Builder logCollectionLevel(LogCollectionLevel logCollectionLevel) {
            return logCollectionLevel(Either.ofRight(logCollectionLevel));
        }

        /**
         * @param transferConfiguration Configuration for the data transfer.
         * 
         * @return builder
         * 
         */
        public Builder transferConfiguration(Output transferConfiguration) {
            $.transferConfiguration = transferConfiguration;
            return this;
        }

        /**
         * @param transferConfiguration Configuration for the data transfer.
         * 
         * @return builder
         * 
         */
        public Builder transferConfiguration(TransferConfigurationArgs transferConfiguration) {
            return transferConfiguration(Output.of(transferConfiguration));
        }

        public DataExportDetailsArgs build() {
            if ($.accountDetails == null) {
                throw new MissingRequiredPropertyException("DataExportDetailsArgs", "accountDetails");
            }
            $.logCollectionLevel = Codegen.stringProp("logCollectionLevel").left(LogCollectionLevel.class).output().arg($.logCollectionLevel).def("Error").getNullable();
            if ($.transferConfiguration == null) {
                throw new MissingRequiredPropertyException("DataExportDetailsArgs", "transferConfiguration");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy