Overview

If you are interested in writing your own BrazenCloud Action or modifying an existing one, then you are in the right place!

This page has all the basics with links to more in depth topics.

Action Dev Table of Contents

Action Structure

Each Action is organized under a single folder that supports subfolders:

Folder:             ./action-name				
Manifest:           ./action-name/manifest.txt     <-- Initiates Action
                    ./action-name/runway.app       <-- *Reserved temp file*
Parameters:         ./action-name/parameters.json  <-- Optional parameter definition
Settings:           ./action-name/settings.json    <-- Created at runtime
Info:               ./action-name/repository.json  <-- Optionally 
Additional files:   ./action-name/*
Result files:       ./action-name/results/*        <-- Created by script or exe

As a best practice, BrazenCloud also recommends that you divide your scripts and executables up into subfolders based on the OS that they are supported on.

For example: .\windows for windows specific and .\linux for Linux specific.

For example, we have an inventory:netstat Action, here's what the structure looks like:

./netstat                       <-- Action folder name
./netstat/manifest.txt          <-- Manifest
./netstat/parameters.json       <-- Parameter definitions
./netstat/linux/                <-- Folder for Linux stuff
./netstat/linux/netstat.py      <-- Python script for Linux netstat
./netstat/linux/python          <-- Python executable for Linux
./netstat/linux/run.sh          <-- Shell script to call the Python script on Linux
./netstat/windows/              <-- Folder for Windows stuff
./netstat/windows/netstat.py    <-- Python script for Windows netstat
./netstat/windows/py.exe        <-- Python executable for Windows
./netstat/windows/run.bat       <-- Batch file to call the Python script on Windows

This Action can run on either Windows or Linux and it does not require Python to be installed since the Python executable is included for both operating systems.

To read about each component, take a look at:

Components

CI/CD Pipeline

It is absolutely possible to store your Actions in Git and then use a pipeline to deploy the Actions to BrazenCloud. Take a look here:

Actions in Git

Last updated