Files
ziti/rest_model/posture_check_process_multi_patch.go
T
Andrew Martinez 54af8801e7 adds posture check type PROCESS_MULTI
- adds a new posture check for dealing with multiple processes
- supports anyOf and allOf semantics
- does not require new posture responses, current process responses
  suffice
- tests
2021-04-20 08:52:23 -04:00

307 lines
6.9 KiB
Go

// Code generated by go-swagger; DO NOT EDIT.
//
// Copyright NetFoundry, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// __ __ _
// \ \ / / (_)
// \ \ /\ / /_ _ _ __ _ __ _ _ __ __ _
// \ \/ \/ / _` | '__| '_ \| | '_ \ / _` |
// \ /\ / (_| | | | | | | | | | | (_| | : This file is generated, do not edit it.
// \/ \/ \__,_|_| |_| |_|_|_| |_|\__, |
// __/ |
// |___/
package rest_model
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"bytes"
"encoding/json"
"strconv"
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
)
// PostureCheckProcessMultiPatch posture check process multi patch
//
// swagger:model PostureCheckProcessMultiPatch
type PostureCheckProcessMultiPatch struct {
nameField string
roleAttributesField Attributes
tagsField Tags
// processes
// Min Items: 1
Processes []*ProcessMulti `json:"processes"`
// semantic
Semantic Semantic `json:"semantic,omitempty"`
}
// Name gets the name of this subtype
func (m *PostureCheckProcessMultiPatch) Name() string {
return m.nameField
}
// SetName sets the name of this subtype
func (m *PostureCheckProcessMultiPatch) SetName(val string) {
m.nameField = val
}
// RoleAttributes gets the role attributes of this subtype
func (m *PostureCheckProcessMultiPatch) RoleAttributes() Attributes {
return m.roleAttributesField
}
// SetRoleAttributes sets the role attributes of this subtype
func (m *PostureCheckProcessMultiPatch) SetRoleAttributes(val Attributes) {
m.roleAttributesField = val
}
// Tags gets the tags of this subtype
func (m *PostureCheckProcessMultiPatch) Tags() Tags {
return m.tagsField
}
// SetTags sets the tags of this subtype
func (m *PostureCheckProcessMultiPatch) SetTags(val Tags) {
m.tagsField = val
}
// UnmarshalJSON unmarshals this object with a polymorphic type from a JSON structure
func (m *PostureCheckProcessMultiPatch) UnmarshalJSON(raw []byte) error {
var data struct {
// processes
// Min Items: 1
Processes []*ProcessMulti `json:"processes"`
// semantic
Semantic Semantic `json:"semantic,omitempty"`
}
buf := bytes.NewBuffer(raw)
dec := json.NewDecoder(buf)
dec.UseNumber()
if err := dec.Decode(&data); err != nil {
return err
}
var base struct {
/* Just the base type fields. Used for unmashalling polymorphic types.*/
Name string `json:"name,omitempty"`
RoleAttributes Attributes `json:"roleAttributes"`
Tags Tags `json:"tags"`
}
buf = bytes.NewBuffer(raw)
dec = json.NewDecoder(buf)
dec.UseNumber()
if err := dec.Decode(&base); err != nil {
return err
}
var result PostureCheckProcessMultiPatch
result.nameField = base.Name
result.roleAttributesField = base.RoleAttributes
result.tagsField = base.Tags
result.Processes = data.Processes
result.Semantic = data.Semantic
*m = result
return nil
}
// MarshalJSON marshals this object with a polymorphic type to a JSON structure
func (m PostureCheckProcessMultiPatch) MarshalJSON() ([]byte, error) {
var b1, b2, b3 []byte
var err error
b1, err = json.Marshal(struct {
// processes
// Min Items: 1
Processes []*ProcessMulti `json:"processes"`
// semantic
Semantic Semantic `json:"semantic,omitempty"`
}{
Processes: m.Processes,
Semantic: m.Semantic,
})
if err != nil {
return nil, err
}
b2, err = json.Marshal(struct {
Name string `json:"name,omitempty"`
RoleAttributes Attributes `json:"roleAttributes"`
Tags Tags `json:"tags"`
}{
Name: m.Name(),
RoleAttributes: m.RoleAttributes(),
Tags: m.Tags(),
})
if err != nil {
return nil, err
}
return swag.ConcatJSON(b1, b2, b3), nil
}
// Validate validates this posture check process multi patch
func (m *PostureCheckProcessMultiPatch) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateRoleAttributes(formats); err != nil {
res = append(res, err)
}
if err := m.validateTags(formats); err != nil {
res = append(res, err)
}
if err := m.validateProcesses(formats); err != nil {
res = append(res, err)
}
if err := m.validateSemantic(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *PostureCheckProcessMultiPatch) validateRoleAttributes(formats strfmt.Registry) error {
if swag.IsZero(m.RoleAttributes()) { // not required
return nil
}
if err := m.RoleAttributes().Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("roleAttributes")
}
return err
}
return nil
}
func (m *PostureCheckProcessMultiPatch) validateTags(formats strfmt.Registry) error {
if swag.IsZero(m.Tags()) { // not required
return nil
}
if err := m.Tags().Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags")
}
return err
}
return nil
}
func (m *PostureCheckProcessMultiPatch) validateProcesses(formats strfmt.Registry) error {
if swag.IsZero(m.Processes) { // not required
return nil
}
iProcessesSize := int64(len(m.Processes))
if err := validate.MinItems("processes", "body", iProcessesSize, 1); err != nil {
return err
}
for i := 0; i < len(m.Processes); i++ {
if swag.IsZero(m.Processes[i]) { // not required
continue
}
if m.Processes[i] != nil {
if err := m.Processes[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("processes" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
func (m *PostureCheckProcessMultiPatch) validateSemantic(formats strfmt.Registry) error {
if swag.IsZero(m.Semantic) { // not required
return nil
}
if err := m.Semantic.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("semantic")
}
return err
}
return nil
}
// MarshalBinary interface implementation
func (m *PostureCheckProcessMultiPatch) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *PostureCheckProcessMultiPatch) UnmarshalBinary(b []byte) error {
var res PostureCheckProcessMultiPatch
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}