Initial code for the a1 implementation for go
[ric-plt/a1.git] / a1-go / pkg / restapi / operations / a1_mediator / a1_controller_create_or_replace_policy_instance_parameters.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 swagger generate command
27
28 import (
29         "net/http"
30
31         "github.com/go-openapi/errors"
32         "github.com/go-openapi/runtime"
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 // NewA1ControllerCreateOrReplacePolicyInstanceParams creates a new A1ControllerCreateOrReplacePolicyInstanceParams object
40 // no default values defined in spec.
41 func NewA1ControllerCreateOrReplacePolicyInstanceParams() A1ControllerCreateOrReplacePolicyInstanceParams {
42
43         return A1ControllerCreateOrReplacePolicyInstanceParams{}
44 }
45
46 // A1ControllerCreateOrReplacePolicyInstanceParams contains all the bound params for the a1 controller create or replace policy instance operation
47 // typically these are obtained from a http.Request
48 //
49 // swagger:parameters a1.controller.create_or_replace_policy_instance
50 type A1ControllerCreateOrReplacePolicyInstanceParams struct {
51
52         // HTTP Request Object
53         HTTPRequest *http.Request `json:"-"`
54
55         /*
56           In: body
57         */
58         Body interface{}
59         /*represents a policy instance identifier. UUIDs are advisable but can be any string
60
61           Required: true
62           In: path
63         */
64         PolicyInstanceID string
65         /*represents a policy type identifier. Currently this is restricted to an integer range.
66
67           Required: true
68           Maximum: 2.147483647e+09
69           Minimum: 1
70           In: path
71         */
72         PolicyTypeID int64
73 }
74
75 // BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
76 // for simple values it will use straight method calls.
77 //
78 // To ensure default values, the struct must have been initialized with NewA1ControllerCreateOrReplacePolicyInstanceParams() beforehand.
79 func (o *A1ControllerCreateOrReplacePolicyInstanceParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
80         var res []error
81
82         o.HTTPRequest = r
83
84         if runtime.HasBody(r) {
85                 defer r.Body.Close()
86                 var body interface{}
87                 if err := route.Consumer.Consume(r.Body, &body); err != nil {
88                         res = append(res, errors.NewParseError("body", "body", "", err))
89                 } else {
90                         // no validation on generic interface
91                         o.Body = body
92                 }
93         }
94         rPolicyInstanceID, rhkPolicyInstanceID, _ := route.Params.GetOK("policy_instance_id")
95         if err := o.bindPolicyInstanceID(rPolicyInstanceID, rhkPolicyInstanceID, route.Formats); err != nil {
96                 res = append(res, err)
97         }
98
99         rPolicyTypeID, rhkPolicyTypeID, _ := route.Params.GetOK("policy_type_id")
100         if err := o.bindPolicyTypeID(rPolicyTypeID, rhkPolicyTypeID, route.Formats); err != nil {
101                 res = append(res, err)
102         }
103
104         if len(res) > 0 {
105                 return errors.CompositeValidationError(res...)
106         }
107         return nil
108 }
109
110 // bindPolicyInstanceID binds and validates parameter PolicyInstanceID from path.
111 func (o *A1ControllerCreateOrReplacePolicyInstanceParams) bindPolicyInstanceID(rawData []string, hasKey bool, formats strfmt.Registry) error {
112         var raw string
113         if len(rawData) > 0 {
114                 raw = rawData[len(rawData)-1]
115         }
116
117         // Required: true
118         // Parameter is provided by construction from the route
119
120         o.PolicyInstanceID = raw
121
122         return nil
123 }
124
125 // bindPolicyTypeID binds and validates parameter PolicyTypeID from path.
126 func (o *A1ControllerCreateOrReplacePolicyInstanceParams) bindPolicyTypeID(rawData []string, hasKey bool, formats strfmt.Registry) error {
127         var raw string
128         if len(rawData) > 0 {
129                 raw = rawData[len(rawData)-1]
130         }
131
132         // Required: true
133         // Parameter is provided by construction from the route
134
135         value, err := swag.ConvertInt64(raw)
136         if err != nil {
137                 return errors.InvalidType("policy_type_id", "path", "int64", raw)
138         }
139         o.PolicyTypeID = value
140
141         if err := o.validatePolicyTypeID(formats); err != nil {
142                 return err
143         }
144
145         return nil
146 }
147
148 // validatePolicyTypeID carries on validations for parameter PolicyTypeID
149 func (o *A1ControllerCreateOrReplacePolicyInstanceParams) validatePolicyTypeID(formats strfmt.Registry) error {
150
151         if err := validate.MinimumInt("policy_type_id", "path", int64(o.PolicyTypeID), 1, false); err != nil {
152                 return err
153         }
154
155         if err := validate.MaximumInt("policy_type_id", "path", int64(o.PolicyTypeID), 2.147483647e+09, false); err != nil {
156                 return err
157         }
158
159         return nil
160 }