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 // NewA1ControllerCreateOrReplacePolicyInstanceParams creates a new A1ControllerCreateOrReplacePolicyInstanceParams object
41 // There are no default values defined in the spec.
42 func NewA1ControllerCreateOrReplacePolicyInstanceParams() A1ControllerCreateOrReplacePolicyInstanceParams {
44 return A1ControllerCreateOrReplacePolicyInstanceParams{}
47 // A1ControllerCreateOrReplacePolicyInstanceParams contains all the bound params for the a1 controller create or replace policy instance operation
48 // typically these are obtained from a http.Request
50 // swagger:parameters a1.controller.create_or_replace_policy_instance
51 type A1ControllerCreateOrReplacePolicyInstanceParams struct {
53 // HTTP Request Object
54 HTTPRequest *http.Request `json:"-"`
60 /*URL send by non-RT RIC. This where non-RT RIC expects status updates on the policy creation
64 NotificationDestination *string
65 /*represents a policy instance identifier. UUIDs are advisable but can be any string
70 PolicyInstanceID string
71 /*represents a policy type identifier. Currently this is restricted to an integer range.
74 Maximum: 2.147483647e+09
81 // BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
82 // for simple values it will use straight method calls.
84 // To ensure default values, the struct must have been initialized with NewA1ControllerCreateOrReplacePolicyInstanceParams() beforehand.
85 func (o *A1ControllerCreateOrReplacePolicyInstanceParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
90 qs := runtime.Values(r.URL.Query())
92 if runtime.HasBody(r) {
95 if err := route.Consumer.Consume(r.Body, &body); err != nil {
96 res = append(res, errors.NewParseError("body", "body", "", err))
98 // no validation on generic interface
103 qNotificationDestination, qhkNotificationDestination, _ := qs.GetOK("notificationDestination")
104 if err := o.bindNotificationDestination(qNotificationDestination, qhkNotificationDestination, route.Formats); err != nil {
105 res = append(res, err)
108 rPolicyInstanceID, rhkPolicyInstanceID, _ := route.Params.GetOK("policy_instance_id")
109 if err := o.bindPolicyInstanceID(rPolicyInstanceID, rhkPolicyInstanceID, route.Formats); err != nil {
110 res = append(res, err)
113 rPolicyTypeID, rhkPolicyTypeID, _ := route.Params.GetOK("policy_type_id")
114 if err := o.bindPolicyTypeID(rPolicyTypeID, rhkPolicyTypeID, route.Formats); err != nil {
115 res = append(res, err)
118 return errors.CompositeValidationError(res...)
123 // bindNotificationDestination binds and validates parameter NotificationDestination from query.
124 func (o *A1ControllerCreateOrReplacePolicyInstanceParams) bindNotificationDestination(rawData []string, hasKey bool, formats strfmt.Registry) error {
126 if len(rawData) > 0 {
127 raw = rawData[len(rawData)-1]
131 // AllowEmptyValue: false
133 if raw == "" { // empty values pass all other validations
136 o.NotificationDestination = &raw
141 // bindPolicyInstanceID binds and validates parameter PolicyInstanceID from path.
142 func (o *A1ControllerCreateOrReplacePolicyInstanceParams) bindPolicyInstanceID(rawData []string, hasKey bool, formats strfmt.Registry) error {
144 if len(rawData) > 0 {
145 raw = rawData[len(rawData)-1]
149 // Parameter is provided by construction from the route
150 o.PolicyInstanceID = raw
155 // bindPolicyTypeID binds and validates parameter PolicyTypeID from path.
156 func (o *A1ControllerCreateOrReplacePolicyInstanceParams) bindPolicyTypeID(rawData []string, hasKey bool, formats strfmt.Registry) error {
158 if len(rawData) > 0 {
159 raw = rawData[len(rawData)-1]
163 // Parameter is provided by construction from the route
165 value, err := swag.ConvertInt64(raw)
167 return errors.InvalidType("policy_type_id", "path", "int64", raw)
169 o.PolicyTypeID = value
171 if err := o.validatePolicyTypeID(formats); err != nil {
178 // validatePolicyTypeID carries on validations for parameter PolicyTypeID
179 func (o *A1ControllerCreateOrReplacePolicyInstanceParams) validatePolicyTypeID(formats strfmt.Registry) error {
181 if err := validate.MinimumInt("policy_type_id", "path", o.PolicyTypeID, 1, false); err != nil {
185 if err := validate.MaximumInt("policy_type_id", "path", o.PolicyTypeID, 2.147483647e+09, false); err != nil {