izumi.fundamentals.platform.cli.model.schema

Members list

Concise view

Type members

Classlikes

final case class GlobalArgsSchema(parserDef: ParserDef, doc: Option[String], notes: Option[String])

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
trait ParserDef

Example:

Example:

object Options extends ParserDef {
 final val logLevelRootParam = arg("log-level-root", "ll", "root log level", "{trace|debug|info|warn|error|critical}")
 final val logFormatParam = arg("log-format", "lf", "log format", "{text|json}")
 final val configParam = arg("config", "c", "path to config file", "<path>")
 final val dumpContext = flag("debug-dump-graph", "dump DI graph for debugging")
 final val use = arg("use", "u", "activate a choice on functionality axis", "<axis>:<choice>")
}

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Empty.type
object ParserDef

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final case class ParserSchema(globalArgsSchema: GlobalArgsSchema, descriptors: Seq[RoleParserSchema])

TODOs:

TODOs:

  • default values
  • varargs
  • required parameters
  • automated decoder: ParserSchema[CaseClass](args: RoleAppArguments): CaseClass
  • decoding MUST fail on
    • unknown parameters
    • unallowed free args
    • unary args used multiple times
    • missing required parameters

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final case class RoleParserSchema(id: String, parser: ParserDef, doc: Option[String], notes: Option[String], freeArgsAllowed: Boolean)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any