org.openmetadata.schema.api.governance.CreateWorkflowDefinition Maven / Gradle / Ivy
package org.openmetadata.schema.api.governance;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.processing.Generated;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonValue;
import org.openmetadata.schema.CreateEntity;
import org.openmetadata.schema.governance.workflows.elements.EdgeDefinition;
import org.openmetadata.schema.type.EntityReference;
/**
* CreateWorkflowDefinitionRequest
*
* Create Workflow Definition entity request
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"name",
"displayName",
"description",
"owners",
"type",
"trigger",
"nodes",
"edges"
})
@Generated("jsonschema2pojo")
public class CreateWorkflowDefinition implements CreateEntity
{
/**
* Name that identifies an entity.
* (Required)
*
*/
@JsonProperty("name")
@JsonPropertyDescription("Name that identifies an entity.")
@Pattern(regexp = "^((?!::).)*$")
@Size(min = 1, max = 256)
@NotNull
private String name;
/**
* Display Name that identifies this Workflow Definition.
*
*/
@JsonProperty("displayName")
@JsonPropertyDescription("Display Name that identifies this Workflow Definition.")
private String displayName;
/**
* Text in Markdown format.@om-field-type
* (Required)
*
*/
@JsonProperty("description")
@JsonPropertyDescription("Text in Markdown format.")
@NotNull
private String description;
/**
* Entity Reference List
*
* This schema defines the EntityReferenceList type used for referencing an entity. EntityReference is used for capturing relationships from one entity to another. For example, a table has an attribute called database of type EntityReference that captures the relationship of a table `belongs to a` database.
*
*/
@JsonProperty("owners")
@JsonPropertyDescription("This schema defines the EntityReferenceList type used for referencing an entity. EntityReference is used for capturing relationships from one entity to another. For example, a table has an attribute called database of type EntityReference that captures the relationship of a table `belongs to a` database.")
@Valid
private List owners = null;
@JsonProperty("type")
private CreateWorkflowDefinition.Type type;
@JsonProperty("trigger")
private Object trigger;
/**
* List of processes used on the workflow.
*
*/
@JsonProperty("nodes")
@JsonPropertyDescription("List of processes used on the workflow.")
@Valid
private List