io.kubernetes.client.openapi.models.V1FlexVolumeSourceFluentImpl Maven / Gradle / Ivy
package io.kubernetes.client.openapi.models;
import java.lang.StringBuilder;
import com.google.gson.annotations.SerializedName;
import io.kubernetes.client.fluent.Nested;
import java.lang.String;
import java.util.LinkedHashMap;
import java.lang.StringBuffer;
import java.lang.Deprecated;
import io.kubernetes.client.fluent.BaseFluent;
import java.lang.Object;
import java.lang.Boolean;
import java.util.Map;
public class V1FlexVolumeSourceFluentImpl> extends io.kubernetes.client.fluent.BaseFluent implements V1FlexVolumeSourceFluent {
private String driver;
private String fsType;
private Map options;
private Boolean readOnly;
private V1LocalObjectReferenceBuilder secretRef;
public V1FlexVolumeSourceFluentImpl() {
}
public V1FlexVolumeSourceFluentImpl(V1FlexVolumeSource instance) {
this.withDriver(instance.getDriver());
this.withFsType(instance.getFsType());
this.withOptions(instance.getOptions());
this.withReadOnly(instance.getReadOnly());
this.withSecretRef(instance.getSecretRef());
}
public String getDriver() {
return this.driver;
}
public A withDriver(String driver) {
this.driver=driver; return (A) this;
}
public Boolean hasDriver() {
return this.driver != null;
}
public A withNewDriver(String arg1) {
return (A)withDriver(new String(arg1));
}
public A withNewDriver(StringBuilder arg1) {
return (A)withDriver(new String(arg1));
}
public A withNewDriver(StringBuffer arg1) {
return (A)withDriver(new String(arg1));
}
public String getFsType() {
return this.fsType;
}
public A withFsType(String fsType) {
this.fsType=fsType; return (A) this;
}
public Boolean hasFsType() {
return this.fsType != null;
}
public A withNewFsType(String arg1) {
return (A)withFsType(new String(arg1));
}
public A withNewFsType(StringBuilder arg1) {
return (A)withFsType(new String(arg1));
}
public A withNewFsType(StringBuffer arg1) {
return (A)withFsType(new String(arg1));
}
public A addToOptions(String key,String value) {
if(this.options == null && key != null && value != null) { this.options = new LinkedHashMap(); }
if(key != null && value != null) {this.options.put(key, value);} return (A)this;
}
public A addToOptions(Map map) {
if(this.options == null && map != null) { this.options = new LinkedHashMap(); }
if(map != null) { this.options.putAll(map);} return (A)this;
}
public A removeFromOptions(String key) {
if(this.options == null) { return (A) this; }
if(key != null && this.options != null) {this.options.remove(key);} return (A)this;
}
public A removeFromOptions(Map map) {
if(this.options == null) { return (A) this; }
if(map != null) { for(Object key : map.keySet()) {if (this.options != null){this.options.remove(key);}}} return (A)this;
}
public Map getOptions() {
return this.options;
}
public A withOptions(Map options) {
if (options == null) { this.options = null;} else {this.options = new LinkedHashMap(options);} return (A) this;
}
public Boolean hasOptions() {
return this.options != null;
}
public Boolean isReadOnly() {
return this.readOnly;
}
public A withReadOnly(Boolean readOnly) {
this.readOnly=readOnly; return (A) this;
}
public Boolean hasReadOnly() {
return this.readOnly != null;
}
public A withNewReadOnly(String arg1) {
return (A)withReadOnly(new Boolean(arg1));
}
public A withNewReadOnly(boolean arg1) {
return (A)withReadOnly(new Boolean(arg1));
}
/**
* This method has been deprecated, please use method buildSecretRef instead.
* @return The buildable object.
*/
@Deprecated public V1LocalObjectReference getSecretRef() {
return this.secretRef!=null?this.secretRef.build():null;
}
public V1LocalObjectReference buildSecretRef() {
return this.secretRef!=null?this.secretRef.build():null;
}
public A withSecretRef(V1LocalObjectReference secretRef) {
_visitables.get("secretRef").remove(this.secretRef);
if (secretRef!=null){ this.secretRef= new V1LocalObjectReferenceBuilder(secretRef); _visitables.get("secretRef").add(this.secretRef);} return (A) this;
}
public Boolean hasSecretRef() {
return this.secretRef != null;
}
public V1FlexVolumeSourceFluent.SecretRefNested withNewSecretRef() {
return new SecretRefNestedImpl();
}
public V1FlexVolumeSourceFluent.SecretRefNested withNewSecretRefLike(V1LocalObjectReference item) {
return new SecretRefNestedImpl(item);
}
public V1FlexVolumeSourceFluent.SecretRefNested editSecretRef() {
return withNewSecretRefLike(getSecretRef());
}
public V1FlexVolumeSourceFluent.SecretRefNested editOrNewSecretRef() {
return withNewSecretRefLike(getSecretRef() != null ? getSecretRef(): new V1LocalObjectReferenceBuilder().build());
}
public V1FlexVolumeSourceFluent.SecretRefNested editOrNewSecretRefLike(V1LocalObjectReference item) {
return withNewSecretRefLike(getSecretRef() != null ? getSecretRef(): item);
}
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
V1FlexVolumeSourceFluentImpl that = (V1FlexVolumeSourceFluentImpl) o;
if (driver != null ? !driver.equals(that.driver) :that.driver != null) return false;
if (fsType != null ? !fsType.equals(that.fsType) :that.fsType != null) return false;
if (options != null ? !options.equals(that.options) :that.options != null) return false;
if (readOnly != null ? !readOnly.equals(that.readOnly) :that.readOnly != null) return false;
if (secretRef != null ? !secretRef.equals(that.secretRef) :that.secretRef != null) return false;
return true;
}
public int hashCode() {
return java.util.Objects.hash(driver, fsType, options, readOnly, secretRef, super.hashCode());
}
public class SecretRefNestedImpl extends V1LocalObjectReferenceFluentImpl> implements V1FlexVolumeSourceFluent.SecretRefNested,io.kubernetes.client.fluent.Nested {
private final V1LocalObjectReferenceBuilder builder;
SecretRefNestedImpl(V1LocalObjectReference item) {
this.builder = new V1LocalObjectReferenceBuilder(this, item);
}
SecretRefNestedImpl() {
this.builder = new V1LocalObjectReferenceBuilder(this);
}
public N and() {
return (N) V1FlexVolumeSourceFluentImpl.this.withSecretRef(builder.build());
}
public N endSecretRef() {
return and();
}
}
}