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

org.cdk8s.plus23.k8s.KubeCsiDriver Maven / Gradle / Ivy

package org.cdk8s.plus23.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.75.0 (build 63bb957)", date = "2023-02-21T09:46:03.851Z") @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Jsii(module = org.cdk8s.plus23.$Module.class, fqn = "cdk8s-plus-23.k8s.KubeCsiDriver") public class KubeCsiDriver extends org.cdk8s.ApiObject { protected KubeCsiDriver(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } protected KubeCsiDriver(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { super(initializationMode); } static { GVK = software.amazon.jsii.JsiiObject.jsiiStaticGet(org.cdk8s.plus23.k8s.KubeCsiDriver.class, "GVK", software.amazon.jsii.NativeType.forClass(org.cdk8s.GroupVersionKind.class)); } /** * Defines a "io.k8s.api.storage.v1.CSIDriver" API object. *

* @param scope the scope in which to define this object. This parameter is required. * @param id a scope-local name for the object. This parameter is required. * @param props initialization props. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public KubeCsiDriver(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull org.cdk8s.plus23.k8s.KubeCsiDriverProps props) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") }); } /** * Renders a Kubernetes manifest for "io.k8s.api.storage.v1.CSIDriver". *

* This can be used to inline resource manifests inside other objects (e.g. as templates). *

* @param props initialization props. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static @org.jetbrains.annotations.NotNull java.lang.Object manifest(final @org.jetbrains.annotations.NotNull org.cdk8s.plus23.k8s.KubeCsiDriverProps props) { return software.amazon.jsii.JsiiObject.jsiiStaticCall(org.cdk8s.plus23.k8s.KubeCsiDriver.class, "manifest", software.amazon.jsii.NativeType.forClass(java.lang.Object.class), new Object[] { java.util.Objects.requireNonNull(props, "props is required") }); } /** * Renders the object to Kubernetes JSON. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public @org.jetbrains.annotations.NotNull java.lang.Object toJson() { return software.amazon.jsii.Kernel.call(this, "toJson", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * Returns the apiVersion and kind for "io.k8s.api.storage.v1.CSIDriver". */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public final static org.cdk8s.GroupVersionKind GVK; /** * A fluent builder for {@link org.cdk8s.plus23.k8s.KubeCsiDriver}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { /** * @return a new instance of {@link Builder}. * @param scope the scope in which to define this object. This parameter is required. * @param id a scope-local name for the object. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static Builder create(final software.constructs.Construct scope, final java.lang.String id) { return new Builder(scope, id); } private final software.constructs.Construct scope; private final java.lang.String id; private final org.cdk8s.plus23.k8s.KubeCsiDriverProps.Builder props; private Builder(final software.constructs.Construct scope, final java.lang.String id) { this.scope = scope; this.id = id; this.props = new org.cdk8s.plus23.k8s.KubeCsiDriverProps.Builder(); } /** * Specification of the CSI Driver. *

* @return {@code this} * @param spec Specification of the CSI Driver. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder spec(final org.cdk8s.plus23.k8s.CsiDriverSpec spec) { this.props.spec(spec); return this; } /** * 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} * @param metadata Standard object metadata. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder metadata(final org.cdk8s.plus23.k8s.ObjectMeta metadata) { this.props.metadata(metadata); return this; } /** * @returns a newly built instance of {@link org.cdk8s.plus23.k8s.KubeCsiDriver}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public org.cdk8s.plus23.k8s.KubeCsiDriver build() { return new org.cdk8s.plus23.k8s.KubeCsiDriver( this.scope, this.id, this.props.build() ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy