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

io.quarkiverse.helm.deployment.ValueReferenceConfig Maven / Gradle / Ivy

There is a newer version: 1.2.6
Show newest version
package io.quarkiverse.helm.deployment;

import java.util.List;
import java.util.Map;
import java.util.Optional;

import io.smallrye.config.WithDefault;

public interface ValueReferenceConfig {
    /**
     * The name of the property that will be present in the Helm values file. If the property starts with `@.`, then the
     * property won't be added under the root element in the generated `values.yaml` file.
     */
    Optional property();

    /**
     * A comma-separated list of YAMLPath expressions to map the Dekorate auto-generated properties to the final
     * Helm values file.
     */
    Optional> paths();

    /**
     * The profile where this value reference will be mapped to.
     * For example, if the profile is `dev`, then a `values.dev.yml` file will be created with the value.
     */
    Optional profile();

    /**
     * The value that the property will have in the Helm values file.
     * If not set, the extension will resolve it from the generated artifacts.
     */
    Optional value();

    /**
     * The integer value that the property will have in the Helm values file.
     * If not set, the extension will resolve it from the generated artifacts.
     */
    Optional valueAsInt();

    /**
     * The boolean value that the property will have in the Helm values file.
     * If not set, the extension will resolve it from the generated artifacts.
     */
    Optional valueAsBool();

    /**
     * The map value that the property will have in the Helm values file.
     * If not set, the extension will resolve it from the generated artifacts.
     */
    Map valueAsMap();

    /**
     * A list separated by comma that the property will have in the Helm values file.
     * If not set, the extension will resolve it from the generated artifacts.
     */
    Optional> valueAsList();

    /**
     * If not provided, it will use `{{ .Values.. }}`.
     *
     * @return The complete Helm expression to be replaced with.
     */
    Optional expression();

    /**
     * Description of the property.
     */
    Optional description();

    /**
     * Minimum value allowed for this property.
     */
    Optional minimum();

    /**
     * Maximum value allowed for this property.
     */
    Optional maximum();

    /**
     * Pattern to validate the value of this property.
     */
    Optional pattern();

    /**
     * If true, then this property is mandatory.
     */
    @WithDefault("false")
    boolean required();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy