From 8dba042c3b9519a097ae319915701198d08b1168 Mon Sep 17 00:00:00 2001 From: Pengxiang Xie Date: Wed, 7 May 2025 16:10:16 +0800 Subject: [PATCH 1/7] Edit TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 115 ++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index da1f2560e..fe4b71c35 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -492,6 +492,121 @@ components: uniqueItems: true items: $ref: '#/components/schemas/NFService' + supportedVendorSpecificFeatures: + description: A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + selectionConditions: + description: conditions under which an NF Instance shall be selected by an NF Service Consumer. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + minProperties: 1 + canaryRelease: + type: boolean + default: false + readOnly: true + exclusiveCanaryReleaseSelection: + type: boolean + default: false + readOnly: true + sharedProfileDataId: + type: string + shutdownTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + supportedRcfs: + type: array + uniqueItems: true + items: + type: string + minItems: 1 + canaryPrecedenceOverPreferred: + type: boolean + default: false + readOnly: true + SelectionConditions: + type: object + properties: + conditionItem: + $ref: '#/components/schemas/ConditionItem' + conditionGroup: + $ref: '#/components/schemas/ConditionGroup' + ConditionItem: + type: object + properties: + consumerNfTypes: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NFType' + minItems: 1 + serviceFeature: + type: integer + vsServiceFeature: + type: integer + supiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + impuRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + impiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + peiList: + type: array + items: + type: string + minItems: 1 + taiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/TAIRange' + minItems: 1 + dnnList: + type: array + items: + type: string + minItems: 1 + ConditionGroup: + type: object + properties: + and: + type: array + description: It represents a list of conditions where the overall evaluation is “true” only if all the conditions in the list are evaluated as “true”. + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + or: + type: array + description: It represents a list of conditions where the overall evaluation is “true” if at least one of the conditions in the list is evaluated as “true”. + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 SEPPType: type: string readOnly: true -- GitLab From a2352f790b9c76c1dc1a4d506a026c8a216ea265 Mon Sep 17 00:00:00 2001 From: Pengxiang Xie Date: Wed, 7 May 2025 16:21:21 +0800 Subject: [PATCH 2/7] Edit TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index fe4b71c35..9e4017738 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -405,7 +405,8 @@ components: items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' allowedRuleSet: - description: A map (list of key-value pairs) where a valid JSON pointer Id serves as key + description: > + A map (list of key-value pairs) where a valid JSON pointer Id serves as key type: object additionalProperties: $ref: '#/components/schemas/RuleSet' @@ -493,7 +494,8 @@ components: items: $ref: '#/components/schemas/NFService' supportedVendorSpecificFeatures: - description: A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key + description: > + A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key type: object additionalProperties: type: array @@ -502,7 +504,8 @@ components: minItems: 1 minProperties: 1 selectionConditions: - description: conditions under which an NF Instance shall be selected by an NF Service Consumer. + description: > + conditions under which an NF Instance shall be selected by an NF Service Consumer. type: object additionalProperties: type: array @@ -544,7 +547,6 @@ components: properties: consumerNfTypes: type: array - uniqueItems: true items: $ref: '#/components/schemas/NFType' minItems: 1 @@ -594,16 +596,21 @@ components: minItems: 1 ConditionGroup: type: object + oneOf: + - required: [ and ] + - required: [ or ] properties: and: type: array - description: It represents a list of conditions where the overall evaluation is “true” only if all the conditions in the list are evaluated as “true”. + description: > + It represents a list of conditions where the overall evaluation is “true” only if all the conditions in the list are evaluated as “true”. items: $ref: '#/components/schemas/SelectionConditions' minItems: 1 or: type: array - description: It represents a list of conditions where the overall evaluation is “true” if at least one of the conditions in the list is evaluated as “true”. + description: > + It represents a list of conditions where the overall evaluation is “true” if at least one of the conditions in the list is evaluated as “true”. items: $ref: '#/components/schemas/SelectionConditions' minItems: 1 -- GitLab From 17bb9f5dfcaa054a3d0a0170ffe34b902bf464ae Mon Sep 17 00:00:00 2001 From: Pengxiang Xie Date: Wed, 7 May 2025 16:32:45 +0800 Subject: [PATCH 3/7] Edit TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 102 ++++-------------------------------- 1 file changed, 10 insertions(+), 92 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index 9e4017738..8e43ec091 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -503,24 +503,12 @@ components: $ref: '#/components/schemas/VendorSpecificFeature' minItems: 1 minProperties: 1 - selectionConditions: - description: > - conditions under which an NF Instance shall be selected by an NF Service Consumer. - type: object - additionalProperties: - type: array - items: - $ref: '#/components/schemas/SelectionConditions' - minItems: 1 - minProperties: 1 canaryRelease: type: boolean default: false - readOnly: true exclusiveCanaryReleaseSelection: type: boolean default: false - readOnly: true sharedProfileDataId: type: string shutdownTime: @@ -534,86 +522,16 @@ components: canaryPrecedenceOverPreferred: type: boolean default: false - readOnly: true - SelectionConditions: - type: object - properties: - conditionItem: - $ref: '#/components/schemas/ConditionItem' - conditionGroup: - $ref: '#/components/schemas/ConditionGroup' - ConditionItem: - type: object - properties: - consumerNfTypes: - type: array - items: - $ref: '#/components/schemas/NFType' - minItems: 1 - serviceFeature: - type: integer - vsServiceFeature: - type: integer - supiRangeList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/SupiRange' - minItems: 1 - gpsiRangeList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/IdentityRange' - minItems: 1 - impuRangeList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/IdentityRange' - minItems: 1 - impiRangeList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/IdentityRange' - minItems: 1 - peiList: - type: array - items: - type: string - minItems: 1 - taiRangeList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/TAIRange' - minItems: 1 - dnnList: - type: array - items: - type: string - minItems: 1 - ConditionGroup: - type: object - oneOf: - - required: [ and ] - - required: [ or ] - properties: - and: - type: array - description: > - It represents a list of conditions where the overall evaluation is “true” only if all the conditions in the list are evaluated as “true”. - items: - $ref: '#/components/schemas/SelectionConditions' - minItems: 1 - or: - type: array - description: > - It represents a list of conditions where the overall evaluation is “true” if at least one of the conditions in the list is evaluated as “true”. - items: - $ref: '#/components/schemas/SelectionConditions' - minItems: 1 + selectionConditions: + description: > + conditions under which an NF Instance shall be selected by an NF Service Consumer. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + minProperties: 1 SEPPType: type: string readOnly: true -- GitLab From 3678619d0049b7bc8858ce1aba2ae4cb34e13805 Mon Sep 17 00:00:00 2001 From: Pengxiang Xie Date: Wed, 7 May 2025 16:34:33 +0800 Subject: [PATCH 4/7] Edit TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index 8e43ec091..5b31fd112 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -522,16 +522,6 @@ components: canaryPrecedenceOverPreferred: type: boolean default: false - selectionConditions: - description: > - conditions under which an NF Instance shall be selected by an NF Service Consumer. - type: object - additionalProperties: - type: array - items: - $ref: '#/components/schemas/SelectionConditions' - minItems: 1 - minProperties: 1 SEPPType: type: string readOnly: true -- GitLab From 3a3807719291d1766302982acd732cb4aaf12cba Mon Sep 17 00:00:00 2001 From: Pengxiang Xie Date: Wed, 7 May 2025 16:41:11 +0800 Subject: [PATCH 5/7] Edit TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 86 +++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index 5b31fd112..0b2b7e9b4 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -522,6 +522,92 @@ components: canaryPrecedenceOverPreferred: type: boolean default: false + selectionConditions: + description: > + conditions under which an NF Instance shall be selected by an NF Service Consumer. + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + SelectionConditions: + type: object + properties: + conditionItem: + $ref: '#/components/schemas/ConditionItem' + conditionGroup: + $ref: '#/components/schemas/ConditionGroup' + ConditionItem: + type: object + properties: + consumerNfTypes: + type: array + items: + $ref: '#/components/schemas/NFType' + minItems: 1 + serviceFeature: + type: integer + vsServiceFeature: + type: integer + supiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + impuRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + impiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + peiList: + type: array + items: + type: string + minItems: 1 + taiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/TAIRange' + minItems: 1 + dnnList: + type: array + items: + type: string + minItems: 1 + ConditionGroup: + type: object + oneOf: + - required: [ and ] + - required: [ or ] + properties: + and: + type: array + description: > + It represents a list of conditions where the overall evaluation is “true” only if all the conditions in the list are evaluated as “true”. + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + or: + type: array + description: > + It represents a list of conditions where the overall evaluation is “true” if at least one of the conditions in the list is evaluated as “true”. + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 SEPPType: type: string readOnly: true -- GitLab From d6ace30a0e6523798f3d1398b3eacdc559056c24 Mon Sep 17 00:00:00 2001 From: Pengxiang Xie Date: Wed, 7 May 2025 16:44:34 +0800 Subject: [PATCH 6/7] Edit TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index 0b2b7e9b4..3bca9290a 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -530,12 +530,9 @@ components: $ref: '#/components/schemas/SelectionConditions' minItems: 1 SelectionConditions: - type: object - properties: - conditionItem: - $ref: '#/components/schemas/ConditionItem' - conditionGroup: - $ref: '#/components/schemas/ConditionGroup' + oneof: + - $ref: '#/components/schemas/ConditionItem' + - $ref: '#/components/schemas/ConditionGroup' ConditionItem: type: object properties: -- GitLab From fa1d73bf425e794270aa6df80004f7140795afaf Mon Sep 17 00:00:00 2001 From: Pengxiang Xie Date: Wed, 7 May 2025 16:48:04 +0800 Subject: [PATCH 7/7] Edit TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 78 ++++++++++++++++++++++--------------- 1 file changed, 46 insertions(+), 32 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index 3bca9290a..e6af55243 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -530,12 +530,49 @@ components: $ref: '#/components/schemas/SelectionConditions' minItems: 1 SelectionConditions: - oneof: - - $ref: '#/components/schemas/ConditionItem' - - $ref: '#/components/schemas/ConditionGroup' + description: > + It contains the set of conditions that shall be evaluated to determine whether a consumer + shall select a given producer. The producer shall only be selected if the evaluation of + the conditions is . The set of conditions can be represented by a single + ConditionItem or by a ConditionGroup, where the latter contains a (recursive) list of + conditions joined by the "and" or "or" logical relationships. + oneOf: + - $ref: '#/components/schemas/ConditionItem' + - $ref: '#/components/schemas/ConditionGroup' + ConditionGroup: + description: > + List (array) of conditions (joined by the "and" or "or" logical relationship), + under which an NF Instance with an NFStatus or NFServiceStatus value set to, + "CANARY_RELEASE", or with a "canaryRelease" attribute set to true, + shall be selected by an NF Service Consumer. + type: object + oneOf: + - required: [ and ] + - required: [ or ] + properties: + and: + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + or: + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 ConditionItem: + description: > + A ConditionItem consists of a number of attributes representing individual conditions + (e.g. a SUPI range, or a TAI list). If several attributes/conditions are present, + the evaluation of the ConditionItem is if all attributes/conditions are evaluated + as (i.e., it follows the AND logical relationship). type: object - properties: + allOf: + - not: + required: [ and ] + - not: + required: [ or ] + properties: consumerNfTypes: type: array items: @@ -543,67 +580,44 @@ components: minItems: 1 serviceFeature: type: integer + minimum: 1 vsServiceFeature: type: integer + minimum: 1 supiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 impuRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 impiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 peiList: type: array items: - type: string + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' minItems: 1 taiRangeList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/TAIRange' + $ref: '#/components/schemas/TaiRange' minItems: 1 dnnList: type: array items: - type: string - minItems: 1 - ConditionGroup: - type: object - oneOf: - - required: [ and ] - - required: [ or ] - properties: - and: - type: array - description: > - It represents a list of conditions where the overall evaluation is “true” only if all the conditions in the list are evaluated as “true”. - items: - $ref: '#/components/schemas/SelectionConditions' - minItems: 1 - or: - type: array - description: > - It represents a list of conditions where the overall evaluation is “true” if at least one of the conditions in the list is evaluated as “true”. - items: - $ref: '#/components/schemas/SelectionConditions' + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 SEPPType: type: string -- GitLab