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

com.pulumi.azurenative.databox.outputs.DataBoxDiskJobDetailsResponse 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.outputs;

import com.pulumi.azurenative.databox.outputs.ContactDetailsResponse;
import com.pulumi.azurenative.databox.outputs.DataBoxAccountCopyLogDetailsResponse;
import com.pulumi.azurenative.databox.outputs.DataBoxCustomerDiskCopyLogDetailsResponse;
import com.pulumi.azurenative.databox.outputs.DataBoxDiskCopyLogDetailsResponse;
import com.pulumi.azurenative.databox.outputs.DataBoxDiskCopyProgressResponse;
import com.pulumi.azurenative.databox.outputs.DataBoxDiskGranularCopyLogDetailsResponse;
import com.pulumi.azurenative.databox.outputs.DataBoxDiskGranularCopyProgressResponse;
import com.pulumi.azurenative.databox.outputs.DataBoxHeavyAccountCopyLogDetailsResponse;
import com.pulumi.azurenative.databox.outputs.DataExportDetailsResponse;
import com.pulumi.azurenative.databox.outputs.DataImportDetailsResponse;
import com.pulumi.azurenative.databox.outputs.DatacenterAddressInstructionResponseResponse;
import com.pulumi.azurenative.databox.outputs.DatacenterAddressLocationResponseResponse;
import com.pulumi.azurenative.databox.outputs.DeviceErasureDetailsResponse;
import com.pulumi.azurenative.databox.outputs.JobStagesResponse;
import com.pulumi.azurenative.databox.outputs.KeyEncryptionKeyResponse;
import com.pulumi.azurenative.databox.outputs.LastMitigationActionOnJobResponse;
import com.pulumi.azurenative.databox.outputs.PackageShippingDetailsResponse;
import com.pulumi.azurenative.databox.outputs.PreferencesResponse;
import com.pulumi.azurenative.databox.outputs.ReverseShippingDetailsResponse;
import com.pulumi.azurenative.databox.outputs.ShippingAddressResponse;
import com.pulumi.core.Either;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class DataBoxDiskJobDetailsResponse {
    /**
     * @return Available actions on the job.
     * 
     */
    private List actions;
    /**
     * @return Shared access key to download the chain of custody logs
     * 
     */
    private String chainOfCustodySasKey;
    /**
     * @return Contact details for notification and shipping.
     * 
     */
    private ContactDetailsResponse contactDetails;
    /**
     * @return List of copy log details.
     * 
     */
    private List copyLogDetails;
    /**
     * @return Copy progress per disk.
     * 
     */
    private List copyProgress;
    /**
     * @return DataCenter code.
     * 
     */
    private String dataCenterCode;
    /**
     * @return Details of the data to be exported from azure.
     * 
     */
    private @Nullable List dataExportDetails;
    /**
     * @return Details of the data to be imported into azure.
     * 
     */
    private @Nullable List dataImportDetails;
    /**
     * @return Datacenter address to ship to, for the given sku and storage location.
     * 
     */
    private Either datacenterAddress;
    /**
     * @return Delivery package shipping details.
     * 
     */
    private PackageShippingDetailsResponse deliveryPackage;
    /**
     * @return Holds device data erasure details
     * 
     */
    private DeviceErasureDetailsResponse deviceErasureDetails;
    /**
     * @return Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.
     * 
     */
    private Map disksAndSizeDetails;
    /**
     * @return The expected size of the data, which needs to be transferred in this job, in terabytes.
     * 
     */
    private @Nullable Integer expectedDataSizeInTeraBytes;
    /**
     * @return Copy progress per disk.
     * 
     */
    private List granularCopyLogDetails;
    /**
     * @return Copy progress per disk.
     * 
     */
    private List granularCopyProgress;
    /**
     * @return Indicates the type of job details.
     * Expected value is 'DataBoxDisk'.
     * 
     */
    private String jobDetailsType;
    /**
     * @return List of stages that run in the job.
     * 
     */
    private List jobStages;
    /**
     * @return Details about which key encryption type is being used.
     * 
     */
    private @Nullable KeyEncryptionKeyResponse keyEncryptionKey;
    /**
     * @return Last mitigation action performed on the job.
     * 
     */
    private LastMitigationActionOnJobResponse lastMitigationActionOnJob;
    /**
     * @return User entered passkey for DataBox Disk job.
     * 
     */
    private @Nullable String passkey;
    /**
     * @return Preferences for the order.
     * 
     */
    private @Nullable PreferencesResponse preferences;
    /**
     * @return User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.
     * 
     */
    private @Nullable Map preferredDisks;
    /**
     * @return Return package shipping details.
     * 
     */
    private PackageShippingDetailsResponse returnPackage;
    /**
     * @return Shared access key to download the return shipment label
     * 
     */
    private String reverseShipmentLabelSasKey;
    /**
     * @return Optional Reverse Shipping details for order.
     * 
     */
    private @Nullable ReverseShippingDetailsResponse reverseShippingDetails;
    /**
     * @return Shipping address of the customer.
     * 
     */
    private @Nullable ShippingAddressResponse shippingAddress;

    private DataBoxDiskJobDetailsResponse() {}
    /**
     * @return Available actions on the job.
     * 
     */
    public List actions() {
        return this.actions;
    }
    /**
     * @return Shared access key to download the chain of custody logs
     * 
     */
    public String chainOfCustodySasKey() {
        return this.chainOfCustodySasKey;
    }
    /**
     * @return Contact details for notification and shipping.
     * 
     */
    public ContactDetailsResponse contactDetails() {
        return this.contactDetails;
    }
    /**
     * @return List of copy log details.
     * 
     */
    public List copyLogDetails() {
        return this.copyLogDetails;
    }
    /**
     * @return Copy progress per disk.
     * 
     */
    public List copyProgress() {
        return this.copyProgress;
    }
    /**
     * @return DataCenter code.
     * 
     */
    public String dataCenterCode() {
        return this.dataCenterCode;
    }
    /**
     * @return Details of the data to be exported from azure.
     * 
     */
    public List dataExportDetails() {
        return this.dataExportDetails == null ? List.of() : this.dataExportDetails;
    }
    /**
     * @return Details of the data to be imported into azure.
     * 
     */
    public List dataImportDetails() {
        return this.dataImportDetails == null ? List.of() : this.dataImportDetails;
    }
    /**
     * @return Datacenter address to ship to, for the given sku and storage location.
     * 
     */
    public Either datacenterAddress() {
        return this.datacenterAddress;
    }
    /**
     * @return Delivery package shipping details.
     * 
     */
    public PackageShippingDetailsResponse deliveryPackage() {
        return this.deliveryPackage;
    }
    /**
     * @return Holds device data erasure details
     * 
     */
    public DeviceErasureDetailsResponse deviceErasureDetails() {
        return this.deviceErasureDetails;
    }
    /**
     * @return Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.
     * 
     */
    public Map disksAndSizeDetails() {
        return this.disksAndSizeDetails;
    }
    /**
     * @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);
    }
    /**
     * @return Copy progress per disk.
     * 
     */
    public List granularCopyLogDetails() {
        return this.granularCopyLogDetails;
    }
    /**
     * @return Copy progress per disk.
     * 
     */
    public List granularCopyProgress() {
        return this.granularCopyProgress;
    }
    /**
     * @return Indicates the type of job details.
     * Expected value is 'DataBoxDisk'.
     * 
     */
    public String jobDetailsType() {
        return this.jobDetailsType;
    }
    /**
     * @return List of stages that run in the job.
     * 
     */
    public List jobStages() {
        return this.jobStages;
    }
    /**
     * @return Details about which key encryption type is being used.
     * 
     */
    public Optional keyEncryptionKey() {
        return Optional.ofNullable(this.keyEncryptionKey);
    }
    /**
     * @return Last mitigation action performed on the job.
     * 
     */
    public LastMitigationActionOnJobResponse lastMitigationActionOnJob() {
        return this.lastMitigationActionOnJob;
    }
    /**
     * @return User entered passkey for DataBox Disk job.
     * 
     */
    public Optional passkey() {
        return Optional.ofNullable(this.passkey);
    }
    /**
     * @return Preferences for the order.
     * 
     */
    public Optional preferences() {
        return Optional.ofNullable(this.preferences);
    }
    /**
     * @return User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.
     * 
     */
    public Map preferredDisks() {
        return this.preferredDisks == null ? Map.of() : this.preferredDisks;
    }
    /**
     * @return Return package shipping details.
     * 
     */
    public PackageShippingDetailsResponse returnPackage() {
        return this.returnPackage;
    }
    /**
     * @return Shared access key to download the return shipment label
     * 
     */
    public String reverseShipmentLabelSasKey() {
        return this.reverseShipmentLabelSasKey;
    }
    /**
     * @return Optional Reverse Shipping details for order.
     * 
     */
    public Optional reverseShippingDetails() {
        return Optional.ofNullable(this.reverseShippingDetails);
    }
    /**
     * @return Shipping address of the customer.
     * 
     */
    public Optional shippingAddress() {
        return Optional.ofNullable(this.shippingAddress);
    }

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

    public static Builder builder(DataBoxDiskJobDetailsResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private List actions;
        private String chainOfCustodySasKey;
        private ContactDetailsResponse contactDetails;
        private List copyLogDetails;
        private List copyProgress;
        private String dataCenterCode;
        private @Nullable List dataExportDetails;
        private @Nullable List dataImportDetails;
        private Either datacenterAddress;
        private PackageShippingDetailsResponse deliveryPackage;
        private DeviceErasureDetailsResponse deviceErasureDetails;
        private Map disksAndSizeDetails;
        private @Nullable Integer expectedDataSizeInTeraBytes;
        private List granularCopyLogDetails;
        private List granularCopyProgress;
        private String jobDetailsType;
        private List jobStages;
        private @Nullable KeyEncryptionKeyResponse keyEncryptionKey;
        private LastMitigationActionOnJobResponse lastMitigationActionOnJob;
        private @Nullable String passkey;
        private @Nullable PreferencesResponse preferences;
        private @Nullable Map preferredDisks;
        private PackageShippingDetailsResponse returnPackage;
        private String reverseShipmentLabelSasKey;
        private @Nullable ReverseShippingDetailsResponse reverseShippingDetails;
        private @Nullable ShippingAddressResponse shippingAddress;
        public Builder() {}
        public Builder(DataBoxDiskJobDetailsResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.actions = defaults.actions;
    	      this.chainOfCustodySasKey = defaults.chainOfCustodySasKey;
    	      this.contactDetails = defaults.contactDetails;
    	      this.copyLogDetails = defaults.copyLogDetails;
    	      this.copyProgress = defaults.copyProgress;
    	      this.dataCenterCode = defaults.dataCenterCode;
    	      this.dataExportDetails = defaults.dataExportDetails;
    	      this.dataImportDetails = defaults.dataImportDetails;
    	      this.datacenterAddress = defaults.datacenterAddress;
    	      this.deliveryPackage = defaults.deliveryPackage;
    	      this.deviceErasureDetails = defaults.deviceErasureDetails;
    	      this.disksAndSizeDetails = defaults.disksAndSizeDetails;
    	      this.expectedDataSizeInTeraBytes = defaults.expectedDataSizeInTeraBytes;
    	      this.granularCopyLogDetails = defaults.granularCopyLogDetails;
    	      this.granularCopyProgress = defaults.granularCopyProgress;
    	      this.jobDetailsType = defaults.jobDetailsType;
    	      this.jobStages = defaults.jobStages;
    	      this.keyEncryptionKey = defaults.keyEncryptionKey;
    	      this.lastMitigationActionOnJob = defaults.lastMitigationActionOnJob;
    	      this.passkey = defaults.passkey;
    	      this.preferences = defaults.preferences;
    	      this.preferredDisks = defaults.preferredDisks;
    	      this.returnPackage = defaults.returnPackage;
    	      this.reverseShipmentLabelSasKey = defaults.reverseShipmentLabelSasKey;
    	      this.reverseShippingDetails = defaults.reverseShippingDetails;
    	      this.shippingAddress = defaults.shippingAddress;
        }

        @CustomType.Setter
        public Builder actions(List actions) {
            if (actions == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "actions");
            }
            this.actions = actions;
            return this;
        }
        public Builder actions(String... actions) {
            return actions(List.of(actions));
        }
        @CustomType.Setter
        public Builder chainOfCustodySasKey(String chainOfCustodySasKey) {
            if (chainOfCustodySasKey == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "chainOfCustodySasKey");
            }
            this.chainOfCustodySasKey = chainOfCustodySasKey;
            return this;
        }
        @CustomType.Setter
        public Builder contactDetails(ContactDetailsResponse contactDetails) {
            if (contactDetails == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "contactDetails");
            }
            this.contactDetails = contactDetails;
            return this;
        }
        @CustomType.Setter
        public Builder copyLogDetails(List copyLogDetails) {
            if (copyLogDetails == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "copyLogDetails");
            }
            this.copyLogDetails = copyLogDetails;
            return this;
        }
        public Builder copyLogDetails(Object... copyLogDetails) {
            return copyLogDetails(List.of(copyLogDetails));
        }
        @CustomType.Setter
        public Builder copyProgress(List copyProgress) {
            if (copyProgress == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "copyProgress");
            }
            this.copyProgress = copyProgress;
            return this;
        }
        public Builder copyProgress(DataBoxDiskCopyProgressResponse... copyProgress) {
            return copyProgress(List.of(copyProgress));
        }
        @CustomType.Setter
        public Builder dataCenterCode(String dataCenterCode) {
            if (dataCenterCode == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "dataCenterCode");
            }
            this.dataCenterCode = dataCenterCode;
            return this;
        }
        @CustomType.Setter
        public Builder dataExportDetails(@Nullable List dataExportDetails) {

            this.dataExportDetails = dataExportDetails;
            return this;
        }
        public Builder dataExportDetails(DataExportDetailsResponse... dataExportDetails) {
            return dataExportDetails(List.of(dataExportDetails));
        }
        @CustomType.Setter
        public Builder dataImportDetails(@Nullable List dataImportDetails) {

            this.dataImportDetails = dataImportDetails;
            return this;
        }
        public Builder dataImportDetails(DataImportDetailsResponse... dataImportDetails) {
            return dataImportDetails(List.of(dataImportDetails));
        }
        @CustomType.Setter
        public Builder datacenterAddress(Either datacenterAddress) {
            if (datacenterAddress == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "datacenterAddress");
            }
            this.datacenterAddress = datacenterAddress;
            return this;
        }
        @CustomType.Setter
        public Builder deliveryPackage(PackageShippingDetailsResponse deliveryPackage) {
            if (deliveryPackage == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "deliveryPackage");
            }
            this.deliveryPackage = deliveryPackage;
            return this;
        }
        @CustomType.Setter
        public Builder deviceErasureDetails(DeviceErasureDetailsResponse deviceErasureDetails) {
            if (deviceErasureDetails == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "deviceErasureDetails");
            }
            this.deviceErasureDetails = deviceErasureDetails;
            return this;
        }
        @CustomType.Setter
        public Builder disksAndSizeDetails(Map disksAndSizeDetails) {
            if (disksAndSizeDetails == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "disksAndSizeDetails");
            }
            this.disksAndSizeDetails = disksAndSizeDetails;
            return this;
        }
        @CustomType.Setter
        public Builder expectedDataSizeInTeraBytes(@Nullable Integer expectedDataSizeInTeraBytes) {

            this.expectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes;
            return this;
        }
        @CustomType.Setter
        public Builder granularCopyLogDetails(List granularCopyLogDetails) {
            if (granularCopyLogDetails == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "granularCopyLogDetails");
            }
            this.granularCopyLogDetails = granularCopyLogDetails;
            return this;
        }
        public Builder granularCopyLogDetails(DataBoxDiskGranularCopyLogDetailsResponse... granularCopyLogDetails) {
            return granularCopyLogDetails(List.of(granularCopyLogDetails));
        }
        @CustomType.Setter
        public Builder granularCopyProgress(List granularCopyProgress) {
            if (granularCopyProgress == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "granularCopyProgress");
            }
            this.granularCopyProgress = granularCopyProgress;
            return this;
        }
        public Builder granularCopyProgress(DataBoxDiskGranularCopyProgressResponse... granularCopyProgress) {
            return granularCopyProgress(List.of(granularCopyProgress));
        }
        @CustomType.Setter
        public Builder jobDetailsType(String jobDetailsType) {
            if (jobDetailsType == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "jobDetailsType");
            }
            this.jobDetailsType = jobDetailsType;
            return this;
        }
        @CustomType.Setter
        public Builder jobStages(List jobStages) {
            if (jobStages == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "jobStages");
            }
            this.jobStages = jobStages;
            return this;
        }
        public Builder jobStages(JobStagesResponse... jobStages) {
            return jobStages(List.of(jobStages));
        }
        @CustomType.Setter
        public Builder keyEncryptionKey(@Nullable KeyEncryptionKeyResponse keyEncryptionKey) {

            this.keyEncryptionKey = keyEncryptionKey;
            return this;
        }
        @CustomType.Setter
        public Builder lastMitigationActionOnJob(LastMitigationActionOnJobResponse lastMitigationActionOnJob) {
            if (lastMitigationActionOnJob == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "lastMitigationActionOnJob");
            }
            this.lastMitigationActionOnJob = lastMitigationActionOnJob;
            return this;
        }
        @CustomType.Setter
        public Builder passkey(@Nullable String passkey) {

            this.passkey = passkey;
            return this;
        }
        @CustomType.Setter
        public Builder preferences(@Nullable PreferencesResponse preferences) {

            this.preferences = preferences;
            return this;
        }
        @CustomType.Setter
        public Builder preferredDisks(@Nullable Map preferredDisks) {

            this.preferredDisks = preferredDisks;
            return this;
        }
        @CustomType.Setter
        public Builder returnPackage(PackageShippingDetailsResponse returnPackage) {
            if (returnPackage == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "returnPackage");
            }
            this.returnPackage = returnPackage;
            return this;
        }
        @CustomType.Setter
        public Builder reverseShipmentLabelSasKey(String reverseShipmentLabelSasKey) {
            if (reverseShipmentLabelSasKey == null) {
              throw new MissingRequiredPropertyException("DataBoxDiskJobDetailsResponse", "reverseShipmentLabelSasKey");
            }
            this.reverseShipmentLabelSasKey = reverseShipmentLabelSasKey;
            return this;
        }
        @CustomType.Setter
        public Builder reverseShippingDetails(@Nullable ReverseShippingDetailsResponse reverseShippingDetails) {

            this.reverseShippingDetails = reverseShippingDetails;
            return this;
        }
        @CustomType.Setter
        public Builder shippingAddress(@Nullable ShippingAddressResponse shippingAddress) {

            this.shippingAddress = shippingAddress;
            return this;
        }
        public DataBoxDiskJobDetailsResponse build() {
            final var _resultValue = new DataBoxDiskJobDetailsResponse();
            _resultValue.actions = actions;
            _resultValue.chainOfCustodySasKey = chainOfCustodySasKey;
            _resultValue.contactDetails = contactDetails;
            _resultValue.copyLogDetails = copyLogDetails;
            _resultValue.copyProgress = copyProgress;
            _resultValue.dataCenterCode = dataCenterCode;
            _resultValue.dataExportDetails = dataExportDetails;
            _resultValue.dataImportDetails = dataImportDetails;
            _resultValue.datacenterAddress = datacenterAddress;
            _resultValue.deliveryPackage = deliveryPackage;
            _resultValue.deviceErasureDetails = deviceErasureDetails;
            _resultValue.disksAndSizeDetails = disksAndSizeDetails;
            _resultValue.expectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes;
            _resultValue.granularCopyLogDetails = granularCopyLogDetails;
            _resultValue.granularCopyProgress = granularCopyProgress;
            _resultValue.jobDetailsType = jobDetailsType;
            _resultValue.jobStages = jobStages;
            _resultValue.keyEncryptionKey = keyEncryptionKey;
            _resultValue.lastMitigationActionOnJob = lastMitigationActionOnJob;
            _resultValue.passkey = passkey;
            _resultValue.preferences = preferences;
            _resultValue.preferredDisks = preferredDisks;
            _resultValue.returnPackage = returnPackage;
            _resultValue.reverseShipmentLabelSasKey = reverseShipmentLabelSasKey;
            _resultValue.reverseShippingDetails = reverseShippingDetails;
            _resultValue.shippingAddress = shippingAddress;
            return _resultValue;
        }
    }
}