X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fclientmodel%2Fsubscription_params.go;h=b116e50c55923e4bddd62d4568fc196e35f2e797;hb=refs%2Fchanges%2F04%2F6704%2F1;hp=eb1d875281b3c93a22c6c3b73231888806570a45;hpb=3602bf801fef17e317cb35a4c710118ec80908b9;p=ric-plt%2Fxapp-frame.git diff --git a/pkg/clientmodel/subscription_params.go b/pkg/clientmodel/subscription_params.go index eb1d875..b116e50 100644 --- a/pkg/clientmodel/subscription_params.go +++ b/pkg/clientmodel/subscription_params.go @@ -6,14 +6,14 @@ package clientmodel // 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 { @@ -21,11 +21,8 @@ type SubscriptionParams struct { // Required: true ClientEndpoint *SubscriptionParamsClientEndpoint `json:"ClientEndpoint"` - // instance Id - // Required: true - // Maximum: 65535 - // Minimum: 0 - InstanceID *int64 `json:"InstanceId"` + // e2 subscription directives + E2SubscriptionDirectives *SubscriptionParamsE2SubscriptionDirectives `json:"E2SubscriptionDirectives,omitempty"` // meid // Required: true @@ -37,15 +34,12 @@ type SubscriptionParams struct { // Minimum: 0 RANFunctionID *int64 `json:"RANFunctionID"` - // requestor Id - // Required: true - // Maximum: 65535 - // Minimum: 0 - RequestorID *int64 `json:"RequestorId"` - // 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 @@ -56,7 +50,7 @@ func (m *SubscriptionParams) Validate(formats strfmt.Registry) error { res = append(res, err) } - if err := m.validateInstanceID(formats); err != nil { + if err := m.validateE2SubscriptionDirectives(formats); err != nil { res = append(res, err) } @@ -68,10 +62,6 @@ func (m *SubscriptionParams) Validate(formats strfmt.Registry) error { res = append(res, err) } - if err := m.validateRequestorID(formats); err != nil { - res = append(res, err) - } - if err := m.validateSubscriptionDetails(formats); err != nil { res = append(res, err) } @@ -100,18 +90,19 @@ func (m *SubscriptionParams) validateClientEndpoint(formats strfmt.Registry) err return nil } -func (m *SubscriptionParams) validateInstanceID(formats strfmt.Registry) error { - - if err := validate.Required("InstanceId", "body", m.InstanceID); err != nil { - return err - } +func (m *SubscriptionParams) validateE2SubscriptionDirectives(formats strfmt.Registry) error { - if err := validate.MinimumInt("InstanceId", "body", int64(*m.InstanceID), 0, false); err != nil { - return err + if swag.IsZero(m.E2SubscriptionDirectives) { // not required + return nil } - if err := validate.MaximumInt("InstanceId", "body", int64(*m.InstanceID), 65535, false); err != nil { - return err + 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 @@ -143,23 +134,6 @@ func (m *SubscriptionParams) validateRANFunctionID(formats strfmt.Registry) erro return nil } -func (m *SubscriptionParams) validateRequestorID(formats strfmt.Registry) error { - - if err := validate.Required("RequestorId", "body", m.RequestorID); err != nil { - return err - } - - if err := validate.MinimumInt("RequestorId", "body", int64(*m.RequestorID), 0, false); err != nil { - return err - } - - if err := validate.MaximumInt("RequestorId", "body", int64(*m.RequestorID), 65535, false); err != nil { - return err - } - - return nil -} - func (m *SubscriptionParams) validateSubscriptionDetails(formats strfmt.Registry) error { if err := validate.Required("SubscriptionDetails", "body", m.SubscriptionDetails); err != nil { @@ -195,23 +169,33 @@ func (m *SubscriptionParams) UnmarshalBinary(b []byte) error { } // SubscriptionParamsClientEndpoint xApp service address and port +// // swagger:model SubscriptionParamsClientEndpoint type SubscriptionParamsClientEndpoint struct { - // xApp service address port + // xApp HTTP service address port // Maximum: 65535 // Minimum: 0 - Port *int64 `json:"Port,omitempty"` + HTTPPort *int64 `json:"HTTPPort,omitempty"` // xApp service address name like 'service-ricxapp-xappname-http.ricxapp' - ServiceName string `json:"ServiceName,omitempty"` + Host string `json:"Host,omitempty"` + + // xApp RMR service address port + // Maximum: 65535 + // Minimum: 0 + RMRPort *int64 `json:"RMRPort,omitempty"` } // Validate validates this subscription params client endpoint func (m *SubscriptionParamsClientEndpoint) Validate(formats strfmt.Registry) error { var res []error - if err := m.validatePort(formats); err != nil { + if err := m.validateHTTPPort(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRMRPort(formats); err != nil { res = append(res, err) } @@ -221,17 +205,34 @@ func (m *SubscriptionParamsClientEndpoint) Validate(formats strfmt.Registry) err return nil } -func (m *SubscriptionParamsClientEndpoint) validatePort(formats strfmt.Registry) error { +func (m *SubscriptionParamsClientEndpoint) validateHTTPPort(formats strfmt.Registry) error { - if swag.IsZero(m.Port) { // not required + if swag.IsZero(m.HTTPPort) { // not required return nil } - if err := validate.MinimumInt("ClientEndpoint"+"."+"Port", "body", int64(*m.Port), 0, false); err != nil { + if err := validate.MinimumInt("ClientEndpoint"+"."+"HTTPPort", "body", int64(*m.HTTPPort), 0, false); err != nil { return err } - if err := validate.MaximumInt("ClientEndpoint"+"."+"Port", "body", int64(*m.Port), 65535, false); err != nil { + if err := validate.MaximumInt("ClientEndpoint"+"."+"HTTPPort", "body", int64(*m.HTTPPort), 65535, false); err != nil { + return err + } + + return nil +} + +func (m *SubscriptionParamsClientEndpoint) validateRMRPort(formats strfmt.Registry) error { + + if swag.IsZero(m.RMRPort) { // not required + return nil + } + + if err := validate.MinimumInt("ClientEndpoint"+"."+"RMRPort", "body", int64(*m.RMRPort), 0, false); err != nil { + return err + } + + if err := validate.MaximumInt("ClientEndpoint"+"."+"RMRPort", "body", int64(*m.RMRPort), 65535, false); err != nil { return err } @@ -255,3 +256,92 @@ func (m *SubscriptionParamsClientEndpoint) UnmarshalBinary(b []byte) error { *m = res return nil } + +// SubscriptionParamsE2SubscriptionDirectives subscription params e2 subscription directives +// +// 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 +}