com.pulumi.azurenative.databox.outputs.TransferConfigurationResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** 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.TransferConfigurationResponseTransferAllDetails;
import com.pulumi.azurenative.databox.outputs.TransferConfigurationResponseTransferFilterDetails;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class TransferConfigurationResponse {
/**
* @return Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll
*
*/
private @Nullable TransferConfigurationResponseTransferAllDetails transferAllDetails;
/**
* @return Type of the configuration for transfer.
*
*/
private String transferConfigurationType;
/**
* @return Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.
*
*/
private @Nullable TransferConfigurationResponseTransferFilterDetails transferFilterDetails;
private TransferConfigurationResponse() {}
/**
* @return Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll
*
*/
public Optional transferAllDetails() {
return Optional.ofNullable(this.transferAllDetails);
}
/**
* @return Type of the configuration for transfer.
*
*/
public String transferConfigurationType() {
return this.transferConfigurationType;
}
/**
* @return Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.
*
*/
public Optional transferFilterDetails() {
return Optional.ofNullable(this.transferFilterDetails);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(TransferConfigurationResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable TransferConfigurationResponseTransferAllDetails transferAllDetails;
private String transferConfigurationType;
private @Nullable TransferConfigurationResponseTransferFilterDetails transferFilterDetails;
public Builder() {}
public Builder(TransferConfigurationResponse defaults) {
Objects.requireNonNull(defaults);
this.transferAllDetails = defaults.transferAllDetails;
this.transferConfigurationType = defaults.transferConfigurationType;
this.transferFilterDetails = defaults.transferFilterDetails;
}
@CustomType.Setter
public Builder transferAllDetails(@Nullable TransferConfigurationResponseTransferAllDetails transferAllDetails) {
this.transferAllDetails = transferAllDetails;
return this;
}
@CustomType.Setter
public Builder transferConfigurationType(String transferConfigurationType) {
if (transferConfigurationType == null) {
throw new MissingRequiredPropertyException("TransferConfigurationResponse", "transferConfigurationType");
}
this.transferConfigurationType = transferConfigurationType;
return this;
}
@CustomType.Setter
public Builder transferFilterDetails(@Nullable TransferConfigurationResponseTransferFilterDetails transferFilterDetails) {
this.transferFilterDetails = transferFilterDetails;
return this;
}
public TransferConfigurationResponse build() {
final var _resultValue = new TransferConfigurationResponse();
_resultValue.transferAllDetails = transferAllDetails;
_resultValue.transferConfigurationType = transferConfigurationType;
_resultValue.transferFilterDetails = transferFilterDetails;
return _resultValue;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy