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

com.pulumi.azurenative.netapp.inputs.ExportPolicyRuleArgs 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.netapp.inputs;

import com.pulumi.azurenative.netapp.enums.ChownMode;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Volume Export Policy Rule
 * 
 */
public final class ExportPolicyRuleArgs extends com.pulumi.resources.ResourceArgs {

    public static final ExportPolicyRuleArgs Empty = new ExportPolicyRuleArgs();

    /**
     * Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names
     * 
     */
    @Import(name="allowedClients")
    private @Nullable Output allowedClients;

    /**
     * @return Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names
     * 
     */
    public Optional> allowedClients() {
        return Optional.ofNullable(this.allowedClients);
    }

    /**
     * This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.
     * 
     */
    @Import(name="chownMode")
    private @Nullable Output> chownMode;

    /**
     * @return This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.
     * 
     */
    public Optional>> chownMode() {
        return Optional.ofNullable(this.chownMode);
    }

    /**
     * Allows CIFS protocol
     * 
     */
    @Import(name="cifs")
    private @Nullable Output cifs;

    /**
     * @return Allows CIFS protocol
     * 
     */
    public Optional> cifs() {
        return Optional.ofNullable(this.cifs);
    }

    /**
     * Has root access to volume
     * 
     */
    @Import(name="hasRootAccess")
    private @Nullable Output hasRootAccess;

    /**
     * @return Has root access to volume
     * 
     */
    public Optional> hasRootAccess() {
        return Optional.ofNullable(this.hasRootAccess);
    }

    /**
     * Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later
     * 
     */
    @Import(name="kerberos5ReadOnly")
    private @Nullable Output kerberos5ReadOnly;

    /**
     * @return Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later
     * 
     */
    public Optional> kerberos5ReadOnly() {
        return Optional.ofNullable(this.kerberos5ReadOnly);
    }

    /**
     * Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later
     * 
     */
    @Import(name="kerberos5ReadWrite")
    private @Nullable Output kerberos5ReadWrite;

    /**
     * @return Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later
     * 
     */
    public Optional> kerberos5ReadWrite() {
        return Optional.ofNullable(this.kerberos5ReadWrite);
    }

    /**
     * Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later
     * 
     */
    @Import(name="kerberos5iReadOnly")
    private @Nullable Output kerberos5iReadOnly;

    /**
     * @return Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later
     * 
     */
    public Optional> kerberos5iReadOnly() {
        return Optional.ofNullable(this.kerberos5iReadOnly);
    }

    /**
     * Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later
     * 
     */
    @Import(name="kerberos5iReadWrite")
    private @Nullable Output kerberos5iReadWrite;

    /**
     * @return Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later
     * 
     */
    public Optional> kerberos5iReadWrite() {
        return Optional.ofNullable(this.kerberos5iReadWrite);
    }

    /**
     * Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later
     * 
     */
    @Import(name="kerberos5pReadOnly")
    private @Nullable Output kerberos5pReadOnly;

    /**
     * @return Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later
     * 
     */
    public Optional> kerberos5pReadOnly() {
        return Optional.ofNullable(this.kerberos5pReadOnly);
    }

    /**
     * Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later
     * 
     */
    @Import(name="kerberos5pReadWrite")
    private @Nullable Output kerberos5pReadWrite;

    /**
     * @return Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later
     * 
     */
    public Optional> kerberos5pReadWrite() {
        return Optional.ofNullable(this.kerberos5pReadWrite);
    }

    /**
     * Allows NFSv3 protocol. Enable only for NFSv3 type volumes
     * 
     */
    @Import(name="nfsv3")
    private @Nullable Output nfsv3;

    /**
     * @return Allows NFSv3 protocol. Enable only for NFSv3 type volumes
     * 
     */
    public Optional> nfsv3() {
        return Optional.ofNullable(this.nfsv3);
    }

    /**
     * Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes
     * 
     */
    @Import(name="nfsv41")
    private @Nullable Output nfsv41;

    /**
     * @return Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes
     * 
     */
    public Optional> nfsv41() {
        return Optional.ofNullable(this.nfsv41);
    }

    /**
     * Order index
     * 
     */
    @Import(name="ruleIndex")
    private @Nullable Output ruleIndex;

    /**
     * @return Order index
     * 
     */
    public Optional> ruleIndex() {
        return Optional.ofNullable(this.ruleIndex);
    }

    /**
     * Read only access
     * 
     */
    @Import(name="unixReadOnly")
    private @Nullable Output unixReadOnly;

    /**
     * @return Read only access
     * 
     */
    public Optional> unixReadOnly() {
        return Optional.ofNullable(this.unixReadOnly);
    }

    /**
     * Read and write access
     * 
     */
    @Import(name="unixReadWrite")
    private @Nullable Output unixReadWrite;

    /**
     * @return Read and write access
     * 
     */
    public Optional> unixReadWrite() {
        return Optional.ofNullable(this.unixReadWrite);
    }

    private ExportPolicyRuleArgs() {}

    private ExportPolicyRuleArgs(ExportPolicyRuleArgs $) {
        this.allowedClients = $.allowedClients;
        this.chownMode = $.chownMode;
        this.cifs = $.cifs;
        this.hasRootAccess = $.hasRootAccess;
        this.kerberos5ReadOnly = $.kerberos5ReadOnly;
        this.kerberos5ReadWrite = $.kerberos5ReadWrite;
        this.kerberos5iReadOnly = $.kerberos5iReadOnly;
        this.kerberos5iReadWrite = $.kerberos5iReadWrite;
        this.kerberos5pReadOnly = $.kerberos5pReadOnly;
        this.kerberos5pReadWrite = $.kerberos5pReadWrite;
        this.nfsv3 = $.nfsv3;
        this.nfsv41 = $.nfsv41;
        this.ruleIndex = $.ruleIndex;
        this.unixReadOnly = $.unixReadOnly;
        this.unixReadWrite = $.unixReadWrite;
    }

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

    public static final class Builder {
        private ExportPolicyRuleArgs $;

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

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

        /**
         * @param allowedClients Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names
         * 
         * @return builder
         * 
         */
        public Builder allowedClients(@Nullable Output allowedClients) {
            $.allowedClients = allowedClients;
            return this;
        }

        /**
         * @param allowedClients Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names
         * 
         * @return builder
         * 
         */
        public Builder allowedClients(String allowedClients) {
            return allowedClients(Output.of(allowedClients));
        }

        /**
         * @param chownMode This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.
         * 
         * @return builder
         * 
         */
        public Builder chownMode(@Nullable Output> chownMode) {
            $.chownMode = chownMode;
            return this;
        }

        /**
         * @param chownMode This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.
         * 
         * @return builder
         * 
         */
        public Builder chownMode(Either chownMode) {
            return chownMode(Output.of(chownMode));
        }

        /**
         * @param chownMode This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.
         * 
         * @return builder
         * 
         */
        public Builder chownMode(String chownMode) {
            return chownMode(Either.ofLeft(chownMode));
        }

        /**
         * @param chownMode This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.
         * 
         * @return builder
         * 
         */
        public Builder chownMode(ChownMode chownMode) {
            return chownMode(Either.ofRight(chownMode));
        }

        /**
         * @param cifs Allows CIFS protocol
         * 
         * @return builder
         * 
         */
        public Builder cifs(@Nullable Output cifs) {
            $.cifs = cifs;
            return this;
        }

        /**
         * @param cifs Allows CIFS protocol
         * 
         * @return builder
         * 
         */
        public Builder cifs(Boolean cifs) {
            return cifs(Output.of(cifs));
        }

        /**
         * @param hasRootAccess Has root access to volume
         * 
         * @return builder
         * 
         */
        public Builder hasRootAccess(@Nullable Output hasRootAccess) {
            $.hasRootAccess = hasRootAccess;
            return this;
        }

        /**
         * @param hasRootAccess Has root access to volume
         * 
         * @return builder
         * 
         */
        public Builder hasRootAccess(Boolean hasRootAccess) {
            return hasRootAccess(Output.of(hasRootAccess));
        }

        /**
         * @param kerberos5ReadOnly Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5ReadOnly(@Nullable Output kerberos5ReadOnly) {
            $.kerberos5ReadOnly = kerberos5ReadOnly;
            return this;
        }

        /**
         * @param kerberos5ReadOnly Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5ReadOnly(Boolean kerberos5ReadOnly) {
            return kerberos5ReadOnly(Output.of(kerberos5ReadOnly));
        }

        /**
         * @param kerberos5ReadWrite Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5ReadWrite(@Nullable Output kerberos5ReadWrite) {
            $.kerberos5ReadWrite = kerberos5ReadWrite;
            return this;
        }

        /**
         * @param kerberos5ReadWrite Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5ReadWrite(Boolean kerberos5ReadWrite) {
            return kerberos5ReadWrite(Output.of(kerberos5ReadWrite));
        }

        /**
         * @param kerberos5iReadOnly Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5iReadOnly(@Nullable Output kerberos5iReadOnly) {
            $.kerberos5iReadOnly = kerberos5iReadOnly;
            return this;
        }

        /**
         * @param kerberos5iReadOnly Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5iReadOnly(Boolean kerberos5iReadOnly) {
            return kerberos5iReadOnly(Output.of(kerberos5iReadOnly));
        }

        /**
         * @param kerberos5iReadWrite Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5iReadWrite(@Nullable Output kerberos5iReadWrite) {
            $.kerberos5iReadWrite = kerberos5iReadWrite;
            return this;
        }

        /**
         * @param kerberos5iReadWrite Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5iReadWrite(Boolean kerberos5iReadWrite) {
            return kerberos5iReadWrite(Output.of(kerberos5iReadWrite));
        }

        /**
         * @param kerberos5pReadOnly Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5pReadOnly(@Nullable Output kerberos5pReadOnly) {
            $.kerberos5pReadOnly = kerberos5pReadOnly;
            return this;
        }

        /**
         * @param kerberos5pReadOnly Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5pReadOnly(Boolean kerberos5pReadOnly) {
            return kerberos5pReadOnly(Output.of(kerberos5pReadOnly));
        }

        /**
         * @param kerberos5pReadWrite Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5pReadWrite(@Nullable Output kerberos5pReadWrite) {
            $.kerberos5pReadWrite = kerberos5pReadWrite;
            return this;
        }

        /**
         * @param kerberos5pReadWrite Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later
         * 
         * @return builder
         * 
         */
        public Builder kerberos5pReadWrite(Boolean kerberos5pReadWrite) {
            return kerberos5pReadWrite(Output.of(kerberos5pReadWrite));
        }

        /**
         * @param nfsv3 Allows NFSv3 protocol. Enable only for NFSv3 type volumes
         * 
         * @return builder
         * 
         */
        public Builder nfsv3(@Nullable Output nfsv3) {
            $.nfsv3 = nfsv3;
            return this;
        }

        /**
         * @param nfsv3 Allows NFSv3 protocol. Enable only for NFSv3 type volumes
         * 
         * @return builder
         * 
         */
        public Builder nfsv3(Boolean nfsv3) {
            return nfsv3(Output.of(nfsv3));
        }

        /**
         * @param nfsv41 Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes
         * 
         * @return builder
         * 
         */
        public Builder nfsv41(@Nullable Output nfsv41) {
            $.nfsv41 = nfsv41;
            return this;
        }

        /**
         * @param nfsv41 Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes
         * 
         * @return builder
         * 
         */
        public Builder nfsv41(Boolean nfsv41) {
            return nfsv41(Output.of(nfsv41));
        }

        /**
         * @param ruleIndex Order index
         * 
         * @return builder
         * 
         */
        public Builder ruleIndex(@Nullable Output ruleIndex) {
            $.ruleIndex = ruleIndex;
            return this;
        }

        /**
         * @param ruleIndex Order index
         * 
         * @return builder
         * 
         */
        public Builder ruleIndex(Integer ruleIndex) {
            return ruleIndex(Output.of(ruleIndex));
        }

        /**
         * @param unixReadOnly Read only access
         * 
         * @return builder
         * 
         */
        public Builder unixReadOnly(@Nullable Output unixReadOnly) {
            $.unixReadOnly = unixReadOnly;
            return this;
        }

        /**
         * @param unixReadOnly Read only access
         * 
         * @return builder
         * 
         */
        public Builder unixReadOnly(Boolean unixReadOnly) {
            return unixReadOnly(Output.of(unixReadOnly));
        }

        /**
         * @param unixReadWrite Read and write access
         * 
         * @return builder
         * 
         */
        public Builder unixReadWrite(@Nullable Output unixReadWrite) {
            $.unixReadWrite = unixReadWrite;
            return this;
        }

        /**
         * @param unixReadWrite Read and write access
         * 
         * @return builder
         * 
         */
        public Builder unixReadWrite(Boolean unixReadWrite) {
            return unixReadWrite(Output.of(unixReadWrite));
        }

        public ExportPolicyRuleArgs build() {
            $.chownMode = Codegen.stringProp("chownMode").left(ChownMode.class).output().arg($.chownMode).def("Restricted").getNullable();
            $.hasRootAccess = Codegen.booleanProp("hasRootAccess").output().arg($.hasRootAccess).def(true).getNullable();
            $.kerberos5ReadOnly = Codegen.booleanProp("kerberos5ReadOnly").output().arg($.kerberos5ReadOnly).def(false).getNullable();
            $.kerberos5ReadWrite = Codegen.booleanProp("kerberos5ReadWrite").output().arg($.kerberos5ReadWrite).def(false).getNullable();
            $.kerberos5iReadOnly = Codegen.booleanProp("kerberos5iReadOnly").output().arg($.kerberos5iReadOnly).def(false).getNullable();
            $.kerberos5iReadWrite = Codegen.booleanProp("kerberos5iReadWrite").output().arg($.kerberos5iReadWrite).def(false).getNullable();
            $.kerberos5pReadOnly = Codegen.booleanProp("kerberos5pReadOnly").output().arg($.kerberos5pReadOnly).def(false).getNullable();
            $.kerberos5pReadWrite = Codegen.booleanProp("kerberos5pReadWrite").output().arg($.kerberos5pReadWrite).def(false).getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy