我发现.children()
可以在.cmd()
s 之外使用它来实现我的要求。这是一个例子:
如果指定了父级,在这种情况下,如果--snowflake被“通过”,因此计算结果为True
,那么如果是,则子级.required()
将抛出错误null
(但仅在指定父级时,例如在我的情况下)。
opt[Unit]("snowflake")
.action((_, config) => config.copy(writeToSnowflake = true))
.text("optional flag for writing to Snowflake")
.children(
opt[Unit]("snowflake_incremental_writing")
.action((_, config) => config.copy(snowflakeIncrementalWriting = true))
.text("optional flag for enabling incremental writing"),
opt[Map[String, String]]("snowflake_options")
.required()
.action((snowflakeOptions, config) => config.copy(snowflakeOptions = snowflakeOptions))
.text("options for writing to snowflake: user, privateKey, warehouse, database, schema, and table")
)