// Code generated by go-swagger; DO NOT EDIT. package models // This file was generated by the swagger tool. // Editing this file might prove futile when you re-run the swagger generate command import ( "encoding/json" "github.com/go-openapi/errors" "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // SubscriptionInstance subscription instance // // swagger:model SubscriptionInstance type SubscriptionInstance struct { // e2 event instance Id // Required: true // Maximum: 65535 // Minimum: 0 E2EventInstanceID *int64 `json:"E2EventInstanceId"` // Descriptive error cause. Empty string when no error. ErrorCause string `json:"ErrorCause,omitempty"` // Source of error cause. // Enum: [SUBMGR RTMGR DBAAS ASN1 E2Node] ErrorSource string `json:"ErrorSource,omitempty"` // Type timeout. xApp should retry if timeout occurs. // Enum: [E2-Timeout RTMGR-Timeout DBAAS-Timeout] TimeoutType string `json:"TimeoutType,omitempty"` // xapp event instance Id // Required: true // Maximum: 65535 // Minimum: 0 XappEventInstanceID *int64 `json:"XappEventInstanceId"` } // Validate validates this subscription instance func (m *SubscriptionInstance) Validate(formats strfmt.Registry) error { var res []error if err := m.validateE2EventInstanceID(formats); err != nil { res = append(res, err) } if err := m.validateErrorSource(formats); err != nil { res = append(res, err) } if err := m.validateTimeoutType(formats); err != nil { res = append(res, err) } if err := m.validateXappEventInstanceID(formats); err != nil { res = append(res, err) } if len(res) > 0 { return errors.CompositeValidationError(res...) } return nil } func (m *SubscriptionInstance) validateE2EventInstanceID(formats strfmt.Registry) error { if err := validate.Required("E2EventInstanceId", "body", m.E2EventInstanceID); err != nil { return err } if err := validate.MinimumInt("E2EventInstanceId", "body", int64(*m.E2EventInstanceID), 0, false); err != nil { return err } if err := validate.MaximumInt("E2EventInstanceId", "body", int64(*m.E2EventInstanceID), 65535, false); err != nil { return err } return nil } var subscriptionInstanceTypeErrorSourcePropEnum []interface{} func init() { var res []string if err := json.Unmarshal([]byte(`["SUBMGR","RTMGR","DBAAS","ASN1","E2Node"]`), &res); err != nil { panic(err) } for _, v := range res { subscriptionInstanceTypeErrorSourcePropEnum = append(subscriptionInstanceTypeErrorSourcePropEnum, v) } } const ( // SubscriptionInstanceErrorSourceSUBMGR captures enum value "SUBMGR" SubscriptionInstanceErrorSourceSUBMGR string = "SUBMGR" // SubscriptionInstanceErrorSourceRTMGR captures enum value "RTMGR" SubscriptionInstanceErrorSourceRTMGR string = "RTMGR" // SubscriptionInstanceErrorSourceDBAAS captures enum value "DBAAS" SubscriptionInstanceErrorSourceDBAAS string = "DBAAS" // SubscriptionInstanceErrorSourceASN1 captures enum value "ASN1" SubscriptionInstanceErrorSourceASN1 string = "ASN1" // SubscriptionInstanceErrorSourceE2Node captures enum value "E2Node" SubscriptionInstanceErrorSourceE2Node string = "E2Node" ) // prop value enum func (m *SubscriptionInstance) validateErrorSourceEnum(path, location string, value string) error { if err := validate.Enum(path, location, value, subscriptionInstanceTypeErrorSourcePropEnum); err != nil { return err } return nil } func (m *SubscriptionInstance) validateErrorSource(formats strfmt.Registry) error { if swag.IsZero(m.ErrorSource) { // not required return nil } // value enum if err := m.validateErrorSourceEnum("ErrorSource", "body", m.ErrorSource); err != nil { return err } return nil } var subscriptionInstanceTypeTimeoutTypePropEnum []interface{} func init() { var res []string if err := json.Unmarshal([]byte(`["E2-Timeout","RTMGR-Timeout","DBAAS-Timeout"]`), &res); err != nil { panic(err) } for _, v := range res { subscriptionInstanceTypeTimeoutTypePropEnum = append(subscriptionInstanceTypeTimeoutTypePropEnum, v) } } const ( // SubscriptionInstanceTimeoutTypeE2Timeout captures enum value "E2-Timeout" SubscriptionInstanceTimeoutTypeE2Timeout string = "E2-Timeout" // SubscriptionInstanceTimeoutTypeRTMGRTimeout captures enum value "RTMGR-Timeout" SubscriptionInstanceTimeoutTypeRTMGRTimeout string = "RTMGR-Timeout" // SubscriptionInstanceTimeoutTypeDBAASTimeout captures enum value "DBAAS-Timeout" SubscriptionInstanceTimeoutTypeDBAASTimeout string = "DBAAS-Timeout" ) // prop value enum func (m *SubscriptionInstance) validateTimeoutTypeEnum(path, location string, value string) error { if err := validate.Enum(path, location, value, subscriptionInstanceTypeTimeoutTypePropEnum); err != nil { return err } return nil } func (m *SubscriptionInstance) validateTimeoutType(formats strfmt.Registry) error { if swag.IsZero(m.TimeoutType) { // not required return nil } // value enum if err := m.validateTimeoutTypeEnum("TimeoutType", "body", m.TimeoutType); err != nil { return err } return nil } func (m *SubscriptionInstance) validateXappEventInstanceID(formats strfmt.Registry) error { if err := validate.Required("XappEventInstanceId", "body", m.XappEventInstanceID); err != nil { return err } if err := validate.MinimumInt("XappEventInstanceId", "body", int64(*m.XappEventInstanceID), 0, false); err != nil { return err } if err := validate.MaximumInt("XappEventInstanceId", "body", int64(*m.XappEventInstanceID), 65535, false); err != nil { return err } return nil } // MarshalBinary interface implementation func (m *SubscriptionInstance) MarshalBinary() ([]byte, error) { if m == nil { return nil, nil } return swag.WriteJSON(m) } // UnmarshalBinary interface implementation func (m *SubscriptionInstance) UnmarshalBinary(b []byte) error { var res SubscriptionInstance if err := swag.ReadJSON(b, &res); err != nil { return err } *m = res return nil }