org.cdk8s.Helm Maven / Gradle / Ivy
Show all versions of cdk8s Show documentation
package org.cdk8s;
/**
* Represents a Helm deployment.
*
* Use this construct to import an existing Helm chart and incorporate it into your constructs.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.88.0 (build eaabd08)", date = "2023-09-08T06:33:08.520Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = org.cdk8s.$Module.class, fqn = "cdk8s.Helm")
public class Helm extends org.cdk8s.Include {
protected Helm(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected Helm(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Helm(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.HelmProps 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") });
}
/**
* The helm release name.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getReleaseName() {
return software.amazon.jsii.Kernel.get(this, "releaseName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* A fluent builder for {@link org.cdk8s.Helm}.
*/
@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 This parameter is required.
* @param id 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.HelmProps.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.HelmProps.Builder();
}
/**
* 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"
*
*
* @return {@code this}
* @param chart The chart name to use. It can be a chart from a helm repository or a local directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder chart(final java.lang.String chart) {
this.props.chart(chart);
return this;
}
/**
* The local helm executable to use in order to create the manifest the chart.
*
* Default: "helm"
*
* @return {@code this}
* @param helmExecutable The local helm executable to use in order to create the manifest the chart. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder helmExecutable(final java.lang.String helmExecutable) {
this.props.helmExecutable(helmExecutable);
return this;
}
/**
* Additional flags to add to the helm
execution.
*
* Default: []
*
* @return {@code this}
* @param helmFlags Additional flags to add to the helm
execution. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder helmFlags(final java.util.List helmFlags) {
this.props.helmFlags(helmFlags);
return this;
}
/**
* Scope all resources in to a given namespace.
*
* @return {@code this}
* @param namespace Scope all resources in to a given namespace. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder namespace(final java.lang.String namespace) {
this.props.namespace(namespace);
return this;
}
/**
* The release name.
*
* Default: - if unspecified, a name will be allocated based on the construct path
*
* @return {@code this}
* @see https://helm.sh/docs/intro/using_helm/#three-big-concepts
* @param releaseName The release name. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder releaseName(final java.lang.String releaseName) {
this.props.releaseName(releaseName);
return this;
}
/**
* Chart repository url where to locate the requested chart.
*
* @return {@code this}
* @param repo Chart repository url where to locate the requested chart. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder repo(final java.lang.String repo) {
this.props.repo(repo);
return this;
}
/**
* Values to pass to the chart.
*
* Default: - If no values are specified, chart will use the defaults.
*
* @return {@code this}
* @param values Values to pass to the chart. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder values(final java.util.Map values) {
this.props.values(values);
return this;
}
/**
* 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"
*
*
* @return {@code this}
* @param version Version constraint for the chart version to use. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder version(final java.lang.String version) {
this.props.version(version);
return this;
}
/**
* @return a newly built instance of {@link org.cdk8s.Helm}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public org.cdk8s.Helm build() {
return new org.cdk8s.Helm(
this.scope,
this.id,
this.props.build()
);
}
}
}