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

org.cdk8s.HelmProps Maven / Gradle / Ivy

Go to download

This is the core library of Cloud Development Kit (CDK) for Kubernetes (cdk8s). cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.

There is a newer version: 2.69.27
Show newest version
package org.cdk8s;

/**
 * Options for Helm.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.90.0 (build d6bdb4d)", date = "2023-10-18T16:08:55.810Z")
@software.amazon.jsii.Jsii(module = org.cdk8s.$Module.class, fqn = "cdk8s.HelmProps")
@software.amazon.jsii.Jsii.Proxy(HelmProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface HelmProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * The chart name to use. It can be a chart from a helm repository or a local directory.
     * 

* This name is passed to helm template and has all the relevant semantics. *

* Example: *

*

     * "bitnami/redis"
     * 
*/ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getChart(); /** * The local helm executable to use in order to create the manifest the chart. *

* Default: "helm" */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getHelmExecutable() { return null; } /** * Additional flags to add to the helm execution. *

* Default: [] */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getHelmFlags() { return null; } /** * Scope all resources in to a given namespace. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getNamespace() { return null; } /** * The release name. *

* Default: - if unspecified, a name will be allocated based on the construct path *

* @see https://helm.sh/docs/intro/using_helm/#three-big-concepts */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getReleaseName() { return null; } /** * Chart repository url where to locate the requested chart. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getRepo() { return null; } /** * Values to pass to the chart. *

* Default: - If no values are specified, chart will use the defaults. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.Map getValues() { return null; } /** * Version constraint for the chart version to use. *

* This constraint can be a specific tag (e.g. 1.1.1) * or it may reference a valid range (e.g. ^2.0.0). * If this is not specified, the latest version is used *

* This name is passed to helm template --version and has all the relevant semantics. *

* Example: *

*

     * "^2.0.0"
     * 
*/ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getVersion() { return null; } /** * @return a {@link Builder} of {@link HelmProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link HelmProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String chart; java.lang.String helmExecutable; java.util.List helmFlags; java.lang.String namespace; java.lang.String releaseName; java.lang.String repo; java.util.Map values; java.lang.String version; /** * Sets the value of {@link HelmProps#getChart} * @param chart The chart name to use. It can be a chart from a helm repository or a local directory. This parameter is required. * This name is passed to helm template and has all the relevant semantics. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder chart(java.lang.String chart) { this.chart = chart; return this; } /** * Sets the value of {@link HelmProps#getHelmExecutable} * @param helmExecutable The local helm executable to use in order to create the manifest the chart. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder helmExecutable(java.lang.String helmExecutable) { this.helmExecutable = helmExecutable; return this; } /** * Sets the value of {@link HelmProps#getHelmFlags} * @param helmFlags Additional flags to add to the helm execution. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder helmFlags(java.util.List helmFlags) { this.helmFlags = helmFlags; return this; } /** * Sets the value of {@link HelmProps#getNamespace} * @param namespace Scope all resources in to a given namespace. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder namespace(java.lang.String namespace) { this.namespace = namespace; return this; } /** * Sets the value of {@link HelmProps#getReleaseName} * @param releaseName The release name. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder releaseName(java.lang.String releaseName) { this.releaseName = releaseName; return this; } /** * Sets the value of {@link HelmProps#getRepo} * @param repo Chart repository url where to locate the requested chart. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder repo(java.lang.String repo) { this.repo = repo; return this; } /** * Sets the value of {@link HelmProps#getValues} * @param values Values to pass to the chart. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder values(java.util.Map values) { this.values = (java.util.Map)values; return this; } /** * Sets the value of {@link HelmProps#getVersion} * @param version Version constraint for the chart version to use. * This constraint can be a specific tag (e.g. 1.1.1) * or it may reference a valid range (e.g. ^2.0.0). * If this is not specified, the latest version is used *

* This name is passed to helm template --version and has all the relevant semantics. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder version(java.lang.String version) { this.version = version; return this; } /** * Builds the configured instance. * @return a new instance of {@link HelmProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public HelmProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link HelmProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements HelmProps { private final java.lang.String chart; private final java.lang.String helmExecutable; private final java.util.List helmFlags; private final java.lang.String namespace; private final java.lang.String releaseName; private final java.lang.String repo; private final java.util.Map values; private final java.lang.String version; /** * 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.chart = software.amazon.jsii.Kernel.get(this, "chart", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.helmExecutable = software.amazon.jsii.Kernel.get(this, "helmExecutable", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.helmFlags = software.amazon.jsii.Kernel.get(this, "helmFlags", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.namespace = software.amazon.jsii.Kernel.get(this, "namespace", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.releaseName = software.amazon.jsii.Kernel.get(this, "releaseName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.repo = software.amazon.jsii.Kernel.get(this, "repo", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.values = software.amazon.jsii.Kernel.get(this, "values", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))); this.version = software.amazon.jsii.Kernel.get(this, "version", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.chart = java.util.Objects.requireNonNull(builder.chart, "chart is required"); this.helmExecutable = builder.helmExecutable; this.helmFlags = builder.helmFlags; this.namespace = builder.namespace; this.releaseName = builder.releaseName; this.repo = builder.repo; this.values = (java.util.Map)builder.values; this.version = builder.version; } @Override public final java.lang.String getChart() { return this.chart; } @Override public final java.lang.String getHelmExecutable() { return this.helmExecutable; } @Override public final java.util.List getHelmFlags() { return this.helmFlags; } @Override public final java.lang.String getNamespace() { return this.namespace; } @Override public final java.lang.String getReleaseName() { return this.releaseName; } @Override public final java.lang.String getRepo() { return this.repo; } @Override public final java.util.Map getValues() { return this.values; } @Override public final java.lang.String getVersion() { return this.version; } @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("chart", om.valueToTree(this.getChart())); if (this.getHelmExecutable() != null) { data.set("helmExecutable", om.valueToTree(this.getHelmExecutable())); } if (this.getHelmFlags() != null) { data.set("helmFlags", om.valueToTree(this.getHelmFlags())); } if (this.getNamespace() != null) { data.set("namespace", om.valueToTree(this.getNamespace())); } if (this.getReleaseName() != null) { data.set("releaseName", om.valueToTree(this.getReleaseName())); } if (this.getRepo() != null) { data.set("repo", om.valueToTree(this.getRepo())); } if (this.getValues() != null) { data.set("values", om.valueToTree(this.getValues())); } if (this.getVersion() != null) { data.set("version", om.valueToTree(this.getVersion())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("cdk8s.HelmProps")); 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; HelmProps.Jsii$Proxy that = (HelmProps.Jsii$Proxy) o; if (!chart.equals(that.chart)) return false; if (this.helmExecutable != null ? !this.helmExecutable.equals(that.helmExecutable) : that.helmExecutable != null) return false; if (this.helmFlags != null ? !this.helmFlags.equals(that.helmFlags) : that.helmFlags != null) return false; if (this.namespace != null ? !this.namespace.equals(that.namespace) : that.namespace != null) return false; if (this.releaseName != null ? !this.releaseName.equals(that.releaseName) : that.releaseName != null) return false; if (this.repo != null ? !this.repo.equals(that.repo) : that.repo != null) return false; if (this.values != null ? !this.values.equals(that.values) : that.values != null) return false; return this.version != null ? this.version.equals(that.version) : that.version == null; } @Override public final int hashCode() { int result = this.chart.hashCode(); result = 31 * result + (this.helmExecutable != null ? this.helmExecutable.hashCode() : 0); result = 31 * result + (this.helmFlags != null ? this.helmFlags.hashCode() : 0); result = 31 * result + (this.namespace != null ? this.namespace.hashCode() : 0); result = 31 * result + (this.releaseName != null ? this.releaseName.hashCode() : 0); result = 31 * result + (this.repo != null ? this.repo.hashCode() : 0); result = 31 * result + (this.values != null ? this.values.hashCode() : 0); result = 31 * result + (this.version != null ? this.version.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy