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

com.pulumi.azurenative.kubernetesruntime.outputs.GetStorageClassResult Maven / Gradle / Ivy

There is a newer version: 2.82.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.kubernetesruntime.outputs;

import com.pulumi.azurenative.kubernetesruntime.outputs.BlobStorageClassTypePropertiesResponse;
import com.pulumi.azurenative.kubernetesruntime.outputs.NativeStorageClassTypePropertiesResponse;
import com.pulumi.azurenative.kubernetesruntime.outputs.NfsStorageClassTypePropertiesResponse;
import com.pulumi.azurenative.kubernetesruntime.outputs.RwxStorageClassTypePropertiesResponse;
import com.pulumi.azurenative.kubernetesruntime.outputs.SmbStorageClassTypePropertiesResponse;
import com.pulumi.azurenative.kubernetesruntime.outputs.SystemDataResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GetStorageClassResult {
    /**
     * @return The access mode: [ReadWriteOnce, ReadWriteMany] or [ReadWriteOnce]
     * 
     */
    private @Nullable List accessModes;
    /**
     * @return Volume can be expanded or not
     * 
     */
    private @Nullable String allowVolumeExpansion;
    /**
     * @return Allow single data node failure
     * 
     */
    private @Nullable String dataResilience;
    /**
     * @return Failover speed: NA, Slow, Fast
     * 
     */
    private @Nullable String failoverSpeed;
    /**
     * @return Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
     * 
     */
    private String id;
    /**
     * @return Limitations of the storage class
     * 
     */
    private @Nullable List limitations;
    /**
     * @return Additional mount options
     * 
     */
    private @Nullable List mountOptions;
    /**
     * @return The name of the resource
     * 
     */
    private String name;
    /**
     * @return Performance tier
     * 
     */
    private @Nullable String performance;
    /**
     * @return Selection priority when multiple storage classes meet the criteria. 0: Highest, -1: Never use
     * 
     */
    private @Nullable Double priority;
    /**
     * @return Provisioner name
     * 
     */
    private @Nullable String provisioner;
    /**
     * @return Resource provision state
     * 
     */
    private String provisioningState;
    /**
     * @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    private String type;
    /**
     * @return Properties of the StorageClass
     * 
     */
    private Object typeProperties;
    /**
     * @return Binding mode of volumes: Immediate, WaitForFirstConsumer
     * 
     */
    private @Nullable String volumeBindingMode;

    private GetStorageClassResult() {}
    /**
     * @return The access mode: [ReadWriteOnce, ReadWriteMany] or [ReadWriteOnce]
     * 
     */
    public List accessModes() {
        return this.accessModes == null ? List.of() : this.accessModes;
    }
    /**
     * @return Volume can be expanded or not
     * 
     */
    public Optional allowVolumeExpansion() {
        return Optional.ofNullable(this.allowVolumeExpansion);
    }
    /**
     * @return Allow single data node failure
     * 
     */
    public Optional dataResilience() {
        return Optional.ofNullable(this.dataResilience);
    }
    /**
     * @return Failover speed: NA, Slow, Fast
     * 
     */
    public Optional failoverSpeed() {
        return Optional.ofNullable(this.failoverSpeed);
    }
    /**
     * @return Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Limitations of the storage class
     * 
     */
    public List limitations() {
        return this.limitations == null ? List.of() : this.limitations;
    }
    /**
     * @return Additional mount options
     * 
     */
    public List mountOptions() {
        return this.mountOptions == null ? List.of() : this.mountOptions;
    }
    /**
     * @return The name of the resource
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Performance tier
     * 
     */
    public Optional performance() {
        return Optional.ofNullable(this.performance);
    }
    /**
     * @return Selection priority when multiple storage classes meet the criteria. 0: Highest, -1: Never use
     * 
     */
    public Optional priority() {
        return Optional.ofNullable(this.priority);
    }
    /**
     * @return Provisioner name
     * 
     */
    public Optional provisioner() {
        return Optional.ofNullable(this.provisioner);
    }
    /**
     * @return Resource provision state
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Properties of the StorageClass
     * 
     */
    public Object typeProperties() {
        return this.typeProperties;
    }
    /**
     * @return Binding mode of volumes: Immediate, WaitForFirstConsumer
     * 
     */
    public Optional volumeBindingMode() {
        return Optional.ofNullable(this.volumeBindingMode);
    }

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

    public static Builder builder(GetStorageClassResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List accessModes;
        private @Nullable String allowVolumeExpansion;
        private @Nullable String dataResilience;
        private @Nullable String failoverSpeed;
        private String id;
        private @Nullable List limitations;
        private @Nullable List mountOptions;
        private String name;
        private @Nullable String performance;
        private @Nullable Double priority;
        private @Nullable String provisioner;
        private String provisioningState;
        private SystemDataResponse systemData;
        private String type;
        private Object typeProperties;
        private @Nullable String volumeBindingMode;
        public Builder() {}
        public Builder(GetStorageClassResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.accessModes = defaults.accessModes;
    	      this.allowVolumeExpansion = defaults.allowVolumeExpansion;
    	      this.dataResilience = defaults.dataResilience;
    	      this.failoverSpeed = defaults.failoverSpeed;
    	      this.id = defaults.id;
    	      this.limitations = defaults.limitations;
    	      this.mountOptions = defaults.mountOptions;
    	      this.name = defaults.name;
    	      this.performance = defaults.performance;
    	      this.priority = defaults.priority;
    	      this.provisioner = defaults.provisioner;
    	      this.provisioningState = defaults.provisioningState;
    	      this.systemData = defaults.systemData;
    	      this.type = defaults.type;
    	      this.typeProperties = defaults.typeProperties;
    	      this.volumeBindingMode = defaults.volumeBindingMode;
        }

        @CustomType.Setter
        public Builder accessModes(@Nullable List accessModes) {

            this.accessModes = accessModes;
            return this;
        }
        public Builder accessModes(String... accessModes) {
            return accessModes(List.of(accessModes));
        }
        @CustomType.Setter
        public Builder allowVolumeExpansion(@Nullable String allowVolumeExpansion) {

            this.allowVolumeExpansion = allowVolumeExpansion;
            return this;
        }
        @CustomType.Setter
        public Builder dataResilience(@Nullable String dataResilience) {

            this.dataResilience = dataResilience;
            return this;
        }
        @CustomType.Setter
        public Builder failoverSpeed(@Nullable String failoverSpeed) {

            this.failoverSpeed = failoverSpeed;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetStorageClassResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder limitations(@Nullable List limitations) {

            this.limitations = limitations;
            return this;
        }
        public Builder limitations(String... limitations) {
            return limitations(List.of(limitations));
        }
        @CustomType.Setter
        public Builder mountOptions(@Nullable List mountOptions) {

            this.mountOptions = mountOptions;
            return this;
        }
        public Builder mountOptions(String... mountOptions) {
            return mountOptions(List.of(mountOptions));
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetStorageClassResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder performance(@Nullable String performance) {

            this.performance = performance;
            return this;
        }
        @CustomType.Setter
        public Builder priority(@Nullable Double priority) {

            this.priority = priority;
            return this;
        }
        @CustomType.Setter
        public Builder provisioner(@Nullable String provisioner) {

            this.provisioner = provisioner;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetStorageClassResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetStorageClassResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetStorageClassResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder typeProperties(Object typeProperties) {
            if (typeProperties == null) {
              throw new MissingRequiredPropertyException("GetStorageClassResult", "typeProperties");
            }
            this.typeProperties = typeProperties;
            return this;
        }
        @CustomType.Setter
        public Builder volumeBindingMode(@Nullable String volumeBindingMode) {

            this.volumeBindingMode = volumeBindingMode;
            return this;
        }
        public GetStorageClassResult build() {
            final var _resultValue = new GetStorageClassResult();
            _resultValue.accessModes = accessModes;
            _resultValue.allowVolumeExpansion = allowVolumeExpansion;
            _resultValue.dataResilience = dataResilience;
            _resultValue.failoverSpeed = failoverSpeed;
            _resultValue.id = id;
            _resultValue.limitations = limitations;
            _resultValue.mountOptions = mountOptions;
            _resultValue.name = name;
            _resultValue.performance = performance;
            _resultValue.priority = priority;
            _resultValue.provisioner = provisioner;
            _resultValue.provisioningState = provisioningState;
            _resultValue.systemData = systemData;
            _resultValue.type = type;
            _resultValue.typeProperties = typeProperties;
            _resultValue.volumeBindingMode = volumeBindingMode;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy