workflowId = Optional.empty();
@@ -234,6 +257,7 @@ public Builder from(DeployTriggerOpts other) {
dynamicPropsId(other.getDynamicPropsId());
workflowId(other.getWorkflowId());
webhookUrl(other.getWebhookUrl());
+ emitOnDeploy(other.getEmitOnDeploy());
return this;
}
@@ -261,6 +285,26 @@ public _FinalStage externalUserId(@NotNull String externalUserId) {
return this;
}
+ /**
+ * Whether the trigger should emit events during the deploy hook execution. Defaults to true if not specified.
+ * @return Reference to {@code this} so that method calls can be chained together.
+ */
+ @java.lang.Override
+ public _FinalStage emitOnDeploy(Boolean emitOnDeploy) {
+ this.emitOnDeploy = Optional.ofNullable(emitOnDeploy);
+ return this;
+ }
+
+ /**
+ * Whether the trigger should emit events during the deploy hook execution. Defaults to true if not specified.
+ */
+ @java.lang.Override
+ @JsonSetter(value = "emit_on_deploy", nulls = Nulls.SKIP)
+ public _FinalStage emitOnDeploy(Optional emitOnDeploy) {
+ this.emitOnDeploy = emitOnDeploy;
+ return this;
+ }
+
/**
* Optional webhook URL to receive trigger events
* @return Reference to {@code this} so that method calls can be chained together.
@@ -364,6 +408,7 @@ public DeployTriggerOpts build() {
dynamicPropsId,
workflowId,
webhookUrl,
+ emitOnDeploy,
additionalProperties);
}
}
diff --git a/src/main/java/com/pipedream/api/resources/triggers/requests/TriggersListRequest.java b/src/main/java/com/pipedream/api/resources/triggers/requests/TriggersListRequest.java
index 833a738..22e36ba 100644
--- a/src/main/java/com/pipedream/api/resources/triggers/requests/TriggersListRequest.java
+++ b/src/main/java/com/pipedream/api/resources/triggers/requests/TriggersListRequest.java
@@ -12,6 +12,7 @@
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.pipedream.api.core.ObjectMappers;
+import com.pipedream.api.resources.triggers.types.TriggersListRequestRegistry;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -30,6 +31,8 @@ public final class TriggersListRequest {
private final Optional app;
+ private final Optional registry;
+
private final Map additionalProperties;
private TriggersListRequest(
@@ -38,12 +41,14 @@ private TriggersListRequest(
Optional limit,
Optional q,
Optional app,
+ Optional registry,
Map additionalProperties) {
this.after = after;
this.before = before;
this.limit = limit;
this.q = q;
this.app = app;
+ this.registry = registry;
this.additionalProperties = additionalProperties;
}
@@ -87,6 +92,14 @@ public Optional getApp() {
return app;
}
+ /**
+ * @return The registry to retrieve triggers from. Defaults to 'all' ('public', 'private', or 'all')
+ */
+ @JsonProperty("registry")
+ public Optional getRegistry() {
+ return registry;
+ }
+
@java.lang.Override
public boolean equals(Object other) {
if (this == other) return true;
@@ -103,12 +116,13 @@ private boolean equalTo(TriggersListRequest other) {
&& before.equals(other.before)
&& limit.equals(other.limit)
&& q.equals(other.q)
- && app.equals(other.app);
+ && app.equals(other.app)
+ && registry.equals(other.registry);
}
@java.lang.Override
public int hashCode() {
- return Objects.hash(this.after, this.before, this.limit, this.q, this.app);
+ return Objects.hash(this.after, this.before, this.limit, this.q, this.app, this.registry);
}
@java.lang.Override
@@ -132,6 +146,8 @@ public static final class Builder {
private Optional app = Optional.empty();
+ private Optional registry = Optional.empty();
+
@JsonAnySetter
private Map additionalProperties = new HashMap<>();
@@ -143,6 +159,7 @@ public Builder from(TriggersListRequest other) {
limit(other.getLimit());
q(other.getQ());
app(other.getApp());
+ registry(other.getRegistry());
return this;
}
@@ -216,8 +233,22 @@ public Builder app(String app) {
return this;
}
+ /**
+ * The registry to retrieve triggers from. Defaults to 'all' ('public', 'private', or 'all')
+ */
+ @JsonSetter(value = "registry", nulls = Nulls.SKIP)
+ public Builder registry(Optional registry) {
+ this.registry = registry;
+ return this;
+ }
+
+ public Builder registry(TriggersListRequestRegistry registry) {
+ this.registry = Optional.ofNullable(registry);
+ return this;
+ }
+
public TriggersListRequest build() {
- return new TriggersListRequest(after, before, limit, q, app, additionalProperties);
+ return new TriggersListRequest(after, before, limit, q, app, registry, additionalProperties);
}
}
}
diff --git a/src/main/java/com/pipedream/api/resources/triggers/types/TriggersListRequestRegistry.java b/src/main/java/com/pipedream/api/resources/triggers/types/TriggersListRequestRegistry.java
new file mode 100644
index 0000000..f563c08
--- /dev/null
+++ b/src/main/java/com/pipedream/api/resources/triggers/types/TriggersListRequestRegistry.java
@@ -0,0 +1,94 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.pipedream.api.resources.triggers.types;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+public final class TriggersListRequestRegistry {
+ public static final TriggersListRequestRegistry PRIVATE = new TriggersListRequestRegistry(Value.PRIVATE, "private");
+
+ public static final TriggersListRequestRegistry ALL = new TriggersListRequestRegistry(Value.ALL, "all");
+
+ public static final TriggersListRequestRegistry PUBLIC = new TriggersListRequestRegistry(Value.PUBLIC, "public");
+
+ private final Value value;
+
+ private final String string;
+
+ TriggersListRequestRegistry(Value value, String string) {
+ this.value = value;
+ this.string = string;
+ }
+
+ public Value getEnumValue() {
+ return value;
+ }
+
+ @java.lang.Override
+ @JsonValue
+ public String toString() {
+ return this.string;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ return (this == other)
+ || (other instanceof TriggersListRequestRegistry
+ && this.string.equals(((TriggersListRequestRegistry) other).string));
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return this.string.hashCode();
+ }
+
+ public T visit(Visitor visitor) {
+ switch (value) {
+ case PRIVATE:
+ return visitor.visitPrivate();
+ case ALL:
+ return visitor.visitAll();
+ case PUBLIC:
+ return visitor.visitPublic();
+ case UNKNOWN:
+ default:
+ return visitor.visitUnknown(string);
+ }
+ }
+
+ @JsonCreator(mode = JsonCreator.Mode.DELEGATING)
+ public static TriggersListRequestRegistry valueOf(String value) {
+ switch (value) {
+ case "private":
+ return PRIVATE;
+ case "all":
+ return ALL;
+ case "public":
+ return PUBLIC;
+ default:
+ return new TriggersListRequestRegistry(Value.UNKNOWN, value);
+ }
+ }
+
+ public enum Value {
+ PUBLIC,
+
+ PRIVATE,
+
+ ALL,
+
+ UNKNOWN
+ }
+
+ public interface Visitor {
+ T visitPublic();
+
+ T visitPrivate();
+
+ T visitAll();
+
+ T visitUnknown(String unknownType);
+ }
+}
diff --git a/src/main/java/com/pipedream/api/types/ConfigurableProp.java b/src/main/java/com/pipedream/api/types/ConfigurableProp.java
index 4c5213e..dc106d6 100644
--- a/src/main/java/com/pipedream/api/types/ConfigurableProp.java
+++ b/src/main/java/com/pipedream/api/types/ConfigurableProp.java
@@ -3,549 +3,1401 @@
*/
package com.pipedream.api.types;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonSetter;
-import com.fasterxml.jackson.annotation.Nulls;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.pipedream.api.core.ObjectMappers;
-import java.util.HashMap;
-import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonUnwrapped;
+import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Objects;
import java.util.Optional;
-import org.jetbrains.annotations.NotNull;
-@JsonInclude(JsonInclude.Include.NON_ABSENT)
-@JsonDeserialize(builder = ConfigurableProp.Builder.class)
public final class ConfigurableProp {
- private final String name;
+ private final Value value;
- private final ConfigurablePropType type;
+ @JsonCreator(mode = JsonCreator.Mode.DELEGATING)
+ private ConfigurableProp(Value value) {
+ this.value = value;
+ }
+
+ public T visit(Visitor visitor) {
+ return value.visit(visitor);
+ }
+
+ public static ConfigurableProp alert(ConfigurablePropAlert value) {
+ return new ConfigurableProp(new AlertValue(value));
+ }
+
+ public static ConfigurableProp any(ConfigurablePropAny value) {
+ return new ConfigurableProp(new AnyValue(value));
+ }
+
+ public static ConfigurableProp app(ConfigurablePropApp value) {
+ return new ConfigurableProp(new AppValue(value));
+ }
+
+ public static ConfigurableProp boolean_(ConfigurablePropBoolean value) {
+ return new ConfigurableProp(new BooleanValue(value));
+ }
+
+ public static ConfigurableProp dataStore(ConfigurablePropDataStore value) {
+ return new ConfigurableProp(new DataStoreValue(value));
+ }
+
+ public static ConfigurableProp dir(ConfigurablePropDir value) {
+ return new ConfigurableProp(new DirValue(value));
+ }
+
+ public static ConfigurableProp interfaceTimer(ConfigurablePropTimer value) {
+ return new ConfigurableProp(new InterfaceTimerValue(value));
+ }
+
+ public static ConfigurableProp interfaceApphook(ConfigurablePropApphook value) {
+ return new ConfigurableProp(new InterfaceApphookValue(value));
+ }
+
+ public static ConfigurableProp integerArray(ConfigurablePropIntegerArray value) {
+ return new ConfigurableProp(new IntegerArrayValue(value));
+ }
+
+ public static ConfigurableProp interfaceHttp(ConfigurablePropHttp value) {
+ return new ConfigurableProp(new InterfaceHttpValue(value));
+ }
+
+ public static ConfigurableProp httpRequest(ConfigurablePropHttpRequest value) {
+ return new ConfigurableProp(new HttpRequestValue(value));
+ }
+
+ public static ConfigurableProp serviceDb(ConfigurablePropDb value) {
+ return new ConfigurableProp(new ServiceDbValue(value));
+ }
+
+ public static ConfigurableProp sql(ConfigurablePropSql value) {
+ return new ConfigurableProp(new SqlValue(value));
+ }
+
+ public static ConfigurableProp airtableBaseId(ConfigurablePropAirtableBaseId value) {
+ return new ConfigurableProp(new AirtableBaseIdValue(value));
+ }
+
+ public static ConfigurableProp airtableTableId(ConfigurablePropAirtableTableId value) {
+ return new ConfigurableProp(new AirtableTableIdValue(value));
+ }
+
+ public static ConfigurableProp airtableViewId(ConfigurablePropAirtableViewId value) {
+ return new ConfigurableProp(new AirtableViewIdValue(value));
+ }
+
+ public static ConfigurableProp airtableFieldId(ConfigurablePropAirtableFieldId value) {
+ return new ConfigurableProp(new AirtableFieldIdValue(value));
+ }
+
+ public static ConfigurableProp discordChannel(ConfigurablePropDiscordChannel value) {
+ return new ConfigurableProp(new DiscordChannelValue(value));
+ }
+
+ public static ConfigurableProp discordChannelArray(ConfigurablePropDiscordChannelArray value) {
+ return new ConfigurableProp(new DiscordChannelArrayValue(value));
+ }
+
+ public static ConfigurableProp integer(ConfigurablePropInteger value) {
+ return new ConfigurableProp(new IntegerValue(value));
+ }
+
+ public static ConfigurableProp object(ConfigurablePropObject value) {
+ return new ConfigurableProp(new ObjectValue(value));
+ }
+
+ public static ConfigurableProp string(ConfigurablePropString value) {
+ return new ConfigurableProp(new StringValue(value));
+ }
- private final Optional label;
+ public static ConfigurableProp stringArray(ConfigurablePropStringArray value) {
+ return new ConfigurableProp(new StringArrayValue(value));
+ }
- private final Optional description;
+ public boolean isAlert() {
+ return value instanceof AlertValue;
+ }
- private final Optional optional;
+ public boolean isAny() {
+ return value instanceof AnyValue;
+ }
- private final Optional disabled;
+ public boolean isApp() {
+ return value instanceof AppValue;
+ }
- private final Optional hidden;
+ public boolean isBoolean() {
+ return value instanceof BooleanValue;
+ }
- private final Optional remoteOptions;
+ public boolean isDataStore() {
+ return value instanceof DataStoreValue;
+ }
- private final Optional useQuery;
+ public boolean isDir() {
+ return value instanceof DirValue;
+ }
- private final Optional reloadProps;
+ public boolean isInterfaceTimer() {
+ return value instanceof InterfaceTimerValue;
+ }
- private final Optional withLabel;
+ public boolean isInterfaceApphook() {
+ return value instanceof InterfaceApphookValue;
+ }
- private final Map additionalProperties;
+ public boolean isIntegerArray() {
+ return value instanceof IntegerArrayValue;
+ }
- private ConfigurableProp(
- String name,
- ConfigurablePropType type,
- Optional label,
- Optional description,
- Optional optional,
- Optional disabled,
- Optional hidden,
- Optional remoteOptions,
- Optional useQuery,
- Optional reloadProps,
- Optional withLabel,
- Map additionalProperties) {
- this.name = name;
- this.type = type;
- this.label = label;
- this.description = description;
- this.optional = optional;
- this.disabled = disabled;
- this.hidden = hidden;
- this.remoteOptions = remoteOptions;
- this.useQuery = useQuery;
- this.reloadProps = reloadProps;
- this.withLabel = withLabel;
- this.additionalProperties = additionalProperties;
+ public boolean isInterfaceHttp() {
+ return value instanceof InterfaceHttpValue;
}
- /**
- * @return When building configuredProps, make sure to use this field as the key when setting the prop value
- */
- @JsonProperty("name")
- public String getName() {
- return name;
+ public boolean isHttpRequest() {
+ return value instanceof HttpRequestValue;
}
- @JsonProperty("type")
- public ConfigurablePropType getType() {
- return type;
+ public boolean isServiceDb() {
+ return value instanceof ServiceDbValue;
}
- /**
- * @return Value to use as an input label. In cases where type is "app", should load the app via getApp, etc. and show app.name instead.
- */
- @JsonProperty("label")
- public Optional getLabel() {
- return label;
+ public boolean isSql() {
+ return value instanceof SqlValue;
}
-
- /**
- * @return A description of the prop, shown to the user when configuring the component.
- */
- @JsonProperty("description")
- public Optional getDescription() {
- return description;
+
+ public boolean isAirtableBaseId() {
+ return value instanceof AirtableBaseIdValue;
}
-
- /**
- * @return If true, this prop does not need to be specified.
- */
- @JsonProperty("optional")
- public Optional getOptional() {
- return optional;
+
+ public boolean isAirtableTableId() {
+ return value instanceof AirtableTableIdValue;
}
- /**
- * @return If true, this prop will be ignored.
- */
- @JsonProperty("disabled")
- public Optional getDisabled() {
- return disabled;
+ public boolean isAirtableViewId() {
+ return value instanceof AirtableViewIdValue;
}
- /**
- * @return If true, should not expose this prop to the user
- */
- @JsonProperty("hidden")
- public Optional getHidden() {
- return hidden;
+ public boolean isAirtableFieldId() {
+ return value instanceof AirtableFieldIdValue;
}
- /**
- * @return If true, call configureComponent for this prop to load remote options. It is safe, and preferred, given a returned list of { label: string; value: any } objects to set the prop value to { __lv: { label: string; value: any } }. This way, on load, you can access label for the value without necessarily reloading these options
- */
- @JsonProperty("remoteOptions")
- public Optional getRemoteOptions() {
- return remoteOptions;
+ public boolean isDiscordChannel() {
+ return value instanceof DiscordChannelValue;
}
- /**
- * @return If true, calls to configureComponent for this prop support receiving a query parameter to filter remote options
- */
- @JsonProperty("useQuery")
- public Optional getUseQuery() {
- return useQuery;
- }
-
- /**
- * @return If true, after setting a value for this prop, a call to reloadComponentProps is required as the component has dynamic configurable props dependent on this one
- */
- @JsonProperty("reloadProps")
- public Optional getReloadProps() {
- return reloadProps;
- }
-
- /**
- * @return If true, you must save the configured prop value as a "label-value" object which should look like: { __lv: { label: string; value: any } } because the execution needs to access the label
- */
- @JsonProperty("withLabel")
- public Optional getWithLabel() {
- return withLabel;
+ public boolean isDiscordChannelArray() {
+ return value instanceof DiscordChannelArrayValue;
}
- @java.lang.Override
- public boolean equals(Object other) {
- if (this == other) return true;
- return other instanceof ConfigurableProp && equalTo((ConfigurableProp) other);
+ public boolean isInteger() {
+ return value instanceof IntegerValue;
}
- @JsonAnyGetter
- public Map getAdditionalProperties() {
- return this.additionalProperties;
+ public boolean isObject() {
+ return value instanceof ObjectValue;
}
- private boolean equalTo(ConfigurableProp other) {
- return name.equals(other.name)
- && type.equals(other.type)
- && label.equals(other.label)
- && description.equals(other.description)
- && optional.equals(other.optional)
- && disabled.equals(other.disabled)
- && hidden.equals(other.hidden)
- && remoteOptions.equals(other.remoteOptions)
- && useQuery.equals(other.useQuery)
- && reloadProps.equals(other.reloadProps)
- && withLabel.equals(other.withLabel);
+ public boolean isString() {
+ return value instanceof StringValue;
}
- @java.lang.Override
- public int hashCode() {
- return Objects.hash(
- this.name,
- this.type,
- this.label,
- this.description,
- this.optional,
- this.disabled,
- this.hidden,
- this.remoteOptions,
- this.useQuery,
- this.reloadProps,
- this.withLabel);
+ public boolean isStringArray() {
+ return value instanceof StringArrayValue;
}
- @java.lang.Override
- public String toString() {
- return ObjectMappers.stringify(this);
+ public boolean _isUnknown() {
+ return value instanceof _UnknownValue;
}
- public static NameStage builder() {
- return new Builder();
+ public Optional getAlert() {
+ if (isAlert()) {
+ return Optional.of(((AlertValue) value).value);
+ }
+ return Optional.empty();
}
- public interface NameStage {
- /**
- * When building configuredProps, make sure to use this field as the key when setting the prop value
- */
- TypeStage name(@NotNull String name);
+ public Optional getAny() {
+ if (isAny()) {
+ return Optional.of(((AnyValue) value).value);
+ }
+ return Optional.empty();
+ }
- Builder from(ConfigurableProp other);
+ public Optional getApp() {
+ if (isApp()) {
+ return Optional.of(((AppValue) value).value);
+ }
+ return Optional.empty();
}
- public interface TypeStage {
- _FinalStage type(@NotNull ConfigurablePropType type);
+ public Optional getBoolean() {
+ if (isBoolean()) {
+ return Optional.of(((BooleanValue) value).value);
+ }
+ return Optional.empty();
}
- public interface _FinalStage {
- ConfigurableProp build();
+ public Optional getDataStore() {
+ if (isDataStore()) {
+ return Optional.of(((DataStoreValue) value).value);
+ }
+ return Optional.empty();
+ }
+
+ public Optional getDir() {
+ if (isDir()) {
+ return Optional.of(((DirValue) value).value);
+ }
+ return Optional.empty();
+ }
+
+ public Optional