RIC-475 - E2M publish sdl event RedButton and Shutdown
[ric-plt/e2mgr.git] / E2Manager / models / cause.go
1 //
2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 Nokia
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //      http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16
17 //  This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 //  platform project (RICP).
19
20 package models
21
22 import "encoding/xml"
23
24 type Cause struct {
25         XMLName    xml.Name         `xml:"Cause"`
26         Text       string           `xml:",chardata"`
27         RicRequest *CauseRic        `xml:"ricRequest"`
28         RicService *CauseRicService `xml:"ricService"`
29         Transport  *CauseTransport  `xml:"transport"`
30         Protocol   *CauseProtocol   `xml:"protocol"`
31         Misc       *CauseMisc       `xml:"misc"`
32 }
33
34 type CauseTransport struct {
35         Text                         string    `xml:",chardata"`
36         TransportResourceUnavailable *struct{} `xml:"transport-resource-unavailable"`
37         Unspecified                  *struct{} `xml:"unspecified"`
38 }
39
40 type CauseMisc struct {
41         Text                      string    `xml:",chardata"`
42         ControlProcessingOverload *struct{} `xml:"control-processing-overload"`
43         HardwareFailure           *struct{} `xml:"hardware-failure"`
44         OmIntervention            *struct{} `xml:"om-intervention"`
45         Unspecified               *struct{} `xml:"unspecified"`
46 }
47
48 type CauseProtocol struct {
49         Text                                         string    `xml:",chardata"`
50         TransferSyntaxError                          *struct{} `xml:"transfer-syntax-error"`
51         AbstractSyntaxErrorReject                    *struct{} `xml:"abstract-syntax-error-reject"`
52         AbstractSyntaxErrorIgnoreAndNotify           *struct{} `xml:"abstract-syntax-error-ignore-and-notify"`
53         MessageNotCompatibleWithReceiverState        *struct{} `xml:"message-not-compatible-with-receiver-state"`
54         SemanticError                                *struct{} `xml:"semantic-error"`
55         AbstractSyntaxErrorFalselyConstructedMessage *struct{} `xml:"abstract-syntax-error-falsely-constructed-message"`
56         Unspecified                                  *struct{} `xml:"unspecified"`
57 }
58
59 type CauseRicService struct {
60         Text                string    `xml:",chardata"`
61         FunctionNotRequired *struct{} `xml:"function-not-required"`
62         ExcessiveFunctions  *struct{} `xml:"excessive-functions"`
63         RicResourceLimit    *struct{} `xml:"ric-resource-limit"`
64 }
65
66 type CauseRic struct {
67         Text                                       string    `xml:",chardata"`
68         RanFunctionIdInvalid                       *struct{} `xml:"ran-function-id-Invalid"`
69         ActionNotSupported                         *struct{} `xml:"action-not-supported"`
70         ExcessiveActions                           *struct{} `xml:"excessive-actions"`
71         DuplicateAction                            *struct{} `xml:"duplicate-action"`
72         DuplicateEvent                             *struct{} `xml:"duplicate-event"`
73         FunctionResourceLimit                      *struct{} `xml:"function-resource-limit"`
74         RequestIdUnknown                           *struct{} `xml:"request-id-unknown"`
75         InconsistentActionSubsequentActionSequence *struct{} `xml:"inconsistent-action-subsequent-action-sequence"`
76         ControlMessageInvalid                      *struct{} `xml:"control-message-invalid"`
77         CallProcessIdInvalid                       *struct{} `xml:"call-process-id-invalid"`
78         Unspecified                                *struct{} `xml:"unspecified"`
79 }