Replacing a1-python with a1-go implementation
[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         "encoding/json"
30         "net/http"
31
32         "github.com/go-openapi/errors"
33         "github.com/go-openapi/runtime/middleware"
34         "github.com/go-openapi/strfmt"
35         "github.com/go-openapi/swag"
36         "github.com/go-openapi/validate"
37 )
38
39 // A1ControllerGetPolicyInstanceStatusHandlerFunc turns a function with the right signature into a a1 controller get policy instance status handler
40 type A1ControllerGetPolicyInstanceStatusHandlerFunc func(A1ControllerGetPolicyInstanceStatusParams) middleware.Responder
41
42 // Handle executing the request and returning a response
43 func (fn A1ControllerGetPolicyInstanceStatusHandlerFunc) Handle(params A1ControllerGetPolicyInstanceStatusParams) middleware.Responder {
44         return fn(params)
45 }
46
47 // A1ControllerGetPolicyInstanceStatusHandler interface for that can handle valid a1 controller get policy instance status params
48 type A1ControllerGetPolicyInstanceStatusHandler interface {
49         Handle(A1ControllerGetPolicyInstanceStatusParams) middleware.Responder
50 }
51
52 // NewA1ControllerGetPolicyInstanceStatus creates a new http.Handler for the a1 controller get policy instance status operation
53 func NewA1ControllerGetPolicyInstanceStatus(ctx *middleware.Context, handler A1ControllerGetPolicyInstanceStatusHandler) *A1ControllerGetPolicyInstanceStatus {
54         return &A1ControllerGetPolicyInstanceStatus{Context: ctx, Handler: handler}
55 }
56
57 /*A1ControllerGetPolicyInstanceStatus swagger:route GET /a1-p/policytypes/{policy_type_id}/policies/{policy_instance_id}/status A1 Mediator a1ControllerGetPolicyInstanceStatus
58
59 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)
60
61
62 */
63 type A1ControllerGetPolicyInstanceStatus struct {
64         Context *middleware.Context
65         Handler A1ControllerGetPolicyInstanceStatusHandler
66 }
67
68 func (o *A1ControllerGetPolicyInstanceStatus) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
69         route, rCtx, _ := o.Context.RouteInfo(r)
70         if rCtx != nil {
71                 r = rCtx
72         }
73         var Params = NewA1ControllerGetPolicyInstanceStatusParams()
74
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
82         o.Context.Respond(rw, r, route.Produces, route, res)
83
84 }
85
86 // A1ControllerGetPolicyInstanceStatusOKBody a1 controller get policy instance status o k body
87 //
88 // swagger:model A1ControllerGetPolicyInstanceStatusOKBody
89 type A1ControllerGetPolicyInstanceStatusOKBody struct {
90
91         // created at
92         // Format: date-time
93         CreatedAt strfmt.DateTime `json:"created_at,omitempty"`
94
95         // has been deleted
96         HasBeenDeleted bool `json:"has_been_deleted,omitempty"`
97
98         // instance status
99         // Enum: [IN EFFECT NOT IN EFFECT]
100         InstanceStatus string `json:"instance_status,omitempty"`
101 }
102
103 // Validate validates this a1 controller get policy instance status o k body
104 func (o *A1ControllerGetPolicyInstanceStatusOKBody) Validate(formats strfmt.Registry) error {
105         var res []error
106
107         if err := o.validateCreatedAt(formats); err != nil {
108                 res = append(res, err)
109         }
110
111         if err := o.validateInstanceStatus(formats); err != nil {
112                 res = append(res, err)
113         }
114
115         if len(res) > 0 {
116                 return errors.CompositeValidationError(res...)
117         }
118         return nil
119 }
120
121 func (o *A1ControllerGetPolicyInstanceStatusOKBody) validateCreatedAt(formats strfmt.Registry) error {
122
123         if swag.IsZero(o.CreatedAt) { // not required
124                 return nil
125         }
126
127         if err := validate.FormatOf("a1ControllerGetPolicyInstanceStatusOK"+"."+"created_at", "body", "date-time", o.CreatedAt.String(), formats); err != nil {
128                 return err
129         }
130
131         return nil
132 }
133
134 var a1ControllerGetPolicyInstanceStatusOKBodyTypeInstanceStatusPropEnum []interface{}
135
136 func init() {
137         var res []string
138         if err := json.Unmarshal([]byte(`["IN EFFECT","NOT IN EFFECT"]`), &res); err != nil {
139                 panic(err)
140         }
141         for _, v := range res {
142                 a1ControllerGetPolicyInstanceStatusOKBodyTypeInstanceStatusPropEnum = append(a1ControllerGetPolicyInstanceStatusOKBodyTypeInstanceStatusPropEnum, v)
143         }
144 }
145
146 const (
147
148         // A1ControllerGetPolicyInstanceStatusOKBodyInstanceStatusINEFFECT captures enum value "IN EFFECT"
149         A1ControllerGetPolicyInstanceStatusOKBodyInstanceStatusINEFFECT string = "IN EFFECT"
150
151         // A1ControllerGetPolicyInstanceStatusOKBodyInstanceStatusNOTINEFFECT captures enum value "NOT IN EFFECT"
152         A1ControllerGetPolicyInstanceStatusOKBodyInstanceStatusNOTINEFFECT string = "NOT IN EFFECT"
153 )
154
155 // prop value enum
156 func (o *A1ControllerGetPolicyInstanceStatusOKBody) validateInstanceStatusEnum(path, location string, value string) error {
157         if err := validate.Enum(path, location, value, a1ControllerGetPolicyInstanceStatusOKBodyTypeInstanceStatusPropEnum); err != nil {
158                 return err
159         }
160         return nil
161 }
162
163 func (o *A1ControllerGetPolicyInstanceStatusOKBody) validateInstanceStatus(formats strfmt.Registry) error {
164
165         if swag.IsZero(o.InstanceStatus) { // not required
166                 return nil
167         }
168
169         // value enum
170         if err := o.validateInstanceStatusEnum("a1ControllerGetPolicyInstanceStatusOK"+"."+"instance_status", "body", o.InstanceStatus); err != nil {
171                 return err
172         }
173
174         return nil
175 }
176
177 // MarshalBinary interface implementation
178 func (o *A1ControllerGetPolicyInstanceStatusOKBody) MarshalBinary() ([]byte, error) {
179         if o == nil {
180                 return nil, nil
181         }
182         return swag.WriteJSON(o)
183 }
184
185 // UnmarshalBinary interface implementation
186 func (o *A1ControllerGetPolicyInstanceStatusOKBody) UnmarshalBinary(b []byte) error {
187         var res A1ControllerGetPolicyInstanceStatusOKBody
188         if err := swag.ReadJSON(b, &res); err != nil {
189                 return err
190         }
191         *o = res
192         return nil
193 }