http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-metrics-libs/gobblin-metrics-base/src/main/gen-java/org/apache/gobblin/metrics/Metric.java ---------------------------------------------------------------------- diff --git a/gobblin-metrics-libs/gobblin-metrics-base/src/main/gen-java/org/apache/gobblin/metrics/Metric.java b/gobblin-metrics-libs/gobblin-metrics-base/src/main/gen-java/org/apache/gobblin/metrics/Metric.java deleted file mode 100644 index 6c7fb75..0000000 --- a/gobblin-metrics-libs/gobblin-metrics-base/src/main/gen-java/org/apache/gobblin/metrics/Metric.java +++ /dev/null @@ -1,280 +0,0 @@ -/** - * Autogenerated by Avro - * - * DO NOT EDIT DIRECTLY - */ -package org.apache.gobblin.metrics; - -import org.apache.avro.specific.SpecificData; - -@SuppressWarnings("all") [email protected] -public class Metric extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord { - private static final long serialVersionUID = 8258013136872494033L; - public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"Metric\",\"namespace\":\"gobblin.metrics\",\"fields\":[{\"name\":\"name\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Metric name.\"},{\"name\":\"value\",\"type\":\"double\",\"doc\":\"Metric value.\"}]}"); - public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; } - /** Metric name. */ - @Deprecated public java.lang.String name; - /** Metric value. */ - @Deprecated public double value; - - /** - * Default constructor. Note that this does not initialize fields - * to their default values from the schema. If that is desired then - * one should use <code>newBuilder()</code>. - */ - public Metric() {} - - /** - * All-args constructor. - * @param name Metric name. - * @param value Metric value. - */ - public Metric(java.lang.String name, java.lang.Double value) { - this.name = name; - this.value = value; - } - - public org.apache.avro.Schema getSchema() { return SCHEMA$; } - // Used by DatumWriter. Applications should not call. - public java.lang.Object get(int field$) { - switch (field$) { - case 0: return name; - case 1: return value; - default: throw new org.apache.avro.AvroRuntimeException("Bad index"); - } - } - - // Used by DatumReader. Applications should not call. - @SuppressWarnings(value="unchecked") - public void put(int field$, java.lang.Object value$) { - switch (field$) { - case 0: name = (java.lang.String)value$; break; - case 1: value = (java.lang.Double)value$; break; - default: throw new org.apache.avro.AvroRuntimeException("Bad index"); - } - } - - /** - * Gets the value of the 'name' field. - * @return Metric name. - */ - public java.lang.String getName() { - return name; - } - - /** - * Sets the value of the 'name' field. - * Metric name. - * @param value the value to set. - */ - public void setName(java.lang.String value) { - this.name = value; - } - - /** - * Gets the value of the 'value' field. - * @return Metric value. - */ - public java.lang.Double getValue() { - return value; - } - - /** - * Sets the value of the 'value' field. - * Metric value. - * @param value the value to set. - */ - public void setValue(java.lang.Double value) { - this.value = value; - } - - /** - * Creates a new Metric RecordBuilder. - * @return A new Metric RecordBuilder - */ - public static org.apache.gobblin.metrics.Metric.Builder newBuilder() { - return new org.apache.gobblin.metrics.Metric.Builder(); - } - - /** - * Creates a new Metric RecordBuilder by copying an existing Builder. - * @param other The existing builder to copy. - * @return A new Metric RecordBuilder - */ - public static org.apache.gobblin.metrics.Metric.Builder newBuilder(org.apache.gobblin.metrics.Metric.Builder other) { - return new org.apache.gobblin.metrics.Metric.Builder(other); - } - - /** - * Creates a new Metric RecordBuilder by copying an existing Metric instance. - * @param other The existing instance to copy. - * @return A new Metric RecordBuilder - */ - public static org.apache.gobblin.metrics.Metric.Builder newBuilder(org.apache.gobblin.metrics.Metric other) { - return new org.apache.gobblin.metrics.Metric.Builder(other); - } - - /** - * RecordBuilder for Metric instances. - */ - public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<Metric> - implements org.apache.avro.data.RecordBuilder<Metric> { - - /** Metric name. */ - private java.lang.String name; - /** Metric value. */ - private double value; - - /** Creates a new Builder */ - private Builder() { - super(SCHEMA$); - } - - /** - * Creates a Builder by copying an existing Builder. - * @param other The existing Builder to copy. - */ - private Builder(org.apache.gobblin.metrics.Metric.Builder other) { - super(other); - if (isValidValue(fields()[0], other.name)) { - this.name = data().deepCopy(fields()[0].schema(), other.name); - fieldSetFlags()[0] = true; - } - if (isValidValue(fields()[1], other.value)) { - this.value = data().deepCopy(fields()[1].schema(), other.value); - fieldSetFlags()[1] = true; - } - } - - /** - * Creates a Builder by copying an existing Metric instance - * @param other The existing instance to copy. - */ - private Builder(org.apache.gobblin.metrics.Metric other) { - super(SCHEMA$); - if (isValidValue(fields()[0], other.name)) { - this.name = data().deepCopy(fields()[0].schema(), other.name); - fieldSetFlags()[0] = true; - } - if (isValidValue(fields()[1], other.value)) { - this.value = data().deepCopy(fields()[1].schema(), other.value); - fieldSetFlags()[1] = true; - } - } - - /** - * Gets the value of the 'name' field. - * Metric name. - * @return The value. - */ - public java.lang.String getName() { - return name; - } - - /** - * Sets the value of the 'name' field. - * Metric name. - * @param value The value of 'name'. - * @return This builder. - */ - public org.apache.gobblin.metrics.Metric.Builder setName(java.lang.String value) { - validate(fields()[0], value); - this.name = value; - fieldSetFlags()[0] = true; - return this; - } - - /** - * Checks whether the 'name' field has been set. - * Metric name. - * @return True if the 'name' field has been set, false otherwise. - */ - public boolean hasName() { - return fieldSetFlags()[0]; - } - - - /** - * Clears the value of the 'name' field. - * Metric name. - * @return This builder. - */ - public org.apache.gobblin.metrics.Metric.Builder clearName() { - name = null; - fieldSetFlags()[0] = false; - return this; - } - - /** - * Gets the value of the 'value' field. - * Metric value. - * @return The value. - */ - public java.lang.Double getValue() { - return value; - } - - /** - * Sets the value of the 'value' field. - * Metric value. - * @param value The value of 'value'. - * @return This builder. - */ - public org.apache.gobblin.metrics.Metric.Builder setValue(double value) { - validate(fields()[1], value); - this.value = value; - fieldSetFlags()[1] = true; - return this; - } - - /** - * Checks whether the 'value' field has been set. - * Metric value. - * @return True if the 'value' field has been set, false otherwise. - */ - public boolean hasValue() { - return fieldSetFlags()[1]; - } - - - /** - * Clears the value of the 'value' field. - * Metric value. - * @return This builder. - */ - public org.apache.gobblin.metrics.Metric.Builder clearValue() { - fieldSetFlags()[1] = false; - return this; - } - - @Override - public Metric build() { - try { - Metric record = new Metric(); - record.name = fieldSetFlags()[0] ? this.name : (java.lang.String) defaultValue(fields()[0]); - record.value = fieldSetFlags()[1] ? this.value : (java.lang.Double) defaultValue(fields()[1]); - return record; - } catch (Exception e) { - throw new org.apache.avro.AvroRuntimeException(e); - } - } - } - - private static final org.apache.avro.io.DatumWriter - WRITER$ = new org.apache.avro.specific.SpecificDatumWriter(SCHEMA$); - - @Override public void writeExternal(java.io.ObjectOutput out) - throws java.io.IOException { - WRITER$.write(this, SpecificData.getEncoder(out)); - } - - private static final org.apache.avro.io.DatumReader - READER$ = new org.apache.avro.specific.SpecificDatumReader(SCHEMA$); - - @Override public void readExternal(java.io.ObjectInput in) - throws java.io.IOException { - READER$.read(this, SpecificData.getDecoder(in)); - } - -}
http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-metrics-libs/gobblin-metrics-base/src/main/gen-java/org/apache/gobblin/metrics/MetricReport.java ---------------------------------------------------------------------- diff --git a/gobblin-metrics-libs/gobblin-metrics-base/src/main/gen-java/org/apache/gobblin/metrics/MetricReport.java b/gobblin-metrics-libs/gobblin-metrics-base/src/main/gen-java/org/apache/gobblin/metrics/MetricReport.java deleted file mode 100644 index ca752ca..0000000 --- a/gobblin-metrics-libs/gobblin-metrics-base/src/main/gen-java/org/apache/gobblin/metrics/MetricReport.java +++ /dev/null @@ -1,357 +0,0 @@ -/** - * Autogenerated by Avro - * - * DO NOT EDIT DIRECTLY - */ -package org.apache.gobblin.metrics; - -import org.apache.avro.specific.SpecificData; - -@SuppressWarnings("all") [email protected] -public class MetricReport extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord { - private static final long serialVersionUID = 8071998973089804574L; - public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"MetricReport\",\"namespace\":\"gobblin.metrics\",\"fields\":[{\"name\":\"tags\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"},\"doc\":\"Tags associated with the metrics.\"},{\"name\":\"timestamp\",\"type\":\"long\",\"doc\":\"Time at which metrics were reported.\"},{\"name\":\"metrics\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Metric\",\"fields\":[{\"name\":\"name\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Metric name.\"},{\"name\":\"value\",\"type\":\"double\",\"doc\":\"Metric value.\"}]}},\"doc\":\"Array of metrics in this report.\"}]}"); - public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; } - /** Tags associated with the metrics. */ - @Deprecated public java.util.Map<java.lang.String,java.lang.String> tags; - /** Time at which metrics were reported. */ - @Deprecated public long timestamp; - /** Array of metrics in this report. */ - @Deprecated public java.util.List<gobblin.metrics.Metric> metrics; - - /** - * Default constructor. Note that this does not initialize fields - * to their default values from the schema. If that is desired then - * one should use <code>newBuilder()</code>. - */ - public MetricReport() {} - - /** - * All-args constructor. - * @param tags Tags associated with the metrics. - * @param timestamp Time at which metrics were reported. - * @param metrics Array of metrics in this report. - */ - public MetricReport(java.util.Map<java.lang.String,java.lang.String> tags, java.lang.Long timestamp, java.util.List<gobblin.metrics.Metric> metrics) { - this.tags = tags; - this.timestamp = timestamp; - this.metrics = metrics; - } - - public org.apache.avro.Schema getSchema() { return SCHEMA$; } - // Used by DatumWriter. Applications should not call. - public java.lang.Object get(int field$) { - switch (field$) { - case 0: return tags; - case 1: return timestamp; - case 2: return metrics; - default: throw new org.apache.avro.AvroRuntimeException("Bad index"); - } - } - - // Used by DatumReader. Applications should not call. - @SuppressWarnings(value="unchecked") - public void put(int field$, java.lang.Object value$) { - switch (field$) { - case 0: tags = (java.util.Map<java.lang.String,java.lang.String>)value$; break; - case 1: timestamp = (java.lang.Long)value$; break; - case 2: metrics = (java.util.List<gobblin.metrics.Metric>)value$; break; - default: throw new org.apache.avro.AvroRuntimeException("Bad index"); - } - } - - /** - * Gets the value of the 'tags' field. - * @return Tags associated with the metrics. - */ - public java.util.Map<java.lang.String,java.lang.String> getTags() { - return tags; - } - - /** - * Sets the value of the 'tags' field. - * Tags associated with the metrics. - * @param value the value to set. - */ - public void setTags(java.util.Map<java.lang.String,java.lang.String> value) { - this.tags = value; - } - - /** - * Gets the value of the 'timestamp' field. - * @return Time at which metrics were reported. - */ - public java.lang.Long getTimestamp() { - return timestamp; - } - - /** - * Sets the value of the 'timestamp' field. - * Time at which metrics were reported. - * @param value the value to set. - */ - public void setTimestamp(java.lang.Long value) { - this.timestamp = value; - } - - /** - * Gets the value of the 'metrics' field. - * @return Array of metrics in this report. - */ - public java.util.List<gobblin.metrics.Metric> getMetrics() { - return metrics; - } - - /** - * Sets the value of the 'metrics' field. - * Array of metrics in this report. - * @param value the value to set. - */ - public void setMetrics(java.util.List<gobblin.metrics.Metric> value) { - this.metrics = value; - } - - /** - * Creates a new MetricReport RecordBuilder. - * @return A new MetricReport RecordBuilder - */ - public static org.apache.gobblin.metrics.MetricReport.Builder newBuilder() { - return new org.apache.gobblin.metrics.MetricReport.Builder(); - } - - /** - * Creates a new MetricReport RecordBuilder by copying an existing Builder. - * @param other The existing builder to copy. - * @return A new MetricReport RecordBuilder - */ - public static org.apache.gobblin.metrics.MetricReport.Builder newBuilder(org.apache.gobblin.metrics.MetricReport.Builder other) { - return new org.apache.gobblin.metrics.MetricReport.Builder(other); - } - - /** - * Creates a new MetricReport RecordBuilder by copying an existing MetricReport instance. - * @param other The existing instance to copy. - * @return A new MetricReport RecordBuilder - */ - public static org.apache.gobblin.metrics.MetricReport.Builder newBuilder(org.apache.gobblin.metrics.MetricReport other) { - return new org.apache.gobblin.metrics.MetricReport.Builder(other); - } - - /** - * RecordBuilder for MetricReport instances. - */ - public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<MetricReport> - implements org.apache.avro.data.RecordBuilder<MetricReport> { - - /** Tags associated with the metrics. */ - private java.util.Map<java.lang.String,java.lang.String> tags; - /** Time at which metrics were reported. */ - private long timestamp; - /** Array of metrics in this report. */ - private java.util.List<gobblin.metrics.Metric> metrics; - - /** Creates a new Builder */ - private Builder() { - super(SCHEMA$); - } - - /** - * Creates a Builder by copying an existing Builder. - * @param other The existing Builder to copy. - */ - private Builder(org.apache.gobblin.metrics.MetricReport.Builder other) { - super(other); - if (isValidValue(fields()[0], other.tags)) { - this.tags = data().deepCopy(fields()[0].schema(), other.tags); - fieldSetFlags()[0] = true; - } - if (isValidValue(fields()[1], other.timestamp)) { - this.timestamp = data().deepCopy(fields()[1].schema(), other.timestamp); - fieldSetFlags()[1] = true; - } - if (isValidValue(fields()[2], other.metrics)) { - this.metrics = data().deepCopy(fields()[2].schema(), other.metrics); - fieldSetFlags()[2] = true; - } - } - - /** - * Creates a Builder by copying an existing MetricReport instance - * @param other The existing instance to copy. - */ - private Builder(org.apache.gobblin.metrics.MetricReport other) { - super(SCHEMA$); - if (isValidValue(fields()[0], other.tags)) { - this.tags = data().deepCopy(fields()[0].schema(), other.tags); - fieldSetFlags()[0] = true; - } - if (isValidValue(fields()[1], other.timestamp)) { - this.timestamp = data().deepCopy(fields()[1].schema(), other.timestamp); - fieldSetFlags()[1] = true; - } - if (isValidValue(fields()[2], other.metrics)) { - this.metrics = data().deepCopy(fields()[2].schema(), other.metrics); - fieldSetFlags()[2] = true; - } - } - - /** - * Gets the value of the 'tags' field. - * Tags associated with the metrics. - * @return The value. - */ - public java.util.Map<java.lang.String,java.lang.String> getTags() { - return tags; - } - - /** - * Sets the value of the 'tags' field. - * Tags associated with the metrics. - * @param value The value of 'tags'. - * @return This builder. - */ - public org.apache.gobblin.metrics.MetricReport.Builder setTags(java.util.Map<java.lang.String,java.lang.String> value) { - validate(fields()[0], value); - this.tags = value; - fieldSetFlags()[0] = true; - return this; - } - - /** - * Checks whether the 'tags' field has been set. - * Tags associated with the metrics. - * @return True if the 'tags' field has been set, false otherwise. - */ - public boolean hasTags() { - return fieldSetFlags()[0]; - } - - - /** - * Clears the value of the 'tags' field. - * Tags associated with the metrics. - * @return This builder. - */ - public org.apache.gobblin.metrics.MetricReport.Builder clearTags() { - tags = null; - fieldSetFlags()[0] = false; - return this; - } - - /** - * Gets the value of the 'timestamp' field. - * Time at which metrics were reported. - * @return The value. - */ - public java.lang.Long getTimestamp() { - return timestamp; - } - - /** - * Sets the value of the 'timestamp' field. - * Time at which metrics were reported. - * @param value The value of 'timestamp'. - * @return This builder. - */ - public org.apache.gobblin.metrics.MetricReport.Builder setTimestamp(long value) { - validate(fields()[1], value); - this.timestamp = value; - fieldSetFlags()[1] = true; - return this; - } - - /** - * Checks whether the 'timestamp' field has been set. - * Time at which metrics were reported. - * @return True if the 'timestamp' field has been set, false otherwise. - */ - public boolean hasTimestamp() { - return fieldSetFlags()[1]; - } - - - /** - * Clears the value of the 'timestamp' field. - * Time at which metrics were reported. - * @return This builder. - */ - public org.apache.gobblin.metrics.MetricReport.Builder clearTimestamp() { - fieldSetFlags()[1] = false; - return this; - } - - /** - * Gets the value of the 'metrics' field. - * Array of metrics in this report. - * @return The value. - */ - public java.util.List<gobblin.metrics.Metric> getMetrics() { - return metrics; - } - - /** - * Sets the value of the 'metrics' field. - * Array of metrics in this report. - * @param value The value of 'metrics'. - * @return This builder. - */ - public org.apache.gobblin.metrics.MetricReport.Builder setMetrics(java.util.List<gobblin.metrics.Metric> value) { - validate(fields()[2], value); - this.metrics = value; - fieldSetFlags()[2] = true; - return this; - } - - /** - * Checks whether the 'metrics' field has been set. - * Array of metrics in this report. - * @return True if the 'metrics' field has been set, false otherwise. - */ - public boolean hasMetrics() { - return fieldSetFlags()[2]; - } - - - /** - * Clears the value of the 'metrics' field. - * Array of metrics in this report. - * @return This builder. - */ - public org.apache.gobblin.metrics.MetricReport.Builder clearMetrics() { - metrics = null; - fieldSetFlags()[2] = false; - return this; - } - - @Override - public MetricReport build() { - try { - MetricReport record = new MetricReport(); - record.tags = fieldSetFlags()[0] ? this.tags : (java.util.Map<java.lang.String,java.lang.String>) defaultValue(fields()[0]); - record.timestamp = fieldSetFlags()[1] ? this.timestamp : (java.lang.Long) defaultValue(fields()[1]); - record.metrics = fieldSetFlags()[2] ? this.metrics : (java.util.List<gobblin.metrics.Metric>) defaultValue(fields()[2]); - return record; - } catch (Exception e) { - throw new org.apache.avro.AvroRuntimeException(e); - } - } - } - - private static final org.apache.avro.io.DatumWriter - WRITER$ = new org.apache.avro.specific.SpecificDatumWriter(SCHEMA$); - - @Override public void writeExternal(java.io.ObjectOutput out) - throws java.io.IOException { - WRITER$.write(this, SpecificData.getEncoder(out)); - } - - private static final org.apache.avro.io.DatumReader - READER$ = new org.apache.avro.specific.SpecificDatumReader(SCHEMA$); - - @Override public void readExternal(java.io.ObjectInput in) - throws java.io.IOException { - READER$.read(this, SpecificData.getDecoder(in)); - } - -} http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-rest-service/gobblin-rest-api/src/main/idl/gobblin.rest.jobExecutions.restspec.json ---------------------------------------------------------------------- diff --git a/gobblin-rest-service/gobblin-rest-api/src/main/idl/gobblin.rest.jobExecutions.restspec.json b/gobblin-rest-service/gobblin-rest-api/src/main/idl/gobblin.rest.jobExecutions.restspec.json deleted file mode 100644 index a63ca5a..0000000 --- a/gobblin-rest-service/gobblin-rest-api/src/main/idl/gobblin.rest.jobExecutions.restspec.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name" : "jobExecutions", - "namespace" : "org.apache.gobblin.rest", - "path" : "/jobExecutions", - "schema" : "org.apache.gobblin.rest.JobExecutionQueryResult", - "doc" : "A Rest.li resource for serving queries of Gobblin job executions.\n\ngenerated from: org.apache.gobblin.rest.JobExecutionInfoResource", - "collection" : { - "identifier" : { - "name" : "jobExecutionsId", - "type" : "org.apache.gobblin.rest.JobExecutionQuery", - "params" : "com.linkedin.restli.common.EmptyRecord" - }, - "supports" : [ "batch_get", "get" ], - "methods" : [ { - "method" : "get" - }, { - "method" : "batch_get" - } ], - "entity" : { - "path" : "/jobExecutions/{jobExecutionsId}" - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-rest-service/gobblin-rest-api/src/main/idl/org.apache.gobblin.rest.jobExecutions.restspec.json ---------------------------------------------------------------------- diff --git a/gobblin-rest-service/gobblin-rest-api/src/main/idl/org.apache.gobblin.rest.jobExecutions.restspec.json b/gobblin-rest-service/gobblin-rest-api/src/main/idl/org.apache.gobblin.rest.jobExecutions.restspec.json new file mode 100644 index 0000000..a63ca5a --- /dev/null +++ b/gobblin-rest-service/gobblin-rest-api/src/main/idl/org.apache.gobblin.rest.jobExecutions.restspec.json @@ -0,0 +1,23 @@ +{ + "name" : "jobExecutions", + "namespace" : "org.apache.gobblin.rest", + "path" : "/jobExecutions", + "schema" : "org.apache.gobblin.rest.JobExecutionQueryResult", + "doc" : "A Rest.li resource for serving queries of Gobblin job executions.\n\ngenerated from: org.apache.gobblin.rest.JobExecutionInfoResource", + "collection" : { + "identifier" : { + "name" : "jobExecutionsId", + "type" : "org.apache.gobblin.rest.JobExecutionQuery", + "params" : "com.linkedin.restli.common.EmptyRecord" + }, + "supports" : [ "batch_get", "get" ], + "methods" : [ { + "method" : "get" + }, { + "method" : "batch_get" + } ], + "entity" : { + "path" : "/jobExecutions/{jobExecutionsId}" + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-rest-service/gobblin-rest-api/src/main/snapshot/gobblin.rest.jobExecutions.snapshot.json ---------------------------------------------------------------------- diff --git a/gobblin-rest-service/gobblin-rest-api/src/main/snapshot/gobblin.rest.jobExecutions.snapshot.json b/gobblin-rest-service/gobblin-rest-api/src/main/snapshot/gobblin.rest.jobExecutions.snapshot.json deleted file mode 100644 index 4f6a7e3..0000000 --- a/gobblin-rest-service/gobblin-rest-api/src/main/snapshot/gobblin.rest.jobExecutions.snapshot.json +++ /dev/null @@ -1,350 +0,0 @@ -{ - "models" : [ { - "type" : "enum", - "name" : "JobStateEnum", - "namespace" : "org.apache.gobblin.rest", - "symbols" : [ "PENDING", "RUNNING", "SUCCESSFUL", "COMMITTED", "FAILED", "CANCELLED" ] - }, { - "type" : "enum", - "name" : "LauncherTypeEnum", - "namespace" : "org.apache.gobblin.rest", - "symbols" : [ "LOCAL", "MAPREDUCE", "CLUSTER", "YARN" ] - }, { - "type" : "enum", - "name" : "TaskStateEnum", - "namespace" : "org.apache.gobblin.rest", - "symbols" : [ "PENDING", "RUNNING", "SUCCESSFUL", "COMMITTED", "FAILED", "CANCELLED" ] - }, { - "type" : "enum", - "name" : "TableTypeEnum", - "namespace" : "org.apache.gobblin.rest", - "symbols" : [ "SNAPSHOT_ONLY", "SNAPSHOT_APPEND", "APPEND_ONLY" ] - }, { - "type" : "record", - "name" : "Table", - "namespace" : "org.apache.gobblin.rest", - "doc" : "Gobblin table definition", - "fields" : [ { - "name" : "namespace", - "type" : "string", - "doc" : "Table namespace", - "optional" : true - }, { - "name" : "name", - "type" : "string", - "doc" : "Table name" - }, { - "name" : "type", - "type" : "TableTypeEnum", - "doc" : "Table type", - "optional" : true - } ] - }, { - "type" : "enum", - "name" : "MetricTypeEnum", - "namespace" : "org.apache.gobblin.rest", - "symbols" : [ "COUNTER", "METER", "GAUGE" ] - }, { - "type" : "record", - "name" : "Metric", - "namespace" : "org.apache.gobblin.rest", - "doc" : "Gobblin metric", - "fields" : [ { - "name" : "group", - "type" : "string", - "doc" : "Metric group" - }, { - "name" : "name", - "type" : "string", - "doc" : "Metric name" - }, { - "name" : "type", - "type" : "MetricTypeEnum", - "doc" : "Metric type" - }, { - "name" : "value", - "type" : "string", - "doc" : "Metric value" - } ] - }, { - "type" : "record", - "name" : "TaskExecutionInfo", - "namespace" : "org.apache.gobblin.rest", - "doc" : "Gobblin task execution information", - "fields" : [ { - "name" : "jobId", - "type" : "string", - "doc" : "Job ID" - }, { - "name" : "taskId", - "type" : "string", - "doc" : "Task ID" - }, { - "name" : "startTime", - "type" : "long", - "doc" : "Task start time (epoch time)", - "optional" : true - }, { - "name" : "endTime", - "type" : "long", - "doc" : "Task end time (epoch time)", - "optional" : true - }, { - "name" : "duration", - "type" : "long", - "doc" : "Task duration in milliseconds", - "optional" : true - }, { - "name" : "state", - "type" : "TaskStateEnum", - "doc" : "Task state", - "optional" : true - }, { - "name" : "failureException", - "type" : "string", - "doc" : "Task failure exception message", - "optional" : true - }, { - "name" : "lowWatermark", - "type" : "long", - "doc" : "Low watermark", - "optional" : true - }, { - "name" : "highWatermark", - "type" : "long", - "doc" : "High watermark", - "optional" : true - }, { - "name" : "table", - "type" : "Table", - "doc" : "Table definition", - "optional" : true - }, { - "name" : "taskProperties", - "type" : { - "type" : "map", - "values" : "string" - }, - "doc" : "Task properties", - "optional" : true - }, { - "name" : "metrics", - "type" : { - "type" : "array", - "items" : "Metric" - }, - "doc" : "Job metrics" - } ] - }, { - "type" : "record", - "name" : "JobExecutionInfo", - "namespace" : "org.apache.gobblin.rest", - "doc" : "Gobblin job execution information", - "fields" : [ { - "name" : "jobName", - "type" : "string", - "doc" : "Job name" - }, { - "name" : "jobId", - "type" : "string", - "doc" : "Job ID" - }, { - "name" : "startTime", - "type" : "long", - "doc" : "Job start time (epoch time)", - "optional" : true - }, { - "name" : "endTime", - "type" : "long", - "doc" : "Job end time (epoch time)", - "optional" : true - }, { - "name" : "duration", - "type" : "long", - "doc" : "Job duration in milliseconds", - "optional" : true - }, { - "name" : "state", - "type" : "JobStateEnum", - "doc" : "Job state", - "optional" : true - }, { - "name" : "launchedTasks", - "type" : "int", - "doc" : "Number of launched tasks", - "optional" : true - }, { - "name" : "completedTasks", - "type" : "int", - "doc" : "Number of completed tasks", - "optional" : true - }, { - "name" : "launcherType", - "type" : "LauncherTypeEnum", - "doc" : "Job launcher type", - "optional" : true - }, { - "name" : "trackingUrl", - "type" : "string", - "doc" : "Job execution tracking URL", - "optional" : true - }, { - "name" : "taskExecutions", - "type" : { - "type" : "array", - "items" : "TaskExecutionInfo" - }, - "doc" : "An array of task execution information records" - }, { - "name" : "jobProperties", - "type" : { - "type" : "map", - "values" : "string" - }, - "doc" : "Job properties", - "optional" : true - }, { - "name" : "metrics", - "type" : { - "type" : "array", - "items" : "Metric" - }, - "doc" : "Job metrics" - } ] - }, { - "type" : "record", - "name" : "JobExecutionQueryResult", - "namespace" : "org.apache.gobblin.rest", - "doc" : "Gobblin job execution query result", - "fields" : [ { - "name" : "jobExecutions", - "type" : { - "type" : "array", - "items" : "JobExecutionInfo" - }, - "doc" : "An array of job execution information records" - } ] - }, { - "type" : "enum", - "name" : "QueryListType", - "namespace" : "org.apache.gobblin.rest", - "doc" : "Listing distinct jobs fetches the most recent execution info for each job name in the database. Listing recent jobs fetches the most recent job executions, regardless of job name.", - "symbols" : [ "DISTINCT", "RECENT" ] - }, { - "type" : "enum", - "name" : "QueryIdTypeEnum", - "namespace" : "org.apache.gobblin.rest", - "symbols" : [ "JOB_NAME", "JOB_ID", "TABLE", "LIST_TYPE" ] - }, { - "type" : "record", - "name" : "TimeRange", - "namespace" : "org.apache.gobblin.rest", - "doc" : "Query time range", - "fields" : [ { - "name" : "startTime", - "type" : "string", - "doc" : "Start time of the query range", - "optional" : true - }, { - "name" : "endTime", - "type" : "string", - "doc" : "End time of the query range", - "optional" : true - }, { - "name" : "timeFormat", - "type" : "string", - "doc" : "Date/time format used to parse the start time and end time" - } ] - }, { - "type" : "record", - "name" : "JobExecutionQuery", - "namespace" : "org.apache.gobblin.rest", - "doc" : "Gobblin job execution query", - "fields" : [ { - "name" : "id", - "type" : [ "string", "Table", "QueryListType" ], - "doc" : "Query ID (a job ID, job name, table definition, or list type)" - }, { - "name" : "idType", - "type" : "QueryIdTypeEnum", - "doc" : "Query ID type" - }, { - "name" : "timeRange", - "type" : "TimeRange", - "doc" : "Query time range", - "optional" : true - }, { - "name" : "limit", - "type" : "int", - "doc" : "Query limit", - "default" : 1, - "optional" : true - }, { - "name" : "jobProperties", - "type" : "string", - "doc" : "Comma-separated list of job properties to include in the query result", - "optional" : true - }, { - "name" : "taskProperties", - "type" : "string", - "doc" : "Comma-separated list of task properties to include in the query result", - "optional" : true - }, { - "name" : "includeJobMetrics", - "type" : "boolean", - "doc" : "true/false if the response should include job metrics (default: true)", - "default" : true, - "optional" : true - }, { - "name" : "includeTaskMetrics", - "type" : "boolean", - "doc" : "true/false if the response should include task metrics (default: true)", - "default" : true, - "optional" : true - }, { - "name" : "includeTaskExecutions", - "type" : "boolean", - "doc" : "true/false if the response should include task executions (default: true)", - "default" : true, - "optional" : true - }, { - "name" : "includeJobsWithoutTasks", - "type" : "boolean", - "doc" : "true/false if the response should include jobs that did not launch tasks (default: true)", - "default" : true, - "optional" : true - } ] - }, { - "type" : "record", - "name" : "EmptyRecord", - "namespace" : "com.linkedin.restli.common", - "doc" : "An literally empty record. Intended as a marker to indicate the absence of content where a record type is required. If used the underlying DataMap *must* be empty, EmptyRecordValidator is provided to help enforce this. For example, CreateRequest extends Request<EmptyRecord> to indicate it has no response body. Also, a ComplexKeyResource implementation that has no ParamKey should have a signature like XyzResource implements ComplexKeyResource<XyzKey, EmptyRecord, Xyz>.", - "fields" : [ ], - "validate" : { - "com.linkedin.restli.common.EmptyRecordValidator" : { } - } - } ], - "schema" : { - "name" : "jobExecutions", - "namespace" : "org.apache.gobblin.rest", - "path" : "/jobExecutions", - "schema" : "org.apache.gobblin.rest.JobExecutionQueryResult", - "doc" : "A Rest.li resource for serving queries of Gobblin job executions.\n\ngenerated from: org.apache.gobblin.rest.JobExecutionInfoResource", - "collection" : { - "identifier" : { - "name" : "jobExecutionsId", - "type" : "org.apache.gobblin.rest.JobExecutionQuery", - "params" : "com.linkedin.restli.common.EmptyRecord" - }, - "supports" : [ "batch_get", "get" ], - "methods" : [ { - "method" : "get" - }, { - "method" : "batch_get" - } ], - "entity" : { - "path" : "/jobExecutions/{jobExecutionsId}" - } - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-rest-service/gobblin-rest-api/src/main/snapshot/org.apache.gobblin.rest.jobExecutions.snapshot.json ---------------------------------------------------------------------- diff --git a/gobblin-rest-service/gobblin-rest-api/src/main/snapshot/org.apache.gobblin.rest.jobExecutions.snapshot.json b/gobblin-rest-service/gobblin-rest-api/src/main/snapshot/org.apache.gobblin.rest.jobExecutions.snapshot.json new file mode 100644 index 0000000..4f6a7e3 --- /dev/null +++ b/gobblin-rest-service/gobblin-rest-api/src/main/snapshot/org.apache.gobblin.rest.jobExecutions.snapshot.json @@ -0,0 +1,350 @@ +{ + "models" : [ { + "type" : "enum", + "name" : "JobStateEnum", + "namespace" : "org.apache.gobblin.rest", + "symbols" : [ "PENDING", "RUNNING", "SUCCESSFUL", "COMMITTED", "FAILED", "CANCELLED" ] + }, { + "type" : "enum", + "name" : "LauncherTypeEnum", + "namespace" : "org.apache.gobblin.rest", + "symbols" : [ "LOCAL", "MAPREDUCE", "CLUSTER", "YARN" ] + }, { + "type" : "enum", + "name" : "TaskStateEnum", + "namespace" : "org.apache.gobblin.rest", + "symbols" : [ "PENDING", "RUNNING", "SUCCESSFUL", "COMMITTED", "FAILED", "CANCELLED" ] + }, { + "type" : "enum", + "name" : "TableTypeEnum", + "namespace" : "org.apache.gobblin.rest", + "symbols" : [ "SNAPSHOT_ONLY", "SNAPSHOT_APPEND", "APPEND_ONLY" ] + }, { + "type" : "record", + "name" : "Table", + "namespace" : "org.apache.gobblin.rest", + "doc" : "Gobblin table definition", + "fields" : [ { + "name" : "namespace", + "type" : "string", + "doc" : "Table namespace", + "optional" : true + }, { + "name" : "name", + "type" : "string", + "doc" : "Table name" + }, { + "name" : "type", + "type" : "TableTypeEnum", + "doc" : "Table type", + "optional" : true + } ] + }, { + "type" : "enum", + "name" : "MetricTypeEnum", + "namespace" : "org.apache.gobblin.rest", + "symbols" : [ "COUNTER", "METER", "GAUGE" ] + }, { + "type" : "record", + "name" : "Metric", + "namespace" : "org.apache.gobblin.rest", + "doc" : "Gobblin metric", + "fields" : [ { + "name" : "group", + "type" : "string", + "doc" : "Metric group" + }, { + "name" : "name", + "type" : "string", + "doc" : "Metric name" + }, { + "name" : "type", + "type" : "MetricTypeEnum", + "doc" : "Metric type" + }, { + "name" : "value", + "type" : "string", + "doc" : "Metric value" + } ] + }, { + "type" : "record", + "name" : "TaskExecutionInfo", + "namespace" : "org.apache.gobblin.rest", + "doc" : "Gobblin task execution information", + "fields" : [ { + "name" : "jobId", + "type" : "string", + "doc" : "Job ID" + }, { + "name" : "taskId", + "type" : "string", + "doc" : "Task ID" + }, { + "name" : "startTime", + "type" : "long", + "doc" : "Task start time (epoch time)", + "optional" : true + }, { + "name" : "endTime", + "type" : "long", + "doc" : "Task end time (epoch time)", + "optional" : true + }, { + "name" : "duration", + "type" : "long", + "doc" : "Task duration in milliseconds", + "optional" : true + }, { + "name" : "state", + "type" : "TaskStateEnum", + "doc" : "Task state", + "optional" : true + }, { + "name" : "failureException", + "type" : "string", + "doc" : "Task failure exception message", + "optional" : true + }, { + "name" : "lowWatermark", + "type" : "long", + "doc" : "Low watermark", + "optional" : true + }, { + "name" : "highWatermark", + "type" : "long", + "doc" : "High watermark", + "optional" : true + }, { + "name" : "table", + "type" : "Table", + "doc" : "Table definition", + "optional" : true + }, { + "name" : "taskProperties", + "type" : { + "type" : "map", + "values" : "string" + }, + "doc" : "Task properties", + "optional" : true + }, { + "name" : "metrics", + "type" : { + "type" : "array", + "items" : "Metric" + }, + "doc" : "Job metrics" + } ] + }, { + "type" : "record", + "name" : "JobExecutionInfo", + "namespace" : "org.apache.gobblin.rest", + "doc" : "Gobblin job execution information", + "fields" : [ { + "name" : "jobName", + "type" : "string", + "doc" : "Job name" + }, { + "name" : "jobId", + "type" : "string", + "doc" : "Job ID" + }, { + "name" : "startTime", + "type" : "long", + "doc" : "Job start time (epoch time)", + "optional" : true + }, { + "name" : "endTime", + "type" : "long", + "doc" : "Job end time (epoch time)", + "optional" : true + }, { + "name" : "duration", + "type" : "long", + "doc" : "Job duration in milliseconds", + "optional" : true + }, { + "name" : "state", + "type" : "JobStateEnum", + "doc" : "Job state", + "optional" : true + }, { + "name" : "launchedTasks", + "type" : "int", + "doc" : "Number of launched tasks", + "optional" : true + }, { + "name" : "completedTasks", + "type" : "int", + "doc" : "Number of completed tasks", + "optional" : true + }, { + "name" : "launcherType", + "type" : "LauncherTypeEnum", + "doc" : "Job launcher type", + "optional" : true + }, { + "name" : "trackingUrl", + "type" : "string", + "doc" : "Job execution tracking URL", + "optional" : true + }, { + "name" : "taskExecutions", + "type" : { + "type" : "array", + "items" : "TaskExecutionInfo" + }, + "doc" : "An array of task execution information records" + }, { + "name" : "jobProperties", + "type" : { + "type" : "map", + "values" : "string" + }, + "doc" : "Job properties", + "optional" : true + }, { + "name" : "metrics", + "type" : { + "type" : "array", + "items" : "Metric" + }, + "doc" : "Job metrics" + } ] + }, { + "type" : "record", + "name" : "JobExecutionQueryResult", + "namespace" : "org.apache.gobblin.rest", + "doc" : "Gobblin job execution query result", + "fields" : [ { + "name" : "jobExecutions", + "type" : { + "type" : "array", + "items" : "JobExecutionInfo" + }, + "doc" : "An array of job execution information records" + } ] + }, { + "type" : "enum", + "name" : "QueryListType", + "namespace" : "org.apache.gobblin.rest", + "doc" : "Listing distinct jobs fetches the most recent execution info for each job name in the database. Listing recent jobs fetches the most recent job executions, regardless of job name.", + "symbols" : [ "DISTINCT", "RECENT" ] + }, { + "type" : "enum", + "name" : "QueryIdTypeEnum", + "namespace" : "org.apache.gobblin.rest", + "symbols" : [ "JOB_NAME", "JOB_ID", "TABLE", "LIST_TYPE" ] + }, { + "type" : "record", + "name" : "TimeRange", + "namespace" : "org.apache.gobblin.rest", + "doc" : "Query time range", + "fields" : [ { + "name" : "startTime", + "type" : "string", + "doc" : "Start time of the query range", + "optional" : true + }, { + "name" : "endTime", + "type" : "string", + "doc" : "End time of the query range", + "optional" : true + }, { + "name" : "timeFormat", + "type" : "string", + "doc" : "Date/time format used to parse the start time and end time" + } ] + }, { + "type" : "record", + "name" : "JobExecutionQuery", + "namespace" : "org.apache.gobblin.rest", + "doc" : "Gobblin job execution query", + "fields" : [ { + "name" : "id", + "type" : [ "string", "Table", "QueryListType" ], + "doc" : "Query ID (a job ID, job name, table definition, or list type)" + }, { + "name" : "idType", + "type" : "QueryIdTypeEnum", + "doc" : "Query ID type" + }, { + "name" : "timeRange", + "type" : "TimeRange", + "doc" : "Query time range", + "optional" : true + }, { + "name" : "limit", + "type" : "int", + "doc" : "Query limit", + "default" : 1, + "optional" : true + }, { + "name" : "jobProperties", + "type" : "string", + "doc" : "Comma-separated list of job properties to include in the query result", + "optional" : true + }, { + "name" : "taskProperties", + "type" : "string", + "doc" : "Comma-separated list of task properties to include in the query result", + "optional" : true + }, { + "name" : "includeJobMetrics", + "type" : "boolean", + "doc" : "true/false if the response should include job metrics (default: true)", + "default" : true, + "optional" : true + }, { + "name" : "includeTaskMetrics", + "type" : "boolean", + "doc" : "true/false if the response should include task metrics (default: true)", + "default" : true, + "optional" : true + }, { + "name" : "includeTaskExecutions", + "type" : "boolean", + "doc" : "true/false if the response should include task executions (default: true)", + "default" : true, + "optional" : true + }, { + "name" : "includeJobsWithoutTasks", + "type" : "boolean", + "doc" : "true/false if the response should include jobs that did not launch tasks (default: true)", + "default" : true, + "optional" : true + } ] + }, { + "type" : "record", + "name" : "EmptyRecord", + "namespace" : "com.linkedin.restli.common", + "doc" : "An literally empty record. Intended as a marker to indicate the absence of content where a record type is required. If used the underlying DataMap *must* be empty, EmptyRecordValidator is provided to help enforce this. For example, CreateRequest extends Request<EmptyRecord> to indicate it has no response body. Also, a ComplexKeyResource implementation that has no ParamKey should have a signature like XyzResource implements ComplexKeyResource<XyzKey, EmptyRecord, Xyz>.", + "fields" : [ ], + "validate" : { + "com.linkedin.restli.common.EmptyRecordValidator" : { } + } + } ], + "schema" : { + "name" : "jobExecutions", + "namespace" : "org.apache.gobblin.rest", + "path" : "/jobExecutions", + "schema" : "org.apache.gobblin.rest.JobExecutionQueryResult", + "doc" : "A Rest.li resource for serving queries of Gobblin job executions.\n\ngenerated from: org.apache.gobblin.rest.JobExecutionInfoResource", + "collection" : { + "identifier" : { + "name" : "jobExecutionsId", + "type" : "org.apache.gobblin.rest.JobExecutionQuery", + "params" : "com.linkedin.restli.common.EmptyRecord" + }, + "supports" : [ "batch_get", "get" ], + "methods" : [ { + "method" : "get" + }, { + "method" : "batch_get" + } ], + "entity" : { + "path" : "/jobExecutions/{jobExecutionsId}" + } + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/gobblin.service.flowconfigs.restspec.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/gobblin.service.flowconfigs.restspec.json b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/gobblin.service.flowconfigs.restspec.json deleted file mode 100644 index 68c990c..0000000 --- a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/gobblin.service.flowconfigs.restspec.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name" : "flowconfigs", - "namespace" : "org.apache.gobblin.service", - "path" : "/flowconfigs", - "schema" : "org.apache.gobblin.service.FlowConfig", - "doc" : "Resource for handling flow configuration requests\n\ngenerated from: org.apache.gobblin.service.FlowConfigsResource", - "collection" : { - "identifier" : { - "name" : "id", - "type" : "org.apache.gobblin.service.FlowId", - "params" : "com.linkedin.restli.common.EmptyRecord" - }, - "supports" : [ "create", "delete", "get", "update" ], - "methods" : [ { - "method" : "create", - "doc" : "Create a flow configuration that the service will forward to execution instances for execution" - }, { - "method" : "get", - "doc" : "Retrieve the flow configuration with the given key" - }, { - "method" : "update", - "doc" : "Update the flow configuration with the specified key. Running flows are not affected.\n An error is raised if the flow configuration does not exist." - }, { - "method" : "delete", - "doc" : "Delete a configured flow. Running flows are not affected. The schedule will be removed for scheduled flows." - } ], - "entity" : { - "path" : "/flowconfigs/{id}" - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/gobblin.service.flowstatuses.restspec.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/gobblin.service.flowstatuses.restspec.json b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/gobblin.service.flowstatuses.restspec.json deleted file mode 100644 index 7810aa9..0000000 --- a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/gobblin.service.flowstatuses.restspec.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name" : "flowstatuses", - "namespace" : "org.apache.gobblin.service", - "path" : "/flowstatuses", - "schema" : "org.apache.gobblin.service.FlowStatus", - "doc" : "Resource for handling flow status requests\n\ngenerated from: org.apache.gobblin.service.FlowStatusResource", - "collection" : { - "identifier" : { - "name" : "id", - "type" : "org.apache.gobblin.service.FlowStatusId", - "params" : "com.linkedin.restli.common.EmptyRecord" - }, - "supports" : [ "get" ], - "methods" : [ { - "method" : "get", - "doc" : "Retrieve the FlowStatus with the given key" - } ], - "finders" : [ { - "name" : "latestFlowStatus", - "parameters" : [ { - "name" : "flowId", - "type" : "org.apache.gobblin.service.FlowId" - } ] - } ], - "entity" : { - "path" : "/flowstatuses/{id}" - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/org.apache.gobblin.service.flowconfigs.restspec.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/org.apache.gobblin.service.flowconfigs.restspec.json b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/org.apache.gobblin.service.flowconfigs.restspec.json new file mode 100644 index 0000000..68c990c --- /dev/null +++ b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/org.apache.gobblin.service.flowconfigs.restspec.json @@ -0,0 +1,31 @@ +{ + "name" : "flowconfigs", + "namespace" : "org.apache.gobblin.service", + "path" : "/flowconfigs", + "schema" : "org.apache.gobblin.service.FlowConfig", + "doc" : "Resource for handling flow configuration requests\n\ngenerated from: org.apache.gobblin.service.FlowConfigsResource", + "collection" : { + "identifier" : { + "name" : "id", + "type" : "org.apache.gobblin.service.FlowId", + "params" : "com.linkedin.restli.common.EmptyRecord" + }, + "supports" : [ "create", "delete", "get", "update" ], + "methods" : [ { + "method" : "create", + "doc" : "Create a flow configuration that the service will forward to execution instances for execution" + }, { + "method" : "get", + "doc" : "Retrieve the flow configuration with the given key" + }, { + "method" : "update", + "doc" : "Update the flow configuration with the specified key. Running flows are not affected.\n An error is raised if the flow configuration does not exist." + }, { + "method" : "delete", + "doc" : "Delete a configured flow. Running flows are not affected. The schedule will be removed for scheduled flows." + } ], + "entity" : { + "path" : "/flowconfigs/{id}" + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/org.apache.gobblin.service.flowstatuses.restspec.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/org.apache.gobblin.service.flowstatuses.restspec.json b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/org.apache.gobblin.service.flowstatuses.restspec.json new file mode 100644 index 0000000..7810aa9 --- /dev/null +++ b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/idl/org.apache.gobblin.service.flowstatuses.restspec.json @@ -0,0 +1,29 @@ +{ + "name" : "flowstatuses", + "namespace" : "org.apache.gobblin.service", + "path" : "/flowstatuses", + "schema" : "org.apache.gobblin.service.FlowStatus", + "doc" : "Resource for handling flow status requests\n\ngenerated from: org.apache.gobblin.service.FlowStatusResource", + "collection" : { + "identifier" : { + "name" : "id", + "type" : "org.apache.gobblin.service.FlowStatusId", + "params" : "com.linkedin.restli.common.EmptyRecord" + }, + "supports" : [ "get" ], + "methods" : [ { + "method" : "get", + "doc" : "Retrieve the FlowStatus with the given key" + } ], + "finders" : [ { + "name" : "latestFlowStatus", + "parameters" : [ { + "name" : "flowId", + "type" : "org.apache.gobblin.service.FlowId" + } ] + } ], + "entity" : { + "path" : "/flowstatuses/{id}" + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/gobblin.service.flowconfigs.snapshot.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/gobblin.service.flowconfigs.snapshot.json b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/gobblin.service.flowconfigs.snapshot.json deleted file mode 100644 index 6106b7a..0000000 --- a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/gobblin.service.flowconfigs.snapshot.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "models" : [ { - "type" : "record", - "name" : "FlowId", - "namespace" : "org.apache.gobblin.service", - "doc" : "Identifier for a Gobblin as a Service flow", - "fields" : [ { - "name" : "flowName", - "type" : "string", - "doc" : "Name of the flow", - "validate" : { - "strlen" : { - "min" : 1, - "max" : 128 - } - } - }, { - "name" : "flowGroup", - "type" : "string", - "doc" : "Group of the flow. This defines the namespace for the flow.", - "validate" : { - "strlen" : { - "min" : 1, - "max" : 128 - } - } - } ] - }, { - "type" : "record", - "name" : "Schedule", - "namespace" : "org.apache.gobblin.service", - "doc" : "Attributes for defining a job schedule", - "fields" : [ { - "name" : "cronSchedule", - "type" : "string", - "doc" : "Schedule for flow in cron format", - "validate" : { - "org.apache.gobblin.service.validator.CronValidator" : { } - } - }, { - "name" : "runImmediately", - "type" : "boolean", - "doc" : "Set to true to request that a job with a schedule be run immediately in addition to being scheduled", - "default" : false - } ] - }, { - "type" : "record", - "name" : "FlowConfig", - "namespace" : "org.apache.gobblin.service", - "doc" : "Defines a flow configuration that can be compiled into Gobblin jobs", - "fields" : [ { - "name" : "id", - "type" : "FlowId", - "doc" : "Identifier for the flow" - }, { - "name" : "schedule", - "type" : "Schedule", - "doc" : "Optional schedule for when to execution the flow. If a schedule is not specified then the flow is executed immediately.", - "optional" : true - }, { - "name" : "templateUris", - "type" : "string", - "doc" : "Comma separated list of URIs for templates used in the flow. The template location is defined by the multiproduct that packages the template.", - "validate" : { - "org.apache.gobblin.service.validator.TemplateUriValidator" : { } - } - }, { - "name" : "properties", - "type" : { - "type" : "map", - "values" : "string" - }, - "doc" : "Properties for the flow. These properties are passed to the compiled Gobblin jobs." - } ] - }, { - "type" : "record", - "name" : "EmptyRecord", - "namespace" : "com.linkedin.restli.common", - "doc" : "An literally empty record. Intended as a marker to indicate the absence of content where a record type is required. If used the underlying DataMap *must* be empty, EmptyRecordValidator is provided to help enforce this. For example, CreateRequest extends Request<EmptyRecord> to indicate it has no response body. Also, a ComplexKeyResource implementation that has no ParamKey should have a signature like XyzResource implements ComplexKeyResource<XyzKey, EmptyRecord, Xyz>.", - "fields" : [ ], - "validate" : { - "com.linkedin.restli.common.EmptyRecordValidator" : { } - } - } ], - "schema" : { - "name" : "flowconfigs", - "namespace" : "org.apache.gobblin.service", - "path" : "/flowconfigs", - "schema" : "org.apache.gobblin.service.FlowConfig", - "doc" : "Resource for handling flow configuration requests\n\ngenerated from: org.apache.gobblin.service.FlowConfigsResource", - "collection" : { - "identifier" : { - "name" : "id", - "type" : "org.apache.gobblin.service.FlowId", - "params" : "com.linkedin.restli.common.EmptyRecord" - }, - "supports" : [ "create", "delete", "get", "update" ], - "methods" : [ { - "method" : "create", - "doc" : "Create a flow configuration that the service will forward to execution instances for execution" - }, { - "method" : "get", - "doc" : "Retrieve the flow configuration with the given key" - }, { - "method" : "update", - "doc" : "Update the flow configuration with the specified key. Running flows are not affected.\n An error is raised if the flow configuration does not exist." - }, { - "method" : "delete", - "doc" : "Delete a configured flow. Running flows are not affected. The schedule will be removed for scheduled flows." - } ], - "entity" : { - "path" : "/flowconfigs/{id}" - } - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/gobblin.service.flowstatuses.snapshot.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/gobblin.service.flowstatuses.snapshot.json b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/gobblin.service.flowstatuses.snapshot.json deleted file mode 100644 index 99b6a1f..0000000 --- a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/gobblin.service.flowstatuses.snapshot.json +++ /dev/null @@ -1,227 +0,0 @@ -{ - "models" : [ { - "type" : "record", - "name" : "FlowStatusId", - "namespace" : "org.apache.gobblin.service", - "doc" : "Identifier for a specific execution of a flow", - "fields" : [ { - "name" : "flowName", - "type" : "string", - "doc" : "Name of the flow" - }, { - "name" : "flowGroup", - "type" : "string", - "doc" : "Group of the flow. This defines the namespace for the flow." - }, { - "name" : "flowExecutionId", - "type" : "long", - "doc" : "Execution id for the flow" - } ] - }, { - "type" : "record", - "name" : "FlowStatistics", - "namespace" : "org.apache.gobblin.service", - "doc" : "Statistics from a flow execution", - "fields" : [ { - "name" : "executionStartTime", - "type" : "long", - "doc" : "Epoch time of when the execution began" - }, { - "name" : "executionEndTime", - "type" : "long", - "doc" : "Epoch time of when the execution ended" - } ] - }, { - "type" : "enum", - "name" : "ExecutionStatus", - "namespace" : "org.apache.gobblin.service", - "doc" : "Execution status for a flow or job", - "symbols" : [ "RUNNING", "FAILED", "COMPLETE" ], - "symbolDocs" : { - "RUNNING" : "Flow or job is currently executing", - "FAILED" : "Flow or job failed", - "COMPLETE" : "Flow or job completed execution" - } - }, { - "type" : "record", - "name" : "FlowId", - "namespace" : "org.apache.gobblin.service", - "doc" : "Identifier for a Gobblin as a Service flow", - "fields" : [ { - "name" : "flowName", - "type" : "string", - "doc" : "Name of the flow", - "validate" : { - "strlen" : { - "min" : 1, - "max" : 128 - } - } - }, { - "name" : "flowGroup", - "type" : "string", - "doc" : "Group of the flow. This defines the namespace for the flow.", - "validate" : { - "strlen" : { - "min" : 1, - "max" : 128 - } - } - } ] - }, { - "type" : "record", - "name" : "JobId", - "namespace" : "org.apache.gobblin.service", - "doc" : "Identifier for a Gobblin job", - "fields" : [ { - "name" : "jobName", - "type" : "string", - "doc" : "Name of the job", - "validate" : { - "strlen" : { - "min" : 1, - "max" : 128 - } - } - }, { - "name" : "jobGroup", - "type" : "string", - "doc" : "Group of the job. This defines the namespace for the job.", - "validate" : { - "strlen" : { - "min" : 1, - "max" : 128 - } - } - } ] - }, { - "type" : "record", - "name" : "JobStatistics", - "namespace" : "org.apache.gobblin.service", - "doc" : "Statistics from a job execution", - "fields" : [ { - "name" : "executionStartTime", - "type" : "long", - "doc" : "Epoch time of when the execution began" - }, { - "name" : "executionEndTime", - "type" : "long", - "doc" : "Epoch time of when the execution ended" - }, { - "name" : "processedCount", - "type" : "long", - "doc" : "number of records processed in the last job execution" - } ] - }, { - "type" : "record", - "name" : "JobState", - "namespace" : "org.apache.gobblin.service", - "doc" : "Job state that is updated at the end of an execution", - "fields" : [ { - "name" : "lowWatermark", - "type" : "string", - "doc" : "Low watermark after last execution" - }, { - "name" : "highWatermark", - "type" : "string", - "doc" : "High watermark after last execution" - } ] - }, { - "type" : "record", - "name" : "JobStatus", - "namespace" : "org.apache.gobblin.service", - "doc" : "Execution status for a job", - "fields" : [ { - "name" : "flowId", - "type" : "FlowId", - "doc" : "Identifier of the flow the job belongs to" - }, { - "name" : "jobId", - "type" : "JobId", - "doc" : "Identifier of the job" - }, { - "name" : "executionStatus", - "type" : "ExecutionStatus", - "doc" : "Job execution status" - }, { - "name" : "message", - "type" : "string", - "doc" : "Error or status message" - }, { - "name" : "executionStatistics", - "type" : "JobStatistics", - "doc" : "Statistics from the job execution. The values may be updated during the run of a job." - }, { - "name" : "jobState", - "type" : "JobState", - "doc" : "Job state that is updated only at the start and end of a job execution." - } ] - }, { - "type" : "record", - "name" : "FlowStatus", - "namespace" : "org.apache.gobblin.service", - "doc" : "Status of a flow", - "fields" : [ { - "name" : "id", - "type" : "FlowStatusId", - "doc" : "Flow status identifier" - }, { - "name" : "executionStatistics", - "type" : "FlowStatistics", - "doc" : "Statistics for this execution of the flow" - }, { - "name" : "executionStatus", - "type" : "ExecutionStatus", - "doc" : "Flow execution status" - }, { - "name" : "message", - "type" : "string", - "doc" : "Error or status message" - }, { - "name" : "jobStatuses", - "type" : { - "type" : "array", - "items" : "JobStatus" - }, - "doc" : "Status of jobs belonging to the flow" - } ] - }, { - "type" : "record", - "name" : "EmptyRecord", - "namespace" : "com.linkedin.restli.common", - "doc" : "An literally empty record. Intended as a marker to indicate the absence of content where a record type is required. If used the underlying DataMap *must* be empty, EmptyRecordValidator is provided to help enforce this. For example, CreateRequest extends Request<EmptyRecord> to indicate it has no response body. Also, a ComplexKeyResource implementation that has no ParamKey should have a signature like XyzResource implements ComplexKeyResource<XyzKey, EmptyRecord, Xyz>.", - "fields" : [ ], - "validate" : { - "com.linkedin.restli.common.EmptyRecordValidator" : { } - } - } ], - "schema" : { - "name" : "flowstatuses", - "namespace" : "org.apache.gobblin.service", - "path" : "/flowstatuses", - "schema" : "org.apache.gobblin.service.FlowStatus", - "doc" : "Resource for handling flow status requests\n\ngenerated from: org.apache.gobblin.service.FlowStatusResource", - "collection" : { - "identifier" : { - "name" : "id", - "type" : "org.apache.gobblin.service.FlowStatusId", - "params" : "com.linkedin.restli.common.EmptyRecord" - }, - "supports" : [ "get" ], - "methods" : [ { - "method" : "get", - "doc" : "Retrieve the FlowStatus with the given key" - } ], - "finders" : [ { - "name" : "latestFlowStatus", - "parameters" : [ { - "name" : "flowId", - "type" : "org.apache.gobblin.service.FlowId" - } ] - } ], - "entity" : { - "path" : "/flowstatuses/{id}" - } - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/org.apache.gobblin.service.flowconfigs.snapshot.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/org.apache.gobblin.service.flowconfigs.snapshot.json b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/org.apache.gobblin.service.flowconfigs.snapshot.json new file mode 100644 index 0000000..6106b7a --- /dev/null +++ b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/org.apache.gobblin.service.flowconfigs.snapshot.json @@ -0,0 +1,116 @@ +{ + "models" : [ { + "type" : "record", + "name" : "FlowId", + "namespace" : "org.apache.gobblin.service", + "doc" : "Identifier for a Gobblin as a Service flow", + "fields" : [ { + "name" : "flowName", + "type" : "string", + "doc" : "Name of the flow", + "validate" : { + "strlen" : { + "min" : 1, + "max" : 128 + } + } + }, { + "name" : "flowGroup", + "type" : "string", + "doc" : "Group of the flow. This defines the namespace for the flow.", + "validate" : { + "strlen" : { + "min" : 1, + "max" : 128 + } + } + } ] + }, { + "type" : "record", + "name" : "Schedule", + "namespace" : "org.apache.gobblin.service", + "doc" : "Attributes for defining a job schedule", + "fields" : [ { + "name" : "cronSchedule", + "type" : "string", + "doc" : "Schedule for flow in cron format", + "validate" : { + "org.apache.gobblin.service.validator.CronValidator" : { } + } + }, { + "name" : "runImmediately", + "type" : "boolean", + "doc" : "Set to true to request that a job with a schedule be run immediately in addition to being scheduled", + "default" : false + } ] + }, { + "type" : "record", + "name" : "FlowConfig", + "namespace" : "org.apache.gobblin.service", + "doc" : "Defines a flow configuration that can be compiled into Gobblin jobs", + "fields" : [ { + "name" : "id", + "type" : "FlowId", + "doc" : "Identifier for the flow" + }, { + "name" : "schedule", + "type" : "Schedule", + "doc" : "Optional schedule for when to execution the flow. If a schedule is not specified then the flow is executed immediately.", + "optional" : true + }, { + "name" : "templateUris", + "type" : "string", + "doc" : "Comma separated list of URIs for templates used in the flow. The template location is defined by the multiproduct that packages the template.", + "validate" : { + "org.apache.gobblin.service.validator.TemplateUriValidator" : { } + } + }, { + "name" : "properties", + "type" : { + "type" : "map", + "values" : "string" + }, + "doc" : "Properties for the flow. These properties are passed to the compiled Gobblin jobs." + } ] + }, { + "type" : "record", + "name" : "EmptyRecord", + "namespace" : "com.linkedin.restli.common", + "doc" : "An literally empty record. Intended as a marker to indicate the absence of content where a record type is required. If used the underlying DataMap *must* be empty, EmptyRecordValidator is provided to help enforce this. For example, CreateRequest extends Request<EmptyRecord> to indicate it has no response body. Also, a ComplexKeyResource implementation that has no ParamKey should have a signature like XyzResource implements ComplexKeyResource<XyzKey, EmptyRecord, Xyz>.", + "fields" : [ ], + "validate" : { + "com.linkedin.restli.common.EmptyRecordValidator" : { } + } + } ], + "schema" : { + "name" : "flowconfigs", + "namespace" : "org.apache.gobblin.service", + "path" : "/flowconfigs", + "schema" : "org.apache.gobblin.service.FlowConfig", + "doc" : "Resource for handling flow configuration requests\n\ngenerated from: org.apache.gobblin.service.FlowConfigsResource", + "collection" : { + "identifier" : { + "name" : "id", + "type" : "org.apache.gobblin.service.FlowId", + "params" : "com.linkedin.restli.common.EmptyRecord" + }, + "supports" : [ "create", "delete", "get", "update" ], + "methods" : [ { + "method" : "create", + "doc" : "Create a flow configuration that the service will forward to execution instances for execution" + }, { + "method" : "get", + "doc" : "Retrieve the flow configuration with the given key" + }, { + "method" : "update", + "doc" : "Update the flow configuration with the specified key. Running flows are not affected.\n An error is raised if the flow configuration does not exist." + }, { + "method" : "delete", + "doc" : "Delete a configured flow. Running flows are not affected. The schedule will be removed for scheduled flows." + } ], + "entity" : { + "path" : "/flowconfigs/{id}" + } + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/org.apache.gobblin.service.flowstatuses.snapshot.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/org.apache.gobblin.service.flowstatuses.snapshot.json b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/org.apache.gobblin.service.flowstatuses.snapshot.json new file mode 100644 index 0000000..99b6a1f --- /dev/null +++ b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/snapshot/org.apache.gobblin.service.flowstatuses.snapshot.json @@ -0,0 +1,227 @@ +{ + "models" : [ { + "type" : "record", + "name" : "FlowStatusId", + "namespace" : "org.apache.gobblin.service", + "doc" : "Identifier for a specific execution of a flow", + "fields" : [ { + "name" : "flowName", + "type" : "string", + "doc" : "Name of the flow" + }, { + "name" : "flowGroup", + "type" : "string", + "doc" : "Group of the flow. This defines the namespace for the flow." + }, { + "name" : "flowExecutionId", + "type" : "long", + "doc" : "Execution id for the flow" + } ] + }, { + "type" : "record", + "name" : "FlowStatistics", + "namespace" : "org.apache.gobblin.service", + "doc" : "Statistics from a flow execution", + "fields" : [ { + "name" : "executionStartTime", + "type" : "long", + "doc" : "Epoch time of when the execution began" + }, { + "name" : "executionEndTime", + "type" : "long", + "doc" : "Epoch time of when the execution ended" + } ] + }, { + "type" : "enum", + "name" : "ExecutionStatus", + "namespace" : "org.apache.gobblin.service", + "doc" : "Execution status for a flow or job", + "symbols" : [ "RUNNING", "FAILED", "COMPLETE" ], + "symbolDocs" : { + "RUNNING" : "Flow or job is currently executing", + "FAILED" : "Flow or job failed", + "COMPLETE" : "Flow or job completed execution" + } + }, { + "type" : "record", + "name" : "FlowId", + "namespace" : "org.apache.gobblin.service", + "doc" : "Identifier for a Gobblin as a Service flow", + "fields" : [ { + "name" : "flowName", + "type" : "string", + "doc" : "Name of the flow", + "validate" : { + "strlen" : { + "min" : 1, + "max" : 128 + } + } + }, { + "name" : "flowGroup", + "type" : "string", + "doc" : "Group of the flow. This defines the namespace for the flow.", + "validate" : { + "strlen" : { + "min" : 1, + "max" : 128 + } + } + } ] + }, { + "type" : "record", + "name" : "JobId", + "namespace" : "org.apache.gobblin.service", + "doc" : "Identifier for a Gobblin job", + "fields" : [ { + "name" : "jobName", + "type" : "string", + "doc" : "Name of the job", + "validate" : { + "strlen" : { + "min" : 1, + "max" : 128 + } + } + }, { + "name" : "jobGroup", + "type" : "string", + "doc" : "Group of the job. This defines the namespace for the job.", + "validate" : { + "strlen" : { + "min" : 1, + "max" : 128 + } + } + } ] + }, { + "type" : "record", + "name" : "JobStatistics", + "namespace" : "org.apache.gobblin.service", + "doc" : "Statistics from a job execution", + "fields" : [ { + "name" : "executionStartTime", + "type" : "long", + "doc" : "Epoch time of when the execution began" + }, { + "name" : "executionEndTime", + "type" : "long", + "doc" : "Epoch time of when the execution ended" + }, { + "name" : "processedCount", + "type" : "long", + "doc" : "number of records processed in the last job execution" + } ] + }, { + "type" : "record", + "name" : "JobState", + "namespace" : "org.apache.gobblin.service", + "doc" : "Job state that is updated at the end of an execution", + "fields" : [ { + "name" : "lowWatermark", + "type" : "string", + "doc" : "Low watermark after last execution" + }, { + "name" : "highWatermark", + "type" : "string", + "doc" : "High watermark after last execution" + } ] + }, { + "type" : "record", + "name" : "JobStatus", + "namespace" : "org.apache.gobblin.service", + "doc" : "Execution status for a job", + "fields" : [ { + "name" : "flowId", + "type" : "FlowId", + "doc" : "Identifier of the flow the job belongs to" + }, { + "name" : "jobId", + "type" : "JobId", + "doc" : "Identifier of the job" + }, { + "name" : "executionStatus", + "type" : "ExecutionStatus", + "doc" : "Job execution status" + }, { + "name" : "message", + "type" : "string", + "doc" : "Error or status message" + }, { + "name" : "executionStatistics", + "type" : "JobStatistics", + "doc" : "Statistics from the job execution. The values may be updated during the run of a job." + }, { + "name" : "jobState", + "type" : "JobState", + "doc" : "Job state that is updated only at the start and end of a job execution." + } ] + }, { + "type" : "record", + "name" : "FlowStatus", + "namespace" : "org.apache.gobblin.service", + "doc" : "Status of a flow", + "fields" : [ { + "name" : "id", + "type" : "FlowStatusId", + "doc" : "Flow status identifier" + }, { + "name" : "executionStatistics", + "type" : "FlowStatistics", + "doc" : "Statistics for this execution of the flow" + }, { + "name" : "executionStatus", + "type" : "ExecutionStatus", + "doc" : "Flow execution status" + }, { + "name" : "message", + "type" : "string", + "doc" : "Error or status message" + }, { + "name" : "jobStatuses", + "type" : { + "type" : "array", + "items" : "JobStatus" + }, + "doc" : "Status of jobs belonging to the flow" + } ] + }, { + "type" : "record", + "name" : "EmptyRecord", + "namespace" : "com.linkedin.restli.common", + "doc" : "An literally empty record. Intended as a marker to indicate the absence of content where a record type is required. If used the underlying DataMap *must* be empty, EmptyRecordValidator is provided to help enforce this. For example, CreateRequest extends Request<EmptyRecord> to indicate it has no response body. Also, a ComplexKeyResource implementation that has no ParamKey should have a signature like XyzResource implements ComplexKeyResource<XyzKey, EmptyRecord, Xyz>.", + "fields" : [ ], + "validate" : { + "com.linkedin.restli.common.EmptyRecordValidator" : { } + } + } ], + "schema" : { + "name" : "flowstatuses", + "namespace" : "org.apache.gobblin.service", + "path" : "/flowstatuses", + "schema" : "org.apache.gobblin.service.FlowStatus", + "doc" : "Resource for handling flow status requests\n\ngenerated from: org.apache.gobblin.service.FlowStatusResource", + "collection" : { + "identifier" : { + "name" : "id", + "type" : "org.apache.gobblin.service.FlowStatusId", + "params" : "com.linkedin.restli.common.EmptyRecord" + }, + "supports" : [ "get" ], + "methods" : [ { + "method" : "get", + "doc" : "Retrieve the FlowStatus with the given key" + } ], + "finders" : [ { + "name" : "latestFlowStatus", + "parameters" : [ { + "name" : "flowId", + "type" : "org.apache.gobblin.service.FlowId" + } ] + } ], + "entity" : { + "path" : "/flowstatuses/{id}" + } + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/idl/gobblin.restli.throttling.permits.restspec.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/idl/gobblin.restli.throttling.permits.restspec.json b/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/idl/gobblin.restli.throttling.permits.restspec.json deleted file mode 100644 index b4415f0..0000000 --- a/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/idl/gobblin.restli.throttling.permits.restspec.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name" : "permits", - "namespace" : "org.apache.gobblin.restli.throttling", - "path" : "/permits", - "schema" : "org.apache.gobblin.restli.throttling.PermitAllocation", - "doc" : "Restli resource for allocating permits through Rest calls. Simply calls a {@link Limiter} in the server configured\n through {@link SharedResourcesBroker}.\n\ngenerated from: org.apache.gobblin.restli.throttling.LimiterServerResource", - "collection" : { - "identifier" : { - "name" : "permitsId", - "type" : "org.apache.gobblin.restli.throttling.PermitRequest", - "params" : "com.linkedin.restli.common.EmptyRecord" - }, - "supports" : [ "get" ], - "methods" : [ { - "method" : "get", - "doc" : "Request permits from the limiter server. The returned {@link PermitAllocation} specifies the number of permits\n that the client can use." - } ], - "entity" : { - "path" : "/permits/{permitsId}" - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/idl/org.apache.gobblin.restli.throttling.permits.restspec.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/idl/org.apache.gobblin.restli.throttling.permits.restspec.json b/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/idl/org.apache.gobblin.restli.throttling.permits.restspec.json new file mode 100644 index 0000000..b4415f0 --- /dev/null +++ b/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/idl/org.apache.gobblin.restli.throttling.permits.restspec.json @@ -0,0 +1,22 @@ +{ + "name" : "permits", + "namespace" : "org.apache.gobblin.restli.throttling", + "path" : "/permits", + "schema" : "org.apache.gobblin.restli.throttling.PermitAllocation", + "doc" : "Restli resource for allocating permits through Rest calls. Simply calls a {@link Limiter} in the server configured\n through {@link SharedResourcesBroker}.\n\ngenerated from: org.apache.gobblin.restli.throttling.LimiterServerResource", + "collection" : { + "identifier" : { + "name" : "permitsId", + "type" : "org.apache.gobblin.restli.throttling.PermitRequest", + "params" : "com.linkedin.restli.common.EmptyRecord" + }, + "supports" : [ "get" ], + "methods" : [ { + "method" : "get", + "doc" : "Request permits from the limiter server. The returned {@link PermitAllocation} specifies the number of permits\n that the client can use." + } ], + "entity" : { + "path" : "/permits/{permitsId}" + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/92e1276e/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/snapshot/gobblin.restli.throttling.permits.snapshot.json ---------------------------------------------------------------------- diff --git a/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/snapshot/gobblin.restli.throttling.permits.snapshot.json b/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/snapshot/gobblin.restli.throttling.permits.snapshot.json deleted file mode 100644 index 90fdd8d..0000000 --- a/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/snapshot/gobblin.restli.throttling.permits.snapshot.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "models" : [ { - "type" : "record", - "name" : "PermitAllocation", - "namespace" : "org.apache.gobblin.restli.throttling", - "doc" : "Used by gobblin-throttling-service to allocate permits to a client.", - "fields" : [ { - "name" : "permits", - "type" : "long", - "doc" : "Number of permits allocated. This may be 0 if no permits are allocated, or the number of requested permits." - }, { - "name" : "expiration", - "type" : "long", - "doc" : "Expiration time in Unix timestamp of the allocated permits." - }, { - "name" : "minRetryDelayMillis", - "type" : "long", - "doc" : "Client should not try to acquire permits before this delay has passed.", - "optional" : true - } ] - }, { - "type" : "record", - "name" : "PermitRequest", - "namespace" : "org.apache.gobblin.restli.throttling", - "doc" : "Used to request permits from a gobblin-throttling-service.", - "fields" : [ { - "name" : "resource", - "type" : "string", - "doc" : "Resource for which permits are needed." - }, { - "name" : "permits", - "type" : "long", - "doc" : "Number of permits needed." - }, { - "name" : "minPermits", - "type" : "long", - "doc" : "Minimum number of useful permits.", - "optional" : true - }, { - "name" : "requestorIdentifier", - "type" : "string", - "doc" : "Identifier of the service requesting the permits." - } ] - }, { - "type" : "record", - "name" : "EmptyRecord", - "namespace" : "com.linkedin.restli.common", - "doc" : "An literally empty record. Intended as a marker to indicate the absence of content where a record type is required. If used the underlying DataMap *must* be empty, EmptyRecordValidator is provided to help enforce this. For example, CreateRequest extends Request<EmptyRecord> to indicate it has no response body. Also, a ComplexKeyResource implementation that has no ParamKey should have a signature like XyzResource implements ComplexKeyResource<XyzKey, EmptyRecord, Xyz>.", - "fields" : [ ], - "validate" : { - "com.linkedin.restli.common.EmptyRecordValidator" : { } - } - } ], - "schema" : { - "name" : "permits", - "namespace" : "org.apache.gobblin.restli.throttling", - "path" : "/permits", - "schema" : "org.apache.gobblin.restli.throttling.PermitAllocation", - "doc" : "Restli resource for allocating permits through Rest calls. Simply calls a {@link Limiter} in the server configured\n through {@link SharedResourcesBroker}.\n\ngenerated from: org.apache.gobblin.restli.throttling.LimiterServerResource", - "collection" : { - "identifier" : { - "name" : "permitsId", - "type" : "org.apache.gobblin.restli.throttling.PermitRequest", - "params" : "com.linkedin.restli.common.EmptyRecord" - }, - "supports" : [ "get" ], - "methods" : [ { - "method" : "get", - "doc" : "Request permits from the limiter server. The returned {@link PermitAllocation} specifies the number of permits\n that the client can use." - } ], - "entity" : { - "path" : "/permits/{permitsId}" - } - } - } -} \ No newline at end of file
