7ab9556d84a79960bcd9b857456c627ecf41bbdf
[ric-plt/a1.git] / pkg / restapi / operations / a1_mediator / a1_controller_create_or_replace_policy_instance.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         "net/http"
30
31         "github.com/go-openapi/runtime/middleware"
32 )
33
34 // A1ControllerCreateOrReplacePolicyInstanceHandlerFunc turns a function with the right signature into a a1 controller create or replace policy instance handler
35 type A1ControllerCreateOrReplacePolicyInstanceHandlerFunc func(A1ControllerCreateOrReplacePolicyInstanceParams) middleware.Responder
36
37 // Handle executing the request and returning a response
38 func (fn A1ControllerCreateOrReplacePolicyInstanceHandlerFunc) Handle(params A1ControllerCreateOrReplacePolicyInstanceParams) middleware.Responder {
39         return fn(params)
40 }
41
42 // A1ControllerCreateOrReplacePolicyInstanceHandler interface for that can handle valid a1 controller create or replace policy instance params
43 type A1ControllerCreateOrReplacePolicyInstanceHandler interface {
44         Handle(A1ControllerCreateOrReplacePolicyInstanceParams) middleware.Responder
45 }
46
47 // NewA1ControllerCreateOrReplacePolicyInstance creates a new http.Handler for the a1 controller create or replace policy instance operation
48 func NewA1ControllerCreateOrReplacePolicyInstance(ctx *middleware.Context, handler A1ControllerCreateOrReplacePolicyInstanceHandler) *A1ControllerCreateOrReplacePolicyInstance {
49         return &A1ControllerCreateOrReplacePolicyInstance{Context: ctx, Handler: handler}
50 }
51
52 /* A1ControllerCreateOrReplacePolicyInstance swagger:route PUT /a1-p/policytypes/{policy_type_id}/policies/{policy_instance_id} A1 Mediator a1ControllerCreateOrReplacePolicyInstance
53
54 Create or replace a policy instance of type policy_type_id. The schema of the PUT body is defined by the create_schema field of the policy type.
55
56
57 */
58 type A1ControllerCreateOrReplacePolicyInstance struct {
59         Context *middleware.Context
60         Handler A1ControllerCreateOrReplacePolicyInstanceHandler
61 }
62
63 func (o *A1ControllerCreateOrReplacePolicyInstance) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
64         route, rCtx, _ := o.Context.RouteInfo(r)
65         if rCtx != nil {
66                 *r = *rCtx
67         }
68         var Params = NewA1ControllerCreateOrReplacePolicyInstanceParams()
69         if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params
70                 o.Context.Respond(rw, r, route.Produces, route, err)
71                 return
72         }
73
74         res := o.Handler.Handle(Params) // actually handle the request
75         o.Context.Respond(rw, r, route.Produces, route, res)
76
77 }