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

io.kestra.core.models.annotations.Plugin Maven / Gradle / Ivy

There is a newer version: 0.19.11
Show newest version
package io.kestra.core.models.annotations;

import java.lang.annotation.*;

import static java.lang.annotation.RetentionPolicy.RUNTIME;

@Documented
@Inherited
@Retention(RUNTIME)
@Target({ElementType.TYPE, ElementType.ANNOTATION_TYPE})
public @interface Plugin {
    Example[] examples() default {};

    Metric[] metrics() default {};

    /**
     * @return whether the plugin is in beta
     */
    boolean beta() default false;

    /**
     * Specifies whether the annotated plugin class is internal to Kestra.
     * 

* An internal plugin can be resolved through the PluginRegistry, but cannot * be referenced directly in a YAML flow definition. * * @return {@code true} if the plugin is internal. Otherwise {@code false}. */ boolean internal() default false; /** * Specifies optional plugin aliases. *

* Aliases are alternate name for the plugin that will resolve to the class annotated. * For the moment, aliases are considered as deprecated plugins replaced by the class annotated. */ String[] aliases() default {}; @Documented @Inherited @Retention(RUNTIME) @Target({ElementType.TYPE}) @interface Id { /** * Specifies the unique ID for identifying a plugin. ID is case-insensitive. * @return The string identifier. */ String value(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy