27df52f8269ec88e0c6ef25b6951358afc7c3bb0
[ric-plt/a1.git] / pkg / restapi / operations / a1_mediator / a1_controller_get_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 // NewA1ControllerGetPolicyInstanceParams creates a new A1ControllerGetPolicyInstanceParams object
40 //
41 // There are no default values defined in the spec.
42 func NewA1ControllerGetPolicyInstanceParams() A1ControllerGetPolicyInstanceParams {
43
44         return A1ControllerGetPolicyInstanceParams{}
45 }
46
47 // A1ControllerGetPolicyInstanceParams contains all the bound params for the a1 controller get policy instance operation
48 // typically these are obtained from a http.Request
49 //
50 // swagger:parameters a1.controller.get_policy_instance
51 type A1ControllerGetPolicyInstanceParams struct {
52
53         // HTTP Request Object
54         HTTPRequest *http.Request `json:"-"`
55
56         /*URL send by non-RT RIC. This where non-RT RIC expects status updates on the policy creation
57
58           In: query
59         */
60         NotificationDestination *string
61         /*represents a policy instance identifier. UUIDs are advisable but can be any string
62
63           Required: true
64           In: path
65         */
66         PolicyInstanceID string
67         /*represents a policy type identifier. Currently this is restricted to an integer range.
68
69           Required: true
70           Maximum: 2.147483647e+09
71           Minimum: 1
72           In: path
73         */
74         PolicyTypeID int64
75 }
76
77 // BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
78 // for simple values it will use straight method calls.
79 //
80 // To ensure default values, the struct must have been initialized with NewA1ControllerGetPolicyInstanceParams() beforehand.
81 func (o *A1ControllerGetPolicyInstanceParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
82         var res []error
83
84         o.HTTPRequest = r
85
86         qs := runtime.Values(r.URL.Query())
87
88         qNotificationDestination, qhkNotificationDestination, _ := qs.GetOK("notificationDestination")
89         if err := o.bindNotificationDestination(qNotificationDestination, qhkNotificationDestination, route.Formats); err != nil {
90                 res = append(res, err)
91         }
92
93         rPolicyInstanceID, rhkPolicyInstanceID, _ := route.Params.GetOK("policy_instance_id")
94         if err := o.bindPolicyInstanceID(rPolicyInstanceID, rhkPolicyInstanceID, route.Formats); err != nil {
95                 res = append(res, err)
96         }
97
98         rPolicyTypeID, rhkPolicyTypeID, _ := route.Params.GetOK("policy_type_id")
99         if err := o.bindPolicyTypeID(rPolicyTypeID, rhkPolicyTypeID, route.Formats); err != nil {
100                 res = append(res, err)
101         }
102         if len(res) > 0 {
103                 return errors.CompositeValidationError(res...)
104         }
105         return nil
106 }
107
108 // bindNotificationDestination binds and validates parameter NotificationDestination from query.
109 func (o *A1ControllerGetPolicyInstanceParams) bindNotificationDestination(rawData []string, hasKey bool, formats strfmt.Registry) error {
110         var raw string
111         if len(rawData) > 0 {
112                 raw = rawData[len(rawData)-1]
113         }
114
115         // Required: false
116         // AllowEmptyValue: false
117
118         if raw == "" { // empty values pass all other validations
119                 return nil
120         }
121         o.NotificationDestination = &raw
122
123         return nil
124 }
125
126 // bindPolicyInstanceID binds and validates parameter PolicyInstanceID from path.
127 func (o *A1ControllerGetPolicyInstanceParams) bindPolicyInstanceID(rawData []string, hasKey bool, formats strfmt.Registry) error {
128         var raw string
129         if len(rawData) > 0 {
130                 raw = rawData[len(rawData)-1]
131         }
132
133         // Required: true
134         // Parameter is provided by construction from the route
135         o.PolicyInstanceID = raw
136
137         return nil
138 }
139
140 // bindPolicyTypeID binds and validates parameter PolicyTypeID from path.
141 func (o *A1ControllerGetPolicyInstanceParams) bindPolicyTypeID(rawData []string, hasKey bool, formats strfmt.Registry) error {
142         var raw string
143         if len(rawData) > 0 {
144                 raw = rawData[len(rawData)-1]
145         }
146
147         // Required: true
148         // Parameter is provided by construction from the route
149
150         value, err := swag.ConvertInt64(raw)
151         if err != nil {
152                 return errors.InvalidType("policy_type_id", "path", "int64", raw)
153         }
154         o.PolicyTypeID = value
155
156         if err := o.validatePolicyTypeID(formats); err != nil {
157                 return err
158         }
159
160         return nil
161 }
162
163 // validatePolicyTypeID carries on validations for parameter PolicyTypeID
164 func (o *A1ControllerGetPolicyInstanceParams) validatePolicyTypeID(formats strfmt.Registry) error {
165
166         if err := validate.MinimumInt("policy_type_id", "path", o.PolicyTypeID, 1, false); err != nil {
167                 return err
168         }
169
170         if err := validate.MaximumInt("policy_type_id", "path", o.PolicyTypeID, 2.147483647e+09, false); err != nil {
171                 return err
172         }
173
174         return nil
175 }