Skip to content
Snippets Groups Projects
Commit b5b0636e authored by Ikram Haq's avatar Ikram Haq
Browse files

Merge branch 'STF678_Task_3_EDGE-1/4' into 'STF678_Task1_2_3_4'

Merge STF678_Task_3_EDGE-1/4 into STF678_Task1_2_3_4

See merge request !3
parents b56b6df7 475f626c
No related branches found
No related tags found
2 merge requests!5Refactored ECS configuration and EEC registration handling for improved...,!3Merge STF678_Task_3_EDGE-1/4 into STF678_Task1_2_3_4
Showing
with 2505 additions and 37 deletions
......@@ -49,12 +49,19 @@ ingress:
- /{{.SandboxName}}/{{.MepName}}/service-apis
- /{{.SandboxName}}/{{.MepName}}/published-apis
- /{{.SandboxName}}/{{.MepName}}/capif-events
- /{{.SandboxName}}/{{.MepName}}/eecs-serviceprovisioning
- /{{.SandboxName}}/{{.MepName}}/eees-eecregistration
- /{{.SandboxName}}/{{.MepName}}/eees-easdiscovery
{{- else }}
- /{{.SandboxName}}/mec_app_support
- /{{.SandboxName}}/mec_service_mgmt
- /{{.SandboxName}}/service-apis
- /{{.SandboxName}}/published-apis
- /{{.SandboxName}}/capif-events
- /{{.SandboxName}}/eecs-serviceprovisioning
- /{{.SandboxName}}/eees-eecregistration
- /{{.SandboxName}}/eees-easdiscovery
{{- end }}
annotations:
kubernetes.io/ingress.class: nginx
......@@ -66,6 +73,9 @@ ingress:
rewrite ^/{{ .SandboxName }}/{{.MepName}}/service-apis(/|$)(.*)$ /service-apis/$2 break;
rewrite ^/{{ .SandboxName }}/{{.MepName}}/published-apis(/|$)(.*)$ /published-apis/$2 break;
rewrite ^/{{ .SandboxName }}/{{.MepName}}/capif-events(/|$)(.*)$ /capif-events/$2 break;
rewrite ^/{{ .SandboxName }}/{{.MepName}}/eecs-serviceprovisioning(/|$)(.*)$ /eecs-serviceprovisioning/$2 break;
rewrite ^/{{ .SandboxName }}/{{.MepName}}/eees-eecregistration(/|$)(.*)$ /eees-eecregistration/$2 break;
rewrite ^/{{ .SandboxName }}/{{.MepName}}/eees-easdiscovery(/|$)(.*)$ /eees-easdiscovery/$2 break;
{{- else }}
nginx.ingress.kubernetes.io/configuration-snippet: |
rewrite ^/{{ .SandboxName }}/mec_app_support(/|$)(.*)$ /mec_app_support/$2 break;
......@@ -73,6 +83,9 @@ ingress:
rewrite ^/{{ .SandboxName }}/service-apis(/|$)(.*)$ /service-apis/$2 break;
rewrite ^/{{ .SandboxName }}/published-apis(/|$)(.*)$ /published-apis/$2 break;
rewrite ^/{{ .SandboxName }}/capif-events(/|$)(.*)$ /capif-events/$2 break;
rewrite ^/{{ .SandboxName }}/eecs-serviceprovisioning(/|$)(.*)$ /eecs-serviceprovisioning/$2 break;
rewrite ^/{{ .SandboxName }}/eees-eecregistration(/|$)(.*)$ /eees-eecregistration/$2 break;
rewrite ^/{{ .SandboxName }}/eees-easdiscovery(/|$)(.*)$ /eees-easdiscovery/$2 break;
{{- end }}
{{- if .AuthEnabled }}
nginx.ingress.kubernetes.io/auth-url: https://$http_host/auth/v1/authenticate?svc=meep-app-enablement&sbox={{.SandboxName}}&mep={{.MepName}}
......
This diff is collapsed.
......@@ -59,6 +59,29 @@ func TimingCurrentTimeGET(w http.ResponseWriter, r *http.Request) {
timingCurrentTimeGET(w, r)
}
func GetEASDiscInfo(w http.ResponseWriter, r *http.Request) {
getEASDiscInfo(w, r)
}
func RequestServProv(w http.ResponseWriter, r *http.Request) {
requestServProv(w, r)
}
func DeleteIndEECReg(w http.ResponseWriter, r *http.Request) {
deleteIndEECReg(w, r)
}
func CreateEECReg(w http.ResponseWriter, r *http.Request) {
createEECReg(w, r)
}
func UpdateRegistrationPut(w http.ResponseWriter, r *http.Request) {
updateRegistrationPut(w, r)
}
func GetRegistration(w http.ResponseWriter, r *http.Request) {
getRegistration(w, r)
}
func AppRegistrationPOST(w http.ResponseWriter, r *http.Request) {
appRegistrationPOST(w, r)
}
......
......@@ -77,3 +77,42 @@ func convertAppInfoToJson(obj *AppInfo) string {
return string(jsonInfo)
}
func convertEcsServProvReqInfoToJson(obj *EcsServProvReq) string {
jsonInfo, err := json.Marshal(*obj)
if err != nil {
log.Error(err.Error())
return ""
}
return string(jsonInfo)
}
func convertEecRegReqInfoToJson(obj *EecRegistration) string {
jsonInfo, err := json.Marshal(*obj)
if err != nil {
log.Error(err.Error())
return ""
}
return string(jsonInfo)
}
func convertEecPrevRegReqInfoToJson(jsonInfo string) *EecRegistration {
var obj EecRegistration
err := json.Unmarshal([]byte(jsonInfo), &obj)
if err != nil {
log.Error(err.Error())
return nil
}
return &obj
}
func convertEasDiscoveryRespToJson(obj *EasDiscoveryResp) string {
jsonInfo, err := json.Marshal(*obj)
if err != nil {
log.Error(err.Error())
return ""
}
return string(jsonInfo)
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// Represents EAS dynamic information changes filter.
type AcCharacteristics struct {
AcProf *AcProfile `json:"acProf"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// AC information indicating required services and service characteristics.
type AcProfile struct {
// Identity of the AC.
AcId string `json:"acId"`
// The category or type of AC.
AcType string `json:"acType,omitempty"`
// Indicates to the ECS which ECSPs are preferred for the AC.
PrefEcsps []string `json:"prefEcsps,omitempty"`
SimInactTime int32 `json:"simInactTime,omitempty"`
// List of EAS information.
Eass []EasDetail `json:"eass,omitempty"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// Represents the ACR scenarios supported by EES. Possible values are: - EEC_INITIATED: Represents the EEC initiated ACR scenario. - EEC_EXECUTED_VIA_SOURCE_EES: Represents the EEC ACR scenario executed via the S-EES. - EEC_EXECUTED_VIA_TARGET_EES: Represents the EEC ACR scenario executed via the T-EES. - SOURCE_EAS_DECIDED: Represents the EEC ACR scenario where the S-EAS decides to perform ACR. - SOURCE_EES_EXECUTED: Represents the EEC ACR scenario where S-EES executes the ACR. - EEL_MANAGED_ACR: Represents the EEC ACR scenario where the ACR is managed by the Edge Enabler Layer.
type AcrScenario string
// Enum values for ACRScenarioEnum.
const (
EEC_INITIATED AcrScenario = "EEC_INITIATED"
EEC_EXECUTED_VIA_SOURCE_EES AcrScenario = "EEC_EXECUTED_VIA_SOURCE_EES"
EEC_EXECUTED_VIA_TARGET_EES AcrScenario = "EEC_EXECUTED_VIA_TARGET_EES"
SOURCE_EAS_DECIDED AcrScenario = "SOURCE_EAS_DECIDED"
SOURCE_EES_EXECUTED AcrScenario = "SOURCE_EES_EXECUTED"
EEL_MANAGED_ACR AcrScenario = "EEL_MANAGED_ACR"
)
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// Represents the application group profile for common EAS.
type AppGroupProfile struct {
// Represents the application group that uniquely identifies the group of UEs using the same application.
AppGrpId string `json:"appGrpId"`
// Represents the application identifier of the EAS.
EasId string `json:"easId"`
}
......@@ -46,7 +46,11 @@ type AppInfo struct {
// Describes features a MEC application may use if available. FeatureDependency is defined in ETSI GS MEC 010-2 [4]. It shall not be provided if an AppD is available.
AppFeatureOptional []FeatureDependency `json:"appFeatureOptional,omitempty"`
// Indicate whether the application instance is instantiated by the MEC Management. Default to FALSE if absent.
IsInsByMec bool `json:"isInsByMec,omitempty"`
IsInsByMec bool `json:"isInsByMec,omitempty"`
Scheds []string `json:"scheds"`
SvcArea string `json:"svcArea,omitempty"`
AppProfile *AppProfile `json:"appProfile,omitempty"`
// Service characteristics provided by the EAS.
SvcKpi string `json:"svcKpi,omitempty"`
PermLvl []string `json:"permLvl"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// Represents the services the EEC wants to connect.
type ApplicationInfo struct {
AcProf *AcProfile `json:"acProf"`
AppGroupProfile *AppGroupProfile `json:"appGroupProfile,omitempty"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// Represents the UE type. Possible values are: - CONSTRAINED_UE: Indicates UE is constrained with resources like power, processor etc. - NORMAL_UE: Indicates UE is not constrained with resources.
type DeviceType string
const (
ConstrainedUE = "CONSTRAINED_UE"
NormalUE = "NORMAL_UE"
)
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
import (
"time"
)
// Represents an EAS discovery information.
type DiscoveredEas struct {
Eas *EasProfile `json:"eas"`
EesEndPt *EndPoint `json:"eesEndPt,omitempty"`
LifeTime *time.Time `json:"lifeTime,omitempty"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// EAS details.
type EasDetail struct {
// Application identifier of the EAS.
EasId string `json:"easId"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// Represents the EAS characteristics.
type EasDiscoveryFilter struct {
// AC description for which an EAS is needed.
AcChars []AcCharacteristics `json:"acChars,omitempty"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
import (
"time"
)
// EAS discovery request information.
type EasDiscoveryReq struct {
RequestorId *RequestorId `json:"requestorId"`
UeId string `json:"ueId,omitempty"`
EasDiscoveryFilter *EasDiscoveryFilter `json:"easDiscoveryFilter,omitempty"`
// Indicates if the EEC supports service continuity or not, also indicates which ACR scenarios are supported by the EEC.
EecSvcContinuity []AcrScenario `json:"eecSvcContinuity,omitempty"`
// Indicates if the EES supports service continuity or not, also indicates which ACR scenarios are supported by the EES.
EesSvcContinuity []AcrScenario `json:"eesSvcContinuity,omitempty"`
// Indicates if the EAS supports service continuity or not, also indicates which ACR scenarios are supported by the EAS.
EasSvcContinuity []AcrScenario `json:"easSvcContinuity,omitempty"`
LocInf *LocationInfo `json:"locInf,omitempty"`
// Indicates if the EEC requires the EAS selection support from the EES (e.g., for constrained device). The default value false indicates the EAS selection is not required from the EES.
EasSelSupInd bool `json:"easSelSupInd,omitempty"`
SuppFeat string `json:"suppFeat,omitempty"`
// Indicates to the EES whether the EAS instantiation triggering should be performed for the current request. The default value false indicates the EAS instantiation triggering should not be performed. The true value indicate the EAS instantiation triggering should be performed.
EasIntTrigSup bool `json:"easIntTrigSup,omitempty"`
PredictExpTime *time.Time `json:"predictExpTime,omitempty"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// EAS discovery response.
type EasDiscoveryResp struct {
// List of EAS discovery information.
DiscoveredEas []DiscoveredEas `json:"discoveredEas"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
type EasProfile struct {
// The identifier of the EAS
EasId string `json:"easId"`
EndPt *OneOfAppInfoEndpoint `json:"endPt"`
// Identities of the Application Clients that can be served by the EAS
AcIds []string `json:"acIds"`
// Identifier of the ASP that provides the EAS.
ProvId string `json:"provId,omitempty"`
// The category or type of EAS.
Type_ *CategoryRef `json:"type,omitempty"`
// The availability schedule of the EAS.
Scheds []string `json:"scheds"`
// The list of geographical and topological areas that the EAS serves. ACs in the UE that are outside the area will not be served.
SvcArea string `json:"svcArea,omitempty"`
// Service characteristics provided by the EAS.
SvcKpi string `json:"svcKpi,omitempty"`
// level of service permissions supported by the EAS.
PermLvl []string `json:"permLvl"`
// Service features supported by the EAS.
EasFeats []string `json:"easFeats"`
// The ACR scenarios supported by the EAS for service continuity.
SvcContSupp []string `json:"svcContSupp"`
// List of DNAI(s) and the N6 traffic information associated with the EAS.
AppLocs []string `json:"appLocs"`
// The period indicating to the EES, how often the EES needs to check the EAS's availability after a successful registration.
AvlRep int32 `json:"avlRep,omitempty"`
// EAS status information.
Status string `json:"status,omitempty"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// ECS service provisioning request information.
type EcsServProvReq struct {
// Represents a unique identifier of the EEC.
EecId string `json:"eecId"`
UeId string `json:"ueId,omitempty"`
// Information about services the EEC wants to connect to.
AcProfs []AcProfile `json:"acProfs,omitempty"`
// Information about the list of services the EEC wants to connect.
AppInfo []ApplicationInfo `json:"appInfo,omitempty"`
// Indicates if the EEC supports service continuity or not, also indicates which ACR scenarios are supported by the EEC.
EecSvcContSupp []AcrScenario `json:"eecSvcContSupp,omitempty"`
LocInf *LocationInfo `json:"locInf,omitempty"`
// Indicates to the ECS which EES providers are preferred by the EEC.
EcspIds []string `json:"ecspIds,omitempty"`
SuppFeat string `json:"suppFeat,omitempty"`
}
/*
* MEC Service Management API
*
* The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI
*
* API version: 3.1.1
* Contact: cti_support@etsi.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package server
// Represents an EDN connection information.
type EdnConInfo struct {
Dnn string `json:"dnn,omitempty"`
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment