github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/pkg/control/controldisplay/templates/json/output.tmpl (about) 1 {{ define "output" -}} 2 {{- template "result_group_template" .Data.Root -}} 3 {{ end }} 4 5 {{/* sub template for result groups */}} 6 {{ define "result_group_template" }} 7 {{- $first_group_rendered := false -}} 8 {{- $first_control_rendered := false -}} 9 { 10 "group_id": {{ toPrettyJson .GroupId }}, 11 "title": {{ toPrettyJson .Title }}, 12 "description": {{ toPrettyJson .Description }}, 13 "tags": {{ toPrettyJson .Tags }}, 14 "summary": {{ toPrettyJson .Summary }}, 15 "groups": {{ if .Groups }}[ 16 {{- range .Groups -}} 17 {{ if $first_group_rendered -}},{{- end -}} 18 {{- template "result_group_template" . -}} 19 {{- $first_group_rendered = true -}} 20 {{ end }} 21 ], {{ else }} [], {{ end }} 22 "controls": {{ if .ControlRuns }}[ 23 {{- range .ControlRuns -}} 24 {{ if $first_control_rendered -}},{{- end -}} 25 {{- template "control_run_template" . -}} 26 {{- $first_control_rendered = true -}} 27 {{ end }} 28 ] {{ else }} null {{ end }} 29 } {{ end -}} 30 31 {{/* sub template for control runs */}} 32 {{ define "control_run_template" }} 33 {{- $first_row_rendered := false -}} 34 { 35 "summary": {{ toPrettyJson .Summary }}, 36 "results": {{ if .Rows }}[ 37 {{- range .Rows -}} 38 {{ if $first_row_rendered -}},{{- end -}} 39 {{- template "control_row_template" . -}} 40 {{- $first_row_rendered = true -}} 41 {{ end }} 42 ], {{ else }} null, {{ end }} 43 "control_id": {{ toPrettyJson .ControlId }}, 44 "description": {{ toPrettyJson .Description }}, 45 "severity": {{ toPrettyJson .Severity }}, 46 "tags": {{ toPrettyJson .Tags }}, 47 "title": {{ toPrettyJson .Title }}, 48 "run_status": {{ template "run_status_map" .RunStatus }}, 49 "run_error": {{ toPrettyJson .RunErrorString }} 50 } {{- end -}} 51 52 {{/* sub template for control rows */}} 53 {{ define "control_row_template" }} 54 { 55 "reason": {{ toPrettyJson .Reason }}, 56 "resource": {{ toPrettyJson .Resource }}, 57 "status": {{ toPrettyJson .Status }}, 58 "dimensions": {{ toPrettyJson .Dimensions }} 59 } {{ end }} 60 61 {{/* sub template for control run status mapping */}} 62 {{ define "run_status_map" }} 63 {{- if eq . "ready" -}} 64 1 65 {{- end -}} 66 {{- if eq . "started" -}} 67 2 68 {{- end -}} 69 {{- if eq . "complete" -}} 70 4 71 {{- end -}} 72 {{- if eq . "error" -}} 73 8 74 {{- end -}} 75 {{- end -}}