Create tag
POST /v1/tags
Create a new tag, optionally with config overrides.
Token scope required: tags:create
Request
- application/json
Request Body required
- name key:value required
Name of the new tag. Key must not be longer than 20 characters. Value must not be longer than 50 characters. No whitespace around either allowed.
- description string
Possible values:
<= 255 characters
Optional description
configOverrides object[]
List of config overrides for the nebula config
Array [- anyOf
- lighthouse.dns.host
- lighthouse.dns.port
- lighthouse.local_allow_list
- lighthouse.remote_allow_list
- lighthouse.serve_dns
- listen.batch
- listen.read_buffer
- listen.write_buffer
- logging.format
- logging.level
- logging.timestamp_format
- preferred_ranges
- routines
- stats.host
- stats.interval
- stats.lighthouse_metrics
- stats.listen
- stats.message_metrics
- stats.namespace
- stats.path
- stats.prefix
- stats.subsystem
- stats.type
- tun.dev
- tun.mtu
- tun.tx_queue
key string requiredPossible values: [
lighthouse.dns.host
]value string requiredkey string requiredPossible values: [
lighthouse.dns.port
]value number requiredkey string requiredPossible values: [
lighthouse.local_allow_list
]value object required
interfaces object required
property name*
booleananyOfkey string requiredPossible values: [
lighthouse.remote_allow_list
]value object required
property name*
booleankey string requiredPossible values: [
lighthouse.serve_dns
]value boolean requiredkey string requiredPossible values: [
listen.batch
]value number requiredkey string requiredPossible values: [
listen.read_buffer
]value number requiredkey string requiredPossible values: [
listen.write_buffer
]value number requiredkey string requiredPossible values: [
logging.format
]value string requiredPossible values: [
text
,json
]key string requiredPossible values: [
logging.level
]value string requiredPossible values: [
panic
,fatal
,error
,warning
,info
,debug
]key string requiredPossible values: [
logging.timestamp_format
]value string requiredkey string requiredPossible values: [
preferred_ranges
]value string[] requiredkey string requiredPossible values: [
routines
]value number requiredkey string requiredPossible values: [
stats.host
]value string requiredkey string requiredPossible values: [
stats.interval
]value string requiredkey string requiredPossible values: [
stats.lighthouse_metrics
]value boolean requiredkey string requiredPossible values: [
stats.listen
]value string requiredkey string requiredPossible values: [
stats.message_metrics
]value boolean requiredkey string requiredPossible values: [
stats.namespace
]value string requiredkey string requiredPossible values: [
stats.path
]value string requiredkey string requiredPossible values: [
stats.prefix
]value string requiredkey string requiredPossible values: [
stats.subsystem
]value string requiredkey string requiredPossible values: [
stats.type
]value string requiredPossible values: [
graphite
,prometheus
]key string requiredPossible values: [
tun.dev
]value string requiredkey string requiredPossible values: [
tun.mtu
]value number requiredkey string requiredPossible values: [
tun.tx_queue
]value number required]- before key:value
If specified, the new tag will be inserted before this tag (i.e. will have a lower priority / precedence than the "before" tag.) Cannot specify this in combination with "after."
- after key:value
If specified, the new tag will be inserted after this tag (i.e. will have a higher priority / precedence than the "after" tag.) Cannot specify this in combination with "before."
- routeSubscriptions route-id[]
A list of route IDs to which any hosts with this tag will be subscribed.
- 200
- 400
Successful operation
- application/json
- Schema
- Example (from schema)
- Example
Schema
data object
name key:valuekey is max 20 characters, value is max 50 characters, no whitespace around either allowed
description stringconfigOverrides object[]
List of config overrides for the nebula config
Array [- anyOf
- lighthouse.dns.host
- lighthouse.dns.port
- lighthouse.local_allow_list
- lighthouse.remote_allow_list
- lighthouse.serve_dns
- listen.batch
- listen.read_buffer
- listen.write_buffer
- logging.format
- logging.level
- logging.timestamp_format
- preferred_ranges
- routines
- stats.host
- stats.interval
- stats.lighthouse_metrics
- stats.listen
- stats.message_metrics
- stats.namespace
- stats.path
- stats.prefix
- stats.subsystem
- stats.type
- tun.dev
- tun.mtu
- tun.tx_queue
key string requiredPossible values: [
lighthouse.dns.host
]value string requiredkey string requiredPossible values: [
lighthouse.dns.port
]value number requiredkey string requiredPossible values: [
lighthouse.local_allow_list
]value object required
interfaces object required
property name*
booleananyOfkey string requiredPossible values: [
lighthouse.remote_allow_list
]value object required
property name*
booleankey string requiredPossible values: [
lighthouse.serve_dns
]value boolean requiredkey string requiredPossible values: [
listen.batch
]value number requiredkey string requiredPossible values: [
listen.read_buffer
]value number requiredkey string requiredPossible values: [
listen.write_buffer
]value number requiredkey string requiredPossible values: [
logging.format
]value string requiredPossible values: [
text
,json
]key string requiredPossible values: [
logging.level
]value string requiredPossible values: [
panic
,fatal
,error
,warning
,info
,debug
]key string requiredPossible values: [
logging.timestamp_format
]value string requiredkey string requiredPossible values: [
preferred_ranges
]value string[] requiredkey string requiredPossible values: [
routines
]value number requiredkey string requiredPossible values: [
stats.host
]value string requiredkey string requiredPossible values: [
stats.interval
]value string requiredkey string requiredPossible values: [
stats.lighthouse_metrics
]value boolean requiredkey string requiredPossible values: [
stats.listen
]value string requiredkey string requiredPossible values: [
stats.message_metrics
]value boolean requiredkey string requiredPossible values: [
stats.namespace
]value string requiredkey string requiredPossible values: [
stats.path
]value string requiredkey string requiredPossible values: [
stats.prefix
]value string requiredkey string requiredPossible values: [
stats.subsystem
]value string requiredkey string requiredPossible values: [
stats.type
]value string requiredPossible values: [
graphite
,prometheus
]key string requiredPossible values: [
tun.dev
]value string requiredkey string requiredPossible values: [
tun.mtu
]value number requiredkey string requiredPossible values: [
tun.tx_queue
]value number required]priority integerPriority is managed by the API. Use "before" and "after" inputs to order tags. Config overrides associated with tags of a higher (greater) priority take precedence over lower priorities.
hostCount int64Count of hosts which have the tag assigned.
routeSubscriptions route-id[]Route IDs to which any hosts with this tag will be subscribed.
- metadata object
{
"data": {
"name": "key:value",
"description": "string",
"configOverrides": [
{
"key": "lighthouse.dns.host",
"value": "string"
},
{
"key": "lighthouse.dns.port",
"value": 0
},
{
"key": "lighthouse.local_allow_list",
"value": {
"interfaces": {}
}
},
{
"key": "lighthouse.remote_allow_list",
"value": {}
},
{
"key": "lighthouse.serve_dns",
"value": true
},
{
"key": "listen.batch",
"value": 0
},
{
"key": "listen.read_buffer",
"value": 0
},
{
"key": "listen.write_buffer",
"value": 0
},
{
"key": "logging.format",
"value": "text"
},
{
"key": "logging.level",
"value": "panic"
},
{
"key": "logging.timestamp_format",
"value": "string"
},
{
"key": "preferred_ranges",
"value": [
"string"
]
},
{
"key": "routines",
"value": 0
},
{
"key": "stats.host",
"value": "string"
},
{
"key": "stats.interval",
"value": "string"
},
{
"key": "stats.lighthouse_metrics",
"value": true
},
{
"key": "stats.listen",
"value": "string"
},
{
"key": "stats.message_metrics",
"value": true
},
{
"key": "stats.namespace",
"value": "string"
},
{
"key": "stats.path",
"value": "string"
},
{
"key": "stats.prefix",
"value": "string"
},
{
"key": "stats.subsystem",
"value": "string"
},
{
"key": "stats.type",
"value": "graphite"
},
{
"key": "tun.dev",
"value": "string"
},
{
"key": "tun.mtu",
"value": 0
},
{
"key": "tun.tx_queue",
"value": 0
}
],
"priority": 0,
"hostCount": 0,
"routeSubscriptions": [
"route-X47KHSCOSQJP5IOKNNKRRGHVAI"
]
},
"metadata": {}
}
{
"data": {
"name": "env:prod",
"description": "Hosts which have live in or have access to production resources",
"configOverrides": [
{
"key": "logging.level",
"value": "info"
}
],
"priority": 3,
"hostCount": 10
},
"metadata": {}
}
Validation error
- application/json
- Schema
- Example (from schema)
- existingTagName
- invalidBeforeOrAfter
- beforeAndAfter
Schema
errors object[]
Array [code string requiredA static name for the error type
message string requiredA short human readable description of the error
path string nullableDescribes the variable missing or malformed
]
{
"errors": [
{
"code": "string",
"message": "string",
"path": "string"
}
]
}
A tag already exists with the name.
{
"errors": [
{
"code": "ERR_DUPLICATE_VALUE",
"message": "value already exists",
"path": "name"
}
]
}
Cannot find the supplied "before" or "after" tag.
{
"errors": [
{
"code": "ERR_INVALID_REFERENCE",
"message": "referenced value is invalid (perhaps it does not exist?)",
"path": "before"
}
]
}
Only one of "before" or "after" may be specified.
{
"errors": [
{
"code": "ERR_INVALID_VALUE",
"message": "may only set before or after, not both",
"path": "before"
},
{
"code": "ERR_INVALID_VALUE",
"message": "may only set before or after, not both",
"path": "after"
}
]
}