"summary":"Retrieve a list of system_info resources (see clause 6 for data model) of federation members.",
"description":"The GET method retrieves the information of a list of system_info resources of federation members. This method is typically used in the sequence of \"MEC system discovery\" as described in clause 5.2.2.2. The method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.3.3.1-1 and 7.3.3.1-2.",
"description":"It is used to indicate that the query for retrieving system_info resource(s) is successful. Response body containing one or multiple system_info resources shall be returned.",
"content":{
"application/json":{
"schema":{
"type":"array",
"items":{
"$ref":"#/components/schemas/SystemInfo"
}
}
}
}
},
"400":{
"$ref":"#/components/responses/400"
},
"401":{
"$ref":"#/components/responses/401"
},
"403":{
"$ref":"#/components/responses/403"
},
"404":{
"$ref":"#/components/responses/404"
}
}
},
"post":{
"summary":"Create new system_info resource for a given MEC system.",
"description":"The POST method creates the information of system_info resources to the MEC federator. This method is typically used in the sequence of \"Registration of MEC system to the federation\" as described in clause 5.2.2.1. The method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.3.3.4-1 and 7.3.3.4-2.",
"operationId":"systeminfoPOST",
"tags":[
"systemInfo"
],
"requestBody":{
"description":"Entity body in the request contains SystemInfo to be created. The attribute \"systemId\" shall be absent.",
"required":true,
"content":{
"application/json":{
"schema":{
"type":"object",
"properties":{
"SystemInfo":{
"$ref":"#/components/schemas/SystemInfo"
}
}
}
}
}
},
"responses":{
"201":{
"description":"It is used to indicate that the system_info resource is successfully created.\n\nThe HTTP response includes a \"Location\" HTTP header that contains the URI of the created resource.",
"content":{
"application/json":{
"schema":{
"type":"object",
"properties":{
"SystemInfo":{
"$ref":"#/components/schemas/SystemInfo"
}
}
}
}
}
},
"400":{
"$ref":"#/components/responses/400"
},
"401":{
"$ref":"#/components/responses/401"
},
"403":{
"$ref":"#/components/responses/403"
},
"404":{
"$ref":"#/components/responses/404"
}
}
}
},
"/fed_resources/system_info/{systemId}":{
"get":{
"summary":"Retrieve the system_info resource of the federation member with systemId as its system identifier.",
"description":"The GET method retrieves the system_info resource information. This method is typically used in the sequence of \"MEC system discovery\" as described in clause 5.2.2.2. The method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.4.3.1-1 and 7.4.3.1-2.",
"operationId":"systeminfoByIdGET",
"tags":[
"systemInfo"
],
"parameters":[
{
"$ref":"#/components/parameters/Query.Systemid"
}
],
"responses":{
"200":{
"description":"It is used to indicate that the query for retrieving system_info resource is successful. Response body containing one system_info resource shall be returned.",
"content":{
"application/json":{
"schema":{
"type":"object",
"properties":{
"SystemInfo":{
"$ref":"#/components/schemas/SystemInfo"
}
}
}
}
}
},
"400":{
"$ref":"#/components/responses/400"
},
"401":{
"$ref":"#/components/responses/401"
},
"403":{
"$ref":"#/components/responses/403"
},
"404":{
"$ref":"#/components/responses/404"
}
}
},
"patch":{
"summary":"Update the system_info resource for a given MEC system.",
"description":"The PATCH method updates the information of system_info resources stored in the MEC federator through previous registration. This method is typically used in the sequence of \"Update of MEC system to the federation\" as described in clause 5.2.2.2. The method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.4.3.3-1 and 7.4.3.3-2.",
"operationId":"systeminfoByIdPATCH",
"tags":[
"systemInfo"
],
"parameters":[
{
"$ref":"#/components/parameters/Query.Systemid"
}
],
"requestBody":{
"description":"It contains attributes to be update.",
"required":true,
"content":{
"application/json":{
"schema":{
"type":"object",
"properties":{
"SystemInfoUpdate":{
"$ref":"#/components/schemas/SystemInfoUpdate"
}
}
}
}
}
},
"responses":{
"200":{
"description":"It is used to indicate that the system_info resource is successfully updated.",
"content":{
"application/json":{
"schema":{
"type":"object",
"properties":{
"SystemInfo":{
"$ref":"#/components/schemas/SystemInfo"
}
}
}
}
}
},
"400":{
"$ref":"#/components/responses/400"
},
"401":{
"$ref":"#/components/responses/401"
},
"403":{
"$ref":"#/components/responses/403"
},
"404":{
"$ref":"#/components/responses/404"
}
}
},
"delete":{
"summary":"Delete the system_info resource for a given MEC system.",
"description":"The DELETE method deletes the information of system_info resources stored in the MEF. This method is typically used in the sequence of \"Deregistration of MEC system to the federation\" as described in clause 5.2.2.1.1. The method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.4.3.5-1 and 7.4.3.5-2.",
"operationId":"systeminfoByIdDELETE",
"tags":[
"systemInfo"
],
"parameters":[
{
"$ref":"#/components/parameters/Query.Systemid"
}
],
"responses":{
"204":{
"$ref":"#/components/responses/204"
},
"400":{
"$ref":"#/components/responses/400"
},
"401":{
"$ref":"#/components/responses/401"
},
"403":{
"$ref":"#/components/responses/403"
},
"404":{
"$ref":"#/components/responses/404"
}
}
}
}
},
"components":{
"schemas":{
"ProblemDetails":{
"type":"object",
"properties":{
"type":{
"type":"string",
"format":"uri",
"description":"A URI reference according to IETF RFC 3986 that identifies the problem type"
},
"title":{
"type":"string",
"description":"A short, human-readable summary of the problem type"
},
"status":{
"type":"integer",
"format":"uint32",
"description":"The HTTP status code for this occurrence of the problem"
},
"detail":{
"type":"string",
"description":"A human-readable explanation specific to this occurrence of the problem",
"x-etsi-mec-cardinality":"0..1",
"x-etsi-mec-origin-type":"String"
},
"instance":{
"type":"string",
"format":"uri",
"description":"A URI reference that identifies the specific occurrence of the problem"
}
}
},
"SystemInfo":{
"title":"SystemInfo",
"type":"object",
"description":"This type represents an information provided by the MEC orchestrator as a part of the \"Registration of MEC system to the federation\"",
"properties":{
"systemId":{
"description":"Identifier of the MEC system. For the uniqueness of the identifier across the federated MEC systems, UUID format [i.9] is recommended. Shall be absent in POST request, and present otherwise.",
"type":"string"
},
"systemName":{
"description":"The name of the MEC system. This is how the MEC system identifies other MEC systems",
"type":"string"
},
"systemProvider":{
"description":"Provider of the MEC system.",
"type":"string"
}
},
"required":[
"systemId",
"systemName",
"systemProvider"
]
},
"SystemInfoUpdate":{
"title":"SystemInfoUpdate",
"type":"object",
"description":"This type represents an information provided by MEC orchestrator as a part of the \"Update of MEC system(s) to the federation\".",
"properties":{
"systemName":{
"description":"The name of the MEC system. This is how the MEC system identifies other MEC systems.",
"type":"string"
},
"endpoint":{
"$ref":"#/components/schemas/EndPointInfo",
"NOTE":"At least one attribute shall exist."
}
}
},
"EndPointInfo":{
"title":"EndPointInfo",
"type":"string",
"description":"Endpoint information (e.g. URI, FQDN, IP address) of MEC federator."
},
"SystemUpdateNotificationSubscription":{
"title":"SystemUpdateNotificationSubscription",
"type":"object",
"description":"This type represents a subscription to the notifications from the MEC federator related to information update of the MEC systems in the MEC federation.",
"properties":{
"subscriptionType":{
"description":"Shall be set to \"SystemUpdateNotificationSubscription\".",
"type":"string"
},
"callbackReference":{
"description":"URI selected by the MEC orchestrator to receive notifications on the subscribed MEC system information updates in the MEC federation. This shall be included in both the request and the response.",
"type":"string",
"format":"uri"
},
"links":{
"$ref":"#/components/schemas/links"
},
"systemId":{
"description":"Identifier(s) to uniquely specify the target MEC system(s) for the subscription. If absent, the subscription should include all MEC systems in the MEC federation.",
"type":"array",
"minItems":0,
"items":{
"type":"string"
}
},
"expiryDeadline":{
"$ref":"#/components/schemas/TimeStamp"
}
},
"required":[
"subscriptionType",
"callbackReference"
]
},
"SystemUpdateNotification":{
"title":"SystemUpdateNotification",
"type":"object",
"description":"This type represents the information that the MEC federator notifies the subscribed MEC orchestrator about the information update of the MEC systems in the MEC federation.",
"properties":{
"notificationType":{
"description":"Shall be set to \"SystemUpdateNotification\".",
"type":"string"
},
"updatedSystemInfo":{
"description":"Updated information of the MEC system(s) in the MEC federation.",
"type":"array",
"minItems":1,
"items":{
"$ref":"#/components/schemas/SystemInfo"
}
},
"links":{
"$ref":"#/components/schemas/links1"
}
},
"required":[
"notificationType",
"updatedSystemInfo",
"links"
]
},
"TimeStamp":{
"title":"TimeStamp",
"type":"object",
"description":"The expiration time of the subscription determined by the MEC Federation Enablement Service.",
"properties":{
"seconds":{
"description":"The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.",
"type":"integer",
"format":"uint32"
},
"nanoSeconds":{
"description":"The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"type":"integer",
"format":"uint32"
}
},
"required":[
"seconds",
"nanoSeconds"
]
},
"links":{
"title":"links",
"description":"Object containing hyperlinks related to the resource. This shall only be included in the HTTP responses.",
"type":"object",
"properties":{
"self":{
"$ref":"#/components/schemas/LinkType"
}
},
"required":[
"self"
]
},
"links1":{
"title":"links1",
"description":"Object containing hyperlinks related to the resource.",
"type":"object",
"properties":{
"subscription":{
"$ref":"#/components/schemas/LinkType"
}
},
"required":[
"subscription"
]
},
"LinkType":{
"title":"LinkType",
"description":"Self-referring URI. The URI shall be unique within the MEC Federation Enablement API as it acts as an ID for the subscription (SubscriptionId).",
"type":"object",
"properties":{
"href":{
"description":"URI referring to a resource.",
"format":"uri",
"type":"string"
}
},
"required":[
"href"
]
}
},
"responses":{
"200":{
"description":"OK"
},
"204":{
"description":"No Content"
},
"400":{
"description":"Bad Request: used to indicate that incorrect parameters were passed to the request.",
"content":{
"application/problem+json":{
"schema":{
"$ref":"#/components/schemas/ProblemDetails"
}
}
}
},
"401":{
"description":"Unauthorized: used when the client did not submit credentials.",
"content":{
"application/problem+json":{
"schema":{
"$ref":"#/components/schemas/ProblemDetails"
}
}
}
},
"403":{
"description":"Forbidden: operation is not allowed given the current status of the resource.",
"content":{
"application/problem+json":{
"schema":{
"$ref":"#/components/schemas/ProblemDetails"
}
}
}
},
"404":{
"description":"Not Found: used when a client provided a URI that cannot be mapped to a valid resource URI.",