4a793885db68dfcbd0a11f5dff97d0bf3b97a163
[ric-plt/a1.git] / pkg / models / policy_type_schema.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 models
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         "context"
30
31         "github.com/go-openapi/errors"
32         "github.com/go-openapi/strfmt"
33         "github.com/go-openapi/swag"
34         "github.com/go-openapi/validate"
35 )
36
37 // PolicyTypeSchema policy type schema
38 //
39 // swagger:model policy_type_schema
40 type PolicyTypeSchema struct {
41
42         // jsonschema (following http://json-schema.org/draft-07/schema) of the CREATE payload to be sent to handlers of this policy
43         //
44         // Required: true
45         CreateSchema interface{} `json:"create_schema"`
46
47         // description of the policy type
48         // Required: true
49         Description *string `json:"description"`
50
51         // name of the policy type
52         // Required: true
53         Name *string `json:"name"`
54
55         // the integer of the policy type
56         // Required: true
57         PolicyTypeID *int64 `json:"policy_type_id"`
58 }
59
60 // Validate validates this policy type schema
61 func (m *PolicyTypeSchema) Validate(formats strfmt.Registry) error {
62         var res []error
63
64         if err := m.validateCreateSchema(formats); err != nil {
65                 res = append(res, err)
66         }
67
68         if err := m.validateDescription(formats); err != nil {
69                 res = append(res, err)
70         }
71
72         if err := m.validateName(formats); err != nil {
73                 res = append(res, err)
74         }
75
76         if err := m.validatePolicyTypeID(formats); err != nil {
77                 res = append(res, err)
78         }
79
80         if len(res) > 0 {
81                 return errors.CompositeValidationError(res...)
82         }
83         return nil
84 }
85
86 func (m *PolicyTypeSchema) validateCreateSchema(formats strfmt.Registry) error {
87
88         if m.CreateSchema == nil {
89                 return errors.Required("create_schema", "body", nil)
90         }
91
92         return nil
93 }
94
95 func (m *PolicyTypeSchema) validateDescription(formats strfmt.Registry) error {
96
97         if err := validate.Required("description", "body", m.Description); err != nil {
98                 return err
99         }
100
101         return nil
102 }
103
104 func (m *PolicyTypeSchema) validateName(formats strfmt.Registry) error {
105
106         if err := validate.Required("name", "body", m.Name); err != nil {
107                 return err
108         }
109
110         return nil
111 }
112
113 func (m *PolicyTypeSchema) validatePolicyTypeID(formats strfmt.Registry) error {
114
115         if err := validate.Required("policy_type_id", "body", m.PolicyTypeID); err != nil {
116                 return err
117         }
118
119         return nil
120 }
121
122 // ContextValidate validates this policy type schema based on context it is used
123 func (m *PolicyTypeSchema) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
124         return nil
125 }
126
127 // MarshalBinary interface implementation
128 func (m *PolicyTypeSchema) MarshalBinary() ([]byte, error) {
129         if m == nil {
130                 return nil, nil
131         }
132         return swag.WriteJSON(m)
133 }
134
135 // UnmarshalBinary interface implementation
136 func (m *PolicyTypeSchema) UnmarshalBinary(b []byte) error {
137         var res PolicyTypeSchema
138         if err := swag.ReadJSON(b, &res); err != nil {
139                 return err
140         }
141         *m = res
142         return nil
143 }