org.openmetadata.schema.metadataIngestion.ApiServiceMetadataPipeline Maven / Gradle / Ivy
package org.openmetadata.schema.metadataIngestion;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.processing.Generated;
import javax.validation.Valid;
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;
/**
* ApiServiceMetadataPipeline
*
* ApiService Metadata Pipeline Configuration.
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"type",
"apiCollectionFilterPattern",
"markDeletedApiCollections",
"overrideMetadata"
})
@Generated("jsonschema2pojo")
public class ApiServiceMetadataPipeline {
/**
* Api Source Config Metadata Pipeline type
*
*/
@JsonProperty("type")
@JsonPropertyDescription("Api Source Config Metadata Pipeline type")
private ApiServiceMetadataPipeline.ApiMetadataConfigType type = ApiServiceMetadataPipeline.ApiMetadataConfigType.fromValue("ApiMetadata");
/**
* Regex to only fetch dashboards or charts that matches the pattern.
*
*/
@JsonProperty("apiCollectionFilterPattern")
@JsonPropertyDescription("Regex to only fetch dashboards or charts that matches the pattern.")
@Valid
private FilterPattern apiCollectionFilterPattern;
/**
* Mark Deleted Api Collection
*
* Optional configuration to soft delete api collections in OpenMetadata if the source collections are deleted. Also, if the collection is deleted, all the associated entities like endpoints, etc., with that collection will be deleted
*
*/
@JsonProperty("markDeletedApiCollections")
@JsonPropertyDescription("Optional configuration to soft delete api collections in OpenMetadata if the source collections are deleted. Also, if the collection is deleted, all the associated entities like endpoints, etc., with that collection will be deleted")
private Boolean markDeletedApiCollections = true;
/**
* Override Metadata
*
* Set the 'Override Metadata' toggle to control whether to override the existing metadata in the OpenMetadata server with the metadata fetched from the source. If the toggle is set to true, the metadata fetched from the source will override the existing metadata in the OpenMetadata server. If the toggle is set to false, the metadata fetched from the source will not override the existing metadata in the OpenMetadata server. This is applicable for fields like description, tags, owner and displayName
*
*/
@JsonProperty("overrideMetadata")
@JsonPropertyDescription("Set the 'Override Metadata' toggle to control whether to override the existing metadata in the OpenMetadata server with the metadata fetched from the source. If the toggle is set to true, the metadata fetched from the source will override the existing metadata in the OpenMetadata server. If the toggle is set to false, the metadata fetched from the source will not override the existing metadata in the OpenMetadata server. This is applicable for fields like description, tags, owner and displayName")
private Boolean overrideMetadata = false;
/**
* Api Source Config Metadata Pipeline type
*
*/
@JsonProperty("type")
public ApiServiceMetadataPipeline.ApiMetadataConfigType getType() {
return type;
}
/**
* Api Source Config Metadata Pipeline type
*
*/
@JsonProperty("type")
public void setType(ApiServiceMetadataPipeline.ApiMetadataConfigType type) {
this.type = type;
}
public ApiServiceMetadataPipeline withType(ApiServiceMetadataPipeline.ApiMetadataConfigType type) {
this.type = type;
return this;
}
/**
* Regex to only fetch dashboards or charts that matches the pattern.
*
*/
@JsonProperty("apiCollectionFilterPattern")
public FilterPattern getApiCollectionFilterPattern() {
return apiCollectionFilterPattern;
}
/**
* Regex to only fetch dashboards or charts that matches the pattern.
*
*/
@JsonProperty("apiCollectionFilterPattern")
public void setApiCollectionFilterPattern(FilterPattern apiCollectionFilterPattern) {
this.apiCollectionFilterPattern = apiCollectionFilterPattern;
}
public ApiServiceMetadataPipeline withApiCollectionFilterPattern(FilterPattern apiCollectionFilterPattern) {
this.apiCollectionFilterPattern = apiCollectionFilterPattern;
return this;
}
/**
* Mark Deleted Api Collection
*
* Optional configuration to soft delete api collections in OpenMetadata if the source collections are deleted. Also, if the collection is deleted, all the associated entities like endpoints, etc., with that collection will be deleted
*
*/
@JsonProperty("markDeletedApiCollections")
public Boolean getMarkDeletedApiCollections() {
return markDeletedApiCollections;
}
/**
* Mark Deleted Api Collection
*
* Optional configuration to soft delete api collections in OpenMetadata if the source collections are deleted. Also, if the collection is deleted, all the associated entities like endpoints, etc., with that collection will be deleted
*
*/
@JsonProperty("markDeletedApiCollections")
public void setMarkDeletedApiCollections(Boolean markDeletedApiCollections) {
this.markDeletedApiCollections = markDeletedApiCollections;
}
public ApiServiceMetadataPipeline withMarkDeletedApiCollections(Boolean markDeletedApiCollections) {
this.markDeletedApiCollections = markDeletedApiCollections;
return this;
}
/**
* Override Metadata
*
* Set the 'Override Metadata' toggle to control whether to override the existing metadata in the OpenMetadata server with the metadata fetched from the source. If the toggle is set to true, the metadata fetched from the source will override the existing metadata in the OpenMetadata server. If the toggle is set to false, the metadata fetched from the source will not override the existing metadata in the OpenMetadata server. This is applicable for fields like description, tags, owner and displayName
*
*/
@JsonProperty("overrideMetadata")
public Boolean getOverrideMetadata() {
return overrideMetadata;
}
/**
* Override Metadata
*
* Set the 'Override Metadata' toggle to control whether to override the existing metadata in the OpenMetadata server with the metadata fetched from the source. If the toggle is set to true, the metadata fetched from the source will override the existing metadata in the OpenMetadata server. If the toggle is set to false, the metadata fetched from the source will not override the existing metadata in the OpenMetadata server. This is applicable for fields like description, tags, owner and displayName
*
*/
@JsonProperty("overrideMetadata")
public void setOverrideMetadata(Boolean overrideMetadata) {
this.overrideMetadata = overrideMetadata;
}
public ApiServiceMetadataPipeline withOverrideMetadata(Boolean overrideMetadata) {
this.overrideMetadata = overrideMetadata;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(ApiServiceMetadataPipeline.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
sb.append("type");
sb.append('=');
sb.append(((this.type == null)?"":this.type));
sb.append(',');
sb.append("apiCollectionFilterPattern");
sb.append('=');
sb.append(((this.apiCollectionFilterPattern == null)?"":this.apiCollectionFilterPattern));
sb.append(',');
sb.append("markDeletedApiCollections");
sb.append('=');
sb.append(((this.markDeletedApiCollections == null)?"":this.markDeletedApiCollections));
sb.append(',');
sb.append("overrideMetadata");
sb.append('=');
sb.append(((this.overrideMetadata == null)?"":this.overrideMetadata));
sb.append(',');
if (sb.charAt((sb.length()- 1)) == ',') {
sb.setCharAt((sb.length()- 1), ']');
} else {
sb.append(']');
}
return sb.toString();
}
@Override
public int hashCode() {
int result = 1;
result = ((result* 31)+((this.type == null)? 0 :this.type.hashCode()));
result = ((result* 31)+((this.apiCollectionFilterPattern == null)? 0 :this.apiCollectionFilterPattern.hashCode()));
result = ((result* 31)+((this.markDeletedApiCollections == null)? 0 :this.markDeletedApiCollections.hashCode()));
result = ((result* 31)+((this.overrideMetadata == null)? 0 :this.overrideMetadata.hashCode()));
return result;
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof ApiServiceMetadataPipeline) == false) {
return false;
}
ApiServiceMetadataPipeline rhs = ((ApiServiceMetadataPipeline) other);
return (((((this.type == rhs.type)||((this.type!= null)&&this.type.equals(rhs.type)))&&((this.apiCollectionFilterPattern == rhs.apiCollectionFilterPattern)||((this.apiCollectionFilterPattern!= null)&&this.apiCollectionFilterPattern.equals(rhs.apiCollectionFilterPattern))))&&((this.markDeletedApiCollections == rhs.markDeletedApiCollections)||((this.markDeletedApiCollections!= null)&&this.markDeletedApiCollections.equals(rhs.markDeletedApiCollections))))&&((this.overrideMetadata == rhs.overrideMetadata)||((this.overrideMetadata!= null)&&this.overrideMetadata.equals(rhs.overrideMetadata))));
}
/**
* Api Source Config Metadata Pipeline type
*
*/
@Generated("jsonschema2pojo")
public enum ApiMetadataConfigType {
API_METADATA("ApiMetadata");
private final String value;
private final static Map CONSTANTS = new HashMap();
static {
for (ApiServiceMetadataPipeline.ApiMetadataConfigType c: values()) {
CONSTANTS.put(c.value, c);
}
}
ApiMetadataConfigType(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
@JsonValue
public String value() {
return this.value;
}
@JsonCreator
public static ApiServiceMetadataPipeline.ApiMetadataConfigType fromValue(String value) {
ApiServiceMetadataPipeline.ApiMetadataConfigType constant = CONSTANTS.get(value);
if (constant == null) {
throw new IllegalArgumentException(value);
} else {
return constant;
}
}
}
}