signals
Creates, updates, deletes, gets or lists a signals resource.
Overview​
| Name | signals |
| Type | Resource |
| Id | railway.platform.signals |
Fields​
The following fields are returned by SELECT queries:
- get
- list
One Signal row.
| Name | Datatype | Description |
|---|---|---|
id | string | |
name | string | |
created_at | string (date-time) | |
created_by | string | |
default_ | object | |
owner | string | |
rules | object | |
type | string | (bool, json, number, string) |
updated_at | string (date-time) | |
version | string | |
writable_by | array |
One row per Signal.
| Name | Datatype | Description |
|---|---|---|
id | string | |
name | string | |
created_at | string (date-time) | |
created_by | string | |
default_ | object | |
owner | string | |
rules | object | |
type | string | (bool, json, number, string) |
updated_at | string (date-time) | |
version | string | |
writable_by | array |
Methods​
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | name | owner | Fetch a single signal by owner scope and name. Backed by the Railway GraphQL query signal. |
list | select | owner | List signals registered for an owner scope. Backed by the Railway GraphQL query signals. | |
create | insert | default_, name, owner, type | Register a new signal for an owner scope. Backed by the Railway GraphQL mutation signalCreate. | |
delete | delete | name, owner | Delete a signal and its audit log. Backed by the Railway GraphQL mutation signalDelete. | |
replace | exec | default_, name, owner, type | Replace a signal's type and default, clearing all rules. Destructive — intended for CLI --force re-type. Backed by the Railway GraphQL mutation signalReplace. | |
rollback | exec | name, owner, seq | Restore a signal to the snapshot captured before a change (reads prevState from the target change row). Backed by the Railway GraphQL mutation signalRollback. | |
set_default | exec | default_, name, owner | Change a signal's canonical default (production floor). Backed by the Railway GraphQL mutation signalDefaultSet. | |
set_rule | exec | expression, name, owner, rule_id, value | Attach or replace a rule on a signal. Matching rules must agree at resolution time or the default is returned. Backed by the Railway GraphQL mutation signalRuleSet. | |
unset_rule | exec | name, owner, rule_id | Remove a rule from a signal. Backed by the Railway GraphQL mutation signalRuleUnset. |
Parameters​
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
name | string | |
owner | string | |
default_ | object | |
expression | object | |
rule_id | string | |
seq | string | |
type | string | (bool, json, number, string) |
value | object |
SELECT examples​
- get
- list
Fetch a single signal by owner scope and name. Backed by the Railway GraphQL query signal.
SELECT
id,
name,
created_at,
created_by,
default_,
owner,
rules,
type,
updated_at,
version,
writable_by
FROM railway.platform.signals
WHERE name = '{{ name }}' -- required
AND owner = '{{ owner }}'
;
List signals registered for an owner scope. Backed by the Railway GraphQL query signals.
SELECT
id,
name,
created_at,
created_by,
default_,
owner,
rules,
type,
updated_at,
version,
writable_by
FROM railway.platform.signals
WHERE owner = '{{ owner }}'
;
INSERT examples​
- create
- Manifest
Register a new signal for an owner scope. Backed by the Railway GraphQL mutation signalCreate.
INSERT INTO railway.platform.signals (
default_,
name,
owner,
type,
writable_by
)
SELECT
'{{ default_ }}' /* required */,
'{{ name }}' /* required */,
'{{ owner }}' /* required */,
'{{ type }}' /* required */,
'{{ writable_by }}'
RETURNING
id,
name,
created_at,
created_by,
default_,
owner,
rules,
type,
updated_at,
version,
writable_by
;
# Description fields are for documentation purposes
- name: signals
props:
- name: default_
value: "{{ default_ }}"
- name: name
value: "{{ name }}"
- name: owner
value: "{{ owner }}"
- name: type
value: "{{ type }}"
valid_values: ['bool', 'json', 'number', 'string']
- name: writable_by
value:
- "{{ writable_by }}"
DELETE examples​
- delete
Delete a signal and its audit log. Backed by the Railway GraphQL mutation signalDelete.
DELETE FROM railway.platform.signals
WHERE
name = '{{ name }}' --required
AND owner = '{{ owner }}' --required
;
Lifecycle Methods​
- replace
- rollback
- set_default
- set_rule
- unset_rule
Replace a signal's type and default, clearing all rules. Destructive — intended for CLI --force re-type. Backed by the Railway GraphQL mutation signalReplace.
EXEC railway.platform.signals.replace
@default_='{{ default_ }}', --required
@name='{{ name }}', --required
@owner='{{ owner }}', --required
@type='{{ type }}' --required
;
Restore a signal to the snapshot captured before a change (reads prevState from the target change row). Backed by the Railway GraphQL mutation signalRollback.
EXEC railway.platform.signals.rollback
@name='{{ name }}', --required
@owner='{{ owner }}', --required
@seq='{{ seq }}' --required
;
Change a signal's canonical default (production floor). Backed by the Railway GraphQL mutation signalDefaultSet.
EXEC railway.platform.signals.set_default
@default_='{{ default_ }}', --required
@name='{{ name }}', --required
@owner='{{ owner }}' --required
;
Attach or replace a rule on a signal. Matching rules must agree at resolution time or the default is returned. Backed by the Railway GraphQL mutation signalRuleSet.
EXEC railway.platform.signals.set_rule
@expression='{{ expression }}', --required
@name='{{ name }}', --required
@owner='{{ owner }}', --required
@rule_id='{{ rule_id }}', --required
@value='{{ value }}' --required
;
Remove a rule from a signal. Backed by the Railway GraphQL mutation signalRuleUnset.
EXEC railway.platform.signals.unset_rule
@name='{{ name }}', --required
@owner='{{ owner }}', --required
@rule_id='{{ rule_id }}' --required
;