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

org.cdk8s.plus31.k8s.KubeCsiDriverProps Maven / Gradle / Ivy

package org.cdk8s.plus31.k8s;

/**
 * CSIDriver captures information about a Container Storage Interface (CSI) volume driver deployed on the cluster.
 * 

* Kubernetes attach detach controller uses this object to determine whether attach is required. Kubelet uses this object to determine whether pod information needs to be passed on mount. CSIDriver objects are non-namespaced. */ @javax.annotation.Generated(value = "jsii-pacmak/1.104.0 (build e79254c)", date = "2024-10-12T12:14:17.560Z") @software.amazon.jsii.Jsii(module = org.cdk8s.plus31.$Module.class, fqn = "cdk8s-plus-31.k8s.KubeCsiDriverProps") @software.amazon.jsii.Jsii.Proxy(KubeCsiDriverProps.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public interface KubeCsiDriverProps extends software.amazon.jsii.JsiiSerializable { /** * spec represents the specification of the CSI Driver. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull org.cdk8s.plus31.k8s.CsiDriverSpec getSpec(); /** * Standard object metadata. *

* metadata.Name indicates the name of the CSI driver that this object refers to; it MUST be the same name returned by the CSI GetPluginName() call for that driver. The driver name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and alphanumerics between. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable org.cdk8s.plus31.k8s.ObjectMeta getMetadata() { return null; } /** * @return a {@link Builder} of {@link KubeCsiDriverProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link KubeCsiDriverProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { org.cdk8s.plus31.k8s.CsiDriverSpec spec; org.cdk8s.plus31.k8s.ObjectMeta metadata; /** * Sets the value of {@link KubeCsiDriverProps#getSpec} * @param spec spec represents the specification of the CSI Driver. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder spec(org.cdk8s.plus31.k8s.CsiDriverSpec spec) { this.spec = spec; return this; } /** * Sets the value of {@link KubeCsiDriverProps#getMetadata} * @param metadata Standard object metadata. * metadata.Name indicates the name of the CSI driver that this object refers to; it MUST be the same name returned by the CSI GetPluginName() call for that driver. The driver name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and alphanumerics between. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder metadata(org.cdk8s.plus31.k8s.ObjectMeta metadata) { this.metadata = metadata; return this; } /** * Builds the configured instance. * @return a new instance of {@link KubeCsiDriverProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public KubeCsiDriverProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link KubeCsiDriverProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements KubeCsiDriverProps { private final org.cdk8s.plus31.k8s.CsiDriverSpec spec; private final org.cdk8s.plus31.k8s.ObjectMeta metadata; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.spec = software.amazon.jsii.Kernel.get(this, "spec", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.k8s.CsiDriverSpec.class)); this.metadata = software.amazon.jsii.Kernel.get(this, "metadata", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.k8s.ObjectMeta.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.spec = java.util.Objects.requireNonNull(builder.spec, "spec is required"); this.metadata = builder.metadata; } @Override public final org.cdk8s.plus31.k8s.CsiDriverSpec getSpec() { return this.spec; } @Override public final org.cdk8s.plus31.k8s.ObjectMeta getMetadata() { return this.metadata; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("spec", om.valueToTree(this.getSpec())); if (this.getMetadata() != null) { data.set("metadata", om.valueToTree(this.getMetadata())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("cdk8s-plus-31.k8s.KubeCsiDriverProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; KubeCsiDriverProps.Jsii$Proxy that = (KubeCsiDriverProps.Jsii$Proxy) o; if (!spec.equals(that.spec)) return false; return this.metadata != null ? this.metadata.equals(that.metadata) : that.metadata == null; } @Override public final int hashCode() { int result = this.spec.hashCode(); result = 31 * result + (this.metadata != null ? this.metadata.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy