You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gobblin.apache.org by ab...@apache.org on 2017/07/31 07:53:20 UTC
[62/77] [abbrv] incubator-gobblin git commit: Update Restli schemas
for gobblin-service for package rename to org.apache.gobblin
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")
-@org.apache.avro.specific.AvroGenerated
-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")
-@org.apache.avro.specific.AvroGenerated
-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