Merge pull request #278 from pigmej/cli_effective_iv
Added basic command to show effective input value
This commit is contained in:
commit
a3efaa4a43
@ -63,33 +63,45 @@ def action(dry_run_mapping, dry_run, action, resource):
|
|||||||
str(key)
|
str(key)
|
||||||
))
|
))
|
||||||
|
|
||||||
|
def backtrack_single(i):
|
||||||
|
def format_input(i):
|
||||||
|
return '{}::{}'.format(i.resource.name, i.name)
|
||||||
|
|
||||||
|
if isinstance(i, list):
|
||||||
|
return [backtrack_single(bi) for bi in i]
|
||||||
|
|
||||||
|
if isinstance(i, dict):
|
||||||
|
return {
|
||||||
|
k: backtrack_single(bi) for k, bi in i.items()
|
||||||
|
}
|
||||||
|
|
||||||
|
bi = i.backtrack_value_emitter(level=1)
|
||||||
|
if isinstance(i, orm.DBResourceInput) and isinstance(bi, orm.DBResourceInput) and i == bi:
|
||||||
|
return (format_input(i), )
|
||||||
|
|
||||||
|
return (format_input(i), backtrack_single(bi))
|
||||||
|
|
||||||
@resource.command()
|
@resource.command()
|
||||||
@click.argument('resource')
|
@click.argument('resource')
|
||||||
def backtrack_inputs(resource):
|
def backtrack_inputs(resource):
|
||||||
r = sresource.load(resource)
|
r = sresource.load(resource)
|
||||||
|
|
||||||
inputs = []
|
|
||||||
|
|
||||||
def backtrack(i):
|
|
||||||
def format_input(i):
|
|
||||||
return '{}::{}'.format(i.resource.name, i.name)
|
|
||||||
|
|
||||||
if isinstance(i, list):
|
|
||||||
return [backtrack(bi) for bi in i]
|
|
||||||
|
|
||||||
if isinstance(i, dict):
|
|
||||||
return {
|
|
||||||
k: backtrack(bi) for k, bi in i.items()
|
|
||||||
}
|
|
||||||
|
|
||||||
bi = i.backtrack_value_emitter(level=1)
|
|
||||||
if isinstance(i, orm.DBResourceInput) and isinstance(bi, orm.DBResourceInput) and i == bi:
|
|
||||||
return (format_input(i), )
|
|
||||||
|
|
||||||
return (format_input(i), backtrack(bi))
|
|
||||||
|
|
||||||
for i in r.resource_inputs().values():
|
for i in r.resource_inputs().values():
|
||||||
click.echo(yaml.safe_dump({i.name: backtrack(i)}, default_flow_style=False))
|
click.echo(yaml.safe_dump({i.name: backtrack_single(i)}, default_flow_style=False))
|
||||||
|
|
||||||
|
|
||||||
|
@resource.command()
|
||||||
|
@click.argument('resource')
|
||||||
|
@click.argument('input_name')
|
||||||
|
def effective_input_value(resource, input_name):
|
||||||
|
r = sresource.load(resource)
|
||||||
|
inp = r.resource_inputs()[input_name]
|
||||||
|
click.echo(yaml.safe_dump(backtrack_single(inp), default_flow_style=False))
|
||||||
|
click.echo('-' * 20)
|
||||||
|
val = inp.backtrack_value()
|
||||||
|
click.echo(val)
|
||||||
|
click.echo('-' * 20)
|
||||||
|
|
||||||
|
|
||||||
@resource.command()
|
@resource.command()
|
||||||
def compile_all():
|
def compile_all():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user