diff --git a/.gitignore b/.gitignore index 2d38587..145d9f6 100644 --- a/.gitignore +++ b/.gitignore @@ -128,4 +128,5 @@ dmypy.json # Pyre type checker .pyre/ -data.json \ No newline at end of file +data.json +sg.json \ No newline at end of file diff --git a/shell/README.md b/shell/README.md index 2083799..63c0378 100644 --- a/shell/README.md +++ b/shell/README.md @@ -300,4 +300,35 @@ payload.json will look like the following: "wfgrpName": "" } ] +``` + + +Example 8: Run Compliance discovery against integrations +``` +./sg-cli compliance aws --org demo-org --region eu-central-1 --integration-name aws-integ -- payload.json +./sg-cli compliance azure --org demo-org --integration-name aws-integ -- payload.json +``` + +payload.json will look like the following: +> payload.json example +``` +{ + "VCSConfig": {}, + "WfStepsConfig": [ + { + "wfStepTemplateId": "/stackguardian/steampipe:2", + "name": "steampipe", + "approval": false, + "timeout": 5400, + "wfStepInputData": { + "schemaType": "FORM_JSONSCHEMA", + "data": { + "steampipeCheckArgs": "azure_compliance.benchmark.cis_v150", + "awsRegion": "all" + } + } + } + ], + "WfType": "CUSTOM", +} ``` \ No newline at end of file diff --git a/shell/sg-cli b/shell/sg-cli index 9bc26f6..3175a6b 100755 --- a/shell/sg-cli +++ b/shell/sg-cli @@ -202,8 +202,11 @@ Examples: # Create new workflow ./$(basename "$0") workflow create --org demo-org --workflow-group demo-wfgrp --workflow-id demo-wf -- payload.json - # Bulk create new workflows - ./$(basename "$0") workflow create --org demo-org --workflow-group demo-wfgrp -- payload.json + # Bulk create new workflows ( Creates the workflow ) + ./$(basename "$0") workflow create --bulk --org demo-org --workflow-group demo-wfgrp -- payload.json + + # Bulk create new workflows ( Creates and executes the workflow ) + ./$(basename "$0") workflow create --bulk --run --org demo-org --workflow-group demo-wfgrp -- payload.json # Create new workflow and patch for example "Description" ./$(basename "$0") workflow create --org demo-org --workflow-group demo-wfgrp --workflow-id demo-wf --patch-payload '{"Description": "New workflow"}' -- payload.json @@ -237,6 +240,7 @@ Options: --bulk: Bulk import multiple workflows from JSON payload. Upload state files if they exist. + Add --run flag to execute --preview: Preview payload content before applying. Execution will not pause. @@ -258,6 +262,28 @@ EOF } #}}} +compliance_help() { + cat < --org org-name --region eu-central-1 --integration-name aws-account -- payload +Use "./$(basename "$0") options" for a list of global command-line options (appiles to all commands). +EOF +} + artifacts_help() { #{{{ cat <&2 + compliance_help + exit 1 + esac + ;; artifacts) service="$1" case "$2" in @@ -1890,6 +1991,14 @@ while [ $# -gt 0 ]; do wf_id="$2" shift 2 ;; + --region) + region="$2" + shift 2 + ;; + --integration-name) + integration_name="$2" + shift 2 + ;; --bulk) readonly bulk_create=true shift