Metadata-Version: 2.1
Name: code42cli
Version: 0.2.0
Summary: The official command line tool for interacting with Code42
Home-page: UNKNOWN
License: MIT
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4
Description-Content-Type: text/markdown
Requires-Dist: c42eventextractor (==0.1.3)
Requires-Dist: keyring (==18.0.1)
Requires-Dist: py42 (==0.4.4)
Provides-Extra: dev
Requires-Dist: pre-commit ; extra == 'dev'
Requires-Dist: pytest (==4.6.5) ; extra == 'dev'
Requires-Dist: pytest-cov (==2.8.1) ; extra == 'dev'
Requires-Dist: pytest-mock (==2.0.0) ; extra == 'dev'
Requires-Dist: tox (==3.14.3) ; extra == 'dev'

# The Code42 CLI

Use the `code42` command to interact with your Code42 environment.
`code42 securitydata` is a CLI tool for extracting AED events. 
Additionally, `code42 securitydata` can record a checkpoint so that you only get events you have not previously gotten.

## Requirements

- Python 2.7.x or 3.5.0+
- Code42 Server 6.8.x+

## Installation
Install the `code42` CLI using:

```bash
$ python setup.py install
```

## Usage

First, set your profile:
```bash
code42 profile set -s https://example.authority.com -u security.admin@example.com
```
Your profile contains the necessary properties for logging into Code42 servers.
You will prompted for a password if there is not one saved for your current username/authority URL combination.

To explicitly set your password, use `-p`:
```bash
code42 profile set -p
```
You will be securely prompted to input your password.
Your password is not stored in plain-text, and is not shown when you do `code42 profile show`.
However, `code42 profile show` will confirm that there is a password set for your profile.

To ignore SSL errors, do:
```bash
code42 profile set --disable-ssl-errors
```

To re-enable SSL errors, do:
```bash
code42 profile set --enable-ssl-errors
```

Next, you can query for events and send them to three possible destination types
* stdout
* A file
* A server, such as SysLog

To print events to stdout, do:
```bash
code42 securitydata print
```

To write events to a file, do:
```bash
code42 securitydata write-to filename.txt
```

To send events to a server, do:
```bash
code42 securitydata send-to https://syslog.company.com -p TCP
```

Each destination-type subcommand shares query parameters
* `-t` (exposure types)
* `-b` (begin date)
* `-e` (end date)
* `--advanced-query` (raw JSON query)

Note that you cannot use other query parameters if you use `--advanced-query`.

To learn more about acceptable arguments, add the `-h` flag to `code42` or and of the destination-type subcommands.


# Known Issues

Only the first 10,000 of each set of events containing the exact same insertion timestamp is reported.


