All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xyz.block.ftl.v1.schema.schema.proto Maven / Gradle / Ivy

There is a newer version: 0.397.2
Show newest version
// 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