// *** 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.gcp.appengine.outputs;

import com.pulumi.core.annotations.CustomType;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class FlexibleAppVersionResourcesVolume {
    /**
     * @return Unique name for the volume.
     * 
     */
    private String name;
    /**
     * @return Volume size in gigabytes.
     * 
     */
    private Integer sizeGb;
    /**
     * @return Underlying volume type, e.g. &#39;tmpfs&#39;.
     * 
     */
    private String volumeType;

    private FlexibleAppVersionResourcesVolume() {}
    /**
     * @return Unique name for the volume.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Volume size in gigabytes.
     * 
     */
    public Integer sizeGb() {
        return this.sizeGb;
    }
    /**
     * @return Underlying volume type, e.g. &#39;tmpfs&#39;.
     * 
     */
    public String volumeType() {
        return this.volumeType;
    }

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

    public static Builder builder(FlexibleAppVersionResourcesVolume defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String name;
        private Integer sizeGb;
        private String volumeType;
        public Builder() {}
        public Builder(FlexibleAppVersionResourcesVolume defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.name = defaults.name;
    	      this.sizeGb = defaults.sizeGb;
    	      this.volumeType = defaults.volumeType;
        }

        @CustomType.Setter
        public Builder name(String name) {
            this.name = Objects.requireNonNull(name);
            return this;
        }
        @CustomType.Setter
        public Builder sizeGb(Integer sizeGb) {
            this.sizeGb = Objects.requireNonNull(sizeGb);
            return this;
        }
        @CustomType.Setter
        public Builder volumeType(String volumeType) {
            this.volumeType = Objects.requireNonNull(volumeType);
            return this;
        }
        public FlexibleAppVersionResourcesVolume build() {
            final var o = new FlexibleAppVersionResourcesVolume();
            o.name = name;
            o.sizeGb = sizeGb;
            o.volumeType = volumeType;
            return o;
        }
    }
}
