From 05d198ce2131b843afadd1e97f172cc435c25d06 Mon Sep 17 00:00:00 2001 From: bbernays Date: Tue, 25 Jan 2022 10:29:50 -0500 Subject: [PATCH 1/4] Update client.go --- pkg/ui/console/client.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/ui/console/client.go b/pkg/ui/console/client.go index 79200a369c52c1..d20e6431e567e1 100644 --- a/pkg/ui/console/client.go +++ b/pkg/ui/console/client.go @@ -538,11 +538,18 @@ func (c Client) describePolicy(ctx context.Context, p *policy.Policy, selector s ui.ColorizedOutput(ui.ColorError, err.Error()) return fmt.Errorf("failed to load policies: %w", err) } + ui.ColorizedOutput(ui.ColorHeader, "Describe Policy %s output:\n\n", p.String()) t := &Table{writer: tablewriter.NewWriter(os.Stdout)} t.SetHeaders("Path", "Description") - pol := p.Filter(strings.ReplaceAll(selector, "//", "/")) - buildDescribePolicyTable(t, policy.Policies{&pol}, selector[:strings.LastIndexAny(selector, "/")]) + selector = strings.ReplaceAll(selector, "//", "/") + pol := p.Filter(selector) + outputSelector := selector + if strings.Count(selector, "/") > 0 { + outputSelector = selector[:strings.LastIndexAny(selector, "/")] + } + + buildDescribePolicyTable(t, policy.Policies{&pol}, outputSelector) t.Render() ui.ColorizedOutput(ui.ColorInfo, "To execute any policy use the path defined in the table above.\nFor example `cloudquery policy run %s`\n", buildPolicyPath(p.Name, getNestedPolicyExample(p.Policies[0], ""))) return nil From 310e8f56e8c4634eab72dbf807743519ee68f520 Mon Sep 17 00:00:00 2001 From: bbernays Date: Tue, 25 Jan 2022 10:42:15 -0500 Subject: [PATCH 2/4] Update client.go --- pkg/ui/console/client.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/ui/console/client.go b/pkg/ui/console/client.go index d20e6431e567e1..24e6b4a26a9469 100644 --- a/pkg/ui/console/client.go +++ b/pkg/ui/console/client.go @@ -538,7 +538,6 @@ func (c Client) describePolicy(ctx context.Context, p *policy.Policy, selector s ui.ColorizedOutput(ui.ColorError, err.Error()) return fmt.Errorf("failed to load policies: %w", err) } - ui.ColorizedOutput(ui.ColorHeader, "Describe Policy %s output:\n\n", p.String()) t := &Table{writer: tablewriter.NewWriter(os.Stdout)} t.SetHeaders("Path", "Description") From 59c5f84a0c9b055efd264b66dec4a9fbe80cd3ab Mon Sep 17 00:00:00 2001 From: bbernays Date: Tue, 25 Jan 2022 10:43:57 -0500 Subject: [PATCH 3/4] Update client.go --- pkg/ui/console/client.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkg/ui/console/client.go b/pkg/ui/console/client.go index 24e6b4a26a9469..32ebe1b06abc38 100644 --- a/pkg/ui/console/client.go +++ b/pkg/ui/console/client.go @@ -543,12 +543,11 @@ func (c Client) describePolicy(ctx context.Context, p *policy.Policy, selector s t.SetHeaders("Path", "Description") selector = strings.ReplaceAll(selector, "//", "/") pol := p.Filter(selector) - outputSelector := selector if strings.Count(selector, "/") > 0 { - outputSelector = selector[:strings.LastIndexAny(selector, "/")] + selector = selector[:strings.LastIndexAny(selector, "/")] } - buildDescribePolicyTable(t, policy.Policies{&pol}, outputSelector) + buildDescribePolicyTable(t, policy.Policies{&pol}, selector) t.Render() ui.ColorizedOutput(ui.ColorInfo, "To execute any policy use the path defined in the table above.\nFor example `cloudquery policy run %s`\n", buildPolicyPath(p.Name, getNestedPolicyExample(p.Policies[0], ""))) return nil From 284bfe94d0195c37d592dc8f8ce9f9b8b6f9bcec Mon Sep 17 00:00:00 2001 From: bbernays Date: Tue, 25 Jan 2022 10:48:37 -0500 Subject: [PATCH 4/4] Update client.go --- pkg/ui/console/client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/ui/console/client.go b/pkg/ui/console/client.go index 32ebe1b06abc38..f57d0dff6c0123 100644 --- a/pkg/ui/console/client.go +++ b/pkg/ui/console/client.go @@ -543,7 +543,7 @@ func (c Client) describePolicy(ctx context.Context, p *policy.Policy, selector s t.SetHeaders("Path", "Description") selector = strings.ReplaceAll(selector, "//", "/") pol := p.Filter(selector) - if strings.Count(selector, "/") > 0 { + if strings.Contains(selector, "/") { selector = selector[:strings.LastIndexAny(selector, "/")] }