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

com.pulumi.azurenative.databox.inputs.DataBoxCustomerDiskJobDetailsArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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.databox.inputs;

import com.pulumi.azurenative.databox.inputs.ContactDetailsArgs;
import com.pulumi.azurenative.databox.inputs.DataExportDetailsArgs;
import com.pulumi.azurenative.databox.inputs.DataImportDetailsArgs;
import com.pulumi.azurenative.databox.inputs.ImportDiskDetailsArgs;
import com.pulumi.azurenative.databox.inputs.KeyEncryptionKeyArgs;
import com.pulumi.azurenative.databox.inputs.PackageCarrierDetailsArgs;
import com.pulumi.azurenative.databox.inputs.PreferencesArgs;
import com.pulumi.azurenative.databox.inputs.ReverseShippingDetailsArgs;
import com.pulumi.azurenative.databox.inputs.ShippingAddressArgs;
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.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Customer disk job details.
 * 
 */
public final class DataBoxCustomerDiskJobDetailsArgs extends com.pulumi.resources.ResourceArgs {

    public static final DataBoxCustomerDiskJobDetailsArgs Empty = new DataBoxCustomerDiskJobDetailsArgs();

    /**
     * Contact details for notification and shipping.
     * 
     */
    @Import(name="contactDetails", required=true)
    private Output contactDetails;

    /**
     * @return Contact details for notification and shipping.
     * 
     */
    public Output contactDetails() {
        return this.contactDetails;
    }

    /**
     * Details of the data to be exported from azure.
     * 
     */
    @Import(name="dataExportDetails")
    private @Nullable Output> dataExportDetails;

    /**
     * @return Details of the data to be exported from azure.
     * 
     */
    public Optional>> dataExportDetails() {
        return Optional.ofNullable(this.dataExportDetails);
    }

    /**
     * Details of the data to be imported into azure.
     * 
     */
    @Import(name="dataImportDetails")
    private @Nullable Output> dataImportDetails;

    /**
     * @return Details of the data to be imported into azure.
     * 
     */
    public Optional>> dataImportDetails() {
        return Optional.ofNullable(this.dataImportDetails);
    }

    /**
     * Flag to indicate if disk manifest should be backed-up in the Storage Account.
     * 
     */
    @Import(name="enableManifestBackup")
    private @Nullable Output enableManifestBackup;

    /**
     * @return Flag to indicate if disk manifest should be backed-up in the Storage Account.
     * 
     */
    public Optional> enableManifestBackup() {
        return Optional.ofNullable(this.enableManifestBackup);
    }

    /**
     * The expected size of the data, which needs to be transferred in this job, in terabytes.
     * 
     */
    @Import(name="expectedDataSizeInTeraBytes")
    private @Nullable Output expectedDataSizeInTeraBytes;

    /**
     * @return The expected size of the data, which needs to be transferred in this job, in terabytes.
     * 
     */
    public Optional> expectedDataSizeInTeraBytes() {
        return Optional.ofNullable(this.expectedDataSizeInTeraBytes);
    }

    /**
     * Contains the map of disk serial number to the disk details for import jobs.
     * 
     */
    @Import(name="importDiskDetailsCollection")
    private @Nullable Output> importDiskDetailsCollection;

    /**
     * @return Contains the map of disk serial number to the disk details for import jobs.
     * 
     */
    public Optional>> importDiskDetailsCollection() {
        return Optional.ofNullable(this.importDiskDetailsCollection);
    }

    /**
     * Indicates the type of job details.
     * Expected value is 'DataBoxCustomerDisk'.
     * 
     */
    @Import(name="jobDetailsType", required=true)
    private Output jobDetailsType;

    /**
     * @return Indicates the type of job details.
     * Expected value is 'DataBoxCustomerDisk'.
     * 
     */
    public Output jobDetailsType() {
        return this.jobDetailsType;
    }

    /**
     * Details about which key encryption type is being used.
     * 
     */
    @Import(name="keyEncryptionKey")
    private @Nullable Output keyEncryptionKey;

    /**
     * @return Details about which key encryption type is being used.
     * 
     */
    public Optional> keyEncryptionKey() {
        return Optional.ofNullable(this.keyEncryptionKey);
    }

    /**
     * Preferences for the order.
     * 
     */
    @Import(name="preferences")
    private @Nullable Output preferences;

    /**
     * @return Preferences for the order.
     * 
     */
    public Optional> preferences() {
        return Optional.ofNullable(this.preferences);
    }

    /**
     * Return package shipping details.
     * 
     */
    @Import(name="returnToCustomerPackageDetails", required=true)
    private Output returnToCustomerPackageDetails;

    /**
     * @return Return package shipping details.
     * 
     */
    public Output returnToCustomerPackageDetails() {
        return this.returnToCustomerPackageDetails;
    }

    /**
     * Optional Reverse Shipping details for order.
     * 
     */
    @Import(name="reverseShippingDetails")
    private @Nullable Output reverseShippingDetails;

    /**
     * @return Optional Reverse Shipping details for order.
     * 
     */
    public Optional> reverseShippingDetails() {
        return Optional.ofNullable(this.reverseShippingDetails);
    }

    /**
     * Shipping address of the customer.
     * 
     */
    @Import(name="shippingAddress")
    private @Nullable Output shippingAddress;

    /**
     * @return Shipping address of the customer.
     * 
     */
    public Optional> shippingAddress() {
        return Optional.ofNullable(this.shippingAddress);
    }

    private DataBoxCustomerDiskJobDetailsArgs() {}

    private DataBoxCustomerDiskJobDetailsArgs(DataBoxCustomerDiskJobDetailsArgs $) {
        this.contactDetails = $.contactDetails;
        this.dataExportDetails = $.dataExportDetails;
        this.dataImportDetails = $.dataImportDetails;
        this.enableManifestBackup = $.enableManifestBackup;
        this.expectedDataSizeInTeraBytes = $.expectedDataSizeInTeraBytes;
        this.importDiskDetailsCollection = $.importDiskDetailsCollection;
        this.jobDetailsType = $.jobDetailsType;
        this.keyEncryptionKey = $.keyEncryptionKey;
        this.preferences = $.preferences;
        this.returnToCustomerPackageDetails = $.returnToCustomerPackageDetails;
        this.reverseShippingDetails = $.reverseShippingDetails;
        this.shippingAddress = $.shippingAddress;
    }

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

    public static final class Builder {
        private DataBoxCustomerDiskJobDetailsArgs $;

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

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

        /**
         * @param contactDetails Contact details for notification and shipping.
         * 
         * @return builder
         * 
         */
        public Builder contactDetails(Output contactDetails) {
            $.contactDetails = contactDetails;
            return this;
        }

        /**
         * @param contactDetails Contact details for notification and shipping.
         * 
         * @return builder
         * 
         */
        public Builder contactDetails(ContactDetailsArgs contactDetails) {
            return contactDetails(Output.of(contactDetails));
        }

        /**
         * @param dataExportDetails Details of the data to be exported from azure.
         * 
         * @return builder
         * 
         */
        public Builder dataExportDetails(@Nullable Output> dataExportDetails) {
            $.dataExportDetails = dataExportDetails;
            return this;
        }

        /**
         * @param dataExportDetails Details of the data to be exported from azure.
         * 
         * @return builder
         * 
         */
        public Builder dataExportDetails(List dataExportDetails) {
            return dataExportDetails(Output.of(dataExportDetails));
        }

        /**
         * @param dataExportDetails Details of the data to be exported from azure.
         * 
         * @return builder
         * 
         */
        public Builder dataExportDetails(DataExportDetailsArgs... dataExportDetails) {
            return dataExportDetails(List.of(dataExportDetails));
        }

        /**
         * @param dataImportDetails Details of the data to be imported into azure.
         * 
         * @return builder
         * 
         */
        public Builder dataImportDetails(@Nullable Output> dataImportDetails) {
            $.dataImportDetails = dataImportDetails;
            return this;
        }

        /**
         * @param dataImportDetails Details of the data to be imported into azure.
         * 
         * @return builder
         * 
         */
        public Builder dataImportDetails(List dataImportDetails) {
            return dataImportDetails(Output.of(dataImportDetails));
        }

        /**
         * @param dataImportDetails Details of the data to be imported into azure.
         * 
         * @return builder
         * 
         */
        public Builder dataImportDetails(DataImportDetailsArgs... dataImportDetails) {
            return dataImportDetails(List.of(dataImportDetails));
        }

        /**
         * @param enableManifestBackup Flag to indicate if disk manifest should be backed-up in the Storage Account.
         * 
         * @return builder
         * 
         */
        public Builder enableManifestBackup(@Nullable Output enableManifestBackup) {
            $.enableManifestBackup = enableManifestBackup;
            return this;
        }

        /**
         * @param enableManifestBackup Flag to indicate if disk manifest should be backed-up in the Storage Account.
         * 
         * @return builder
         * 
         */
        public Builder enableManifestBackup(Boolean enableManifestBackup) {
            return enableManifestBackup(Output.of(enableManifestBackup));
        }

        /**
         * @param expectedDataSizeInTeraBytes The expected size of the data, which needs to be transferred in this job, in terabytes.
         * 
         * @return builder
         * 
         */
        public Builder expectedDataSizeInTeraBytes(@Nullable Output expectedDataSizeInTeraBytes) {
            $.expectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes;
            return this;
        }

        /**
         * @param expectedDataSizeInTeraBytes The expected size of the data, which needs to be transferred in this job, in terabytes.
         * 
         * @return builder
         * 
         */
        public Builder expectedDataSizeInTeraBytes(Integer expectedDataSizeInTeraBytes) {
            return expectedDataSizeInTeraBytes(Output.of(expectedDataSizeInTeraBytes));
        }

        /**
         * @param importDiskDetailsCollection Contains the map of disk serial number to the disk details for import jobs.
         * 
         * @return builder
         * 
         */
        public Builder importDiskDetailsCollection(@Nullable Output> importDiskDetailsCollection) {
            $.importDiskDetailsCollection = importDiskDetailsCollection;
            return this;
        }

        /**
         * @param importDiskDetailsCollection Contains the map of disk serial number to the disk details for import jobs.
         * 
         * @return builder
         * 
         */
        public Builder importDiskDetailsCollection(Map importDiskDetailsCollection) {
            return importDiskDetailsCollection(Output.of(importDiskDetailsCollection));
        }

        /**
         * @param jobDetailsType Indicates the type of job details.
         * Expected value is 'DataBoxCustomerDisk'.
         * 
         * @return builder
         * 
         */
        public Builder jobDetailsType(Output jobDetailsType) {
            $.jobDetailsType = jobDetailsType;
            return this;
        }

        /**
         * @param jobDetailsType Indicates the type of job details.
         * Expected value is 'DataBoxCustomerDisk'.
         * 
         * @return builder
         * 
         */
        public Builder jobDetailsType(String jobDetailsType) {
            return jobDetailsType(Output.of(jobDetailsType));
        }

        /**
         * @param keyEncryptionKey Details about which key encryption type is being used.
         * 
         * @return builder
         * 
         */
        public Builder keyEncryptionKey(@Nullable Output keyEncryptionKey) {
            $.keyEncryptionKey = keyEncryptionKey;
            return this;
        }

        /**
         * @param keyEncryptionKey Details about which key encryption type is being used.
         * 
         * @return builder
         * 
         */
        public Builder keyEncryptionKey(KeyEncryptionKeyArgs keyEncryptionKey) {
            return keyEncryptionKey(Output.of(keyEncryptionKey));
        }

        /**
         * @param preferences Preferences for the order.
         * 
         * @return builder
         * 
         */
        public Builder preferences(@Nullable Output preferences) {
            $.preferences = preferences;
            return this;
        }

        /**
         * @param preferences Preferences for the order.
         * 
         * @return builder
         * 
         */
        public Builder preferences(PreferencesArgs preferences) {
            return preferences(Output.of(preferences));
        }

        /**
         * @param returnToCustomerPackageDetails Return package shipping details.
         * 
         * @return builder
         * 
         */
        public Builder returnToCustomerPackageDetails(Output returnToCustomerPackageDetails) {
            $.returnToCustomerPackageDetails = returnToCustomerPackageDetails;
            return this;
        }

        /**
         * @param returnToCustomerPackageDetails Return package shipping details.
         * 
         * @return builder
         * 
         */
        public Builder returnToCustomerPackageDetails(PackageCarrierDetailsArgs returnToCustomerPackageDetails) {
            return returnToCustomerPackageDetails(Output.of(returnToCustomerPackageDetails));
        }

        /**
         * @param reverseShippingDetails Optional Reverse Shipping details for order.
         * 
         * @return builder
         * 
         */
        public Builder reverseShippingDetails(@Nullable Output reverseShippingDetails) {
            $.reverseShippingDetails = reverseShippingDetails;
            return this;
        }

        /**
         * @param reverseShippingDetails Optional Reverse Shipping details for order.
         * 
         * @return builder
         * 
         */
        public Builder reverseShippingDetails(ReverseShippingDetailsArgs reverseShippingDetails) {
            return reverseShippingDetails(Output.of(reverseShippingDetails));
        }

        /**
         * @param shippingAddress Shipping address of the customer.
         * 
         * @return builder
         * 
         */
        public Builder shippingAddress(@Nullable Output shippingAddress) {
            $.shippingAddress = shippingAddress;
            return this;
        }

        /**
         * @param shippingAddress Shipping address of the customer.
         * 
         * @return builder
         * 
         */
        public Builder shippingAddress(ShippingAddressArgs shippingAddress) {
            return shippingAddress(Output.of(shippingAddress));
        }

        public DataBoxCustomerDiskJobDetailsArgs build() {
            if ($.contactDetails == null) {
                throw new MissingRequiredPropertyException("DataBoxCustomerDiskJobDetailsArgs", "contactDetails");
            }
            $.enableManifestBackup = Codegen.booleanProp("enableManifestBackup").output().arg($.enableManifestBackup).def(false).getNullable();
            $.jobDetailsType = Codegen.stringProp("jobDetailsType").output().arg($.jobDetailsType).require();
            if ($.returnToCustomerPackageDetails == null) {
                throw new MissingRequiredPropertyException("DataBoxCustomerDiskJobDetailsArgs", "returnToCustomerPackageDetails");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy