1
1
# (C) Datadog, Inc. 2024-present
2
2
# All rights reserved
3
3
# Licensed under a 3-clause BSD style license (see LICENSE)
4
+ from typing import Optional
4
5
5
6
from pydantic import BaseModel , Field , computed_field
6
7
7
8
8
9
class NodeAttributes (BaseModel ):
9
- address : str | None = None
10
- ad_st : str | None = Field (default = None , alias = "adSt" )
11
- role : str | None = None
12
- dn : str | None = None
13
- model : str | None = None
14
- version : str | None = None
15
- serial : str | None = None
16
- vendor : str | None = Field (default = 'cisco_aci' )
17
- namespace : str | None = Field (default = 'default' )
10
+ address : Optional [ str ] = None
11
+ ad_st : Optional [ str ] = Field (default = None , alias = "adSt" )
12
+ role : Optional [ str ] = None
13
+ dn : Optional [ str ] = None
14
+ model : Optional [ str ] = None
15
+ version : Optional [ str ] = None
16
+ serial : Optional [ str ] = None
17
+ vendor : Optional [ str ] = Field (default = 'cisco_aci' )
18
+ namespace : Optional [ str ] = Field (default = 'default' )
18
19
19
20
20
21
class Node (BaseModel ):
21
22
attributes : NodeAttributes
22
23
23
24
24
25
class EthAttributes (BaseModel ):
25
- admin_st : str | None = Field (default = None , alias = "adminSt" )
26
- id : str | None = None
27
- name : str | None = None
28
- desc : str | None = None
29
- router_mac : str | None = Field (default = None , alias = "routerMac" )
26
+ admin_st : Optional [ str ] = Field (default = None , alias = "adminSt" )
27
+ id : Optional [ str ] = None
28
+ name : Optional [ str ] = None
29
+ desc : Optional [ str ] = None
30
+ router_mac : Optional [ str ] = Field (default = None , alias = "routerMac" )
30
31
31
32
32
33
class Eth (BaseModel ):
33
34
attributes : EthAttributes
34
35
35
36
36
37
class DeviceMetadata (BaseModel ):
37
- device_id : str | None = Field (default = None )
38
+ device_id : Optional [ str ] = Field (default = None )
38
39
id_tags : list = Field (default_factory = list )
39
40
tags : list = Field (default_factory = list )
40
- name : str | None = Field (default = None )
41
- ip_address : str | None = Field (default = None )
42
- model : str | None = Field (default = None )
43
- ad_st : str | None = Field (default = None , exclude = True )
44
- vendor : str | None = Field (default = None )
45
- version : str | None = Field (default = None )
46
- serial_number : str | None = Field (default = None )
41
+ name : Optional [ str ] = Field (default = None )
42
+ ip_address : Optional [ str ] = Field (default = None )
43
+ model : Optional [ str ] = Field (default = None )
44
+ ad_st : Optional [ str ] = Field (default = None , exclude = True )
45
+ vendor : Optional [ str ] = Field (default = None )
46
+ version : Optional [ str ] = Field (default = None )
47
+ serial_number : Optional [ str ] = Field (default = None )
47
48
48
49
@computed_field
49
50
@property
@@ -56,13 +57,13 @@ class DeviceMetadataList(BaseModel):
56
57
57
58
58
59
class InterfaceMetadata (BaseModel ):
59
- device_id : str | None = Field (default = None )
60
+ device_id : Optional [ str ] = Field (default = None )
60
61
id_tags : list = Field (default_factory = list )
61
- index : str | None = Field (default = None )
62
- name : str | None = Field (default = None )
63
- description : str | None = Field (default = None )
64
- mac_address : str | None = Field (default = None )
65
- admin_status : str | None = Field (default = None , exclude = True )
62
+ index : Optional [ str ] = Field (default = None )
63
+ name : Optional [ str ] = Field (default = None )
64
+ description : Optional [ str ] = Field (default = None )
65
+ mac_address : Optional [ str ] = Field (default = None )
66
+ admin_status : Optional [ str ] = Field (default = None , exclude = True )
66
67
67
68
@computed_field
68
69
@property
0 commit comments