Documentation ¶
Index ¶
- Constants
- Variables
- func AliasKindStrings() []string
- func DatabaseConnectorToProto(value DatabaseConnector) *destpb.DatabaseConnector
- func DatabaseRuntimeEventPayloadToProto(value DatabaseRuntimeEventPayload) *destpb.DatabaseRuntimeEventPayload
- func DeclToProto(value Decl) *destpb.Decl
- func EncodeComments(comments []string) string
- func GetProvisioned(root Node) map[string]Provisioned
- func IngressPathComponentToProto(value IngressPathComponent) *destpb.IngressPathComponent
- func MetadataToProto(value Metadata) *destpb.Metadata
- func ModuleRuntimeEventToProto(value ModuleRuntimeEvent) *destpb.ModuleRuntimeEvent
- func ModuleToBytes(m *Module) ([]byte, error)
- func Normalise[T Node](n T) T
- func Redact[T Node](n T) T
- func RequestResponseToJSONSchema(sch *Schema, ref Ref) (*jsonschema.Schema, error)
- func RuntimeEventToProto(value RuntimeEvent) *destpb.RuntimeEvent
- func SortModuleDecls(module *Module)
- func TransformAliasedFields(sch *Schema, t Type, obj any, ...) error
- func TransformFromAliasedFields(ref *Ref, sch *Schema, request map[string]any) (map[string]any, error)
- func TransformToAliasedFields(ref *Ref, sch *Schema, request map[string]any) (map[string]any, error)
- func TypeName(v any) string
- func TypeToProto(value Type) *destpb.Type
- func ValidateJSONValue(fieldType Type, path path, value any, sch *Schema, opts ...EncodingOption) error
- func ValidateModule(module *Module) error
- func ValidateName(name string) bool
- func ValidateRequestMap(ref *Ref, path path, request map[string]any, sch *Schema, ...) error
- func ValueToProto(value Value) *destpb.Value
- func VerbRuntimePayloadToProto(value VerbRuntimePayload) *destpb.VerbRuntimePayload
- func Visit(n Node, visit func(n Node, next func() error) error) error
- func VisitExcludingMetadataChildren(n Node, visit func(n Node, next func() error) error) error
- func VisitWithParent(n Node, parent Node, visit func(n Node, parent Node, next func() error) error) error
- type AWSIAMAuthDatabaseConnector
- type AliasKind
- func (i AliasKind) IsAAliasKind() bool
- func (i AliasKind) MarshalJSON() ([]byte, error)
- func (i AliasKind) MarshalText() ([]byte, error)
- func (i AliasKind) String() string
- func (x AliasKind) ToProto() destpb.AliasKind
- func (i *AliasKind) UnmarshalJSON(data []byte) error
- func (i *AliasKind) UnmarshalText(text []byte) error
- type Any
- type Array
- type Bool
- type Bytes
- type Config
- type DSNDatabaseConnector
- type Data
- type Database
- type DatabaseConnector
- type DatabaseRuntime
- type DatabaseRuntimeConnections
- type DatabaseRuntimeConnectionsEvent
- type DatabaseRuntimeEvent
- type DatabaseRuntimeEventPayload
- type Decl
- type EncodingOption
- type Enum
- type EnumVariant
- type Field
- type Float
- type FromOffset
- type IngressPathComponent
- type IngressPathLiteral
- type IngressPathParameter
- type Int
- type IntValue
- type Map
- type Metadata
- type MetadataAlias
- type MetadataArtefact
- type MetadataCalls
- type MetadataConfig
- type MetadataCronJob
- type MetadataDatabases
- type MetadataEncoding
- type MetadataIngress
- type MetadataPublisher
- type MetadataRetry
- type MetadataSQLMigration
- type MetadataSecrets
- type MetadataSubscriber
- type MetadataTypeMap
- type Module
- func Builtins() *Module
- func ModuleFromBytes(b []byte) (*Module, error)
- func ModuleFromProto(s *schemapb.Module) (*Module, error)
- func ModuleFromProtoFile(filename string) (*Module, error)
- func ParseModule(filename string, r io.Reader) (*Module, error)
- func ParseModuleString(filename, input string) (*Module, error)
- func (m *Module) AddData(data *Data) int
- func (m *Module) AddDecl(decl Decl)
- func (m *Module) AddDecls(decls []Decl)
- func (m *Module) Data() []*Data
- func (m *Module) GetName() string
- func (m *Module) GetProvisioned() ResourceSet
- func (m *Module) Hash() (sha256.SHA256, error)
- func (m *Module) Imports() []string
- func (m *Module) IsExported() bool
- func (m *Module) Position() Position
- func (m *Module) Resolve(ref Ref) *ModuleDecl
- func (m *Module) ResourceID() string
- func (m *Module) Scan(src any) error
- func (m *Module) String() string
- func (x *Module) ToProto() *destpb.Module
- func (m *Module) Value() (driver.Value, error)
- func (m *Module) Verbs() []*Verb
- type ModuleDecl
- type ModuleRuntime
- type ModuleRuntimeBase
- type ModuleRuntimeDeployment
- type ModuleRuntimeEvent
- type ModuleRuntimeScaling
- type Named
- type Node
- type Optional
- type Position
- type Provisioned
- type ProvisionedResource
- type Redactable
- type Ref
- type RefKey
- type Resolver
- type ResourceSet
- type ResourceType
- type RetryParams
- type RuntimeEvent
- type Schema
- func FromProto(s *schemapb.Schema) (*Schema, error)
- func MustValidate(schema *Schema) *Schema
- func Parse(filename string, r io.Reader) (*Schema, error)
- func ParseString(filename, input string) (*Schema, error)
- func ValidateModuleInSchema(schema *Schema, m optional.Option[*Module]) (*Schema, error)
- func ValidateSchema(schema *Schema) (*Schema, error)
- func (s *Schema) Hash() [sha256.Size]byte
- func (s *Schema) Module(name string) optional.Option[*Module]
- func (s *Schema) ModuleDependencies(module string) map[string]*Module
- func (s *Schema) Position() Position
- func (s *Schema) Resolve(ref *Ref) optional.Option[Decl]
- func (s *Schema) ResolveMonomorphised(ref *Ref) (*Data, error)
- func (s *Schema) ResolveRequestResponseType(ref *Ref) (Symbol, error)
- func (s *Schema) ResolveToType(ref *Ref, out Decl) error
- func (s *Schema) ResolveWithModule(ref *Ref) (optional.Option[Decl], optional.Option[*Module])
- func (s *Schema) String() string
- func (x *Schema) ToProto() *destpb.Schema
- func (s *Schema) Upsert(module *Module)
- type Scope
- type Scoped
- type Scopes
- type Secret
- type String
- type StringValue
- type Symbol
- type Time
- type Topic
- type TopicRuntime
- type TopicRuntimeEvent
- type Type
- type TypeAlias
- type TypeParameter
- type TypeValue
- type Unit
- type Value
- type Verb
- func (v *Verb) AddCall(verb *Ref)
- func (v *Verb) AddConfig(config *Ref)
- func (v *Verb) AddDatabase(db *Ref)
- func (v *Verb) AddSecret(secret *Ref)
- func (v *Verb) AddSubscription(sub *MetadataSubscriber)
- func (v *Verb) AddTopicPublish(topic *Ref)
- func (v *Verb) GetMetadataCronJob() optional.Option[*MetadataCronJob]
- func (v *Verb) GetMetadataIngress() optional.Option[*MetadataIngress]
- func (v *Verb) GetName() string
- func (v *Verb) GetProvisioned() ResourceSet
- func (v *Verb) IsExported() bool
- func (v *Verb) Kind() VerbKind
- func (v *Verb) Position() Position
- func (v *Verb) ResourceID() string
- func (v *Verb) SortMetadata()
- func (v *Verb) String() string
- func (x *Verb) ToProto() *destpb.Verb
- type VerbKind
- type VerbRuntime
- type VerbRuntimeBase
- type VerbRuntimeEvent
- type VerbRuntimePayload
- type VerbRuntimeSubscription
Constants ¶
const ( DefaultRetryCount = 10 MinBackoffLimitStr = "1s" MinBackoffLimit = 1 * time.Second DefaultMaxBackoff = 1 * time.Hour MaxBackoffLimitStr = "1d" MaxBackoffLimit = 24 * time.Hour )
const BuiltinsSource = `` /* 830-byte string literal not displayed */
BuiltinsSource is the schema source code for built-in types.
const MySQLDatabaseType = "mysql"
const PostgresDatabaseType = "postgres"
Variables ¶
var ErrNotFound = errors.New("not found")
var (
Lexer = lexer.MustSimple([]lexer.SimpleRule{
{Name: "EOL", Pattern: `[\r\n]`},
{Name: "SHA256", Pattern: `\b[A-za-z0-9]{64}\b`},
{Name: "Whitespace", Pattern: `\s+`},
{Name: "Ident", Pattern: `\b[a-zA-Z_][a-zA-Z0-9_]*\b`},
{Name: "Comment", Pattern: `//.*`},
{Name: "String", Pattern: `"(?:\\.|[^"])*"`},
{Name: "Number", Pattern: `[0-9]+(?:\.[0-9]+)?`},
{Name: "Punct", Pattern: `[%/\-\_:[\]{}<>()*+?.,\\^$|#~!\'@=]`},
})
)
Functions ¶
func AliasKindStrings ¶
func AliasKindStrings() []string
AliasKindStrings returns a slice of all String values of the enum
func DatabaseConnectorToProto ¶
func DatabaseConnectorToProto(value DatabaseConnector) *destpb.DatabaseConnector
DatabaseConnectorToProto converts a DatabaseConnector sum type to a protobuf message.
func DatabaseRuntimeEventPayloadToProto ¶
func DatabaseRuntimeEventPayloadToProto(value DatabaseRuntimeEventPayload) *destpb.DatabaseRuntimeEventPayload
DatabaseRuntimeEventPayloadToProto converts a DatabaseRuntimeEventPayload sum type to a protobuf message.
func DeclToProto ¶
DeclToProto converts a Decl sum type to a protobuf message.
func EncodeComments ¶
func GetProvisioned ¶
func GetProvisioned(root Node) map[string]Provisioned
func IngressPathComponentToProto ¶
func IngressPathComponentToProto(value IngressPathComponent) *destpb.IngressPathComponent
IngressPathComponentToProto converts a IngressPathComponent sum type to a protobuf message.
func MetadataToProto ¶
MetadataToProto converts a Metadata sum type to a protobuf message.
func ModuleRuntimeEventToProto ¶
func ModuleRuntimeEventToProto(value ModuleRuntimeEvent) *destpb.ModuleRuntimeEvent
ModuleRuntimeEventToProto converts a ModuleRuntimeEvent sum type to a protobuf message.
func ModuleToBytes ¶
func Normalise ¶
func Normalise[T Node](n T) T
Normalise clones and normalises (zeroes) positional information in schema Nodes.
func Redact ¶
func Redact[T Node](n T) T
Redact clones n and recursively removes sensitive information from it.
Any node that implements the Redactable interface will have its Redact method called.
func RequestResponseToJSONSchema ¶
RequestResponseToJSONSchema converts the schema for a Verb request or response object to a JSON Schema.
It takes in the full schema in order to resolve and define references.
func RuntimeEventToProto ¶
func RuntimeEventToProto(value RuntimeEvent) *destpb.RuntimeEvent
RuntimeEventToProto converts a RuntimeEvent sum type to a protobuf message.
func SortModuleDecls ¶
func SortModuleDecls(module *Module)
SortModuleDecls sorts the declarations in a module.
func TransformAliasedFields ¶
func TypeName ¶
TypeName returns the name of a type as a string, stripping any package prefix and correctly handling Ref aliases.
func TypeToProto ¶
TypeToProto converts a Type sum type to a protobuf message.
func ValidateJSONValue ¶
func ValidateJSONValue(fieldType Type, path path, value any, sch *Schema, opts ...EncodingOption) error
ValidateJSONValue validates a given JSON value against the provided schema.
func ValidateModule ¶
ValidateModule performs the subset of semantic validation possible on a single module.
It ignores references to other modules.
func ValidateRequestMap ¶
func ValidateRequestMap(ref *Ref, path path, request map[string]any, sch *Schema, opts ...EncodingOption) error
ValidateRequestMap validates a given JSON map against the provided schema.
func ValueToProto ¶
ValueToProto converts a Value sum type to a protobuf message.
func VerbRuntimePayloadToProto ¶
func VerbRuntimePayloadToProto(value VerbRuntimePayload) *destpb.VerbRuntimePayload
VerbRuntimePayloadToProto converts a VerbRuntimePayload sum type to a protobuf message.
func VisitExcludingMetadataChildren ¶
VisitExcludingMetadataChildren visits all nodes in the schema except the children of metadata nodes. This is used when generating external modules to avoid adding imports only referenced in the bodies of stubbed verbs.
Types ¶
type AWSIAMAuthDatabaseConnector ¶
type AWSIAMAuthDatabaseConnector struct { Pos Position `parser:"" protobuf:"1,optional"` Username string `parser:"" protobuf:"2"` Endpoint string `parser:"" protobuf:"3"` Database string `parser:"" protobuf:"4"` }
func (*AWSIAMAuthDatabaseConnector) Position ¶
func (d *AWSIAMAuthDatabaseConnector) Position() Position
func (*AWSIAMAuthDatabaseConnector) String ¶
func (d *AWSIAMAuthDatabaseConnector) String() string
func (*AWSIAMAuthDatabaseConnector) ToProto ¶
func (x *AWSIAMAuthDatabaseConnector) ToProto() *destpb.AWSIAMAuthDatabaseConnector
type AliasKind ¶
type AliasKind int
AliasKind is the kind of alias.
func AliasKindString ¶
AliasKindString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.
func AliasKindValues ¶
func AliasKindValues() []AliasKind
AliasKindValues returns all values of the enum
func (AliasKind) IsAAliasKind ¶
IsAAliasKind returns "true" if the value is listed in the enum definition. "false" otherwise
func (AliasKind) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface for AliasKind
func (AliasKind) MarshalText ¶
MarshalText implements the encoding.TextMarshaler interface for AliasKind
func (*AliasKind) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface for AliasKind
func (*AliasKind) UnmarshalText ¶
UnmarshalText implements the encoding.TextUnmarshaler interface for AliasKind
type Any ¶
type Array ¶
type Bool ¶
type Bytes ¶
type Config ¶
type Config struct { Pos Position `parser:"" protobuf:"1,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Name string `parser:"'config' @Ident" protobuf:"3"` Type Type `parser:"@@" protobuf:"4"` }
func ConfigFromProto ¶
func (*Config) IsExported ¶
type DSNDatabaseConnector ¶
type DSNDatabaseConnector struct { Pos Position `parser:"" protobuf:"1,optional"` DSN string `parser:"" protobuf:"2"` }
func (*DSNDatabaseConnector) Position ¶
func (d *DSNDatabaseConnector) Position() Position
func (*DSNDatabaseConnector) String ¶
func (d *DSNDatabaseConnector) String() string
func (*DSNDatabaseConnector) ToProto ¶
func (x *DSNDatabaseConnector) ToProto() *destpb.DSNDatabaseConnector
type Data ¶
type Data struct { Pos Position `parser:"" protobuf:"1,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Export bool `parser:"@'export'?" protobuf:"3"` Name string `parser:"'data' @Ident" protobuf:"4"` TypeParameters []*TypeParameter `parser:"( '<' @@ (',' @@)* '>' )?" protobuf:"5"` Fields []*Field `parser:"'{' @@* '}'" protobuf:"6"` Metadata []Metadata `parser:"@@*" protobuf:"7"` }
A Data structure.
func DataFromProto ¶
func (*Data) FieldByName ¶
func (*Data) IsExported ¶
func (*Data) Monomorphise ¶
Monomorphise this data type with the given type arguments.
If this data type has no type parameters, it will be returned as-is.
This will return a new Data structure with all type parameters replaced with the given types.
type Database ¶
type Database struct { Pos Position `parser:"" protobuf:"1,optional"` Runtime *DatabaseRuntime `parser:"" protobuf:"31634,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Type string `parser:"'database' @('postgres'|'mysql')" protobuf:"4"` Name string `parser:"@Ident" protobuf:"3"` Metadata []Metadata `parser:"@@*" protobuf:"5"` }
func DatabaseFromProto ¶
func (*Database) GetProvisioned ¶
func (d *Database) GetProvisioned() ResourceSet
func (*Database) IsExported ¶
func (*Database) ResourceID ¶
type DatabaseConnector ¶
type DatabaseConnector interface { Node // contains filtered or unexported methods }
func DatabaseConnectorFromProto ¶
func DatabaseConnectorFromProto(s *schemapb.DatabaseConnector) DatabaseConnector
type DatabaseRuntime ¶
type DatabaseRuntime struct {
Connections *DatabaseRuntimeConnections `parser:"" protobuf:"1,optional"`
}
func DatabaseRuntimeFromProto ¶
func DatabaseRuntimeFromProto(s *schemapb.DatabaseRuntime) *DatabaseRuntime
func (*DatabaseRuntime) ApplyEvent ¶
func (d *DatabaseRuntime) ApplyEvent(e *DatabaseRuntimeEvent)
func (*DatabaseRuntime) Position ¶
func (d *DatabaseRuntime) Position() Position
func (*DatabaseRuntime) String ¶
func (d *DatabaseRuntime) String() string
func (*DatabaseRuntime) ToProto ¶
func (x *DatabaseRuntime) ToProto() *destpb.DatabaseRuntime
type DatabaseRuntimeConnections ¶
type DatabaseRuntimeConnections struct { Read DatabaseConnector `parser:"" protobuf:"1"` Write DatabaseConnector `parser:"" protobuf:"2"` }
func DatabaseRuntimeConnectionsFromProto ¶
func DatabaseRuntimeConnectionsFromProto(s *schemapb.DatabaseRuntimeConnections) *DatabaseRuntimeConnections
func (*DatabaseRuntimeConnections) Position ¶
func (d *DatabaseRuntimeConnections) Position() Position
func (*DatabaseRuntimeConnections) String ¶
func (d *DatabaseRuntimeConnections) String() string
func (*DatabaseRuntimeConnections) ToProto ¶
func (x *DatabaseRuntimeConnections) ToProto() *destpb.DatabaseRuntimeConnections
type DatabaseRuntimeConnectionsEvent ¶
type DatabaseRuntimeConnectionsEvent struct {
Connections *DatabaseRuntimeConnections `parser:"" protobuf:"1"`
}
func DatabaseRuntimeConnectionsEventFromProto ¶
func DatabaseRuntimeConnectionsEventFromProto(s *schemapb.DatabaseRuntimeConnectionsEvent) *DatabaseRuntimeConnectionsEvent
func (*DatabaseRuntimeConnectionsEvent) ToProto ¶
func (x *DatabaseRuntimeConnectionsEvent) ToProto() *destpb.DatabaseRuntimeConnectionsEvent
type DatabaseRuntimeEvent ¶
type DatabaseRuntimeEvent struct { ID string `parser:"" protobuf:"1"` Payload DatabaseRuntimeEventPayload `parser:"" protobuf:"2"` }
func DatabaseRuntimeEventFromProto ¶
func DatabaseRuntimeEventFromProto(s *schemapb.DatabaseRuntimeEvent) *DatabaseRuntimeEvent
func (*DatabaseRuntimeEvent) ApplyTo ¶
func (d *DatabaseRuntimeEvent) ApplyTo(s *Module)
func (*DatabaseRuntimeEvent) ToProto ¶
func (x *DatabaseRuntimeEvent) ToProto() *destpb.DatabaseRuntimeEvent
type DatabaseRuntimeEventPayload ¶
type DatabaseRuntimeEventPayload interface {
// contains filtered or unexported methods
}
func DatabaseRuntimeEventPayloadFromProto ¶
func DatabaseRuntimeEventPayloadFromProto(s *schemapb.DatabaseRuntimeEventPayload) DatabaseRuntimeEventPayload
type Decl ¶
type Decl interface { Symbol GetName() string IsExported() bool // contains filtered or unexported methods }
Decl represents user-defined data types in the schema grammar.
type EncodingOption ¶
type EncodingOption func(option *encodingOptions)
func LenientMode ¶
func LenientMode() EncodingOption
type Enum ¶
type Enum struct { Pos Position `parser:"" protobuf:"1,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Export bool `parser:"@'export'?" protobuf:"3"` Name string `parser:"'enum' @Ident" protobuf:"4"` Type Type `parser:"(':' @@)?" protobuf:"5,optional"` Variants []*EnumVariant `parser:"'{' @@* '}'" protobuf:"6"` }
func EnumFromProto ¶
func (*Enum) IsExported ¶
func (*Enum) IsValueEnum ¶
IsValueEnum determines whether this is a type or value enum using `e.Type` alone because value enums must always have a unified type across all variants, whereas type enums by definition cannot have a unified type.
func (*Enum) VariantForName ¶
func (e *Enum) VariantForName(name string) optional.Option[*EnumVariant]
type EnumVariant ¶
type EnumVariant struct { Pos Position `parser:"" protobuf:"1,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Name string `parser:"@Ident" protobuf:"3"` Value Value `parser:"(('=' @@) | @@)!" protobuf:"4"` }
func (*EnumVariant) Position ¶
func (e *EnumVariant) Position() Position
func (*EnumVariant) String ¶
func (e *EnumVariant) String() string
func (*EnumVariant) ToProto ¶
func (x *EnumVariant) ToProto() *destpb.EnumVariant
type Field ¶
type Field struct { Pos Position `parser:"" protobuf:"1,optional"` Comments []string `parser:"@Comment*" protobuf:"3"` Name string `parser:"@Ident" protobuf:"2"` Type Type `parser:"@@" protobuf:"4"` Metadata []Metadata `parser:"@@*" protobuf:"5"` }
type Float ¶
type FromOffset ¶
type FromOffset int
const ( FromOffsetUnspecified FromOffset = iota FromOffsetBeginning FromOffsetLatest )
func (*FromOffset) Capture ¶
func (o *FromOffset) Capture(values []string) error
func (FromOffset) String ¶
func (o FromOffset) String() string
func (FromOffset) ToProto ¶
func (x FromOffset) ToProto() destpb.FromOffset
type IngressPathComponent ¶
type IngressPathComponent interface { Node // contains filtered or unexported methods }
type IngressPathLiteral ¶
type IngressPathLiteral struct { Pos Position `parser:"" protobuf:"1,optional"` Text string `parser:"@~(Whitespace | '/' | '{' | '}')+" protobuf:"2"` }
func (*IngressPathLiteral) Position ¶
func (l *IngressPathLiteral) Position() Position
func (*IngressPathLiteral) String ¶
func (l *IngressPathLiteral) String() string
func (*IngressPathLiteral) ToProto ¶
func (x *IngressPathLiteral) ToProto() *destpb.IngressPathLiteral
type IngressPathParameter ¶
type IngressPathParameter struct { Pos Position `parser:"" protobuf:"1,optional"` Name string `parser:"'{' @Ident '}'" protobuf:"2"` }
func (*IngressPathParameter) Position ¶
func (l *IngressPathParameter) Position() Position
func (*IngressPathParameter) String ¶
func (l *IngressPathParameter) String() string
func (*IngressPathParameter) ToProto ¶
func (x *IngressPathParameter) ToProto() *destpb.IngressPathParameter
type Int ¶
type IntValue ¶
type Map ¶
type Metadata ¶
type Metadata interface { Node // contains filtered or unexported methods }
Metadata represents a metadata Node in the schema grammar.
type MetadataAlias ¶
type MetadataAlias struct { Pos Position `parser:"" protobuf:"1,optional"` Kind AliasKind `parser:"'+' 'alias' @Ident" protobuf:"2"` Alias string `parser:"@String" protobuf:"3"` }
func (*MetadataAlias) Position ¶
func (m *MetadataAlias) Position() Position
func (*MetadataAlias) String ¶
func (m *MetadataAlias) String() string
func (*MetadataAlias) ToProto ¶
func (x *MetadataAlias) ToProto() *destpb.MetadataAlias
type MetadataArtefact ¶
type MetadataArtefact struct { Pos Position `parser:"" protobuf:"1,optional"` Path string `parser:"'+' 'artefact' Whitespace @String" protobuf:"2"` Digest string `parser:"@String" protobuf:"3"` Executable bool `parser:"@'executable'?" protobuf:"4"` }
func (*MetadataArtefact) Position ¶
func (m *MetadataArtefact) Position() Position
func (*MetadataArtefact) String ¶
func (m *MetadataArtefact) String() string
func (*MetadataArtefact) ToProto ¶
func (x *MetadataArtefact) ToProto() *destpb.MetadataArtefact
type MetadataCalls ¶
type MetadataCalls struct { Pos Position `parser:"" protobuf:"1,optional"` Calls []*Ref `parser:"'+' 'calls' @@ (',' @@)*" protobuf:"2"` }
MetadataCalls represents a metadata block with a list of calls.
func (*MetadataCalls) Position ¶
func (m *MetadataCalls) Position() Position
func (*MetadataCalls) String ¶
func (m *MetadataCalls) String() string
func (*MetadataCalls) ToProto ¶
func (x *MetadataCalls) ToProto() *destpb.MetadataCalls
type MetadataConfig ¶
type MetadataConfig struct { Pos Position `parser:"" protobuf:"1,optional"` Config []*Ref `parser:"'+' 'config' @@ (',' @@)*" protobuf:"2"` }
MetadataConfig represents a metadata block with a list of config items that are used.
func (*MetadataConfig) Position ¶
func (m *MetadataConfig) Position() Position
func (*MetadataConfig) String ¶
func (m *MetadataConfig) String() string
func (*MetadataConfig) ToProto ¶
func (x *MetadataConfig) ToProto() *destpb.MetadataConfig
type MetadataCronJob ¶
type MetadataCronJob struct { Pos Position `parser:"" protobuf:"1,optional"` Cron string `parser:"'+' 'cron' Whitespace @(' ' | ~EOL)+" protobuf:"2"` }
func (*MetadataCronJob) Position ¶
func (m *MetadataCronJob) Position() Position
func (*MetadataCronJob) String ¶
func (m *MetadataCronJob) String() string
func (*MetadataCronJob) ToProto ¶
func (x *MetadataCronJob) ToProto() *destpb.MetadataCronJob
type MetadataDatabases ¶
type MetadataDatabases struct { Pos Position `parser:"" protobuf:"1,optional"` Calls []*Ref `parser:"'+' 'database' 'calls' @@ (',' @@)*" protobuf:"2"` }
func (*MetadataDatabases) Position ¶
func (m *MetadataDatabases) Position() Position
func (*MetadataDatabases) String ¶
func (m *MetadataDatabases) String() string
func (*MetadataDatabases) ToProto ¶
func (x *MetadataDatabases) ToProto() *destpb.MetadataDatabases
type MetadataEncoding ¶
type MetadataEncoding struct { Pos Position `parser:"" protobuf:"1,optional"` Type string `parser:"'+' 'encoding' @'json'" protobuf:"2"` Lenient bool `parser:"@'lenient'?" protobuf:"3"` }
func (*MetadataEncoding) Position ¶
func (m *MetadataEncoding) Position() Position
func (*MetadataEncoding) String ¶
func (m *MetadataEncoding) String() string
func (*MetadataEncoding) ToProto ¶
func (x *MetadataEncoding) ToProto() *destpb.MetadataEncoding
type MetadataIngress ¶
type MetadataIngress struct { Pos Position `parser:"" protobuf:"1,optional"` Type string `parser:"'+' 'ingress' @('http')?" protobuf:"2"` Method string `parser:"@('GET' | 'POST' | 'PUT' | 'DELETE')" protobuf:"3"` Path []IngressPathComponent `parser:"('/' @@)+" protobuf:"4"` }
func (*MetadataIngress) PathString ¶
func (m *MetadataIngress) PathString() string
PathString returns the path as a string, with parameters enclosed in curly braces.
For example, /foo/{bar}
func (*MetadataIngress) Position ¶
func (m *MetadataIngress) Position() Position
func (*MetadataIngress) String ¶
func (m *MetadataIngress) String() string
func (*MetadataIngress) ToProto ¶
func (x *MetadataIngress) ToProto() *destpb.MetadataIngress
type MetadataPublisher ¶
type MetadataPublisher struct { Pos Position `parser:"" protobuf:"1,optional"` Topics []*Ref `parser:"'+' 'publish' @@ (',' @@)*" protobuf:"2"` }
func (*MetadataPublisher) Position ¶
func (m *MetadataPublisher) Position() Position
func (*MetadataPublisher) String ¶
func (m *MetadataPublisher) String() string
func (*MetadataPublisher) ToProto ¶
func (x *MetadataPublisher) ToProto() *destpb.MetadataPublisher
type MetadataRetry ¶
type MetadataRetry struct { Pos Position `parser:"" protobuf:"1,optional"` Count *int `parser:"'+' 'retry' (@Number Whitespace)?" protobuf:"2,optional"` MinBackoff string `parser:"@(Number (?! Whitespace) Ident)?" protobuf:"3"` MaxBackoff string `parser:"@(Number (?! Whitespace) Ident)?" protobuf:"4"` Catch *Ref `parser:"('catch' @@)?" protobuf:"5,optional"` }
func (*MetadataRetry) Position ¶
func (m *MetadataRetry) Position() Position
func (*MetadataRetry) RetryParams ¶
func (m *MetadataRetry) RetryParams() (RetryParams, error)
func (*MetadataRetry) String ¶
func (m *MetadataRetry) String() string
func (*MetadataRetry) ToProto ¶
func (x *MetadataRetry) ToProto() *destpb.MetadataRetry
type MetadataSQLMigration ¶
type MetadataSQLMigration struct { Pos Position `parser:"" protobuf:"1,optional"` Digest string `parser:"'+' 'migration' Whitespace 'sha256' ':' @SHA256" protobuf:"2"` }
func (*MetadataSQLMigration) Position ¶
func (m *MetadataSQLMigration) Position() Position
func (*MetadataSQLMigration) String ¶
func (m *MetadataSQLMigration) String() string
func (*MetadataSQLMigration) ToProto ¶
func (x *MetadataSQLMigration) ToProto() *destpb.MetadataSQLMigration
type MetadataSecrets ¶
type MetadataSecrets struct { Pos Position `parser:"" protobuf:"1,optional"` Secrets []*Ref `parser:"'+' 'secrets' @@ (',' @@)*" protobuf:"2"` }
MetadataSecrets represents a metadata block with a list of config items that are used.
func (*MetadataSecrets) Position ¶
func (m *MetadataSecrets) Position() Position
func (*MetadataSecrets) String ¶
func (m *MetadataSecrets) String() string
func (*MetadataSecrets) ToProto ¶
func (x *MetadataSecrets) ToProto() *destpb.MetadataSecrets
type MetadataSubscriber ¶
type MetadataSubscriber struct { Pos Position `parser:"" protobuf:"1,optional"` Topic *Ref `parser:"'+' 'subscribe' @@" protobuf:"2"` FromOffset FromOffset `parser:"'from' '=' @('beginning'|'latest')" protobuf:"3"` DeadLetter bool `parser:"@'deadletter'?" protobuf:"4"` }
func (*MetadataSubscriber) Position ¶
func (m *MetadataSubscriber) Position() Position
func (*MetadataSubscriber) String ¶
func (m *MetadataSubscriber) String() string
func (*MetadataSubscriber) ToProto ¶
func (x *MetadataSubscriber) ToProto() *destpb.MetadataSubscriber
type MetadataTypeMap ¶
type MetadataTypeMap struct { Pos Position `parser:"" protobuf:"1,optional"` Runtime string `parser:"'+' 'typemap' @('go' | 'kotlin' | 'java')" protobuf:"2"` NativeName string `parser:"@String" protobuf:"3"` }
func (*MetadataTypeMap) Position ¶
func (m *MetadataTypeMap) Position() Position
func (*MetadataTypeMap) String ¶
func (m *MetadataTypeMap) String() string
func (*MetadataTypeMap) ToProto ¶
func (x *MetadataTypeMap) ToProto() *destpb.MetadataTypeMap
type Module ¶
type Module struct { Pos Position `parser:"" protobuf:"1,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Builtin bool `parser:"@'builtin'?" protobuf:"3"` Name string `parser:"'module' @Ident '{'" protobuf:"4"` Metadata []Metadata `parser:"@@*" protobuf:"6"` Decls []Decl `parser:"@@* '}'" protobuf:"5"` Runtime *ModuleRuntime `protobuf:"31634" parser:""` }
func ModuleFromBytes ¶
func ModuleFromProto ¶
ModuleFromProto converts a protobuf Module to a Module and validates it.
func ModuleFromProtoFile ¶
ModuleFromProtoFile loads a module from the given proto-encoded file.
func ParseModuleString ¶
func (*Module) AddData ¶
AddData and return its index.
If data is already in the module, the existing index is returned. If the new data is exported but the existing data is not, it sets it to being exported.
func (*Module) AddDecl ¶
AddDecl adds a single decl to the module.
It is only added if not already present or if it changes the visibility of the existing Decl.
func (*Module) AddDecls ¶
AddDecls appends decls to the module.
Decls are only added if they are not already present in the module or if they change the visibility of an existing Decl.
func (*Module) GetProvisioned ¶
func (m *Module) GetProvisioned() ResourceSet
func (*Module) IsExported ¶
func (*Module) Resolve ¶
func (m *Module) Resolve(ref Ref) *ModuleDecl
Resolve returns the declaration in this module with the given name, or nil
func (*Module) ResourceID ¶
type ModuleDecl ¶
ModuleDecl is a declaration associated with a module.
func ResolveAs ¶
func ResolveAs[S Symbol](scopes Scopes, ref Ref) (symbol S, decl *ModuleDecl)
ResolveAs resolves a Ref to a concrete symbol and declaration.
[decl] will be non-nil if the symbol is found, regardless of its type. [symbol] will be non-nil if the symbol is of type [S].
func ResolveTypeAs ¶
func ResolveTypeAs[S Symbol](scopes Scopes, t Type) (symbol S, decl *ModuleDecl)
ResolveTypeAs resolves a Type to a concrete symbol and declaration.
type ModuleRuntime ¶
type ModuleRuntime struct { Base ModuleRuntimeBase `protobuf:"1"` // Base is always present. Scaling *ModuleRuntimeScaling `protobuf:"2,optional"` Deployment *ModuleRuntimeDeployment `protobuf:"3,optional"` }
ModuleRuntime is runtime configuration for a module that can be dynamically updated.
func ModuleRuntimeFromProto ¶
func ModuleRuntimeFromProto(s *schemapb.ModuleRuntime) *ModuleRuntime
func (*ModuleRuntime) ApplyEvent ¶
func (m *ModuleRuntime) ApplyEvent(event ModuleRuntimeEvent)
ApplyEvent applies a ModuleRuntimeEvent to the ModuleRuntime.
func (*ModuleRuntime) ToProto ¶
func (x *ModuleRuntime) ToProto() *destpb.ModuleRuntime
type ModuleRuntimeBase ¶
type ModuleRuntimeBase struct { CreateTime time.Time `protobuf:"1"` Language string `protobuf:"2"` OS string `protobuf:"3,optional"` Arch string `protobuf:"4,optional"` // Image is the name of the runner image. Defaults to "ftl0/ftl-runner". // Must not include a tag, as FTL's version will be used as the tag. Image string `protobuf:"5,optional"` }
func ModuleRuntimeBaseFromProto ¶
func ModuleRuntimeBaseFromProto(s *schemapb.ModuleRuntimeBase) *ModuleRuntimeBase
func (*ModuleRuntimeBase) ToProto ¶
func (x *ModuleRuntimeBase) ToProto() *destpb.ModuleRuntimeBase
type ModuleRuntimeDeployment ¶
type ModuleRuntimeDeployment struct { // Endpoint is the endpoint of the deployed module. Endpoint string `protobuf:"1"` DeploymentKey string `protobuf:"2"` }
func ModuleRuntimeDeploymentFromProto ¶
func ModuleRuntimeDeploymentFromProto(s *schemapb.ModuleRuntimeDeployment) *ModuleRuntimeDeployment
func (*ModuleRuntimeDeployment) ToProto ¶
func (x *ModuleRuntimeDeployment) ToProto() *destpb.ModuleRuntimeDeployment
type ModuleRuntimeEvent ¶
type ModuleRuntimeEvent interface { RuntimeEvent // contains filtered or unexported methods }
func ModuleRuntimeEventFromProto ¶
func ModuleRuntimeEventFromProto(s *schemapb.ModuleRuntimeEvent) ModuleRuntimeEvent
type ModuleRuntimeScaling ¶
type ModuleRuntimeScaling struct {
MinReplicas int32 `protobuf:"1"`
}
func ModuleRuntimeScalingFromProto ¶
func ModuleRuntimeScalingFromProto(s *schemapb.ModuleRuntimeScaling) *ModuleRuntimeScaling
func (*ModuleRuntimeScaling) ToProto ¶
func (x *ModuleRuntimeScaling) ToProto() *destpb.ModuleRuntimeScaling
type Node ¶
type Node interface { String() string Position() Position // contains filtered or unexported methods }
A Node in the schema grammar.
type Optional ¶
type Optional struct { Pos Position `parser:"" protobuf:"1,optional"` Type Type `parser:"@@" protobuf:"2,optional"` }
Optional represents a Type whose value may be optional.
type Position ¶
type Position struct { Filename string `protobuf:"1"` Offset int `parser:"" protobuf:"-"` Line int `protobuf:"2"` Column int `protobuf:"3"` }
func PosFromProto ¶
func (Position) ToErrorPos ¶
func (p Position) ToErrorPos() builderrors.Position
func (Position) ToErrorPosWithEnd ¶
func (p Position) ToErrorPosWithEnd(endColumn int) builderrors.Position
type Provisioned ¶
type Provisioned interface { Node // Returns the resources provisioned from this schema element. GetProvisioned() ResourceSet ResourceID() string // contains filtered or unexported methods }
Provisioned is a schema element that provisioner acts on to create a runtime resource.
type ProvisionedResource ¶
type ProvisionedResource struct { // Kind is the kind of resource provisioned. Kind ResourceType // Config is the subset of the schema element's configuration that is used to create the resource. // changes to this config are used to check if the resource needs to be updated. Config any }
ProvisionedResource is metadata of a resource that can be provisioned from a schema element.
One schema element can result into multiple different resources. For example, a database node can be provisioned into a physical database, and a schema migration
func (*ProvisionedResource) IsEqual ¶
func (r *ProvisionedResource) IsEqual(other *ProvisionedResource) bool
type Redactable ¶
type Redactable interface {
Redact()
}
type Ref ¶
type Ref struct { Pos Position `parser:"" protobuf:"1,optional"` Module string `parser:"(@Ident '.')?" protobuf:"3"` Name string `parser:"@Ident" protobuf:"2"` // Only used for data references. TypeParameters []Type `parser:"[ '<' @@ (',' @@)* '>' ]" protobuf:"4"` }
Ref is an untyped reference to a symbol.
func RefFromProto ¶
type Resolver ¶
type Resolver interface { // Resolve a reference to a symbol declaration or nil. Resolve(ref Ref) *ModuleDecl }
Resolver may be implemented be a node in the AST to resolve references within itself.
type ResourceSet ¶
type ResourceSet []*ProvisionedResource
func GetProvisionedResources ¶
func GetProvisionedResources(n Node) ResourceSet
func (ResourceSet) FilterByType ¶
func (s ResourceSet) FilterByType(kinds ...ResourceType) ResourceSet
func (ResourceSet) Get ¶
func (s ResourceSet) Get(kind ResourceType) *ProvisionedResource
func (ResourceSet) IsEqual ¶
func (s ResourceSet) IsEqual(other ResourceSet) bool
type ResourceType ¶
type ResourceType string
ResourceType is a type of resource used to configure provisioners
const ( ResourceTypeUnknown ResourceType = "unknown" ResourceTypePostgres ResourceType = "postgres" ResourceTypeMysql ResourceType = "mysql" ResourceTypeModule ResourceType = "module" ResourceTypeSQLMigration ResourceType = "sql-migration" ResourceTypeTopic ResourceType = "topic" ResourceTypeSubscription ResourceType = "subscription" ResourceTypeRunner ResourceType = "runner" )
type RetryParams ¶
type RuntimeEvent ¶
type RuntimeEvent interface {
// contains filtered or unexported methods
}
RuntimeEvent is an event modifying a runtime part of the schema.
type Schema ¶
type Schema struct { Pos Position `parser:"" protobuf:"1,optional"` Modules []*Module `parser:"@@*" protobuf:"2"` }
func ParseString ¶
func ValidateModuleInSchema ¶
ValidateModuleInSchema clones and normalises a schema and semantically validates a single module within it. If no module is provided, all modules in the schema are validated.
func ValidateSchema ¶
ValidateSchema clones, normalises and semantically validates a schema.
func (*Schema) ModuleDependencies ¶ added in v0.413.1
ModuleDependencies returns the modules that the given module depends on Dependency modules are the ones that are called by the given module, or that publish topics that the given module subscribes to
func (*Schema) ResolveMonomorphised ¶
ResolveMonomorphised resolves a reference to a monomorphised Data type. Also supports resolving the monomorphised Data type underlying a TypeAlias, where applicable.
If a Ref is not found, returns ErrNotFound.
func (*Schema) ResolveRequestResponseType ¶
ResolveRequestResponseType resolves a reference to a supported request/response type, which can be a Data or an Any, or a TypeAlias over either supported type.
func (*Schema) ResolveToType ¶
ResolveToType resolves a reference to a declaration of the given type.
The out parameter must be a pointer to a non-nil Decl implementation or this will panic.
data := &Data{} err := s.ResolveToType(ref, data)
func (*Schema) ResolveWithModule ¶
ResolveWithModule a reference to a declaration and its module.
type Scoped ¶
type Scoped interface {
Scope() Scope
}
Scoped is implemented by nodes that wish to introduce a new scope.
type Scopes ¶
type Scopes []Scope
Scopes to search during type resolution.
func NewScopes ¶
func NewScopes() Scopes
NewScopes constructs a new type resolution stack with builtins pre-populated.
func (Scopes) Push ¶
Push a new Scope onto the stack.
This contains references to previous Scopes so that updates are preserved.
func (Scopes) Resolve ¶
func (s Scopes) Resolve(ref Ref) *ModuleDecl
Resolve a reference to a symbol declaration or nil.
func (Scopes) ResolveType ¶
func (s Scopes) ResolveType(t Type) *ModuleDecl
type Secret ¶
type Secret struct { Pos Position `parser:"" protobuf:"1,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Name string `parser:"'secret' @Ident" protobuf:"3"` Type Type `parser:"@@" protobuf:"4"` }
func SecretFromProto ¶
func (*Secret) IsExported ¶
type String ¶
type StringValue ¶
type StringValue struct { Pos Position `parser:"" protobuf:"1,optional"` Value string `parser:"@String" protobuf:"2"` }
func (*StringValue) GetValue ¶
func (s *StringValue) GetValue() any
func (*StringValue) Position ¶
func (s *StringValue) Position() Position
func (*StringValue) String ¶
func (s *StringValue) String() string
func (*StringValue) ToProto ¶
func (x *StringValue) ToProto() *destpb.StringValue
type Symbol ¶
type Symbol interface { Node // contains filtered or unexported methods }
Symbol represents a symbol in the schema grammar.
A Symbol is a named type that can be referenced by other types. This includes user defined data types such as data structures and enums, and builtin types.
type Time ¶
type Topic ¶
type Topic struct { Pos Position `parser:"" protobuf:"1,optional"` Runtime *TopicRuntime `parser:"" protobuf:"31634,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Export bool `parser:"@'export'?" protobuf:"3"` Name string `parser:"'topic' @Ident" protobuf:"4"` Event Type `parser:"@@" protobuf:"5"` }
func TopicFromProto ¶
func (*Topic) GetProvisioned ¶
func (t *Topic) GetProvisioned() ResourceSet
func (*Topic) IsExported ¶
func (*Topic) ResourceID ¶
type TopicRuntime ¶
type TopicRuntime struct { KafkaBrokers []string `parser:"" protobuf:"1"` TopicID string `parser:"" protobuf:"2"` }
func TopicRuntimeFromProto ¶
func TopicRuntimeFromProto(t *schemapb.TopicRuntime) *TopicRuntime
func (*TopicRuntime) ToProto ¶
func (x *TopicRuntime) ToProto() *destpb.TopicRuntime
type TopicRuntimeEvent ¶
type TopicRuntimeEvent struct { ID string `parser:"" protobuf:"1"` Payload *TopicRuntime `parser:"" protobuf:"2"` }
func TopicRuntimeEventFromProto ¶
func TopicRuntimeEventFromProto(t *schemapb.TopicRuntimeEvent) *TopicRuntimeEvent
func (*TopicRuntimeEvent) ApplyTo ¶
func (t *TopicRuntimeEvent) ApplyTo(m *Module)
func (*TopicRuntimeEvent) ToProto ¶
func (x *TopicRuntimeEvent) ToProto() *destpb.TopicRuntimeEvent
type Type ¶
type Type interface { Node // Equal returns true if this type is equal to another type. Equal(other Type) bool // contains filtered or unexported methods }
Type represents a Type Node in the schema grammar.
func TypeFromProto ¶
type TypeAlias ¶
type TypeAlias struct { Pos Position `parser:"" protobuf:"1,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Export bool `parser:"@'export'?" protobuf:"3"` Name string `parser:"'typealias' @Ident" protobuf:"4"` Type Type `parser:"@@" protobuf:"5"` Metadata []Metadata `parser:"@@*" protobuf:"6"` }
func TypeAliasFromProto ¶
func (*TypeAlias) IsExported ¶
type TypeParameter ¶
type TypeParameter struct { Pos Position `parser:"" protobuf:"1,optional"` Name string `parser:"@Ident" protobuf:"2"` }
func (*TypeParameter) GetName ¶
func (t *TypeParameter) GetName() string
func (*TypeParameter) Position ¶
func (t *TypeParameter) Position() Position
func (*TypeParameter) String ¶
func (t *TypeParameter) String() string
func (*TypeParameter) ToProto ¶
func (x *TypeParameter) ToProto() *destpb.TypeParameter
type TypeValue ¶
type Unit ¶
type Verb ¶
type Verb struct { Pos Position `parser:"" protobuf:"1,optional"` Comments []string `parser:"@Comment*" protobuf:"2"` Export bool `parser:"@'export'?" protobuf:"3"` Name string `parser:"'verb' @Ident" protobuf:"4"` Request Type `parser:"'(' @@ ')'" protobuf:"5"` Response Type `parser:"@@" protobuf:"6"` Metadata []Metadata `parser:"@@*" protobuf:"7"` Runtime *VerbRuntime `protobuf:"31634,optional" parser:""` }
func VerbFromProto ¶
func (*Verb) AddDatabase ¶
AddDatabase adds a DB reference to the Verb.
func (*Verb) AddSubscription ¶
func (v *Verb) AddSubscription(sub *MetadataSubscriber)
func (*Verb) AddTopicPublish ¶
AddTopicPublish adds a topic that this Verb publishes to.
func (*Verb) GetMetadataCronJob ¶
func (v *Verb) GetMetadataCronJob() optional.Option[*MetadataCronJob]
func (*Verb) GetMetadataIngress ¶
func (v *Verb) GetMetadataIngress() optional.Option[*MetadataIngress]
func (*Verb) GetProvisioned ¶
func (v *Verb) GetProvisioned() ResourceSet
func (*Verb) IsExported ¶
func (*Verb) ResourceID ¶
func (*Verb) SortMetadata ¶
func (v *Verb) SortMetadata()
type VerbKind ¶
type VerbKind string
VerbKind is the kind of Verb: verb, sink, source or empty.
const ( // VerbKindVerb is a normal verb taking an input and an output of any non-unit type. VerbKindVerb VerbKind = "verb" // VerbKindSink is a verb that takes an input and returns unit. VerbKindSink VerbKind = "sink" // VerbKindSource is a verb that returns an output and takes unit. VerbKindSource VerbKind = "source" // VerbKindEmpty is a verb that takes unit and returns unit. VerbKindEmpty VerbKind = "empty" )
type VerbRuntime ¶
type VerbRuntime struct { Base VerbRuntimeBase `protobuf:"1"` Subscription *VerbRuntimeSubscription `protobuf:"2,optional"` }
func (*VerbRuntime) ToProto ¶
func (x *VerbRuntime) ToProto() *destpb.VerbRuntime
type VerbRuntimeBase ¶
type VerbRuntimeBase struct { CreateTime time.Time `protobuf:"1,optional"` StartTime time.Time `protobuf:"2,optional"` }
func VerbRuntimeBaseFromProto ¶
func VerbRuntimeBaseFromProto(s *schemapb.VerbRuntimeBase) *VerbRuntimeBase
func (*VerbRuntimeBase) ToProto ¶
func (x *VerbRuntimeBase) ToProto() *destpb.VerbRuntimeBase
type VerbRuntimeEvent ¶
type VerbRuntimeEvent struct { ID string `protobuf:"1"` Payload VerbRuntimePayload `protobuf:"2"` }
func VerbRuntimeEventFromProto ¶
func VerbRuntimeEventFromProto(p *schemapb.VerbRuntimeEvent) *VerbRuntimeEvent
func (*VerbRuntimeEvent) ApplyTo ¶
func (v *VerbRuntimeEvent) ApplyTo(m *Module)
func (*VerbRuntimeEvent) ToProto ¶
func (x *VerbRuntimeEvent) ToProto() *destpb.VerbRuntimeEvent
type VerbRuntimePayload ¶
type VerbRuntimePayload interface {
// contains filtered or unexported methods
}
func VerbRuntimePayloadFromProto ¶
func VerbRuntimePayloadFromProto(p *schemapb.VerbRuntimePayload) VerbRuntimePayload
type VerbRuntimeSubscription ¶
type VerbRuntimeSubscription struct {
KafkaBrokers []string `protobuf:"1"`
}
func VerbRuntimeSubscriptionFromProto ¶
func VerbRuntimeSubscriptionFromProto(s *schemapb.VerbRuntimeSubscription) *VerbRuntimeSubscription
func (*VerbRuntimeSubscription) ToProto ¶
func (x *VerbRuntimeSubscription) ToProto() *destpb.VerbRuntimeSubscription
Source Files ¶
- aliaskind_enumer.go
- any.go
- array.go
- bool.go
- builtin.go
- bytes.go
- config.go
- data.go
- database.go
- databaseruntime.go
- encoding.go
- enum.go
- field.go
- float.go
- go2proto.to.go
- int.go
- intvalue.go
- jsonschema.go
- jsonvalidate.go
- map.go
- metadataalias.go
- metadataartefact.go
- metadatacalls.go
- metadataconfig.go
- metadatacronjob.go
- metadatadatabases.go
- metadataencoding.go
- metadataingress.go
- metadatapublisher.go
- metadataretry.go
- metadatasecrets.go
- metadatasqlmigration.go
- metadatasubscriber.go
- metadatatypemap.go
- module.go
- moduleruntime.go
- normalise.go
- optional.go
- parser.go
- protobuf_dec.go
- provisioned.go
- redact.go
- ref.go
- runtime.go
- schema.go
- secret.go
- string.go
- stringvalue.go
- time.go
- topic.go
- typealias.go
- typeparameter.go
- typeresolver.go
- typevalue.go
- unit.go
- validate.go
- verb.go
- verbruntime.go
- visit.go