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

io.k8s.api.core.v1.ScaleIOPersistentVolumeSource Maven / Gradle / Ivy

package io.k8s.api.core.v1;

import java.lang.Boolean;
import java.lang.String;

/**
 * ScaleIOPersistentVolumeSource represents a persistent ScaleIO volume
 */
public class ScaleIOPersistentVolumeSource {
  public String fsType;

  public String gateway;

  public String protectionDomain;

  public Boolean readOnly;

  public SecretReference secretRef;

  public Boolean sslEnabled;

  public String storageMode;

  public String storagePool;

  public String system;

  public String volumeName;

  /**
   * fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs"
   */
  public ScaleIOPersistentVolumeSource fsType(String fsType) {
    this.fsType = fsType;
    return this;
  }

  /**
   * gateway is the host address of the ScaleIO API Gateway.
   */
  public ScaleIOPersistentVolumeSource gateway(String gateway) {
    this.gateway = gateway;
    return this;
  }

  /**
   * protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.
   */
  public ScaleIOPersistentVolumeSource protectionDomain(String protectionDomain) {
    this.protectionDomain = protectionDomain;
    return this;
  }

  /**
   * readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
   */
  public ScaleIOPersistentVolumeSource readOnly(Boolean readOnly) {
    this.readOnly = readOnly;
    return this;
  }

  public ScaleIOPersistentVolumeSource secretRef(SecretReference secretRef) {
    this.secretRef = secretRef;
    return this;
  }

  /**
   * sslEnabled is the flag to enable/disable SSL communication with Gateway, default false
   */
  public ScaleIOPersistentVolumeSource sslEnabled(Boolean sslEnabled) {
    this.sslEnabled = sslEnabled;
    return this;
  }

  /**
   * storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.
   */
  public ScaleIOPersistentVolumeSource storageMode(String storageMode) {
    this.storageMode = storageMode;
    return this;
  }

  /**
   * storagePool is the ScaleIO Storage Pool associated with the protection domain.
   */
  public ScaleIOPersistentVolumeSource storagePool(String storagePool) {
    this.storagePool = storagePool;
    return this;
  }

  /**
   * system is the name of the storage system as configured in ScaleIO.
   */
  public ScaleIOPersistentVolumeSource system(String system) {
    this.system = system;
    return this;
  }

  /**
   * volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.
   */
  public ScaleIOPersistentVolumeSource volumeName(String volumeName) {
    this.volumeName = volumeName;
    return this;
  }

  public static ScaleIOPersistentVolumeSource scaleIOPersistentVolumeSource() {
    return new ScaleIOPersistentVolumeSource();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy