2 ==================================================================================
3 Copyright (c) 2021 Samsung
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
9 http://www.apache.org/licenses/LICENSE-2.0
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.
17 This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 platform project (RICP).
19 ==================================================================================
21 // Code generated by go-swagger; DO NOT EDIT.
25 // This file was generated by the swagger tool.
26 // Editing this file might prove futile when you re-run the swagger generate command
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"
39 // NewA1ControllerGetPolicyInstanceParams creates a new A1ControllerGetPolicyInstanceParams object
41 // There are no default values defined in the spec.
42 func NewA1ControllerGetPolicyInstanceParams() A1ControllerGetPolicyInstanceParams {
44 return A1ControllerGetPolicyInstanceParams{}
47 // A1ControllerGetPolicyInstanceParams contains all the bound params for the a1 controller get policy instance operation
48 // typically these are obtained from a http.Request
50 // swagger:parameters a1.controller.get_policy_instance
51 type A1ControllerGetPolicyInstanceParams struct {
53 // HTTP Request Object
54 HTTPRequest *http.Request `json:"-"`
56 /*URL send by non-RT RIC. This where non-RT RIC expects status updates on the policy creation
60 NotificationDestination *string
61 /*represents a policy instance identifier. UUIDs are advisable but can be any string
66 PolicyInstanceID string
67 /*represents a policy type identifier. Currently this is restricted to an integer range.
70 Maximum: 2.147483647e+09
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.
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 {
86 qs := runtime.Values(r.URL.Query())
88 qNotificationDestination, qhkNotificationDestination, _ := qs.GetOK("notificationDestination")
89 if err := o.bindNotificationDestination(qNotificationDestination, qhkNotificationDestination, route.Formats); err != nil {
90 res = append(res, err)
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)
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)
103 return errors.CompositeValidationError(res...)
108 // bindNotificationDestination binds and validates parameter NotificationDestination from query.
109 func (o *A1ControllerGetPolicyInstanceParams) bindNotificationDestination(rawData []string, hasKey bool, formats strfmt.Registry) error {
111 if len(rawData) > 0 {
112 raw = rawData[len(rawData)-1]
116 // AllowEmptyValue: false
118 if raw == "" { // empty values pass all other validations
121 o.NotificationDestination = &raw
126 // bindPolicyInstanceID binds and validates parameter PolicyInstanceID from path.
127 func (o *A1ControllerGetPolicyInstanceParams) bindPolicyInstanceID(rawData []string, hasKey bool, formats strfmt.Registry) error {
129 if len(rawData) > 0 {
130 raw = rawData[len(rawData)-1]
134 // Parameter is provided by construction from the route
135 o.PolicyInstanceID = raw
140 // bindPolicyTypeID binds and validates parameter PolicyTypeID from path.
141 func (o *A1ControllerGetPolicyInstanceParams) bindPolicyTypeID(rawData []string, hasKey bool, formats strfmt.Registry) error {
143 if len(rawData) > 0 {
144 raw = rawData[len(rawData)-1]
148 // Parameter is provided by construction from the route
150 value, err := swag.ConvertInt64(raw)
152 return errors.InvalidType("policy_type_id", "path", "int64", raw)
154 o.PolicyTypeID = value
156 if err := o.validatePolicyTypeID(formats); err != nil {
163 // validatePolicyTypeID carries on validations for parameter PolicyTypeID
164 func (o *A1ControllerGetPolicyInstanceParams) validatePolicyTypeID(formats strfmt.Registry) error {
166 if err := validate.MinimumInt("policy_type_id", "path", o.PolicyTypeID, 1, false); err != nil {
170 if err := validate.MaximumInt("policy_type_id", "path", o.PolicyTypeID, 2.147483647e+09, false); err != nil {