com.pulumi.azure.netapp.outputs.VolumeGroupSapHanaVolumeExportPolicyRule Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** 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.azure.netapp.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class VolumeGroupSapHanaVolumeExportPolicyRule {
/**
* @return A comma-sperated list of allowed client IPv4 addresses.
*
*/
private String allowedClients;
/**
* @return Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.
*
*/
private Boolean nfsv3Enabled;
/**
* @return Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.
*
*/
private Boolean nfsv41Enabled;
/**
* @return Is root access permitted to this volume? Defaults to `true`.
*
*/
private @Nullable Boolean rootAccessEnabled;
/**
* @return The index number of the rule, must start at 1 and maximum 5.
*
*/
private Integer ruleIndex;
/**
* @return Is the file system on unix read only? Defaults to `false.
*
*/
private @Nullable Boolean unixReadOnly;
/**
* @return Is the file system on unix read and write? Defaults to `true`.
*
*/
private @Nullable Boolean unixReadWrite;
private VolumeGroupSapHanaVolumeExportPolicyRule() {}
/**
* @return A comma-sperated list of allowed client IPv4 addresses.
*
*/
public String allowedClients() {
return this.allowedClients;
}
/**
* @return Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.
*
*/
public Boolean nfsv3Enabled() {
return this.nfsv3Enabled;
}
/**
* @return Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.
*
*/
public Boolean nfsv41Enabled() {
return this.nfsv41Enabled;
}
/**
* @return Is root access permitted to this volume? Defaults to `true`.
*
*/
public Optional rootAccessEnabled() {
return Optional.ofNullable(this.rootAccessEnabled);
}
/**
* @return The index number of the rule, must start at 1 and maximum 5.
*
*/
public Integer ruleIndex() {
return this.ruleIndex;
}
/**
* @return Is the file system on unix read only? Defaults to `false.
*
*/
public Optional unixReadOnly() {
return Optional.ofNullable(this.unixReadOnly);
}
/**
* @return Is the file system on unix read and write? Defaults to `true`.
*
*/
public Optional unixReadWrite() {
return Optional.ofNullable(this.unixReadWrite);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(VolumeGroupSapHanaVolumeExportPolicyRule defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String allowedClients;
private Boolean nfsv3Enabled;
private Boolean nfsv41Enabled;
private @Nullable Boolean rootAccessEnabled;
private Integer ruleIndex;
private @Nullable Boolean unixReadOnly;
private @Nullable Boolean unixReadWrite;
public Builder() {}
public Builder(VolumeGroupSapHanaVolumeExportPolicyRule defaults) {
Objects.requireNonNull(defaults);
this.allowedClients = defaults.allowedClients;
this.nfsv3Enabled = defaults.nfsv3Enabled;
this.nfsv41Enabled = defaults.nfsv41Enabled;
this.rootAccessEnabled = defaults.rootAccessEnabled;
this.ruleIndex = defaults.ruleIndex;
this.unixReadOnly = defaults.unixReadOnly;
this.unixReadWrite = defaults.unixReadWrite;
}
@CustomType.Setter
public Builder allowedClients(String allowedClients) {
if (allowedClients == null) {
throw new MissingRequiredPropertyException("VolumeGroupSapHanaVolumeExportPolicyRule", "allowedClients");
}
this.allowedClients = allowedClients;
return this;
}
@CustomType.Setter
public Builder nfsv3Enabled(Boolean nfsv3Enabled) {
if (nfsv3Enabled == null) {
throw new MissingRequiredPropertyException("VolumeGroupSapHanaVolumeExportPolicyRule", "nfsv3Enabled");
}
this.nfsv3Enabled = nfsv3Enabled;
return this;
}
@CustomType.Setter
public Builder nfsv41Enabled(Boolean nfsv41Enabled) {
if (nfsv41Enabled == null) {
throw new MissingRequiredPropertyException("VolumeGroupSapHanaVolumeExportPolicyRule", "nfsv41Enabled");
}
this.nfsv41Enabled = nfsv41Enabled;
return this;
}
@CustomType.Setter
public Builder rootAccessEnabled(@Nullable Boolean rootAccessEnabled) {
this.rootAccessEnabled = rootAccessEnabled;
return this;
}
@CustomType.Setter
public Builder ruleIndex(Integer ruleIndex) {
if (ruleIndex == null) {
throw new MissingRequiredPropertyException("VolumeGroupSapHanaVolumeExportPolicyRule", "ruleIndex");
}
this.ruleIndex = ruleIndex;
return this;
}
@CustomType.Setter
public Builder unixReadOnly(@Nullable Boolean unixReadOnly) {
this.unixReadOnly = unixReadOnly;
return this;
}
@CustomType.Setter
public Builder unixReadWrite(@Nullable Boolean unixReadWrite) {
this.unixReadWrite = unixReadWrite;
return this;
}
public VolumeGroupSapHanaVolumeExportPolicyRule build() {
final var _resultValue = new VolumeGroupSapHanaVolumeExportPolicyRule();
_resultValue.allowedClients = allowedClients;
_resultValue.nfsv3Enabled = nfsv3Enabled;
_resultValue.nfsv41Enabled = nfsv41Enabled;
_resultValue.rootAccessEnabled = rootAccessEnabled;
_resultValue.ruleIndex = ruleIndex;
_resultValue.unixReadOnly = unixReadOnly;
_resultValue.unixReadWrite = unixReadWrite;
return _resultValue;
}
}
}