-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCapabilities.yaml
More file actions
130 lines (119 loc) · 4.1 KB
/
Capabilities.yaml
File metadata and controls
130 lines (119 loc) · 4.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
components:
parameters:
deviceId:
name: deviceId
in: path
description: |
The unique identifier of a Device. If the device exists but the caller lacks permission to access it, the API returns 403.
Must be a valid UUID as defined by RFC 4122 (versions 1-5) using only lowercase hexadecimal characters.
required: true
schema:
$ref: "./NAM_Common.yaml#/components/schemas/UUID"
schemas:
title: Operator Device Capabilities
DeviceId:
$ref: "./NAM_Common.yaml#/components/schemas/DeviceId"
DeviceCapabilities:
oneOf:
- $ref: "#/components/schemas/OperatorDeviceCapabilities"
- $ref: "#/components/schemas/ClientDeviceCapabilities"
discriminator:
propertyName: deviceType
mapping:
CPE: "#/components/schemas/OperatorDeviceCapabilities"
Client: "#/components/schemas/ClientDeviceCapabilities"
OperatorDeviceCapabilities:
type: object
description: Capabilities supported by a network operator-managed device (CPE)
required:
- deviceType
properties:
deviceType:
description: Consumers should inspect capabilities (e.g., wanConnected, supportsRouting, supportedNetworkTypes) to determine functional roles like gateway, router, or access point.
type: string
enum: [CPE]
default: CPE
example: CPE
supportedSecurityModes:
type: array
description: |
Supported security configurations for networks.
This includes Wi-Fi security modes (WPA2/WPA3 variants) and Thread-specific mechanisms (e.g., CASE, PASE).
items:
type: string
enum:
# Wi-Fi
- WPA2-Personal
- WPA3-Personal
- WPA2-Enterprise
- WPA3-Enterprise
# Thread
- Thread-NetworkKey
- DTLS
- PASE
- CASE
example: [WPA2-Personal, Thread-NetworkKey, CASE]
supportedNetworkTypes:
type: array
description: Physical or logical network types this device can support
items:
type: string
example: [Wi-Fi, Thread, Ethernet]
maxAuxiliaryNetworks:
type: integer
description: >-
Maximum amount of auxiliary networks the device supports for a given client.
minimum: 1
example: 2
onboardingProtocols:
type: array
description: |
Provisioning protocols supported for client device onboarding.
This implies support for zero-touch workflows.
Common values include DPP, Matter, or vendor-specific methods.
items:
type: string
example: [DPP, Matter, OnRamp]
networkFeatures:
type: object
description: Network-level functional capabilities
properties:
supportsRouting:
type: boolean
supportsTunneling:
type: boolean
supportedTunnelingTech:
type: array
items:
type: string
example: [IPSec, GRE, WireGuard]
wanConnected:
type: boolean
supportsTrustDomains:
type: boolean
telemetry:
type: object
description: Diagnostics and telemetry support
properties:
supportsDiagnostics:
type: boolean
supportsTelemetry:
type: boolean
metricsAvailable:
type: array
items:
type: string
example: [connected_clients, cpu_usage]
ClientDeviceCapabilities:
type: object
description: Capabilities supported by a client-side device (e.g., user laptop, IoT sensor)
required:
- deviceType
properties:
deviceType:
type: string
enum: [Client]
default: Client
note:
type: string
example: "Client capabilities not yet implemented."