// Editing this file might prove futile when you re-run the swagger generate command
import (
- strfmt "github.com/go-openapi/strfmt"
-
"github.com/go-openapi/errors"
+ "github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
)
// SubscriptionParams subscription params
+//
// swagger:model SubscriptionParams
type SubscriptionParams struct {
// Required: true
ClientEndpoint *SubscriptionParamsClientEndpoint `json:"ClientEndpoint"`
+ // e2 subscription directives
+ E2SubscriptionDirectives *SubscriptionParamsE2SubscriptionDirectives `json:"E2SubscriptionDirectives,omitempty"`
+
// meid
// Required: true
Meid *string `json:"Meid"`
// subscription details
// Required: true
SubscriptionDetails SubscriptionDetailsList `json:"SubscriptionDetails"`
+
+ // Optional subscription ID (Submgr allocates if not given)
+ SubscriptionID string `json:"SubscriptionId,omitempty"`
}
// Validate validates this subscription params
res = append(res, err)
}
+ if err := m.validateE2SubscriptionDirectives(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.validateMeid(formats); err != nil {
res = append(res, err)
}
return nil
}
+func (m *SubscriptionParams) validateE2SubscriptionDirectives(formats strfmt.Registry) error {
+
+ if swag.IsZero(m.E2SubscriptionDirectives) { // not required
+ return nil
+ }
+
+ if m.E2SubscriptionDirectives != nil {
+ if err := m.E2SubscriptionDirectives.Validate(formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("E2SubscriptionDirectives")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
func (m *SubscriptionParams) validateMeid(formats strfmt.Registry) error {
if err := validate.Required("Meid", "body", m.Meid); err != nil {
}
// SubscriptionParamsClientEndpoint xApp service address and port
+//
// swagger:model SubscriptionParamsClientEndpoint
type SubscriptionParamsClientEndpoint struct {
*m = res
return nil
}
+
+// SubscriptionParamsE2SubscriptionDirectives Optional. If not set Submgr uses its default values
+//
+// swagger:model SubscriptionParamsE2SubscriptionDirectives
+type SubscriptionParamsE2SubscriptionDirectives struct {
+
+ // How many times E2 subscription request is retried
+ // Maximum: 10
+ // Minimum: 0
+ E2RetryCount *int64 `json:"E2RetryCount,omitempty"`
+
+ // How long time response is waited from E2 node
+ // Maximum: 10
+ // Minimum: 1
+ E2TimeoutTimerValue int64 `json:"E2TimeoutTimerValue,omitempty"`
+
+ // Subscription needs RMR route from E2Term to xApp
+ RMRRoutingNeeded bool `json:"RMRRoutingNeeded,omitempty"`
+}
+
+// Validate validates this subscription params e2 subscription directives
+func (m *SubscriptionParamsE2SubscriptionDirectives) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := m.validateE2RetryCount(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateE2TimeoutTimerValue(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (m *SubscriptionParamsE2SubscriptionDirectives) validateE2RetryCount(formats strfmt.Registry) error {
+
+ if swag.IsZero(m.E2RetryCount) { // not required
+ return nil
+ }
+
+ if err := validate.MinimumInt("E2SubscriptionDirectives"+"."+"E2RetryCount", "body", int64(*m.E2RetryCount), 0, false); err != nil {
+ return err
+ }
+
+ if err := validate.MaximumInt("E2SubscriptionDirectives"+"."+"E2RetryCount", "body", int64(*m.E2RetryCount), 10, false); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *SubscriptionParamsE2SubscriptionDirectives) validateE2TimeoutTimerValue(formats strfmt.Registry) error {
+
+ if swag.IsZero(m.E2TimeoutTimerValue) { // not required
+ return nil
+ }
+
+ if err := validate.MinimumInt("E2SubscriptionDirectives"+"."+"E2TimeoutTimerValue", "body", int64(m.E2TimeoutTimerValue), 1, false); err != nil {
+ return err
+ }
+
+ if err := validate.MaximumInt("E2SubscriptionDirectives"+"."+"E2TimeoutTimerValue", "body", int64(m.E2TimeoutTimerValue), 10, false); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (m *SubscriptionParamsE2SubscriptionDirectives) MarshalBinary() ([]byte, error) {
+ if m == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *SubscriptionParamsE2SubscriptionDirectives) UnmarshalBinary(b []byte) error {
+ var res SubscriptionParamsE2SubscriptionDirectives
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *m = res
+ return nil
+}