xyz.block.ftl.v1.schema.schema.proto Maven / Gradle / Ivy
// THIS FILE IS GENERATED; DO NOT MODIFY
syntax = "proto3";
package xyz.block.ftl.v1.schema;
import "google/protobuf/timestamp.proto";
option go_package = "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1/schema;schemapb";
option java_multiple_files = true;
enum AliasKind {
ALIAS_KIND_JSON = 0;
}
message Any {
optional Position pos = 1;
}
message Array {
optional Position pos = 1;
Type element = 2;
}
message Bool {
optional Position pos = 1;
}
message Bytes {
optional Position pos = 1;
}
message Config {
optional Position pos = 1;
repeated string comments = 2;
string name = 3;
Type type = 4;
}
message Data {
optional Position pos = 1;
repeated string comments = 2;
bool export = 3;
string name = 4;
repeated TypeParameter type_parameters = 5;
repeated Field fields = 6;
repeated Metadata metadata = 7;
}
message Database {
optional Position pos = 1;
optional DatabaseRuntime runtime = 31634;
repeated string comments = 2;
string type = 4;
string name = 3;
}
message DatabaseRuntime {
string dsn = 1;
}
message Decl {
oneof value {
Config config = 6;
Data data = 1;
Database database = 3;
Enum enum = 4;
Secret secret = 7;
Subscription subscription = 10;
Topic topic = 9;
TypeAlias type_alias = 5;
Verb verb = 2;
}
}
message Enum {
optional Position pos = 1;
repeated string comments = 2;
bool export = 3;
string name = 4;
optional Type type = 5;
repeated EnumVariant variants = 6;
}
message EnumVariant {
optional Position pos = 1;
repeated string comments = 2;
string name = 3;
Value value = 4;
}
message Field {
optional Position pos = 1;
repeated string comments = 3;
string name = 2;
Type type = 4;
repeated Metadata metadata = 5;
}
message Float {
optional Position pos = 1;
}
message IngressPathComponent {
oneof value {
IngressPathLiteral ingress_path_literal = 1;
IngressPathParameter ingress_path_parameter = 2;
}
}
message IngressPathLiteral {
optional Position pos = 1;
string text = 2;
}
message IngressPathParameter {
optional Position pos = 1;
string name = 2;
}
message Int {
optional Position pos = 1;
}
message IntValue {
optional Position pos = 1;
int64 value = 2;
}
message Map {
optional Position pos = 1;
Type key = 2;
Type value = 3;
}
message Metadata {
oneof value {
MetadataAlias alias = 5;
MetadataCalls calls = 1;
MetadataConfig config = 10;
MetadataCronJob cron_job = 3;
MetadataDatabases databases = 4;
MetadataEncoding encoding = 9;
MetadataIngress ingress = 2;
MetadataRetry retry = 6;
MetadataSecrets secrets = 11;
MetadataSubscriber subscriber = 7;
MetadataTypeMap type_map = 8;
}
}
message MetadataAlias {
optional Position pos = 1;
AliasKind kind = 2;
string alias = 3;
}
message MetadataCalls {
optional Position pos = 1;
repeated Ref calls = 2;
}
message MetadataConfig {
optional Position pos = 1;
repeated Ref config = 2;
}
message MetadataCronJob {
optional Position pos = 1;
string cron = 2;
}
message MetadataDatabases {
optional Position pos = 1;
repeated Ref calls = 2;
}
message MetadataEncoding {
optional Position pos = 1;
string type = 2;
bool lenient = 3;
}
message MetadataIngress {
optional Position pos = 1;
string type = 2;
string method = 3;
repeated IngressPathComponent path = 4;
}
message MetadataRetry {
optional Position pos = 1;
optional int64 count = 2;
string min_backoff = 3;
string max_backoff = 4;
optional Ref catch = 5;
}
message MetadataSecrets {
optional Position pos = 1;
repeated Ref secrets = 2;
}
message MetadataSubscriber {
optional Position pos = 1;
string name = 2;
}
message MetadataTypeMap {
optional Position pos = 1;
string runtime = 2;
string native_name = 3;
}
message Module {
optional Position pos = 1;
repeated string comments = 2;
bool builtin = 3;
string name = 4;
repeated Decl decls = 5;
optional ModuleRuntime runtime = 31634;
}
message ModuleRuntime {
google.protobuf.Timestamp create_time = 1;
string language = 2;
int32 min_replicas = 3;
optional string os = 4;
optional string arch = 5;
}
message Optional {
optional Position pos = 1;
optional Type type = 2;
}
message Position {
string filename = 1;
int64 line = 2;
int64 column = 3;
}
message Ref {
optional Position pos = 1;
string module = 3;
string name = 2;
repeated Type type_parameters = 4;
}
message Schema {
optional Position pos = 1;
repeated Module modules = 2;
}
message Secret {
optional Position pos = 1;
repeated string comments = 2;
string name = 3;
Type type = 4;
}
message String {
optional Position pos = 1;
}
message StringValue {
optional Position pos = 1;
string value = 2;
}
message Subscription {
optional Position pos = 1;
repeated string comments = 2;
string name = 3;
Ref topic = 4;
}
message Time {
optional Position pos = 1;
}
message Topic {
optional Position pos = 1;
repeated string comments = 2;
bool export = 3;
string name = 4;
Type event = 5;
}
message Type {
oneof value {
Any any = 9;
Array array = 7;
Bool bool = 5;
Bytes bytes = 4;
Float float = 2;
Int int = 1;
Map map = 8;
Optional optional = 12;
Ref ref = 11;
String string = 3;
Time time = 6;
Unit unit = 10;
}
}
message TypeAlias {
optional Position pos = 1;
repeated string comments = 2;
bool export = 3;
string name = 4;
Type type = 5;
repeated Metadata metadata = 6;
}
message TypeParameter {
optional Position pos = 1;
string name = 2;
}
message TypeValue {
optional Position pos = 1;
Type value = 2;
}
message Unit {
optional Position pos = 1;
}
message Value {
oneof value {
IntValue int_value = 2;
StringValue string_value = 1;
TypeValue type_value = 3;
}
}
message Verb {
optional Position pos = 1;
repeated string comments = 2;
bool export = 3;
string name = 4;
Type request = 5;
Type response = 6;
repeated Metadata metadata = 7;
optional VerbRuntime runtime = 31634;
}
message VerbRuntime {
google.protobuf.Timestamp create_time = 1;
google.protobuf.Timestamp start_time = 2;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy