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

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

import com.pulumi.azurenative.netapp.enums.Type;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class VolumeQuotaRuleArgs extends com.pulumi.resources.ResourceArgs {

    public static final VolumeQuotaRuleArgs Empty = new VolumeQuotaRuleArgs();

    /**
     * The name of the NetApp account
     * 
     */
    @Import(name="accountName", required=true)
    private Output accountName;

    /**
     * @return The name of the NetApp account
     * 
     */
    public Output accountName() {
        return this.accountName;
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The name of the capacity pool
     * 
     */
    @Import(name="poolName", required=true)
    private Output poolName;

    /**
     * @return The name of the capacity pool
     * 
     */
    public Output poolName() {
        return this.poolName;
    }

    /**
     * Size of quota
     * 
     */
    @Import(name="quotaSizeInKiBs")
    private @Nullable Output quotaSizeInKiBs;

    /**
     * @return Size of quota
     * 
     */
    public Optional> quotaSizeInKiBs() {
        return Optional.ofNullable(this.quotaSizeInKiBs);
    }

    /**
     * UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid>
     * 
     */
    @Import(name="quotaTarget")
    private @Nullable Output quotaTarget;

    /**
     * @return UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid>
     * 
     */
    public Optional> quotaTarget() {
        return Optional.ofNullable(this.quotaTarget);
    }

    /**
     * Type of quota
     * 
     */
    @Import(name="quotaType")
    private @Nullable Output> quotaType;

    /**
     * @return Type of quota
     * 
     */
    public Optional>> quotaType() {
        return Optional.ofNullable(this.quotaType);
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The name of the volume
     * 
     */
    @Import(name="volumeName", required=true)
    private Output volumeName;

    /**
     * @return The name of the volume
     * 
     */
    public Output volumeName() {
        return this.volumeName;
    }

    /**
     * The name of volume quota rule
     * 
     */
    @Import(name="volumeQuotaRuleName")
    private @Nullable Output volumeQuotaRuleName;

    /**
     * @return The name of volume quota rule
     * 
     */
    public Optional> volumeQuotaRuleName() {
        return Optional.ofNullable(this.volumeQuotaRuleName);
    }

    private VolumeQuotaRuleArgs() {}

    private VolumeQuotaRuleArgs(VolumeQuotaRuleArgs $) {
        this.accountName = $.accountName;
        this.location = $.location;
        this.poolName = $.poolName;
        this.quotaSizeInKiBs = $.quotaSizeInKiBs;
        this.quotaTarget = $.quotaTarget;
        this.quotaType = $.quotaType;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
        this.volumeName = $.volumeName;
        this.volumeQuotaRuleName = $.volumeQuotaRuleName;
    }

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

    public static final class Builder {
        private VolumeQuotaRuleArgs $;

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

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

        /**
         * @param accountName The name of the NetApp account
         * 
         * @return builder
         * 
         */
        public Builder accountName(Output accountName) {
            $.accountName = accountName;
            return this;
        }

        /**
         * @param accountName The name of the NetApp account
         * 
         * @return builder
         * 
         */
        public Builder accountName(String accountName) {
            return accountName(Output.of(accountName));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param poolName The name of the capacity pool
         * 
         * @return builder
         * 
         */
        public Builder poolName(Output poolName) {
            $.poolName = poolName;
            return this;
        }

        /**
         * @param poolName The name of the capacity pool
         * 
         * @return builder
         * 
         */
        public Builder poolName(String poolName) {
            return poolName(Output.of(poolName));
        }

        /**
         * @param quotaSizeInKiBs Size of quota
         * 
         * @return builder
         * 
         */
        public Builder quotaSizeInKiBs(@Nullable Output quotaSizeInKiBs) {
            $.quotaSizeInKiBs = quotaSizeInKiBs;
            return this;
        }

        /**
         * @param quotaSizeInKiBs Size of quota
         * 
         * @return builder
         * 
         */
        public Builder quotaSizeInKiBs(Double quotaSizeInKiBs) {
            return quotaSizeInKiBs(Output.of(quotaSizeInKiBs));
        }

        /**
         * @param quotaTarget UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid>
         * 
         * @return builder
         * 
         */
        public Builder quotaTarget(@Nullable Output quotaTarget) {
            $.quotaTarget = quotaTarget;
            return this;
        }

        /**
         * @param quotaTarget UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid>
         * 
         * @return builder
         * 
         */
        public Builder quotaTarget(String quotaTarget) {
            return quotaTarget(Output.of(quotaTarget));
        }

        /**
         * @param quotaType Type of quota
         * 
         * @return builder
         * 
         */
        public Builder quotaType(@Nullable Output> quotaType) {
            $.quotaType = quotaType;
            return this;
        }

        /**
         * @param quotaType Type of quota
         * 
         * @return builder
         * 
         */
        public Builder quotaType(Either quotaType) {
            return quotaType(Output.of(quotaType));
        }

        /**
         * @param quotaType Type of quota
         * 
         * @return builder
         * 
         */
        public Builder quotaType(String quotaType) {
            return quotaType(Either.ofLeft(quotaType));
        }

        /**
         * @param quotaType Type of quota
         * 
         * @return builder
         * 
         */
        public Builder quotaType(Type quotaType) {
            return quotaType(Either.ofRight(quotaType));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param volumeName The name of the volume
         * 
         * @return builder
         * 
         */
        public Builder volumeName(Output volumeName) {
            $.volumeName = volumeName;
            return this;
        }

        /**
         * @param volumeName The name of the volume
         * 
         * @return builder
         * 
         */
        public Builder volumeName(String volumeName) {
            return volumeName(Output.of(volumeName));
        }

        /**
         * @param volumeQuotaRuleName The name of volume quota rule
         * 
         * @return builder
         * 
         */
        public Builder volumeQuotaRuleName(@Nullable Output volumeQuotaRuleName) {
            $.volumeQuotaRuleName = volumeQuotaRuleName;
            return this;
        }

        /**
         * @param volumeQuotaRuleName The name of volume quota rule
         * 
         * @return builder
         * 
         */
        public Builder volumeQuotaRuleName(String volumeQuotaRuleName) {
            return volumeQuotaRuleName(Output.of(volumeQuotaRuleName));
        }

        public VolumeQuotaRuleArgs build() {
            if ($.accountName == null) {
                throw new MissingRequiredPropertyException("VolumeQuotaRuleArgs", "accountName");
            }
            if ($.poolName == null) {
                throw new MissingRequiredPropertyException("VolumeQuotaRuleArgs", "poolName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("VolumeQuotaRuleArgs", "resourceGroupName");
            }
            if ($.volumeName == null) {
                throw new MissingRequiredPropertyException("VolumeQuotaRuleArgs", "volumeName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy