# agent

## Usage

`prism create agent` is used to create an agent YML configuration file.

```
 Usage: prism create agent [OPTIONS]                                                                                                 
                                                                                                                                     
 Create an agent YML configuration file                                                                                              
                                                                                                                                     
 Examples:                                                                                                                           
                                                                                                                                     
  • prism create agent --type docker                                                                                                 
  • prism create agent --type ec2 --file ./agents/ec2.yml                                                                            
                                                                                                                                     
╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --type       -t  [docker|ec2]             Agent type                                                                           │
│                                              [required]                                                                           │
│    --file       -f  TEXT                     File path for agent YML configuration. Default is ./agent.yml.                       │
│    --log-level  -l  [info|warn|error|debug]  Set the log level                                                                    │
│    --full-tb                                 Show the full traceback when an error occurs                                         │
│    --help                                    Show this message and exit.                                                          │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```

Here's what `prism create agent` does under the hood:

1. Checks whether the YML file specified with option `-f, --file` exists.
   * If it doesn't, it creates a new YML file with the configuration for agent type `--type`.
   * If it does, it throws an error. Each agent must live in _their own_ YML file.

## Example

Here's what the output looks like in Terminal:

```
$ prism create agent --type docker -f ./docker_agent.yml
--------------------------------------------------------------------------------
<HH:MM:SS> | INFO  | Running with prism v0.2.6...
<HH:MM:SS> | INFO  | Found project directory at /Users/my_first_project
 
<HH:MM:SS> | INFO  | RUNNING EVENT 'parsing prism_project.py'................................................ [RUN]
<HH:MM:SS> | INFO  | FINISHED EVENT 'parsing prism_project.py'............................................... [DONE in 1.34s]
 
<HH:MM:SS> | INFO  | Creating docker_agent.yml...
 
<HH:MM:SS> | INFO  | Done!
--------------------------------------------------------------------------------
```

After this command executes, the following file will be added to your project directory.

```yaml
# docker_agent.yml

agent:
  type: docker
  image: <base image>
  server_url:  # URL to the docker server
  requirements:  # path to requirements.txt, relative to this file
  env:
    <your environment variable here>: '<your environment variable value'

```

