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

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

import com.pulumi.azurenative.databox.outputs.ContactDetailsResponse;
import com.pulumi.azurenative.databox.outputs.CopyProgressResponse;
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.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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class DataBoxJobDetailsResponse {
    /**
     * @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 storage account.
     * 
     */
    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 Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements :  Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : {@literal @}#\-$%^!+=;:_()]+
     * 
     */
    private @Nullable String devicePassword;
    /**
     * @return The expected size of the data, which needs to be transferred in this job, in terabytes.
     * 
     */
    private @Nullable Integer expectedDataSizeInTeraBytes;
    /**
     * @return Indicates the type of job details.
     * Expected value is 'DataBox'.
     * 
     */
    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 Preferences for the order.
     * 
     */
    private @Nullable PreferencesResponse preferences;
    /**
     * @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 DataBoxJobDetailsResponse() {}
    /**
     * @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 storage account.
     * 
     */
    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 Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements :  Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : {@literal @}#\-$%^!+=;:_()]+
     * 
     */
    public Optional devicePassword() {
        return Optional.ofNullable(this.devicePassword);
    }
    /**
     * @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 Indicates the type of job details.
     * Expected value is 'DataBox'.
     * 
     */
    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 Preferences for the order.
     * 
     */
    public Optional preferences() {
        return Optional.ofNullable(this.preferences);
    }
    /**
     * @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(DataBoxJobDetailsResponse 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 @Nullable String devicePassword;
        private @Nullable Integer expectedDataSizeInTeraBytes;
        private String jobDetailsType;
        private List jobStages;
        private @Nullable KeyEncryptionKeyResponse keyEncryptionKey;
        private LastMitigationActionOnJobResponse lastMitigationActionOnJob;
        private @Nullable PreferencesResponse preferences;
        private PackageShippingDetailsResponse returnPackage;
        private String reverseShipmentLabelSasKey;
        private @Nullable ReverseShippingDetailsResponse reverseShippingDetails;
        private @Nullable ShippingAddressResponse shippingAddress;
        public Builder() {}
        public Builder(DataBoxJobDetailsResponse 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.devicePassword = defaults.devicePassword;
    	      this.expectedDataSizeInTeraBytes = defaults.expectedDataSizeInTeraBytes;
    	      this.jobDetailsType = defaults.jobDetailsType;
    	      this.jobStages = defaults.jobStages;
    	      this.keyEncryptionKey = defaults.keyEncryptionKey;
    	      this.lastMitigationActionOnJob = defaults.lastMitigationActionOnJob;
    	      this.preferences = defaults.preferences;
    	      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("DataBoxJobDetailsResponse", "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("DataBoxJobDetailsResponse", "chainOfCustodySasKey");
            }
            this.chainOfCustodySasKey = chainOfCustodySasKey;
            return this;
        }
        @CustomType.Setter
        public Builder contactDetails(ContactDetailsResponse contactDetails) {
            if (contactDetails == null) {
              throw new MissingRequiredPropertyException("DataBoxJobDetailsResponse", "contactDetails");
            }
            this.contactDetails = contactDetails;
            return this;
        }
        @CustomType.Setter
        public Builder copyLogDetails(List copyLogDetails) {
            if (copyLogDetails == null) {
              throw new MissingRequiredPropertyException("DataBoxJobDetailsResponse", "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("DataBoxJobDetailsResponse", "copyProgress");
            }
            this.copyProgress = copyProgress;
            return this;
        }
        public Builder copyProgress(CopyProgressResponse... copyProgress) {
            return copyProgress(List.of(copyProgress));
        }
        @CustomType.Setter
        public Builder dataCenterCode(String dataCenterCode) {
            if (dataCenterCode == null) {
              throw new MissingRequiredPropertyException("DataBoxJobDetailsResponse", "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("DataBoxJobDetailsResponse", "datacenterAddress");
            }
            this.datacenterAddress = datacenterAddress;
            return this;
        }
        @CustomType.Setter
        public Builder deliveryPackage(PackageShippingDetailsResponse deliveryPackage) {
            if (deliveryPackage == null) {
              throw new MissingRequiredPropertyException("DataBoxJobDetailsResponse", "deliveryPackage");
            }
            this.deliveryPackage = deliveryPackage;
            return this;
        }
        @CustomType.Setter
        public Builder deviceErasureDetails(DeviceErasureDetailsResponse deviceErasureDetails) {
            if (deviceErasureDetails == null) {
              throw new MissingRequiredPropertyException("DataBoxJobDetailsResponse", "deviceErasureDetails");
            }
            this.deviceErasureDetails = deviceErasureDetails;
            return this;
        }
        @CustomType.Setter
        public Builder devicePassword(@Nullable String devicePassword) {

            this.devicePassword = devicePassword;
            return this;
        }
        @CustomType.Setter
        public Builder expectedDataSizeInTeraBytes(@Nullable Integer expectedDataSizeInTeraBytes) {

            this.expectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes;
            return this;
        }
        @CustomType.Setter
        public Builder jobDetailsType(String jobDetailsType) {
            if (jobDetailsType == null) {
              throw new MissingRequiredPropertyException("DataBoxJobDetailsResponse", "jobDetailsType");
            }
            this.jobDetailsType = jobDetailsType;
            return this;
        }
        @CustomType.Setter
        public Builder jobStages(List jobStages) {
            if (jobStages == null) {
              throw new MissingRequiredPropertyException("DataBoxJobDetailsResponse", "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("DataBoxJobDetailsResponse", "lastMitigationActionOnJob");
            }
            this.lastMitigationActionOnJob = lastMitigationActionOnJob;
            return this;
        }
        @CustomType.Setter
        public Builder preferences(@Nullable PreferencesResponse preferences) {

            this.preferences = preferences;
            return this;
        }
        @CustomType.Setter
        public Builder returnPackage(PackageShippingDetailsResponse returnPackage) {
            if (returnPackage == null) {
              throw new MissingRequiredPropertyException("DataBoxJobDetailsResponse", "returnPackage");
            }
            this.returnPackage = returnPackage;
            return this;
        }
        @CustomType.Setter
        public Builder reverseShipmentLabelSasKey(String reverseShipmentLabelSasKey) {
            if (reverseShipmentLabelSasKey == null) {
              throw new MissingRequiredPropertyException("DataBoxJobDetailsResponse", "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 DataBoxJobDetailsResponse build() {
            final var _resultValue = new DataBoxJobDetailsResponse();
            _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.devicePassword = devicePassword;
            _resultValue.expectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes;
            _resultValue.jobDetailsType = jobDetailsType;
            _resultValue.jobStages = jobStages;
            _resultValue.keyEncryptionKey = keyEncryptionKey;
            _resultValue.lastMitigationActionOnJob = lastMitigationActionOnJob;
            _resultValue.preferences = preferences;
            _resultValue.returnPackage = returnPackage;
            _resultValue.reverseShipmentLabelSasKey = reverseShipmentLabelSasKey;
            _resultValue.reverseShippingDetails = reverseShippingDetails;
            _resultValue.shippingAddress = shippingAddress;
            return _resultValue;
        }
    }
}