feat(cli): --element-type and JSON --value for List attributes
This commit is contained in:
@@ -164,32 +164,50 @@ scadabridge --url <url> template validate --id <int>
|
||||
Add an attribute to a template.
|
||||
|
||||
```sh
|
||||
scadabridge --url <url> template attribute add --template-id <int> --name <string> --data-type <string> [--default-value <string>] [--tag-path <string>]
|
||||
scadabridge --url <url> template attribute add --template-id <int> --name <string> --data-type <string> [--value <string>] [--element-type <string>] [--description <string>] [--data-source <string>] [--locked]
|
||||
```
|
||||
|
||||
| Option | Required | Description |
|
||||
|--------|----------|-------------|
|
||||
| `--template-id` | yes | Template ID |
|
||||
| `--name` | yes | Attribute name |
|
||||
| `--data-type` | yes | Attribute data type (e.g. `Float`, `Int`, `String`, `Bool`) |
|
||||
| `--default-value` | no | Default value |
|
||||
| `--tag-path` | no | Data connection tag path |
|
||||
| `--data-type` | yes | Attribute data type (`Boolean`, `Int32`, `Float`, `Double`, `String`, `DateTime`, `List`) |
|
||||
| `--value` | no | Default value. For a `List` attribute, supply a JSON array (e.g. `'["WO-1","WO-2"]'`); the raw string is forwarded to the API, which parses it |
|
||||
| `--element-type` | no | Element scalar type for a `List` attribute (`String`, `Int32`, `Float`, `Double`, `Boolean`, `DateTime`). **Required when `--data-type` is `List`**; must be omitted otherwise |
|
||||
| `--description` | no | Description |
|
||||
| `--data-source` | no | Data source reference |
|
||||
| `--locked` | no | Lock the attribute in derived templates |
|
||||
|
||||
**List example** — add a multi-value String attribute with two default elements:
|
||||
|
||||
```sh
|
||||
scadabridge --url <url> template attribute add --template-id 7 --name WorkOrders \
|
||||
--data-type List --element-type String --value '["WO-1","WO-2"]'
|
||||
```
|
||||
|
||||
The CLI validates the data-type / element-type combination locally before calling the
|
||||
API: `--data-type List` requires a valid `--element-type`, and `--element-type` may only
|
||||
be supplied when `--data-type` is `List`. The Management API re-validates server-side.
|
||||
|
||||
#### `template attribute update`
|
||||
|
||||
Update an attribute on a template.
|
||||
Update an attribute on a template. An update **replaces** the whole entity — every
|
||||
required field below must be supplied with its post-update value, even if unchanged.
|
||||
|
||||
```sh
|
||||
scadabridge --url <url> template attribute update --template-id <int> --name <string> [--data-type <string>] [--default-value <string>] [--tag-path <string>]
|
||||
scadabridge --url <url> template attribute update --id <int> --name <string> --data-type <string> [--value <string>] [--element-type <string>] [--description <string>] [--data-source <string>] [--locked]
|
||||
```
|
||||
|
||||
| Option | Required | Description |
|
||||
|--------|----------|-------------|
|
||||
| `--template-id` | yes | Template ID |
|
||||
| `--name` | yes | Attribute name to update |
|
||||
| `--data-type` | no | Updated data type |
|
||||
| `--default-value` | no | Updated default value |
|
||||
| `--tag-path` | no | Updated tag path |
|
||||
| `--id` | yes | Attribute ID |
|
||||
| `--name` | yes | Attribute name |
|
||||
| `--data-type` | yes | Attribute data type (`Boolean`, `Int32`, `Float`, `Double`, `String`, `DateTime`, `List`) |
|
||||
| `--value` | no | Default value. For a `List` attribute, supply a JSON array (e.g. `'["WO-1","WO-2"]'`) |
|
||||
| `--element-type` | no | Element scalar type for a `List` attribute (`String`, `Int32`, `Float`, `Double`, `Boolean`, `DateTime`). **Required when `--data-type` is `List`**; must be omitted otherwise |
|
||||
| `--description` | no | Description |
|
||||
| `--data-source` | no | Data source reference |
|
||||
| `--locked` | no | Lock the attribute in derived templates |
|
||||
|
||||
#### `template attribute delete`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user