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

com.pulumi.azurenative.netapp.inputs.VolumeGroupMetaDataArgs Maven / Gradle / Ivy

There is a newer version: 2.89.2
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.ApplicationType;
import com.pulumi.azurenative.netapp.inputs.PlacementKeyValuePairsArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Volume group properties
 * 
 */
public final class VolumeGroupMetaDataArgs extends com.pulumi.resources.ResourceArgs {

    public static final VolumeGroupMetaDataArgs Empty = new VolumeGroupMetaDataArgs();

    /**
     * Application specific identifier
     * 
     */
    @Import(name="applicationIdentifier")
    private @Nullable Output applicationIdentifier;

    /**
     * @return Application specific identifier
     * 
     */
    public Optional> applicationIdentifier() {
        return Optional.ofNullable(this.applicationIdentifier);
    }

    /**
     * Application Type
     * 
     */
    @Import(name="applicationType")
    private @Nullable Output> applicationType;

    /**
     * @return Application Type
     * 
     */
    public Optional>> applicationType() {
        return Optional.ofNullable(this.applicationType);
    }

    /**
     * Application specific identifier of deployment rules for the volume group
     * 
     */
    @Import(name="deploymentSpecId")
    private @Nullable Output deploymentSpecId;

    /**
     * @return Application specific identifier of deployment rules for the volume group
     * 
     */
    public Optional> deploymentSpecId() {
        return Optional.ofNullable(this.deploymentSpecId);
    }

    /**
     * Application specific placement rules for the volume group
     * 
     */
    @Import(name="globalPlacementRules")
    private @Nullable Output> globalPlacementRules;

    /**
     * @return Application specific placement rules for the volume group
     * 
     */
    public Optional>> globalPlacementRules() {
        return Optional.ofNullable(this.globalPlacementRules);
    }

    /**
     * Group Description
     * 
     */
    @Import(name="groupDescription")
    private @Nullable Output groupDescription;

    /**
     * @return Group Description
     * 
     */
    public Optional> groupDescription() {
        return Optional.ofNullable(this.groupDescription);
    }

    private VolumeGroupMetaDataArgs() {}

    private VolumeGroupMetaDataArgs(VolumeGroupMetaDataArgs $) {
        this.applicationIdentifier = $.applicationIdentifier;
        this.applicationType = $.applicationType;
        this.deploymentSpecId = $.deploymentSpecId;
        this.globalPlacementRules = $.globalPlacementRules;
        this.groupDescription = $.groupDescription;
    }

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

    public static final class Builder {
        private VolumeGroupMetaDataArgs $;

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

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

        /**
         * @param applicationIdentifier Application specific identifier
         * 
         * @return builder
         * 
         */
        public Builder applicationIdentifier(@Nullable Output applicationIdentifier) {
            $.applicationIdentifier = applicationIdentifier;
            return this;
        }

        /**
         * @param applicationIdentifier Application specific identifier
         * 
         * @return builder
         * 
         */
        public Builder applicationIdentifier(String applicationIdentifier) {
            return applicationIdentifier(Output.of(applicationIdentifier));
        }

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

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

        /**
         * @param applicationType Application Type
         * 
         * @return builder
         * 
         */
        public Builder applicationType(String applicationType) {
            return applicationType(Either.ofLeft(applicationType));
        }

        /**
         * @param applicationType Application Type
         * 
         * @return builder
         * 
         */
        public Builder applicationType(ApplicationType applicationType) {
            return applicationType(Either.ofRight(applicationType));
        }

        /**
         * @param deploymentSpecId Application specific identifier of deployment rules for the volume group
         * 
         * @return builder
         * 
         */
        public Builder deploymentSpecId(@Nullable Output deploymentSpecId) {
            $.deploymentSpecId = deploymentSpecId;
            return this;
        }

        /**
         * @param deploymentSpecId Application specific identifier of deployment rules for the volume group
         * 
         * @return builder
         * 
         */
        public Builder deploymentSpecId(String deploymentSpecId) {
            return deploymentSpecId(Output.of(deploymentSpecId));
        }

        /**
         * @param globalPlacementRules Application specific placement rules for the volume group
         * 
         * @return builder
         * 
         */
        public Builder globalPlacementRules(@Nullable Output> globalPlacementRules) {
            $.globalPlacementRules = globalPlacementRules;
            return this;
        }

        /**
         * @param globalPlacementRules Application specific placement rules for the volume group
         * 
         * @return builder
         * 
         */
        public Builder globalPlacementRules(List globalPlacementRules) {
            return globalPlacementRules(Output.of(globalPlacementRules));
        }

        /**
         * @param globalPlacementRules Application specific placement rules for the volume group
         * 
         * @return builder
         * 
         */
        public Builder globalPlacementRules(PlacementKeyValuePairsArgs... globalPlacementRules) {
            return globalPlacementRules(List.of(globalPlacementRules));
        }

        /**
         * @param groupDescription Group Description
         * 
         * @return builder
         * 
         */
        public Builder groupDescription(@Nullable Output groupDescription) {
            $.groupDescription = groupDescription;
            return this;
        }

        /**
         * @param groupDescription Group Description
         * 
         * @return builder
         * 
         */
        public Builder groupDescription(String groupDescription) {
            return groupDescription(Output.of(groupDescription));
        }

        public VolumeGroupMetaDataArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy