Policy status notification handling - initial rollup
[ric-plt/a1.git] / pkg / restapi / operations / a1_mediator / a1_controller_get_policy_instance_status.go
1 /*
2 ==================================================================================
3   Copyright (c) 2021 Samsung
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 */
21 // Code generated by go-swagger; DO NOT EDIT.
22
23 package a1_mediator
24
25 // This file was generated by the swagger tool.
26 // Editing this file might prove futile when you re-run the generate command
27
28 import (
29         "context"
30         "encoding/json"
31         "net/http"
32
33         "github.com/go-openapi/errors"
34         "github.com/go-openapi/runtime/middleware"
35         "github.com/go-openapi/strfmt"
36         "github.com/go-openapi/swag"
37         "github.com/go-openapi/validate"
38 )
39
40 // A1ControllerGetPolicyInstanceStatusHandlerFunc turns a function with the right signature into a a1 controller get policy instance status handler
41 type A1ControllerGetPolicyInstanceStatusHandlerFunc func(A1ControllerGetPolicyInstanceStatusParams) middleware.Responder
42
43 // Handle executing the request and returning a response
44 func (fn A1ControllerGetPolicyInstanceStatusHandlerFunc) Handle(params A1ControllerGetPolicyInstanceStatusParams) middleware.Responder {
45         return fn(params)
46 }
47
48 // A1ControllerGetPolicyInstanceStatusHandler interface for that can handle valid a1 controller get policy instance status params
49 type A1ControllerGetPolicyInstanceStatusHandler interface {
50         Handle(A1ControllerGetPolicyInstanceStatusParams) middleware.Responder
51 }
52
53 // NewA1ControllerGetPolicyInstanceStatus creates a new http.Handler for the a1 controller get policy instance status operation
54 func NewA1ControllerGetPolicyInstanceStatus(ctx *middleware.Context, handler A1ControllerGetPolicyInstanceStatusHandler) *A1ControllerGetPolicyInstanceStatus {
55         return &A1ControllerGetPolicyInstanceStatus{Context: ctx, Handler: handler}
56 }
57
58 /* A1ControllerGetPolicyInstanceStatus swagger:route GET /a1-p/policytypes/{policy_type_id}/policies/{policy_instance_id}/status A1 Mediator a1ControllerGetPolicyInstanceStatus
59
60 Retrieve the policy instance status across all handlers of the policy If this endpoint returns successfully (200), it is either IN EFFECT or NOT IN EFFECT. IN EFFECT is returned if at least one policy handler in the RIC is implementing the policy NOT IN EFFECT is returned otherwise If a policy instance is successfully deleted, this endpoint will return a 404 (not a 200)
61
62
63 */
64 type A1ControllerGetPolicyInstanceStatus struct {
65         Context *middleware.Context
66         Handler A1ControllerGetPolicyInstanceStatusHandler
67 }
68
69 func (o *A1ControllerGetPolicyInstanceStatus) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
70         route, rCtx, _ := o.Context.RouteInfo(r)
71         if rCtx != nil {
72                 *r = *rCtx
73         }
74         var Params = NewA1ControllerGetPolicyInstanceStatusParams()
75         if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params
76                 o.Context.Respond(rw, r, route.Produces, route, err)
77                 return
78         }
79
80         res := o.Handler.Handle(Params) // actually handle the request
81         o.Context.Respond(rw, r, route.Produces, route, res)
82
83 }
84
85 // A1ControllerGetPolicyInstanceStatusOKBody a1 controller get policy instance status o k body
86 //
87 // swagger:model A1ControllerGetPolicyInstanceStatusOKBody
88 type A1ControllerGetPolicyInstanceStatusOKBody struct {
89
90         // enforce reason
91         // Enum: [SCOPE_NOT_APPLICABLE STATEMENT_NOT_APPLICABLE OTHER_REASON]
92         EnforceReason string `json:"enforceReason,omitempty"`
93
94         // enforce status
95         // Enum: [ENFORCED NOT_ENFORCED]
96         EnforceStatus string `json:"enforceStatus,omitempty"`
97 }
98
99 // Validate validates this a1 controller get policy instance status o k body
100 func (o *A1ControllerGetPolicyInstanceStatusOKBody) Validate(formats strfmt.Registry) error {
101         var res []error
102
103         if err := o.validateEnforceReason(formats); err != nil {
104                 res = append(res, err)
105         }
106
107         if err := o.validateEnforceStatus(formats); err != nil {
108                 res = append(res, err)
109         }
110
111         if len(res) > 0 {
112                 return errors.CompositeValidationError(res...)
113         }
114         return nil
115 }
116
117 var a1ControllerGetPolicyInstanceStatusOKBodyTypeEnforceReasonPropEnum []interface{}
118
119 func init() {
120         var res []string
121         if err := json.Unmarshal([]byte(`["SCOPE_NOT_APPLICABLE","STATEMENT_NOT_APPLICABLE","OTHER_REASON"]`), &res); err != nil {
122                 panic(err)
123         }
124         for _, v := range res {
125                 a1ControllerGetPolicyInstanceStatusOKBodyTypeEnforceReasonPropEnum = append(a1ControllerGetPolicyInstanceStatusOKBodyTypeEnforceReasonPropEnum, v)
126         }
127 }
128
129 const (
130
131         // A1ControllerGetPolicyInstanceStatusOKBodyEnforceReasonSCOPENOTAPPLICABLE captures enum value "SCOPE_NOT_APPLICABLE"
132         A1ControllerGetPolicyInstanceStatusOKBodyEnforceReasonSCOPENOTAPPLICABLE string = "SCOPE_NOT_APPLICABLE"
133
134         // A1ControllerGetPolicyInstanceStatusOKBodyEnforceReasonSTATEMENTNOTAPPLICABLE captures enum value "STATEMENT_NOT_APPLICABLE"
135         A1ControllerGetPolicyInstanceStatusOKBodyEnforceReasonSTATEMENTNOTAPPLICABLE string = "STATEMENT_NOT_APPLICABLE"
136
137         // A1ControllerGetPolicyInstanceStatusOKBodyEnforceReasonOTHERREASON captures enum value "OTHER_REASON"
138         A1ControllerGetPolicyInstanceStatusOKBodyEnforceReasonOTHERREASON string = "OTHER_REASON"
139 )
140
141 // prop value enum
142 func (o *A1ControllerGetPolicyInstanceStatusOKBody) validateEnforceReasonEnum(path, location string, value string) error {
143         if err := validate.EnumCase(path, location, value, a1ControllerGetPolicyInstanceStatusOKBodyTypeEnforceReasonPropEnum, true); err != nil {
144                 return err
145         }
146         return nil
147 }
148
149 func (o *A1ControllerGetPolicyInstanceStatusOKBody) validateEnforceReason(formats strfmt.Registry) error {
150         if swag.IsZero(o.EnforceReason) { // not required
151                 return nil
152         }
153
154         // value enum
155         if err := o.validateEnforceReasonEnum("a1ControllerGetPolicyInstanceStatusOK"+"."+"enforceReason", "body", o.EnforceReason); err != nil {
156                 return err
157         }
158
159         return nil
160 }
161
162 var a1ControllerGetPolicyInstanceStatusOKBodyTypeEnforceStatusPropEnum []interface{}
163
164 func init() {
165         var res []string
166         if err := json.Unmarshal([]byte(`["ENFORCED","NOT_ENFORCED"]`), &res); err != nil {
167                 panic(err)
168         }
169         for _, v := range res {
170                 a1ControllerGetPolicyInstanceStatusOKBodyTypeEnforceStatusPropEnum = append(a1ControllerGetPolicyInstanceStatusOKBodyTypeEnforceStatusPropEnum, v)
171         }
172 }
173
174 const (
175
176         // A1ControllerGetPolicyInstanceStatusOKBodyEnforceStatusENFORCED captures enum value "ENFORCED"
177         A1ControllerGetPolicyInstanceStatusOKBodyEnforceStatusENFORCED string = "ENFORCED"
178
179         // A1ControllerGetPolicyInstanceStatusOKBodyEnforceStatusNOTENFORCED captures enum value "NOT_ENFORCED"
180         A1ControllerGetPolicyInstanceStatusOKBodyEnforceStatusNOTENFORCED string = "NOT_ENFORCED"
181 )
182
183 // prop value enum
184 func (o *A1ControllerGetPolicyInstanceStatusOKBody) validateEnforceStatusEnum(path, location string, value string) error {
185         if err := validate.EnumCase(path, location, value, a1ControllerGetPolicyInstanceStatusOKBodyTypeEnforceStatusPropEnum, true); err != nil {
186                 return err
187         }
188         return nil
189 }
190
191 func (o *A1ControllerGetPolicyInstanceStatusOKBody) validateEnforceStatus(formats strfmt.Registry) error {
192         if swag.IsZero(o.EnforceStatus) { // not required
193                 return nil
194         }
195
196         // value enum
197         if err := o.validateEnforceStatusEnum("a1ControllerGetPolicyInstanceStatusOK"+"."+"enforceStatus", "body", o.EnforceStatus); err != nil {
198                 return err
199         }
200
201         return nil
202 }
203
204 // ContextValidate validates this a1 controller get policy instance status o k body based on context it is used
205 func (o *A1ControllerGetPolicyInstanceStatusOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
206         return nil
207 }
208
209 // MarshalBinary interface implementation
210 func (o *A1ControllerGetPolicyInstanceStatusOKBody) MarshalBinary() ([]byte, error) {
211         if o == nil {
212                 return nil, nil
213         }
214         return swag.WriteJSON(o)
215 }
216
217 // UnmarshalBinary interface implementation
218 func (o *A1ControllerGetPolicyInstanceStatusOKBody) UnmarshalBinary(b []byte) error {
219         var res A1ControllerGetPolicyInstanceStatusOKBody
220         if err := swag.ReadJSON(b, &res); err != nil {
221                 return err
222         }
223         *o = res
224         return nil
225 }