From 2e9369b08a96560f44c42617d27677cbe22b7f47 Mon Sep 17 00:00:00 2001 From: srinivasaraj Date: Tue, 6 May 2025 12:26:22 +0000 Subject: [PATCH 1/3] Rel_19_CR0078_TS_28.310_CR0544_TS_28.623_Introduce_energy_related_information_NRM --- OpenAPI/README.md | 3 + OpenAPI/TS28310_EnergyInformationNrm.yaml | 92 +++++++++++++++++++++++ OpenAPI/TS28623_FeatureNrm.yaml | 1 + OpenAPI/TS28623_GenericNrm.yaml | 2 +- 4 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 OpenAPI/TS28310_EnergyInformationNrm.yaml diff --git a/OpenAPI/README.md b/OpenAPI/README.md index c0e969a34..8be2519a3 100644 --- a/OpenAPI/README.md +++ b/OpenAPI/README.md @@ -103,6 +103,9 @@ The links below will open the Swagger Editor/UI and auto-load the OpenAPI YAML f ([Editor](https://forge.3gpp.org/swagger/tools/loader.html?yaml=OpenAPI/TS28318_DsoNrm.yaml)) ([UI](https://forge.3gpp.org/swagger/tools/loader.html?action=ui&yaml=OpenAPI/TS28318_DsoNrm.yaml)) +* Energy Information NRM (TS 28.310) +([Editor](https://forge.3gpp.org/swagger/tools/loader.html?yaml=OpenAPI/TS28310_EnergyInformationNrm.yaml)) +([UI](https://forge.3gpp.org/swagger/tools/loader.html?action=ui&yaml=OpenAPI/TS28310_EnergyInformationNrm.yaml)) ## Management Services (MnS) diff --git a/OpenAPI/TS28310_EnergyInformationNrm.yaml b/OpenAPI/TS28310_EnergyInformationNrm.yaml new file mode 100644 index 000000000..b408e0b7d --- /dev/null +++ b/OpenAPI/TS28310_EnergyInformationNrm.yaml @@ -0,0 +1,92 @@ +openapi: 3.0.1 +info: + title: Energy Information NRM + version: 19.0.0 + description: >- + OAS 3.0.1 specification of the Energy Information NRM + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.310; Energy Information NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.310/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + EnergySourceInfo: + type: object + properties: + energySourceType: + type: string + energySourceCef: + type: integer + renewableEnergy: + type: boolean + energyCompositionPercentage: + type: integer + default: 100 + minimum: 0 + maximum: 100 + EnergySupplyMode: + type: string + enum: + - GRID_ELECTRICITY + - BACKUP_ENERGY + - LOCALLY_GENERATED_ENERGY + +#-------- Definition of concrete IOCs -------------------------------------------- + SubNetwork-ncO-EnergyInformationNrm: + type: object + properties: + EnergySupplyInfo: + $ref: '#/components/schemas/EnergySupplyInfo-Multiple' + EnergyInfoGroup: + $ref: '#/components/schemas/EnergyInfoGroup-Multiple' + + EnergySupplyInfo-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + energySupplyMode: + $ref: '#/components/schemas/EnergySupplyMode' + energySourceList: + type: array + uniqueItems: true + minItems: 1 + items: + $ref: '#/components/schemas/EnergySourceInfo' + EnergyInfoGroup-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + energySupplyModeRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + memberDNList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + EnergySupplyInfo-Multiple: + type: array + items: + $ref: '#/components/schemas/EnergySupplyInfo-Single' + EnergyInfoGroup-Multiple: + type: array + items: + $ref: '#/components/schemas/EnergyInfoGroup-Single' + +#--------------------------------- Definition ------------------------------------ + + resources-energyInformationNrm: + oneOf: + - $ref: '#/components/schemas/EnergySupplyInfo-Single' + - $ref: '#/components/schemas/EnergyInfoGroup-Single' diff --git a/OpenAPI/TS28623_FeatureNrm.yaml b/OpenAPI/TS28623_FeatureNrm.yaml index 3171f4557..cb4a79611 100644 --- a/OpenAPI/TS28623_FeatureNrm.yaml +++ b/OpenAPI/TS28623_FeatureNrm.yaml @@ -36,5 +36,6 @@ components: - $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/resources-subscriptionControlNrm' - $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/resources-thresholdMonitorNrm' - $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/resources-traceControlNrm' + - $ref: 'TS28310_EnergyInformationNrm.yaml#/components/schemas/resources-energyInformationNrm' #----- Definitions in TS 28.623 for TS 28.532 --------------------------# diff --git a/OpenAPI/TS28623_GenericNrm.yaml b/OpenAPI/TS28623_GenericNrm.yaml index 3aa14f00f..c9b1c9b45 100755 --- a/OpenAPI/TS28623_GenericNrm.yaml +++ b/OpenAPI/TS28623_GenericNrm.yaml @@ -608,7 +608,7 @@ components: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/SubNetwork-ncO-NrNrm' - $ref: 'TS28541_5GcNrm.yaml#/components/schemas/SubNetwork-ncO-5GcNrm' - $ref: 'TS28318_DsoNrm.yaml#/components/schemas/SubNetwork-ncO-DsoNrm' - + - $ref: 'TS28310_EnergyInformationNrm.yaml#/components/schemas/SubNetwork-ncO-EnergyInformationNrm' ManagedElement-Single: allOf: -- GitLab From 30292fc64980adce75bd46bd17a707d2d9e94ea0 Mon Sep 17 00:00:00 2001 From: srinivasaraj Date: Fri, 9 May 2025 12:54:03 +0000 Subject: [PATCH 2/3] Fixing types for energySourceCef and energyCompositionPercentage --- OpenAPI/TS28310_EnergyInformationNrm.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OpenAPI/TS28310_EnergyInformationNrm.yaml b/OpenAPI/TS28310_EnergyInformationNrm.yaml index b408e0b7d..11fe80d09 100644 --- a/OpenAPI/TS28310_EnergyInformationNrm.yaml +++ b/OpenAPI/TS28310_EnergyInformationNrm.yaml @@ -20,13 +20,14 @@ components: energySourceType: type: string energySourceCef: - type: integer + type: 'TS28623_ComDefs.yaml#/components/schemas/Float' + minimum: 0 renewableEnergy: type: boolean energyCompositionPercentage: - type: integer + type: 'TS28623_ComDefs.yaml#/components/schemas/Float' default: 100 - minimum: 0 + minimum: 1 maximum: 100 EnergySupplyMode: type: string -- GitLab From 90bfd75c96231dd9c3956a78ebf076a383777ade Mon Sep 17 00:00:00 2001 From: srinivasaraj Date: Fri, 9 May 2025 13:01:50 +0000 Subject: [PATCH 3/3] Fixing validation errors --- OpenAPI/TS28310_EnergyInformationNrm.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/OpenAPI/TS28310_EnergyInformationNrm.yaml b/OpenAPI/TS28310_EnergyInformationNrm.yaml index 11fe80d09..496cb7c0e 100644 --- a/OpenAPI/TS28310_EnergyInformationNrm.yaml +++ b/OpenAPI/TS28310_EnergyInformationNrm.yaml @@ -20,12 +20,14 @@ components: energySourceType: type: string energySourceCef: - type: 'TS28623_ComDefs.yaml#/components/schemas/Float' + type: number + format: float minimum: 0 renewableEnergy: type: boolean energyCompositionPercentage: - type: 'TS28623_ComDefs.yaml#/components/schemas/Float' + type: number + format: float default: 100 minimum: 1 maximum: 100 -- GitLab