Add the PATCH method for the monitoring API
[pti/o2.git] / o2ims / domain / commands.py
1 # Copyright (C) 2021-2024 Wind River Systems, Inc.
2 #
3 #  Licensed under the Apache License, Version 2.0 (the "License");
4 #  you may not use this file except in compliance with the License.
5 #  You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #  Unless required by applicable law or agreed to in writing, software
10 #  distributed under the License is distributed on an "AS IS" BASIS,
11 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #  See the License for the specific language governing permissions and
13 #  limitations under the License.
14
15 # pylint: disable=too-few-public-methods
16 # from datetime import date
17 from dataclasses import dataclass
18 # from typing import List
19
20 from o2ims.domain.stx_object import StxGenericModel
21 from o2ims.domain.alarm_obj import AlarmEvent2SMO, FaultGenericModel
22 from o2ims.domain.subscription_obj import Message2SMO, RegistrationMessage
23 # from o2ims.domain.resource_type import ResourceTypeEnum
24 from o2common.domain.commands import Command
25
26
27 @dataclass
28 class UpdateStxObject(Command):
29     data: StxGenericModel
30
31
32 @dataclass
33 class UpdateFaultObject(Command):
34     data: FaultGenericModel
35
36
37 @dataclass
38 class PubMessage2SMO(Command):
39     data: Message2SMO
40     type: str
41
42
43 @dataclass
44 class PubAlarm2SMO(Command):
45     data: AlarmEvent2SMO
46
47
48 @dataclass
49 class Register2SMO(Command):
50     data: RegistrationMessage
51
52
53 @dataclass
54 class UpdateOCloud(UpdateStxObject):
55     pass
56
57
58 @dataclass
59 class UpdateDms(UpdateStxObject):
60     parentid: str
61
62
63 @dataclass
64 class UpdateResourcePool(UpdateStxObject):
65     parentid: str
66
67
68 @dataclass
69 class UpdateResourceType(UpdateStxObject):
70     parentid: str
71
72
73 @dataclass
74 class UpdateResource(UpdateStxObject):
75     parentid: str
76
77
78 @dataclass
79 class UpdateComputeAgg(UpdateResource):
80     pass
81
82
83 @dataclass
84 class UpdateNetworkAgg(UpdateResource):
85     pass
86
87
88 @dataclass
89 class UpdateStorageAgg(UpdateResource):
90     pass
91
92
93 @dataclass
94 class UpdateUndefinedAgg(UpdateResource):
95     pass
96
97
98 @dataclass
99 class UpdatePserver(UpdateResource):
100     pass
101
102
103 @dataclass
104 class UpdatePserverCpu(UpdateResource):
105     pass
106
107
108 @dataclass
109 class UpdatePserverMem(UpdateResource):
110     pass
111
112
113 @dataclass
114 class UpdatePserverEth(UpdateResource):
115     pass
116
117
118 @dataclass
119 class UpdatePserverIf(UpdateResource):
120     pass
121
122
123 @dataclass
124 class UpdatePserverIfPort(UpdateResource):
125     pass
126
127
128 @dataclass
129 class UpdatePserverDev(UpdateResource):
130     pass
131
132
133 @dataclass
134 class UpdatePserverAcc(UpdateResource):
135     pass
136
137
138 @dataclass
139 class UpdateAlarm(UpdateFaultObject):
140     parentid: str
141
142
143 @dataclass
144 class PurgeAlarmEvent(UpdateFaultObject):
145     data: AlarmEvent2SMO