diff --git a/gs_mec048v030201p.yaml b/gs_mec048v030201p.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0f379f44616f53dab826a6da39d1708c57f6d28f --- /dev/null +++ b/gs_mec048v030201p.yaml @@ -0,0 +1,1253 @@ +openapi: 3.1.0 +jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema +info: + contact: + url: https://forge.etsi.org/rep/mec/gs048-cse-api + title: ETSI GS MEC 048 - Enablement API for Customer Self-Service + description: The ETSI MEC ISG MEC048 Enablement API for Customer Self-Service described using OpenAPI + license: + name: BSD-3-Clause + url: https://forge.etsi.org/legal-matters + version: 3.2.1 +servers: +- url: https://localhost/cse/v1 +paths: + /tenants: + get: + summary: Retrieve information about a list of tenants. + description: The GET method is used to retrieve information about a list of tenantInfo resource representations. + operationId: TenantsGET + tags: + - tenants + parameters: + - $ref: '#/components/parameters/Query.customerId' + - $ref: '#/components/parameters/Query.customerName' + - $ref: '#/components/parameters/Query.tenantId' + - $ref: '#/components/parameters/Query.tenantName' + responses: + '200': + description: Upon success, a response message content containing an array of the tenantInfo is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TenantInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + '414': + $ref: '#/components/responses/414' + post: + summary: Create a tenant resource representation. + description: The POST method is used to create a tenant resource representation. + operationId: TenantsPOST + tags: + - tenants + requestBody: + description: Message content in the request contains TenantInfo to be created. + required: true + content: + application/json: + schema: + type: object + properties: + TenantInfo: + $ref: '#/components/schemas/TenantInfo' + responses: + '201': + description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource. + content: + application/json: + schema: + type: object + properties: + TenantInfo: + $ref: '#/components/schemas/TenantInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: [] + /tenants/{tenantId}: + get: + summary: Retrieve information about a specific tenant resource representation. + description: The GET method is used to retrieve information about a tenant resource representation. + operationId: TenantsGETTenantid + tags: + - tenants + responses: + '200': + description: Upon success, a response message content containing a representation of the resource is returned. + content: + application/json: + schema: + type: object + properties: + TenantInfo: + $ref: '#/components/schemas/TenantInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + put: + summary: Modify the information about a specific tenant resource representation. + description: The PUT method is used to modify the information of a tenant resource representation. + operationId: TenantsPUTTenantid + tags: + - tenants + requestBody: + description: Message content in the request contains TenantInfo with the updated information. + required: true + content: + application/json: + schema: + type: object + properties: + TenantInfo: + $ref: '#/components/schemas/TenantInfo' + responses: + '200': + description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the updated resource. + content: + application/json: + schema: + type: object + properties: + TenantInfo: + $ref: '#/components/schemas/TenantInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + '412': + $ref: '#/components/responses/412' + parameters: + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + delete: + summary: Delete a specific tenant resource representation. + description: The DELETE method is used to delete a tenant resource representation. + operationId: TenantsDELETETenantid + tags: + - tenants + responses: + '204': + $ref: '#/components/responses/204' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + /tenants/{tenantId}/resources/quota_in_system: + get: + summary: Retrieve information about a resourceQuotaInfo resource. + description: The GET method is used to retrieve information about a resourceQuotaInfo resource. + operationId: TenantsResourcesQuotainsystemGETTenantid + tags: + - tenants + responses: + '200': + description: Upon success, a response message content containing the resourceQuotaInfo is returned. + content: + application/json: + schema: + type: object + properties: + ResourceQuotaInfo: + $ref: '#/components/schemas/ResourceQuotaInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + '414': + $ref: '#/components/responses/414' + parameters: + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + put: + summary: Modify the information about a resourceQuotaInfo resource. + description: The PUT method is used to modify the information of a resourceQuotaInfo resource. + operationId: TenantsResourcesQuotainsystemPUTTenantid + tags: + - tenants + requestBody: + description: Message content in the request contains resourceQuotaInfo with the updated information. + required: true + content: + application/json: + schema: + type: object + properties: + ResourceQuotaInfo: + $ref: '#/components/schemas/ResourceQuotaInfo' + responses: + '200': + description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the updated resource. + content: + application/json: + schema: + type: object + properties: + ResourceQuotaInfo: + $ref: '#/components/schemas/ResourceQuotaInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + '412': + $ref: '#/components/responses/412' + parameters: + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + post: + summary: Create a resourceQuotaInfo resource. + description: The POST method is used to create a resourceQuotaInfo resource. + operationId: TenantsResourcesQuotainsystemPOSTTenantid + tags: + - tenants + requestBody: + description: Message content in the request contains resourceQuotaInfo to be created. + required: true + content: + application/json: + schema: + type: object + properties: + ResourceQuotaInfo: + $ref: '#/components/schemas/ResourceQuotaInfo' + responses: + '201': + description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource. + content: + application/json: + schema: + type: object + properties: + ResourceQuotaInfo: + $ref: '#/components/schemas/ResourceQuotaInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + /tenants/{tenantId}/resources/quota_in_sites: + get: + summary: Retrieve information about a list of siteResourceQuotaInfo resources. + description: The GET method is used to retrieve information about a list of siteResourceQuotaInfo resources. + operationId: TenantsResourcesQuotainsitesGETTenantid + tags: + - tenants + parameters: + - $ref: '#/components/parameters/Query.siteId' + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + responses: + '200': + description: Upon success, a response message content containing an array of the siteResourceQuotaInfo resources is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SiteResourceQuotaInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + post: + summary: Create a siteResourceQuotaInfo resource. + description: The POST method is used to create a siteResourceQuotaInfo resource. + operationId: TenantsResourcesQuotainsitesPOSTTenantid + tags: + - tenants + requestBody: + description: Message content in the request contains siteResourceQuotaInfo to be created. + required: true + content: + application/json: + schema: + type: object + properties: + SiteResourceQuotaInfo: + $ref: '#/components/schemas/SiteResourceQuotaInfo' + responses: + '201': + description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource. + content: + application/json: + schema: + type: object + properties: + SiteResourceQuotaInfo: + $ref: '#/components/schemas/SiteResourceQuotaInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + /tenants/{tenantId}/resources/quota_in_sites/{siteId}: + get: + summary: Retrieve information about a siteResourceQuotaInfo resource. + description: The GET method is used to retrieve information about a siteResourceQuotaInfo resource. + operationId: TenantsResourcesQuotainsitesGETTenantidSiteid + tags: + - tenants + responses: + '200': + description: Upon success, a response message content containing a siteResourceQuotaInfo resource is returned. + content: + application/json: + schema: + type: object + properties: + SiteResourceQuotaInfo: + $ref: '#/components/schemas/SiteResourceQuotaInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + - name: siteId + in: path + required: true + description: The unique identifier of the siteId. + schema: + type: string + put: + summary: Modify the information about a siteResourceQuotaInfo resource. + description: The PUT method is used to modify the information of a siteResourceQuotaInfo resource. + operationId: TenantsResourcesQuotainsitesPUTTenantidSiteid + tags: + - tenants + requestBody: + description: Message content in the request contains siteResourceQuotaInfo with the updated information. + required: true + content: + application/json: + schema: + type: object + properties: + SiteResourceQuotaInfo: + $ref: '#/components/schemas/SiteResourceQuotaInfo' + responses: + '200': + description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the updated resource. + content: + application/json: + schema: + type: object + properties: + SiteResourceQuotaInfo: + $ref: '#/components/schemas/SiteResourceQuotaInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + '412': + $ref: '#/components/responses/412' + parameters: + - name: tenantId + in: path + required: true + description: The unique identifier of the tenantId. + schema: + type: string + - name: siteId + in: path + required: true + description: The unique identifier of the siteId. + schema: + type: string + /subscriptions: + get: + summary: Retrieve a list of active subscriptions for this subscriber. + description: The GET method is used to request information about the subscriptions for this requestor. Upon success, the response contains entity body with the list of links to the subscriptions that are present for the requestor. + operationId: SubscriptionsGET + tags: + - subscriptions + parameters: + - $ref: '#/components/parameters/Query.subscription_type' + - $ref: '#/components/parameters/Query.tenantId1' + responses: + '200': + description: Upon success, a response body containing the list of links to requestor's subscriptions is returned. + content: + application/json: + schema: + type: object + properties: + SubscriptionLinkList: + $ref: '#/components/schemas/SubscriptionLinkList' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + post: + summary: Create a new subscription. + description: The POST method is used to create a new subscription to CSE notifications. Upon success, the response contains entity body describing the created subscription. + operationId: SubscriptionsPOST + tags: + - subscriptions + requestBody: + description: 'The entity body in the request contains data type of the specific CSE event subscription that is to be created, where the data type options are listed below: + + ResourceUsageSubscription + + SiteResourceUsageSubscription.' + content: + application/json: + schema: + type: object + properties: + ResourceUsageSubscription: + $ref: '#/components/schemas/ResourceUsageSubscription' + responses: + '201': + description: "Indicates successful resource creation, where the resource URI shall be returned in the HTTP Location header field.\n\nIn the returned NotificationSubscription structure, the created subscription is described using the appropriate data type from the list below:\nResourceUsageSubscription\nSiteResourceUsageSubscription \n\nThe created resource is identified by its subscriptionId included in the \"self\" attribute (self-referring URI)." + content: + application/json: + schema: + type: object + properties: + ResourceUsageSubscription: + $ref: '#/components/schemas/ResourceUsageSubscription' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '415': + $ref: '#/components/responses/415' + '422': + $ref: '#/components/responses/422' + '429': + $ref: '#/components/responses/429' + callbacks: + notification: + '{$request.body#/callbackUri}': + post: + summary: Callback POST used to send a notification + description: Subscription notification + operationId: notificationPOST509410 + requestBody: + description: Subscription notification + required: true + content: + application/json: + schema: + type: object + properties: + subscriptionNotification: + oneOf: + - $ref: '#/components/schemas/ResourceUsageSubscription' + - $ref: '#/components/schemas/SiteResourceUsageSubscription' + responses: + '204': + description: No content + '404': + description: Not found + parameters: [] + /subscriptions/{subscriptionId}: + get: + summary: Retrieve information on the existing subscription of a tenant. + description: The GET method is used to retrieve information about this subscription. Upon success, the response contains entity body with the data type describing the subscription. + operationId: SubscriptionsGETSubscriptionid + tags: + - subscriptions + responses: + '200': + description: 'Upon success, a response body containing data type describing the specific CSE event subscription is returned. The allowed data types for subscriptions are: + + ResourceUsageSubscription + + SiteResourceUsageSubscription.' + content: + application/json: + schema: + type: object + properties: + ResourceUsageSubscription: + $ref: '#/components/schemas/ResourceUsageSubscription' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + parameters: + - name: subscriptionId + in: path + required: true + description: The unique identifier of the subscriptionId. + schema: + type: string + put: + summary: Modify existing subscription by sending a new data structure. + description: The PUT method is used to update the existing subscription. PUT method in this case has "replace" semantics. Upon successful operation, the target resource is updated with new Data Type received within the message body of the PUT request. + operationId: SubscriptionsPUTSubscriptionid + tags: + - subscriptions + requestBody: + description: 'New NotificationSubscription is included as entity body of the request. The allowed data types for subscriptions are: + + ResourceUsageSubscription + + SiteResourceUsageSubscription.' + content: + application/json: + schema: + type: object + properties: + ResourceUsageSubscription: + $ref: '#/components/schemas/ResourceUsageSubscription' + responses: + '200': + description: 'Upon success, a response body containing data type describing the updated subscription is returned. The allowed data types for subscriptions are: + + ResourceUsageSubscription + + SiteResourceUsageSubscription.' + content: + application/json: + schema: + type: object + properties: + ResourceUsageSubscription: + $ref: '#/components/schemas/ResourceUsageSubscription' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '422': + $ref: '#/components/responses/422' + '429': + $ref: '#/components/responses/429' + parameters: + - name: subscriptionId + in: path + required: true + description: The unique identifier of the subscriptionId. + schema: + type: string + delete: + summary: Cancel an existing subscription. + description: The DELETE method is used to cancel the existing subscription. Cancellation can be made by deleting the resource that represents existing subscription. + operationId: SubscriptionsDELETESubscriptionid + tags: + - subscriptions + responses: + '204': + $ref: '#/components/responses/204' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '429': + $ref: '#/components/responses/429' + parameters: + - name: subscriptionId + in: path + required: true + description: The unique identifier of the subscriptionId. + schema: + type: string +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 + instance: + type: string + format: uri + description: A URI reference that identifies the specific occurrence of the problem + TimeStamp: + type: object + properties: + seconds: + description: "The seconds part of the Time. Time is defined as Unix-time 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 + TenantInfo: + x-etsi-ref: 6.2.2 + type: object + properties: + customerId: + description: Identifier of the customer. For the uniqueness of the identifier across the MEC system, UUID format [i.2] is recommended. + type: string + customerName: + description: Name of the customer. Examples include the name of a company. + type: string + customerCategory: + description: "Category of the customer. The example values include:\n1.\t\"Finance\".\n2.\t\"Manufacturing\".\n3.\t\"Retail\".\n4.\t\"Education\".\n5.\t\"Automotive\"." + type: string + tenantId: + description: 'Identifier of the tenant. + + Shall be absent in POST requests, and present otherwise.' + type: string + tenantName: + description: Name of the tenant. + type: string + resourceUseInfo: + description: Resource in the MEC system that can be used by the tenant. + $ref: '#/components/schemas/ResourceInfo' + siteList: + description: A list of edge sites that can be used by the tenant. + type: array + minItems: 0 + items: + $ref: '#/components/schemas/SiteInfo' + required: + - customerId + - customerName + - tenantName + description: "|-\n NOTE:\tEither resourceUseInfo or siteList or none of them shall be present." + ResourceQuotaInfo: + x-etsi-ref: 6.2.3 + type: object + properties: + cpuQuota: + description: Allowed number of CPUs in the MEC system that can be used by the tenant. + type: integer + memoryQuota: + description: Allowed amount of memory (MB) in the MEC system that can be used by the tenant. + type: integer + diskQuota: + description: Allowed amount of disk (GB) in the MEC system that can be used by the tenant. + type: integer + description: "|-\n NOTE:\tAt least one of cpuQuota, memoryQuota and, diskQuota shall be present." + SiteResourceQuotaInfo: + x-etsi-ref: 6.2.4 + type: object + properties: + siteId: + description: Identifier of an edge site. For the uniqueness of the identifier across the MEC system, UUID format [i.2] is recommended. + type: string + cpuQuota: + description: Allowed number of CPUs in the edge site that can be used by the tenant. + type: integer + memoryQuota: + description: Allowed amount of memory (MB) in the edge site that can be used by the tenant. + type: integer + diskQuota: + description: Allowed amount of disk (GB) in the edge site that can be used by the tenant. + type: integer + required: + - siteId + description: "|-\n NOTE:\tAt least one of cpuQuota, memoryQuota and, diskQuota shall be present." + ResourceUsageSubscription: + x-etsi-ref: 6.3.2 + type: object + properties: + subscriptionType: + description: Shall be set to "ResourceUsageSubscription". + type: string + callbackReference: + description: URI exposed by the client on which to receive notifications via HTTP. See note 1. + type: string + format: uri + requestTestNotification: + description: Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [1], clause 6.12a. + type: boolean + websockNotifConfig: + description: Provides details to negotiate and signal the use of a Websocket connection between the CSE and the service consumer for notifications. See note 1. + $ref: '#/components/schemas/WebsockNotifConfig' + _links: + $ref: '#/components/schemas/_links' + customerId: + description: Identifier to uniquely specify the customer for the subscription. + type: string + tenantId: + description: Identifier of the tenant. + type: string + notificationTrigger: + $ref: '#/components/schemas/NotificationTrigger' + expiryDeadline: + description: The expiration time of the subscription determined by the CSE. + $ref: '#/components/schemas/TimeStamp' + required: + - subscriptionType + - customerId + - tenantId + - notificationTrigger + description: "|-\n NOTE:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to CSE to select an alternative and return only that alternative in the response, as specified in ETSI GS MEC 009 [1], clause 6.12a." + SiteResourceUsageSubscription: + x-etsi-ref: 6.3.3 + type: object + properties: + subscriptionType: + description: Shall be set to "SiteResourceUsageSubscription". + type: string + callbackReference: + description: URI exposed by the client on which to receive notifications via HTTP. See note 1. + type: string + format: uri + requestTestNotification: + description: Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [1], clause 6.12a. + type: boolean + websockNotifConfig: + description: Provides details to negotiate and signal the use of a Websocket connection between the CSE and the service consumer for notifications. See note 1. + $ref: '#/components/schemas/WebsockNotifConfig' + _links: + $ref: '#/components/schemas/_links' + customerId: + description: Identifier to uniquely specify the customer for the subscription. + type: string + tenantId: + description: Identifier of the tenant. + type: string + siteList: + description: Identifiers to uniquely specify a list of edge sites for the subscription. + $ref: '#/components/schemas/SiteId' + notificationTrigger: + $ref: '#/components/schemas/NotificationTrigger' + expiryDeadline: + description: The expiration time of the subscription determined by the CSE. + $ref: '#/components/schemas/TimeStamp' + required: + - subscriptionType + - customerId + - tenantId + - siteList + - notificationTrigger + description: "|-\n NOTE:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to CSE to select an alternative and return only that alternative in the response, as specified in ETSI GS MEC 009 [1], clause 6.12a." + SubscriptionLinkList: + x-etsi-ref: 6.3.4 + type: object + properties: + _links: + $ref: '#/components/schemas/_links1' + required: + - _links + ResourceUsageNotification: + x-etsi-ref: 6.4.2 + type: object + properties: + notificationType: + description: Shall be set to "ResourceUsageNotification". + type: string + timeStamp: + description: Time stamp. + $ref: '#/components/schemas/TimeStamp' + customerId: + description: Identifier to uniquely specify the customer for the subscription. + type: string + tenantId: + description: Identifier of the tenant. + type: string + resourceUseInfo: + $ref: '#/components/schemas/ResourceUseInfo' + required: + - notificationType + - customerId + - tenantId + - resourceUseInfo + description: "|-\n NOTE:\tThe corresponding resource usage information shall be included based on the subscription." + SiteResourceUsageNotification: + x-etsi-ref: 6.4.3 + type: object + properties: + notificationType: + description: Shall be set to "SiteResourceUsageNotification". + type: string + timeStamp: + description: Time stamp. + $ref: '#/components/schemas/TimeStamp' + customerId: + description: Identifier to uniquely specify the customer for the subscription. + type: string + tenantId: + description: Identifier of the tenant. + type: string + siteResourceUseInfo: + type: array + items: + $ref: '#/components/schemas/SiteResourceUseInfo' + required: + - notificationType + - customerId + - tenantId + - siteResourceUseInfo + description: "|-\n NOTE:\tThe corresponding resource usage information shall be included based on the subscription." + ExpiryNotification: + x-etsi-ref: 6.4.4 + type: object + properties: + notificationType: + description: Shall be set to "ExpiryNotification". + type: string + _links: + $ref: '#/components/schemas/_links2' + expiryDeadline: + description: Time stamp. + $ref: '#/components/schemas/TimeStamp' + required: + - notificationType + - _links + - expiryDeadline + SiteInfo: + x-etsi-ref: 6.5.2 + type: object + properties: + siteId: + description: Identifier of an edge site. For the uniqueness of the identifier across the MEC system, UUID format [i.2] is recommended. + type: string + resourceInfo: + description: Resource information in the edge site that is associated with a specific tenant. + $ref: '#/components/schemas/ResourceInfo' + required: + - siteId + ResourceInfo: + x-etsi-ref: 6.5.3 + type: object + properties: + cpuQuota: + description: Allowed number of CPUs that can be used by the tenant. + type: integer + cpuUsed: + description: Used number of CPUs by the tenant. + type: integer + cpuRemain: + description: Remaining number of CPUs that can be used by the tenant. + type: integer + memoryQuota: + description: Allowed amount of memory (MB) that can be used by the tenant. + type: integer + memoryUsed: + description: Used amount of memory (MB) by the tenant. + type: integer + memoryRemain: + description: Remaining amount of memory (MB) that can be used by the tenant. + type: integer + diskQuota: + description: Allowed amount of disk (GB) that can be used by the tenant. + type: integer + diskUsed: + description: Used amount of disk (GB) by the tenant. + type: integer + diskRemain: + description: Remaining amount of disk (GB) that can be used by the tenant. + type: integer + WebsockNotifConfig: + x-etsi-ref: 6.5.4 + type: object + properties: + websocketUri: + description: Set by CSE to indicate to the service consumer the Websocket URI to be used for delivering notifications. + type: string + format: uri + requestWebsocketUri: + description: Set to TRUE by the service consumer to indicate that Websocket delivery is requested. + type: boolean + SiteId: + x-etsi-ref: 6.5.5 + type: object + properties: + siteId: + description: Identifier of an edge site. For the uniqueness of the identifier across the MEC system, UUID format [i.2] is recommended. + type: string + required: + - siteId + LinkType: + x-etsi-ref: 6.5.6 + type: object + properties: + href: + description: URI referring to a resource. + type: string + format: uri + required: + - href + _links: + description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests. + type: object + properties: + self: + description: Self-referring URI. The URI shall be unique within the CSE API as it acts as an ID for the subscription (SubscriptionId). + $ref: '#/components/schemas/LinkType' + required: + - self + NotificationTrigger: + description: Set for trigger-based event notification reporting. + type: object + properties: + triggerType: + type: integer + enum: + - 10 + - 11 + - 20 + - 21 + - 30 + - 31 + description: 'Trigger for the notification: + + 10 = Notification triggered based on the number of used CPUs. + + 11 = Notification triggered based on the number of remaining CPUs. + + 20 = Notification triggered based on the amount of used memory. + + 21 = Notification triggered based on the amount of remaining memory. + + 30 = Notification triggered based on the amount of used disk. + + 31 = Notification triggered based on the amount of remaining disk.' + threshold: + description: Threshold for trigger-based event reporting. + type: integer + format: uint8 + greaterOrLess: + description: 'Indicator for the triggering condition: + + 0: greater than or equal to the threshold. + + 1: less than or equal to the threshold.' + type: boolean + required: + - triggerType + - threshold + - greaterOrLess + Subscription: + description: The service consumer's subscriptions. + type: object + properties: + href: + description: The URI referring to the subscription. + type: string + format: uri + subscriptionType: + description: 'Type of the subscription. The string shall be set according to the "subscriptionType" attribute of the associated subscription data type defined: + + "ResourceUsageSubscription" + + "SiteResourceUsageSubscription"' + type: string + required: + - href + - subscriptionType + _links1: + description: List of hyperlinks related to the resource. + type: object + properties: + self: + description: Self-referring URI. + $ref: '#/components/schemas/LinkType' + subscription: + type: array + items: + $ref: '#/components/schemas/Subscription' + required: + - self + ResourceUseInfo: + description: Resource usage in the MEC system by the tenant. + type: object + properties: + cpuUsed: + description: Used number of CPUs by the tenant. + type: integer + cpuRemain: + description: Remaining number of CPUs that can be used by the tenant. + type: integer + memoryUsed: + description: Used amount of memory (MB) by the tenant. + type: integer + memoryRemain: + description: Remaining amount of memory (MB) that can be used by the tenant. + type: integer + diskUsed: + description: Used amount of disk (GB) by the tenant. + type: integer + diskRemain: + description: Remaining amount of disk (GB) that can be used by the tenant. + type: integer + SiteResourceUseInfo: + description: Resource usage in the edge sites by the tenant. + type: object + properties: + siteId: + description: Identifier of an edge site in an edge site. + type: string + cpuUsed: + description: Used number of CPUs by the tenant in an edge site. + type: integer + cpuRemain: + description: Remaining number of CPUs that can be used by the tenant in an edge site. + type: integer + memoryUsed: + description: Used amount of memory (MB) by the tenant in an edge site. + type: integer + memoryRemain: + description: Remaining amount of memory (MB) that can be used by the tenant in an edge site. + type: integer + diskUsed: + description: Used amount of disk (GB) by the tenant in an edge site. + type: integer + diskRemain: + description: Remaining amount of disk (GB) that can be used by the tenant in an edge site. + type: integer + required: + - siteId + _links2: + description: Hyperlink related to the resource. + type: object + properties: + subscription: + description: URI identifying the subscription which has expired. + $ref: '#/components/schemas/LinkType' + required: + - subscription + 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 request is not authenticated, e.g. 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.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '406': + description: 'Not Acceptable: used to indicate that the server cannot provide the any of the content formats supported by the client.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '412': + description: 'Precondition failed: used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '414': + description: 'URI Too Long: used to indicate that the server is refusing to process the request because the request URI is longer than the server is willing or able to process.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '415': + description: 'Unsupported Media Type: used to indicate that the server or the client does not support the content type of the entity body.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '422': + description: 'Unprocessable Entity: used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '429': + description: 'Too Many Requests: used when a rate limiter has triggered.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + parameters: + Query.customerId: + description: Identifier of the customer. + name: customerId + in: query + required: true + x-exportParamName: Query.customerId + schema: + type: string + Query.customerName: + description: Name of the customer. + name: customerName + in: query + required: true + x-exportParamName: Query.customerName + schema: + type: string + Query.tenantId: + description: Multiple tenantId may be used as an input parameter to query the availability of a list of tenants. + name: tenantId + in: query + required: false + x-exportParamName: Query.tenantId + schema: + type: array + items: + type: string + Query.tenantName: + description: Multiple tenantName may be used as an input parameter to query the availability of a list of tenants. + name: tenantName + in: query + required: false + x-exportParamName: Query.tenantName + schema: + type: array + items: + type: string + Query.siteId: + description: Multiple siteId may be used as an input parameter to query the availability of a list of siteResourceQuotaInfo resources. + name: siteId + in: query + required: false + x-exportParamName: Query.siteId + schema: + type: array + items: + type: string + Query.subscription_type: + description: 'Query parameter to filter on a specific subscription type. Permitted values: + + ResourceUsageSubscription + + SiteResourceUsageSubscription.' + name: subscription_type + in: query + required: false + x-exportParamName: Query.subscription_type + schema: + type: string + Query.tenantId1: + description: Query parameter to filter on a specific tenant. + name: tenantId1 + in: query + required: false + x-exportParamName: Query.tenantId1 + schema: + type: string +