Files
ziti/rest_model/posture_response_create.go
T
2022-06-08 14:04:13 -04:00

227 lines
6.2 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"
"context"
"encoding/json"
"io"
"io/ioutil"
"github.com/go-openapi/errors"
"github.com/go-openapi/runtime"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/validate"
)
// PostureResponseCreate posture response create
//
// swagger:discriminator postureResponseCreate typeId
type PostureResponseCreate interface {
runtime.Validatable
runtime.ContextValidatable
// id
// Required: true
ID() *string
SetID(*string)
// type Id
// Required: true
TypeID() PostureCheckType
SetTypeID(PostureCheckType)
// AdditionalProperties in base type shoud be handled just like regular properties
// At this moment, the base type property is pushed down to the subtype
}
type postureResponseCreate struct {
idField *string
typeIdField PostureCheckType
}
// ID gets the id of this polymorphic type
func (m *postureResponseCreate) ID() *string {
return m.idField
}
// SetID sets the id of this polymorphic type
func (m *postureResponseCreate) SetID(val *string) {
m.idField = val
}
// TypeID gets the type Id of this polymorphic type
func (m *postureResponseCreate) TypeID() PostureCheckType {
return "postureResponseCreate"
}
// SetTypeID sets the type Id of this polymorphic type
func (m *postureResponseCreate) SetTypeID(val PostureCheckType) {
}
// UnmarshalPostureResponseCreateSlice unmarshals polymorphic slices of PostureResponseCreate
func UnmarshalPostureResponseCreateSlice(reader io.Reader, consumer runtime.Consumer) ([]PostureResponseCreate, error) {
var elements []json.RawMessage
if err := consumer.Consume(reader, &elements); err != nil {
return nil, err
}
var result []PostureResponseCreate
for _, element := range elements {
obj, err := unmarshalPostureResponseCreate(element, consumer)
if err != nil {
return nil, err
}
result = append(result, obj)
}
return result, nil
}
// UnmarshalPostureResponseCreate unmarshals polymorphic PostureResponseCreate
func UnmarshalPostureResponseCreate(reader io.Reader, consumer runtime.Consumer) (PostureResponseCreate, error) {
// we need to read this twice, so first into a buffer
data, err := ioutil.ReadAll(reader)
if err != nil {
return nil, err
}
return unmarshalPostureResponseCreate(data, consumer)
}
func unmarshalPostureResponseCreate(data []byte, consumer runtime.Consumer) (PostureResponseCreate, error) {
buf := bytes.NewBuffer(data)
buf2 := bytes.NewBuffer(data)
// the first time this is read is to fetch the value of the typeId property.
var getType struct {
TypeID string `json:"typeId"`
}
if err := consumer.Consume(buf, &getType); err != nil {
return nil, err
}
if err := validate.RequiredString("typeId", "body", getType.TypeID); err != nil {
return nil, err
}
// The value of typeId is used to determine which type to create and unmarshal the data into
switch getType.TypeID {
case "DOMAIN":
var result PostureResponseDomainCreate
if err := consumer.Consume(buf2, &result); err != nil {
return nil, err
}
return &result, nil
case "ENDPOINT_STATE":
var result PostureResponseEndpointStateCreate
if err := consumer.Consume(buf2, &result); err != nil {
return nil, err
}
return &result, nil
case "MAC":
var result PostureResponseMacAddressCreate
if err := consumer.Consume(buf2, &result); err != nil {
return nil, err
}
return &result, nil
case "OS":
var result PostureResponseOperatingSystemCreate
if err := consumer.Consume(buf2, &result); err != nil {
return nil, err
}
return &result, nil
case "PROCESS":
var result PostureResponseProcessCreate
if err := consumer.Consume(buf2, &result); err != nil {
return nil, err
}
return &result, nil
case "postureResponseCreate":
var result postureResponseCreate
if err := consumer.Consume(buf2, &result); err != nil {
return nil, err
}
return &result, nil
}
return nil, errors.New(422, "invalid typeId value: %q", getType.TypeID)
}
// Validate validates this posture response create
func (m *postureResponseCreate) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateID(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *postureResponseCreate) validateID(formats strfmt.Registry) error {
if err := validate.Required("id", "body", m.ID()); err != nil {
return err
}
return nil
}
// ContextValidate validate this posture response create based on the context it is used
func (m *postureResponseCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateTypeID(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *postureResponseCreate) contextValidateTypeID(ctx context.Context, formats strfmt.Registry) error {
if err := m.TypeID().ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("typeId")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("typeId")
}
return err
}
return nil
}