Files
ziti/rest_model/session_management_detail.go
T
2021-12-20 09:19:15 -05:00

198 lines
5.1 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 (
"context"
"strconv"
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// SessionManagementDetail session management detail
//
// swagger:model sessionManagementDetail
type SessionManagementDetail struct {
SessionDetail
// service policies
ServicePolicies []*EntityRef `json:"servicePolicies"`
}
// UnmarshalJSON unmarshals this object from a JSON structure
func (m *SessionManagementDetail) UnmarshalJSON(raw []byte) error {
// AO0
var aO0 SessionDetail
if err := swag.ReadJSON(raw, &aO0); err != nil {
return err
}
m.SessionDetail = aO0
// AO1
var dataAO1 struct {
ServicePolicies []*EntityRef `json:"servicePolicies"`
}
if err := swag.ReadJSON(raw, &dataAO1); err != nil {
return err
}
m.ServicePolicies = dataAO1.ServicePolicies
return nil
}
// MarshalJSON marshals this object to a JSON structure
func (m SessionManagementDetail) MarshalJSON() ([]byte, error) {
_parts := make([][]byte, 0, 2)
aO0, err := swag.WriteJSON(m.SessionDetail)
if err != nil {
return nil, err
}
_parts = append(_parts, aO0)
var dataAO1 struct {
ServicePolicies []*EntityRef `json:"servicePolicies"`
}
dataAO1.ServicePolicies = m.ServicePolicies
jsonDataAO1, errAO1 := swag.WriteJSON(dataAO1)
if errAO1 != nil {
return nil, errAO1
}
_parts = append(_parts, jsonDataAO1)
return swag.ConcatJSON(_parts...), nil
}
// Validate validates this session management detail
func (m *SessionManagementDetail) Validate(formats strfmt.Registry) error {
var res []error
// validation for a type composition with SessionDetail
if err := m.SessionDetail.Validate(formats); err != nil {
res = append(res, err)
}
if err := m.validateServicePolicies(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *SessionManagementDetail) validateServicePolicies(formats strfmt.Registry) error {
if swag.IsZero(m.ServicePolicies) { // not required
return nil
}
for i := 0; i < len(m.ServicePolicies); i++ {
if swag.IsZero(m.ServicePolicies[i]) { // not required
continue
}
if m.ServicePolicies[i] != nil {
if err := m.ServicePolicies[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("servicePolicies" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("servicePolicies" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// ContextValidate validate this session management detail based on the context it is used
func (m *SessionManagementDetail) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
// validation for a type composition with SessionDetail
if err := m.SessionDetail.ContextValidate(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateServicePolicies(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *SessionManagementDetail) contextValidateServicePolicies(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.ServicePolicies); i++ {
if m.ServicePolicies[i] != nil {
if err := m.ServicePolicies[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("servicePolicies" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("servicePolicies" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// MarshalBinary interface implementation
func (m *SessionManagementDetail) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *SessionManagementDetail) UnmarshalBinary(b []byte) error {
var res SessionManagementDetail
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}