diff options
Diffstat (limited to 'kubernetes/dcaegen2-services')
49 files changed, 9152 insertions, 29 deletions
diff --git a/kubernetes/dcaegen2-services/.helmignore b/kubernetes/dcaegen2-services/.helmignore index 50af031725..301d5b7d9e 100644 --- a/kubernetes/dcaegen2-services/.helmignore +++ b/kubernetes/dcaegen2-services/.helmignore @@ -20,3 +20,4 @@ .idea/ *.tmproj .vscode/ +components/ diff --git a/kubernetes/dcaegen2-services/Makefile b/kubernetes/dcaegen2-services/Makefile index bf267b7720..70bb031af3 100644 --- a/kubernetes/dcaegen2-services/Makefile +++ b/kubernetes/dcaegen2-services/Makefile @@ -1,4 +1,5 @@ # Copyright © 2020 Samsung Electronics +# Copyright (c) 2021 AT&T. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,10 +14,12 @@ # limitations under the License. ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) -OUTPUT_DIR := $(ROOT_DIR)/../../dist +OUTPUT_DIR := $(ROOT_DIR)/../dist PACKAGE_DIR := $(OUTPUT_DIR)/packages SECRET_DIR := $(OUTPUT_DIR)/secrets +HELM_REPO := local + EXCLUDES := HELM_BIN := helm HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) @@ -40,8 +43,8 @@ lint-%: dep-% package-%: lint-% @mkdir -p $(PACKAGE_DIR) - @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi - @$(HELM_BIN) repo index $(PACKAGE_DIR) + @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME $(HELM_REPO); fi + @sleep 3 clean: @rm -f */requirements.lock diff --git a/kubernetes/dcaegen2-services/common/Makefile b/kubernetes/dcaegen2-services/common/Makefile index bf267b7720..db8704c2ca 100644 --- a/kubernetes/dcaegen2-services/common/Makefile +++ b/kubernetes/dcaegen2-services/common/Makefile @@ -1,4 +1,5 @@ # Copyright © 2020 Samsung Electronics +# Copyright (c) 2021 AT&T. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,13 +18,22 @@ OUTPUT_DIR := $(ROOT_DIR)/../../dist PACKAGE_DIR := $(OUTPUT_DIR)/packages SECRET_DIR := $(OUTPUT_DIR)/secrets +HELM_REPO := local + EXCLUDES := HELM_BIN := helm +# Helm v2 and helm v3 uses different version format so we first try in helm v3 format +# and if it fails then we fallback to helm v2 one +HELM_VER := $(shell $(HELM_BIN) version --template "{{.Version}}" 2>/dev/null) +ifneq "$(findstring v3,$(HELM_VER))" "v3" + HELM_VER := $(shell $(HELM_BIN) version -c --template "{{.Client.SemVer}}") +endif + HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) .PHONY: $(EXCLUDES) $(HELM_CHARTS) -all: $(HELM_CHARTS) +all: $(HELM_CHARTS) helm-repo-update $(HELM_CHARTS): @echo "\n[$@]" @@ -40,12 +50,18 @@ lint-%: dep-% package-%: lint-% @mkdir -p $(PACKAGE_DIR) - @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi - @$(HELM_BIN) repo index $(PACKAGE_DIR) + @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME $(HELM_REPO); fi + @sleep 3 clean: @rm -f */requirements.lock @rm -f *tgz */charts/*tgz @rm -rf $(PACKAGE_DIR) + +helm-repo-update: +ifeq "$(findstring v3,$(HELM_VER))" "v3" + @$(HELM_BIN) repo update +endif + %: @: diff --git a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl index 10a63ebbcf..328a4c625f 100644 --- a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl +++ b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl @@ -69,6 +69,83 @@ the the literal string "An example value". {{- end }} {{- end -}} {{/* +For internal use only! + +dcaegen2-services-common._externalVolumes: +This template generates a list of volumes associated with the pod, +based on information provided in .Values.externalVolumes. This +template works in conjunction with dcaegen2-services-common._externalVolumeMounts +to give the microservice access to data in volumes created else. +This initial implementation supports ConfigMaps only, as this is the only +external volume mounting required by current microservices. + +.Values.externalValues is a list of objects. Each object has 3 required fields and 1 optional field: + - name: the name of the resource (in the current implementation, it must be a ConfigMap) + that is to be set up as a volume. The value is a case sensitive string. Because the + names of resources are sometimes set at deployment time (for instance, to prefix the Helm + release to the name), the string can be a Helm template fragment that will be expanded at + deployment time. + - type: the type of the resource (in the current implementation, only "ConfigMap" is supported). + The value is a case-INsensitive string. + - mountPoint: the path to the mount point for the volume in the container file system. The + value is a case-sensitive string. + - readOnly: (Optional) Boolean flag. Set to true to mount the volume as read-only. + Defaults to false. + +Here is an example fragment from a values.yaml file for a microservice: + +externalVolumes: + - name: my-example-configmap + type: configmap + mountPath: /opt/app/config + - name: '{{ include "common.release" . }}-another-example' + type: configmap + mountPath: /opt/app/otherconfig +*/}} +{{- define "dcaegen2-services-common._externalVolumes" -}} + {{- $global := . -}} + {{- if .Values.externalVolumes }} + {{- range $vol := .Values.externalVolumes }} + {{- if eq (lower $vol.type) "configmap" }} + {{- $vname := (tpl $vol.name $global) }} +- configMap: + defaultMode: 420 + name: {{ $vname }} + name: {{ $vname }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} +{{/* +For internal use only! + +dcaegen2-services-common._externalVolumeMounts: +This template generates a list of volume mounts for the microservice container, +based on information provided in .Values.externalVolumes. This +template works in conjunction with dcaegen2-services-common._externalVolumes +to give the microservice access to data in volumes created else. +This initial implementation supports ConfigMaps only, as this is the only +external volume mounting required by current microservices. + +See the documentation for dcaegen2-services-common._externalVolumes for +details on how external volumes are specified in the values.yaml file for +the microservice. +*/}} +{{- define "dcaegen2-services-common._externalVolumeMounts" -}} + {{- $global := . -}} + {{- if .Values.externalVolumes }} + {{- range $vol := .Values.externalVolumes }} + {{- if eq (lower $vol.type) "configmap" }} + {{- $vname := (tpl $vol.name $global) -}} + {{- $readOnly := $vol.readOnly | default false }} +- mountPath: {{ $vol.mountPath }} + name: {{ $vname }} + readOnly: {{ $readOnly }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} +{{/* dcaegen2-services-common.microserviceDeployment: This template produces a Kubernetes Deployment for a DCAE microservice. @@ -197,6 +274,10 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }} env: + {{- range $cred := .Values.credentials }} + - name: {{ $cred.name }} + {{- include "common.secret.envFromSecretFast" (dict "global" $ "uid" $cred.uid "key" $cred.key) | indent 10 }} + {{- end }} {{- if $certDir }} - name: DCAE_CA_CERTPATH value: {{ $certDir }}/cacert.pem @@ -240,6 +321,8 @@ spec: volumeMounts: - mountPath: /app-config name: app-config + - mountPath: /app-config-input + name: app-config-input {{- if $logDir }} - mountPath: {{ $logDir}} name: component-log @@ -247,7 +330,7 @@ spec: {{- if $certDir }} - mountPath: {{ $certDir }} name: tls-info - {{- if and .Values.certificates .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration -}} + {{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{- include "common.certManager.volumeMountsReadOnly" . | nindent 8 -}} {{- end -}} {{- end }} @@ -255,6 +338,7 @@ spec: - name: policy-shared mountPath: /etc/policies {{- end }} + {{- include "dcaegen2-services-common._externalVolumeMounts" . | nindent 8 }} {{- if $logDir }} - image: {{ include "repositoryGenerator.image.logging" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} @@ -344,7 +428,7 @@ spec: {{- if $certDir }} - emptyDir: {} name: tls-info - {{ if and .Values.certificates .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration -}} + {{ if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{ include "common.certManager.volumesReadOnly" . | nindent 6 }} {{- end }} {{- end }} @@ -352,6 +436,7 @@ spec: - name: policy-shared emptyDir: {} {{- end }} + {{- include "dcaegen2-services-common._externalVolumes" . | nindent 6 }} imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" {{ end -}} @@ -364,7 +449,7 @@ spec: */}} {{- define "dcaegen2-services-common._certPostProcessor" -}} {{- $certDir := default "" .Values.certDirectory . -}} - {{- if and $certDir .Values.certificates .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration -}} + {{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{- $cmpv2Certificate := (index .Values.certificates 0) -}} {{- $cmpv2CertificateDir := $cmpv2Certificate.mountPath -}} {{- $certType := "pem" -}} @@ -401,3 +486,16 @@ spec: value: {{ $keystoreDestinationPaths | quote }} {{- end }} {{- end -}} + +{{/* + Template returns string "true" if CMPv2 certificates should be used and nothing (so it can be used in with statements) + when they shouldn't. Example use: + {{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} + +*/}} +{{- define "dcaegen2-services-common.shouldUseCmpv2Certificates" -}} + {{- $certDir := default "" .Values.certDirectory . -}} + {{- if (and $certDir .Values.certificates .Values.global.cmpv2Enabled .Values.useCmpv2Certificates) -}} + true + {{- end -}} +{{- end -}} diff --git a/kubernetes/dcaegen2-services/components/Makefile b/kubernetes/dcaegen2-services/components/Makefile index bf267b7720..98dfb97f8f 100644 --- a/kubernetes/dcaegen2-services/components/Makefile +++ b/kubernetes/dcaegen2-services/components/Makefile @@ -1,4 +1,5 @@ # Copyright © 2020 Samsung Electronics +# Copyright (c) 2021 AT&T. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +18,8 @@ OUTPUT_DIR := $(ROOT_DIR)/../../dist PACKAGE_DIR := $(OUTPUT_DIR)/packages SECRET_DIR := $(OUTPUT_DIR)/secrets +HELM_REPO := local + EXCLUDES := HELM_BIN := helm HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) @@ -40,8 +43,8 @@ lint-%: dep-% package-%: lint-% @mkdir -p $(PACKAGE_DIR) - @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi - @$(HELM_BIN) repo index $(PACKAGE_DIR) + @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME $(HELM_REPO); fi + @sleep 5 clean: @rm -f */requirements.lock diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml index 929cdbbc5f..d45745404d 100644 --- a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml @@ -1,5 +1,6 @@ # Copyright (c) 2021 J. F. Lucas. All rights reserved. # Copyright (c) 2021 Nokia. All rights reserved. +# Copyright (c) 2021 AT&T. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -25,7 +26,7 @@ dependencies: repository: '@local' - name: dcaegen2-services-common version: ~8.x-0 - repository: 'file://../../common/dcaegen2-services-common' + repository: '@local' - name: certManagerCertificate version: ~8.x-0 repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/certificates.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/certificates.yaml index 0db2138a4f..12a05885ca 100644 --- a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/certificates.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/certificates.yaml @@ -14,6 +14,6 @@ # limitations under the License. */}} -{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }} +{{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{ include "certManagerCertificate.certificate" . }} {{ end }} diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml index bb65f37f73..64e4ba9b43 100644 --- a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml @@ -65,8 +65,12 @@ secrets: passwordPolicy: required # CMPv2 certificate -# It is used only when global parameter cmpv2Enabled is true +# It is used only when: +# - certDirectory is set +# - global cmpv2Enabled flag is set to true +# - flag useCmpv2Certificates is set to true # Disabled by default +useCmpv2Certificates: false certificates: - mountPath: /etc/ves-hv/ssl/external commonName: dcae-hv-ves-collector diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/Chart.yaml new file mode 100644 index 0000000000..0ebda2eed5 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-pmsh/Chart.yaml @@ -0,0 +1,23 @@ +# ================================ LICENSE_START ============================= +# ============================================================================ +# Copyright (C) 2021 Nordix Foundation. +# Copyright (c) 2021 AT&T. All rights reserved. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================= LICENSE_END ============================== + +apiVersion: v1 +appVersion: "Honolulu" +description: DCAE PMSH Service +name: dcae-pmsh +version: 8.0.0 diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/requirements.yaml new file mode 100644 index 0000000000..4dfc837bf8 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-pmsh/requirements.yaml @@ -0,0 +1,33 @@ +# ================================ LICENSE_START ============================= +# ============================================================================ +# Copyright (C) 2021 Nordix Foundation. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================= LICENSE_END ============================== + +dependencies: + - name: common + version: ~8.x-0 + repository: '@local' + - name: postgres + version: ~8.x-0 + repository: '@local' + - name: readinessCheck + version: ~8.x-0 + repository: '@local' + - name: repositoryGenerator + version: ~8.x-0 + repository: '@local' + - name: dcaegen2-services-common + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/configmap.yaml new file mode 100644 index 0000000000..b4b8e59b2e --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/configmap.yaml @@ -0,0 +1,19 @@ +{{/* +################################################################################ +# Copyright (c) 2021 Nordix Foundation. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +*/}} + +{{ include "dcaegen2-services-common.configMap" . }}
\ No newline at end of file diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/deployment.yaml new file mode 100644 index 0000000000..60fce4a7be --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/deployment.yaml @@ -0,0 +1,19 @@ +{{/* +################################################################################ +# Copyright (c) 2021 Nordix Foundation. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +*/}} + +{{ include "dcaegen2-services-common.microserviceDeployment" . }}
\ No newline at end of file diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/secret.yaml new file mode 100644 index 0000000000..0f1129cfb4 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/secret.yaml @@ -0,0 +1,19 @@ +{{/* +################################################################################ +# Copyright (c) 2021 Nordix Foundation. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +*/}} + +{{ include "common.secretFast" . }}
\ No newline at end of file diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/service.yaml new file mode 100644 index 0000000000..fedb766524 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/service.yaml @@ -0,0 +1,19 @@ +{{/* +################################################################################ +# Copyright (c) 2021 Nordix Foundation. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +*/}} + +{{ include "common.service" . }}
\ No newline at end of file diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/values.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/values.yaml new file mode 100644 index 0000000000..0e79e5e554 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-pmsh/values.yaml @@ -0,0 +1,195 @@ +# ================================ LICENSE_START ============================= +# ============================================================================ +# Copyright (C) 2021 Nordix Foundation. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================= LICENSE_END ============================== + +################################################################# +# Global Configuration Defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + +################################################################# +# Filebeat Configuration Defaults. +################################################################# +filebeatConfig: + logstashServiceName: log-ls + logstashPort: 5044 + +################################################################# +# Secrets Configuration. +################################################################# +secrets: + - uid: &aafCredsUID aafcreds + type: basicAuth + login: '{{ .Values.aafCreds.identity }}' + password: '{{ .Values.aafCreds.password }}' + passwordPolicy: required + - uid: &pgUserCredsSecretUid pg-user-creds + name: &pgUserCredsSecretName '{{ include "common.release" . }}-pmsh-pg-user-creds' + type: basicAuth + externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "pmsh-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}' + login: '{{ .Values.postgres.config.pgUserName }}' + password: '{{ .Values.postgres.config.pgUserPassword }}' + passwordPolicy: generate + +################################################################# +# InitContainer Images. +################################################################# +tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0 +consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0 + +################################################################# +# Application Configuration Defaults. +################################################################# +# Application Image +image: onap/org.onap.dcaegen2.services.pmsh:1.3.1 +pullPolicy: Always + +# Log directory where logging sidecar should look for log files +# if absent, no sidecar will be deployed +logDirectory: /var/log/ONAP/dcaegen2/services/pmsh + +# Directory where TLS certs should be stored +# if absent, no certs will be retrieved and stored +certDirectory: /opt/app/pmsh/etc/certs + +# TLS role -- set to true if microservice acts as server +# If true, an init container will retrieve a server cert +# and key from AAF and mount them in certDirectory. +tlsServer: true + +# Dependencies +readinessCheck: + wait_for: + - dcae-config-binding-service + - aaf-cm + - &postgresName dcae-pmsh-postgres + +# Probe Configuration +readiness: + initialDelaySeconds: 10 + periodSeconds: 15 + timeoutSeconds: 1 + path: /healthcheck + scheme: HTTPS + port: 8443 + +# Service Configuration +service: + type: ClusterIP + name: dcae-pmsh + ports: + - name: https + port: 8443 + port_protocol: http + +# AAF Credentials +aafCreds: + identity: dcae@dcae.onap.org + password: demo123456! + +credentials: +- name: AAF_IDENTITY + uid: *aafCredsUID + key: login +- name: AAF_PASSWORD + uid: *aafCredsUID + key: password + +# Initial Application Configuration +applicationConfig: + enable_tls: true + aaf_identity: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + key_path: /opt/app/pmsh/etc/certs/key.pem + cert_path: /opt/app/pmsh/etc/certs/cert.pem + ca_cert_path: /opt/app/pmsh/etc/certs/cacert.pem + control_loop_name: pmsh-control-loop + operational_policy_name: pmsh-operational-policy + pmsh_policy: + subscription: + subscriptionName: ExtraPM-All-gNB-R2B + administrativeState: LOCKED + fileBasedGP: 15 + fileLocation: "/pm/pm.xml" + nfFilter: { "nfNames": [ "^pnf.*","^vnf.*" ],"modelInvariantIDs": [ ],"modelVersionIDs": [ ],"modelNames": [ ] } + measurementGroups: [ { "measurementGroup": { "measurementTypes": [ { "measurementType": "countera" },{ "measurementType": "counterb" } ],"managedObjectDNsBasic": [ { "DN": "dna" },{ "DN": "dnb" } ] } },{ "measurementGroup": { "measurementTypes": [ { "measurementType": "counterc" },{ "measurementType": "counterd" } ],"managedObjectDNsBasic": [ { "DN": "dnc" },{ "DN": "dnd" } ] } } ] + streams_publishes: + policy_pm_publisher: + type: message_router + dmaap_info: + topic_url: "https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT" + streams_subscribes: + policy_pm_subscriber: + type: message_router + dmaap_info: + topic_url: "https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT" + aai_subscriber: + type: message_router + dmaap_info: + topic_url: "https://message-router:3905/events/AAI-EVENT" + +applicationEnv: + PMSH_PG_URL: &dcaePmshPgPrimary dcae-pmsh-pg-primary + PMSH_PG_USERNAME: + secretUid: *pgUserCredsSecretUid + key: login + PMSH_PG_PASSWORD: + secretUid: *pgUserCredsSecretUid + key: password + +# Resource Limit Flavor -By Default Using Small +flavor: small + +# Segregation for Different Environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 1Gi + requests: + cpu: 1 + memory: 1Gi + large: + limits: + cpu: 2 + memory: 2Gi + requests: + cpu: 2 + memory: 2Gi + unlimited: {} + +################################################################# +# Application configuration Overriding Defaults in the Postgres. +################################################################# +postgres: + nameOverride: *postgresName + service: + name: *postgresName + name2: *dcaePmshPgPrimary + name3: dcae-pmsh-pg-replica + container: + name: + primary: dcae-pmsh-pg-primary + replica: dcae-pmsh-pg-replica + persistence: + mountSubPath: pmsh/data + mountInitPath: pmsh + config: + pgUserName: pmsh + pgDatabase: pmsh + pgUserExternalSecret: *pgUserCredsSecretName
\ No newline at end of file diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml index 639fc2c740..80e79fe28e 100644 --- a/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml @@ -1,4 +1,5 @@ # Copyright (c) 2021 J. F. Lucas. All rights reserved. +# Copyright (c) 2021 AT&T. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,4 +25,4 @@ dependencies: repository: '@local' - name: dcaegen2-services-common version: ~8.x-0 - repository: 'file://../../common/dcaegen2-services-common' + repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml new file mode 100644 index 0000000000..64b0d0f96a --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml @@ -0,0 +1,23 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + +apiVersion: v1 +appVersion: "Honolulu" +description: DCAE SliceAnalysis MS charts +name: dcae-slice-analysis-ms +version: 8.0.0 + diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/requirements.yaml new file mode 100644 index 0000000000..9cab8e92e6 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/requirements.yaml @@ -0,0 +1,34 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + +dependencies: + - name: common + version: ~8.x-0 + repository: '@local' + - name: postgres + version: ~8.x-0 + repository: '@local' + - name: repositoryGenerator + version: ~8.x-0 + repository: '@local' + - name: readinessCheck + version: ~8.x-0 + repository: '@local' + - name: dcaegen2-services-common + version: ~8.x-0 + repository: '@local' + diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml new file mode 100644 index 0000000000..26be310888 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +*/}} + +{{ include "dcaegen2-services-common.configMap" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml new file mode 100644 index 0000000000..02b5df8135 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +*/}} + +{{ include "dcaegen2-services-common.microserviceDeployment" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml new file mode 100644 index 0000000000..c4596e5b21 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +*/}} + +{{ include "common.secretFast" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml new file mode 100644 index 0000000000..ba0283dda5 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +*/}} + +{{ include "common.service" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml new file mode 100644 index 0000000000..6790541bd9 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml @@ -0,0 +1,212 @@ +# ============= LICENSE_START ================================================ +# ============================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============= LICENSE_END ================================================== + +################################################################# +# Global Configuration Defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + +################################################################# +# Filebeat Configuration Defaults. +################################################################# +filebeatConfig: + logstashServiceName: log-ls + logstashPort: 5044 + +################################################################# +# Secrets Configuration. +################################################################# +secrets: + - uid: &aafCredsUID aafcreds + type: basicAuth + login: '{{ .Values.aafCreds.identity }}' + password: '{{ .Values.aafCreds.password }}' + passwordPolicy: required + - uid: &pgUserCredsSecretUid pg-user-creds + name: &pgUserCredsSecretName '{{ include "common.release" . }}-sliceanalysisms-pg-user-creds' + type: basicAuth + externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "sliceanalysisms-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}' + login: '{{ .Values.postgres.config.pgUserName }}' + password: '{{ .Values.postgres.config.pgUserPassword }}' + passwordPolicy: generate + +################################aafcreds################################# +# InitContainer Images. +################################################################# +tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0 +consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0 + +################################################################# +# Application Configuration Defaults. +################################################################# +# Application Image +image: onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.4 + +# Log directory where logging sidecar should look for log files +# if absent, no sidecar will be deployed +logDirectory: /var/log/ONAP/dcaegen2/services/sliceanalysisms + +# Directory where TLS certs should be stored +# if absent, no certs will be retrieved and stored +certDirectory: /opt/app/sliceanalysisms/etc/cert/ + +# TLS role -- set to true if microservice acts as server +# If true, an init container will retrieve a server cert +# and key from AAF and mount them in certDirectory. +tlsServer: true + +# Dependencies +readinessCheck: + wait_for: + - dcae-config-binding-service + - aaf-cm + - &postgresName dcae-sliceanalysisms-postgres + +# Probe Configuration +readiness: + initialDelaySeconds: 60 + periodSeconds: 15 + timeoutSeconds: 1 + path: /healthcheck + scheme: HTTP + port: 8080 + +# Service Configuration +service: + type: ClusterIP + name: dcae-slice-analysis-ms + ports: + - name: https + port: 8080 + port_protocol: http + +# AAF Credentials +aafCreds: + identity: dcae@dcae.onap.org + password: demo123456! + +credentials: +- name: AAF_IDENTITY + uid: *aafCredsUID + key: login +- name: AAF_PASSWORD + uid: *aafCredsUID + key: password +- name: PG_USERNAME + uid: *pgUserCredsSecretUid + key: login +- name: PG_PASSWORD + uid: *pgUserCredsSecretUid + key: password + +# Initial Application Configuration +applicationConfig: + aafUsername: ${AAF_IDENTITY} + aafPassword: ${AAF_PASSWORD} + postgres.host: dcae-sliceanalysisms-pg-primary + postgres.port: 5432 + postgres.username: ${PG_USERNAME} + postgres.password: ${PG_PASSWORD} + trust_store_path: /opt/app/sliceanalysisms/etc/cert/trust.jks + trust_store_pass_path: /opt/app/sliceanalysisms/etc/cert/trust.pass + sliceanalysisms.pollingInterval: 20 + sliceanalysisms.pollingTimeout: 60 + cbsPollingInterval: 60 + sliceanalysisms.namespace: onap + sliceanalysisms.dmaap.server: ["message-router"] + sliceanalysisms.bufferTime: 60 + sliceanalysisms.cg: sliceanalysisms-cg + sliceanalysisms.cid: sliceanalysisms-cid + sliceanalysisms.configDb.service: http://config-db:8080 + sliceanalysisms.configDbEnabled: true + sliceanalysisms.aai.url: https://aai.onap.svc.cluster.local:8443/aai/v21 + sliceanalysisms.cps.url: https://cps:8088 + sliceanalysisms.samples: 3 + sliceanalysisms.minPercentageChange: 5 + sliceanalysisms.initialDelaySeconds: 120000 + streams_publishes: + CL_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT + streams_subscribes: + performance_management_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS + intelligent_slicing_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC + dcae_cl_response_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP + +applicationEnv: + STANDALONE: 'false' + +# Resource Limit Flavor -By Default Using Small +flavor: small +# Segregation for Different Environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 1Gi + requests: + cpu: 1 + memory: 1Gi + large: + limits: + cpu: 2 + memory: 2Gi + requests: + cpu: 2 + memory: 2Gi + unlimited: {} + +################################################################# +# Application configuration Overriding Defaults in the Postgres. +################################################################# +postgres: + nameOverride: *postgresName + service: + name: *postgresName + name2: dcae-sliceanalysisms-pg-primary + name3: dcae-sliceanalysisms-pg-replica + container: + name: + primary: dcae-sliceanalysisms-pg-primary + replica: dcae-sliceanalysisms-pg-replica + persistence: + mountSubPath: sliceanalysisms/data + mountInitPath: sliceanalysisms + config: + pgUserName: sliceanalysisms + pgDatabase: sliceanalysisms + pgUserExternalSecret: *pgUserCredsSecretName diff --git a/kubernetes/dcaegen2-services/components/dcae-son-handler/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-son-handler/Chart.yaml new file mode 100644 index 0000000000..f57b63ac86 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-son-handler/Chart.yaml @@ -0,0 +1,22 @@ +# ============= LICENSE_START ================================================ +# ============================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============= LICENSE_END ================================================== + +apiVersion: v1 +appVersion: "Honolulu" +description: DCAE Son-handler helm chart +name: dcae-son-handler +version: 8.0.0 diff --git a/kubernetes/dcaegen2-services/components/dcae-son-handler/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-son-handler/requirements.yaml new file mode 100644 index 0000000000..3f52d6fce8 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-son-handler/requirements.yaml @@ -0,0 +1,33 @@ +# ============= LICENSE_START ================================================ +# ============================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============= LICENSE_END ================================================== + +dependencies: + - name: common + version: ~8.x-0 + repository: '@local' + - name: postgres + version: ~8.x-0 + repository: '@local' + - name: readinessCheck + version: ~8.x-0 + repository: '@local' + - name: repositoryGenerator + version: ~8.x-0 + repository: '@local' + - name: dcaegen2-services-common + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/configmap.yaml new file mode 100644 index 0000000000..48a203963e --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/configmap.yaml @@ -0,0 +1,20 @@ +{{/* +# ============= LICENSE_START ================================================ +# ============================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============= LICENSE_END ================================================== +*/}} + +{{ include "dcaegen2-services-common.configMap" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/deployment.yaml new file mode 100644 index 0000000000..c8cd4d40e5 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/deployment.yaml @@ -0,0 +1,20 @@ +{{/* +# ============= LICENSE_START ================================================ +# ============================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============= LICENSE_END ================================================== +*/}} + +{{ include "dcaegen2-services-common.microserviceDeployment" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/secret.yaml new file mode 100644 index 0000000000..26b7b5dbdd --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/secret.yaml @@ -0,0 +1,20 @@ +{{/* +# ============= LICENSE_START ================================================ +# ============================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============= LICENSE_END ================================================== +*/}} + +{{ include "common.secretFast" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/service.yaml new file mode 100644 index 0000000000..41133e5abc --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/service.yaml @@ -0,0 +1,20 @@ +{{/* +# ============= LICENSE_START ================================================ +# ============================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============= LICENSE_END ================================================== +*/}} + +{{ include "common.service" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-son-handler/values.yaml b/kubernetes/dcaegen2-services/components/dcae-son-handler/values.yaml new file mode 100644 index 0000000000..78c6144979 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-son-handler/values.yaml @@ -0,0 +1,244 @@ +# ============= LICENSE_START ================================================ +# ============================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============= LICENSE_END ================================================== + +################################################################# +# Global Configuration Defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + +################################################################# +# Filebeat Configuration Defaults. +################################################################# +filebeatConfig: + logstashServiceName: log-ls + logstashPort: 5044 + +################################################################# +# Secrets Configuration. +################################################################# +secrets: + - uid: &aafCredsUID aafcreds + type: basicAuth + login: '{{ .Values.aafCreds.identity }}' + password: '{{ .Values.aafCreds.password }}' + passwordPolicy: required + - uid: &pgUserCredsSecretUid pg-user-creds + name: &pgUserCredsSecretName '{{ include "common.release" . }}-sonhms-pg-user-creds' + type: basicAuth + externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "sonhms-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}' + login: '{{ .Values.postgres.config.pgUserName }}' + password: '{{ .Values.postgres.config.pgUserPassword }}' + passwordPolicy: generate + +################################################################# +# InitContainer Images. +################################################################# +tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0 +consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0 + +################################################################# +# Application Configuration Defaults. +################################################################# +# Application Image +image: onap/org.onap.dcaegen2.services.son-handler:2.1.3 +pullPolicy: Always + +# Log directory where logging sidecar should look for log files +# if absent, no sidecar will be deployed +logDirectory: /var/log/ONAP/dcaegen2/services/sonhms + +# Directory where TLS certs should be stored +# if absent, no certs will be retrieved and stored +certDirectory: /opt/app/sonhms/etc/certs + +# TLS role -- set to true if microservice acts as server +# If true, an init container will retrieve a server cert +# and key from AAF and mount them in certDirectory. +tlsServer: true + +# Policy configuraiton properties +# if present, policy-sync side car will be deployed +dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1 +policies: + policyID: | + '["com.Config_PCIMS_CONFIG_POLICY"]' + +# Dependencies +readinessCheck: + wait_for: + - dcae-config-binding-service + - aaf-cm + - &postgresName dcae-sonhms-postgres + +# Probe Configuration +readiness: + initialDelaySeconds: 10 + periodSeconds: 15 + timeoutSeconds: 1 + path: /healthcheck + scheme: HTTPS + port: 8080 + +# Service Configuration +service: + type: ClusterIP + name: dcae-son-handler + ports: + - name: https + port: 8080 + port_protocol: http + +# AAF Credentials +aafCreds: + identity: dcae@dcae.onap.org + password: demo123456! + +credentials: +- name: AAF_IDENTITY + uid: *aafCredsUID + key: login +- name: AAF_PASSWORD + uid: *aafCredsUID + key: password +- name: PG_USERNAME + uid: *pgUserCredsSecretUid + key: login +- name: PG_PASSWORD + uid: *pgUserCredsSecretUid + key: password + + +# Initial Application Configuration +applicationConfig: + postgres.host: &dcaeSonhmsPgPrimary dcae-sonhms-pg-primary + postgres.port: 5432 + postgres.username: ${PG_USERNAME} + postgres.password: ${PG_PASSWORD} + sonhandler.pollingInterval: 20 + sonhandler.pollingTimeout: 60 + cbsPollingInterval: 60 + sonhandler.numSolutions: 5 + sonhandler.minCollision: 5 + sonhandler.minConfusion: 5 + sonhandler.maximumClusters: 5 + sonhandler.badThreshold: 50 + sonhandler.poorThreshold: 70 + sonhandler.namespace: onap + sonhandler.sourceId: SONHMS + sonhandler.dmaap.server: ["message-router"] + sonhandler.bufferTime: 60 + sonhandler.cg: sonhms-cg + sonhandler.cid: sonhms-cid + sonhandler.configDb.service: http://configdb:8080 + sonhandler.oof.service: https://oof-osdf:8698 + sonhandler.oof.endpoint: /api/oof/v1/pci + sonhandler.pciOptimizer: pci + sonhandler.pciAnrOptimizer: pci_anr + sonhandler.poorCountThreshold: 3 + sonhandler.badCountThreshold: 3 + sonhandler.oofTriggerCountTimer: 30 + sonhandler.oofTriggerCountThreshold: 5 + sonhandler.policyRespTimer: 10 + sonhandler.policyNegativeAckThreshold: 3 + sonhandler.policyFixedPciTimeInterval: 30000 + sonhandler.nfNamingCode: RansimAgent + streams_publishes: + CL_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT + streams_subscribes: + performance_management_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router:3905/events/unauthenticated.VES_MEASUREMENT_OUTPUT + fault_management_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router:3905/events/unauthenticated.SEC_FAULT_OUTPUT + nbr_list_change_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO + dcae_cl_response_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router:3905/events/DCAE_CL_RSP + service_calls: + sdnr-getpnfname: [] + sdnr-getpci: [] + sdnr-getnbrlist: [] + sdnr-getcelllist: [] + oof-req: [] + policy-req: [] + +applicationEnv: + STANDALONE: 'false' + +# Resource Limit Flavor -By Default Using Small +flavor: small + +# Segregation for Different Environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 1Gi + requests: + cpu: 1 + memory: 1Gi + large: + limits: + cpu: 2 + memory: 2Gi + requests: + cpu: 2 + memory: 2Gi + unlimited: {} + +################################################################# +# Application configuration Overriding Defaults in the Postgres. +################################################################# +postgres: + nameOverride: *postgresName + service: + name: *postgresName + name2: *dcaeSonhmsPgPrimary + name3: dcae-sonhms-pg-replica + container: + name: + primary: dcae-sonhms-pg-primary + replica: dcae-sonhms-pg-replica + persistence: + mountSubPath: sonhms/data + mountInitPath: sonhms + config: + pgUserName: sonhms + pgDatabase: sonhms + pgUserExternalSecret: *pgUserCredsSecretName diff --git a/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml index 021c357f35..02a2a674c3 100644 --- a/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml @@ -1,4 +1,5 @@ # Copyright (c) 2020 J. F. Lucas. All rights reserved. +# Copyright (c) 2021 AT&T. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,4 +25,4 @@ dependencies: repository: '@local' - name: dcaegen2-services-common version: ~8.x-0 - repository: 'file://../../common/dcaegen2-services-common' + repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml index 89cf13447a..a26c66366b 100644 --- a/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml @@ -41,7 +41,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1. # Application configuration defaults. ################################################################# # application image -image: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1 +image: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.0 pullPolicy: Always # log directory where logging sidecar should look for log files @@ -87,8 +87,7 @@ service: name: http # Policy configuraiton properties -# if present, policy-sync side car will be deployed - +# if enabled, policy-sync side car will be deployed #dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1 #policies: # duration: 300 diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml index 929cdbbc5f..d45745404d 100644 --- a/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml @@ -1,5 +1,6 @@ # Copyright (c) 2021 J. F. Lucas. All rights reserved. # Copyright (c) 2021 Nokia. All rights reserved. +# Copyright (c) 2021 AT&T. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -25,7 +26,7 @@ dependencies: repository: '@local' - name: dcaegen2-services-common version: ~8.x-0 - repository: 'file://../../common/dcaegen2-services-common' + repository: '@local' - name: certManagerCertificate version: ~8.x-0 repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/certificates.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/certificates.yaml index 0db2138a4f..12a05885ca 100644 --- a/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/certificates.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/certificates.yaml @@ -14,6 +14,6 @@ # limitations under the License. */}} -{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }} +{{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{ include "certManagerCertificate.certificate" . }} {{ end }} diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml index 081bcdcc1a..982d770595 100644 --- a/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml @@ -41,7 +41,7 @@ certPostProcessorImage: onap/org.onap.oom.platform.cert-service.oom-certservice- # Application configuration defaults. ################################################################# # application image -image: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.8.0 +image: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.9.2 pullPolicy: Always # log directory where logging sidecar should look for log files @@ -58,8 +58,12 @@ certDirectory: /opt/app/dcae-certificate tlsServer: true # CMPv2 certificate -# It is used only when global parameter cmpv2Enabled is true +# It is used only when: +# - certDirectory is set +# - global cmpv2Enabled flag is set to true +# - flag useCmpv2Certificates is set to true # Disabled by default +useCmpv2Certificates: false certificates: - mountPath: /opt/app/dcae-certificate/external commonName: dcae-ves-collector diff --git a/kubernetes/dcaegen2-services/requirements.yaml b/kubernetes/dcaegen2-services/requirements.yaml index a673a9783b..2bbeb9869c 100644 --- a/kubernetes/dcaegen2-services/requirements.yaml +++ b/kubernetes/dcaegen2-services/requirements.yaml @@ -1,4 +1,5 @@ # Copyright (c) 2021 J. F. Lucas. All rights reserved. +# Copyright (c) 2021 AT&T. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,21 +19,40 @@ dependencies: repository: '@local' - name: dcae-ms-healthcheck version: ~8.x-0 - repository: 'file://components/dcae-ms-healthcheck' + repository: '@local' + #repository: 'file://components/dcae-ms-healthcheck' condition: dcae-ms-healthcheck.enabled + - name: dcae-pmsh + version: ~8.x-0 + repository: '@local' + #repository: 'file://components/dcae-pmsh' + condition: dcae-pmsh.enabled - name: dcae-prh version: ~8.x-0 - repository: 'file://components/dcae-prh' + repository: '@local' + #repository: 'file://components/dcae-prh' condition: dcae-bootstrap.enabled - name: dcae-tcagen2 version: ~8.x-0 - repository: 'file://components/dcae-tcagen2' + repository: '@local' + #repository: 'file://components/dcae-tcagen2' condition: dcae-tcagen2.enabled - name: dcae-ves-collector version: ~8.x-0 - repository: 'file://components/dcae-ves-collector' + repository: '@local' + #repository: 'file://components/dcae-ves-collector' condition: dcae-ves-collector.enabled - name: dcae-hv-ves-collector version: ~8.x-0 - repository: 'file://components/dcae-hv-ves-collector' + repository: '@local' + #repository: 'file://components/dcae-hv-ves-collector' condition: dcae-hv-ves-collector.enabled + - name: dcae-slice-analysis-ms + version: ~8.x-0 + repository: '@local' + #repository: 'file://components/dcae-slice-analysis-ms' + condition: dcae-slice-analysis-ms.enabled + - name: dcae-son-handler + version: ~8.x-0 + repository: '@local' + condition: dcae-son-handler.enabled diff --git a/kubernetes/dcaegen2-services/resources/external/map/schema-map.json b/kubernetes/dcaegen2-services/resources/external/map/schema-map.json new file mode 100644 index 0000000000..498521cfee --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/map/schema-map.json @@ -0,0 +1,18 @@ +[ + { + "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/faultMnS.yaml", + "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/faultMnS.yaml" + }, + { + "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/FileDataReportingMnS.yaml", + "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/FileDataReportingMnS.yaml" + }, + { + "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/heartbeatNtf.yaml", + "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/heartbeatNtf.yaml" + }, + { + "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/provMnS.yaml", + "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/provMnS.yaml" + } +]
\ No newline at end of file diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/5gcNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/5gcNrm.yaml new file mode 100644 index 0000000000..eb40832285 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/5gcNrm.yaml @@ -0,0 +1,1980 @@ +openapi: 3.0.1 +info: + title: 3GPP 5GC NRM + version: 16.6.0 + description: >- + OAS 3.0.1 specification of the 5GC NRM + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541 V16.6.0; 5G NRM, 5GC NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + AmfIdentifier: + type: object + description: 'AmfIdentifier comprise of amfRegionId, amfSetId and amfPointer' + properties: + amfRegionId: + $ref: '#/components/schemas/AmfRegionId' + amfSetId: + $ref: '#/components/schemas/AmfSetId' + amfPointer: + $ref: '#/components/schemas/AmfPointer' + AmfRegionId: + type: integer + description: AmfRegionId is defined in TS 23.003 + maximum: 255 + AmfSetId: + type: string + description: AmfSetId is defined in TS 23.003 + maximum: 1023 + AmfPointer: + type: integer + description: AmfPointer is defined in TS 23.003 + maximum: 63 + IpEndPoint: + type: object + properties: + ipv4Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + ipv6Prefix: + $ref: 'genericNrm.yaml#/components/schemas/Ipv6Prefix' + transport: + $ref: 'genericNrm.yaml#/components/schemas/TransportProtocol' + port: + type: integer + NFProfileList: + type: array + description: List of NF profile + items: + $ref: '#/components/schemas/NFProfile' + NFProfile: + type: object + description: 'NF profile stored in NRF, defined in TS 29.510' + properties: + nFInstanceId: + type: string + description: uuid of NF instance + nFType: + $ref: 'genericNrm.yaml#/components/schemas/NFType' + nFStatus: + $ref: '#/components/schemas/NFStatus' + plmn: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + sNssais: + $ref: 'nrNrm.yaml#/components/schemas/Snssai' + fqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + nfServices: + type: array + items: + $ref: '#/components/schemas/NFService' + NFService: + type: object + description: NF Service is defined in TS 29.510 + properties: + serviceInstanceId: + type: string + serviceName: + type: string + version: + type: string + schema: + type: string + fqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + ipEndPoints: + type: array + items: + $ref: '#/components/schemas/IpEndPoint' + apiPrfix: + type: string + allowedPlmns: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + allowedNfTypes: + type: array + items: + $ref: 'genericNrm.yaml#/components/schemas/NFType' + allowedNssais: + type: array + items: + $ref: 'nrNrm.yaml#/components/schemas/Snssai' + NFStatus: + type: string + description: any of enumrated value + enum: + - REGISTERED + - SUSPENDED + CNSIIdList: + type: array + items: + $ref: '#/components/schemas/CNSIId' + CNSIId: + type: string + description: CNSI Id is defined in TS 29.531, only for Core Network + TACList: + type: array + items: + $ref: 'nrNrm.yaml#/components/schemas/NrTac' + WeightFactor: + type: integer + UdmInfo: + type: object + properties: + nFSrvGroupId: + type: string + AusfInfo: + type: object + properties: + nFSrvGroupId: + type: string + UpfInfo: + type: object + properties: + smfServingAreas: + type: string + AmfInfo: + type: object + properties: + priority: + type: integer + SupportedDataSetId: + type: string + description: any of enumrated value + enum: + - SUBSCRIPTION + - POLICY + - EXPOSURE + - APPLICATION + Udrinfo: + type: object + properties: + supportedDataSetIds: + type: array + items: + $ref: '#/components/schemas/SupportedDataSetId' + nFSrvGroupId: + type: string + NFInfo: + oneOf: + - $ref: '#/components/schemas/UdmInfo' + - $ref: '#/components/schemas/AusfInfo' + - $ref: '#/components/schemas/UpfInfo' + - $ref: '#/components/schemas/AmfInfo' + - $ref: '#/components/schemas/Udrinfo' + ManagedNFProfile: + type: object + properties: + nfInstanceID: + type: string + nfType: + $ref: 'genericNrm.yaml#/components/schemas/NFType' + authzInfo: + type: string + hostAddr: + $ref: 'genericNrm.yaml#/components/schemas/HostAddr' + locality: + type: string + nFInfo: + $ref: '#/components/schemas/NFInfo' + capacity: + type: integer + SEPPType: + type: string + description: any of enumrated value + enum: + - CSEPP + - PSEPP + SupportedFunc: + type: object + properties: + function: + type: string + policy: + type: string + SupportedFuncList: + type: array + items: + $ref: '#/components/schemas/SupportedFunc' + CommModelType: + type: string + description: any of enumrated value + enum: + - DIRECT_COMMUNICATION_WO_NRF + - DIRECT_COMMUNICATION_WITH_NRF + - INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY + - INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY + CommModel: + type: object + properties: + groupId: + type: integer + commModelType: + $ref: '#/components/schemas/CommModelType' + targetNFServiceList: + $ref: 'comDefs.yaml#/components/schemas/DnList' + commModelConfiguration: + type: string + CommModelList: + type: array + items: + $ref: '#/components/schemas/CommModel' + CapabilityList: + type: array + items: + type: string + FiveQiDscpMapping: + type: object + properties: + fiveQIValues: + type: array + items: + type: integer + dscp: + type: integer + + PacketErrorRate: + type: object + properties: + scalar: + type: integer + exponent: + type: integer + FiveQICharacteristics: + type: object + properties: + fiveQIValue: + type: integer + resourceType: + type: string + enum: + - GBR + - NonGBR + priorityLevel: + type: integer + packetDelayBudget: + type: integer + packetErrorRate: + $ref: '#/components/schemas/PacketErrorRate' + averagingWindow: + type: integer + maximumDataBurstVolume: + type: integer + + + GtpUPathDelayThresholdsType: + type: object + properties: + n3AveragePacketDelayThreshold: + type: integer + n3MinPacketDelayThreshold: + type: integer + n3MaxPacketDelayThreshold: + type: integer + n9AveragePacketDelayThreshold: + type: integer + n9MinPacketDelayThreshold: + type: integer + n9MaxPacketDelayThreshold: + type: integer + QFPacketDelayThresholdsType: + type: object + properties: + thresholdDl: + type: integer + thresholdUl: + type: integer + thresholdRtt: + type: integer + + QosData: + type: object + properties: + qosId: + type: string + fiveQIValue: + type: integer + maxbrUl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxbrDl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrUl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrDl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm' + arp: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/Arp' + qosNotificationControl: + type: boolean + reflectiveQos: + type: boolean + sharingKeyDl: + type: string + sharingKeyUl: + type: string + maxPacketLossRateDl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPacketLossRateUl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + extMaxDataBurstVol: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + + QosDataList: + type: array + items: + $ref: '#/components/schemas/QosData' + + SteeringMode: + type: object + properties: + steerModeValue: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteerModeValue' + active: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/AccessType' + standby: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/AccessTypeRm' + threeGLoad: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/Uinteger' + prioAcc: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/AccessType' + + TrafficControlData: + type: object + properties: + tcId: + type: string + flowStatus: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowStatus' + redirectInfo: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' + addRedirectInfo: + type: array + items: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' + minItems: 1 + muteNotif: + type: boolean + trafficSteeringPolIdDl: + type: string + nullable: true + trafficSteeringPolIdUl: + type: string + nullable: true + routeToLocs: + type: array + items: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + traffCorreInd: + type: boolean + upPathChgEvent: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' + steerFun: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality' + steerModeDl: + $ref: '#/components/schemas/SteeringMode' + steerModeUl: + $ref: '#/components/schemas/SteeringMode' + mulAccCtrl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MulticastAccessControl' + + TrafficControlDataList: + type: array + items: + $ref: '#/components/schemas/TrafficControlData' + + PccRule: + type: object + properties: + pccRuleId: + type: string + description: Univocally identifies the PCC rule within a PDU session. + flowInfoList: + type: array + items: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation' + applicationId: + type: string + appDescriptor: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ApplicationDescriptor' + contentVersion: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion' + precedence: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/Uinteger' + afSigProtocol: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' + isAppRelocatable: + type: boolean + isUeAddrPreserved: + type: boolean + qosData: + type: array + items: + $ref: '#/components/schemas/QosDataList' + altQosParams: + type: array + items: + $ref: '#/components/schemas/QosDataList' + trafficControlData: + type: array + items: + $ref: '#/components/schemas/TrafficControlDataList' + conditionData: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ConditionData' + tscaiInputDl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + + +#-------- Definition of concrete IOCs -------------------------------------------- + + SubNetwork-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + ExternalAmfFunction: + $ref: '#/components/schemas/ExternalAmfFunction-Multiple' + ExternalNrfFunction: + $ref: '#/components/schemas/ExternalNrfFunction-Multiple' + ExternalNssfFunction: + $ref: '#/components/schemas/ExternalNssfFunction-Multiple' + AmfSet: + $ref: '#/components/schemas/AmfSet-Multiple' + AmfRegion: + $ref: '#/components/schemas/AmfRegion-Multiple' + Configurable5QISet: + $ref: '#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: '#/components/schemas/Dynamic5QISet-Multiple' + + ManagedElement-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-ncO' + - type: object + properties: + AmfFunction: + $ref: '#/components/schemas/AmfFunction-Multiple' + SmfFunction: + $ref: '#/components/schemas/SmfFunction-Multiple' + UpfFunction: + $ref: '#/components/schemas/UpfFunction-Multiple' + N3iwfFunction: + $ref: '#/components/schemas/N3iwfFunction-Multiple' + PcfFunction: + $ref: '#/components/schemas/PcfFunction-Multiple' + AusfFunction: + $ref: '#/components/schemas/AusfFunction-Multiple' + UdmFunction: + $ref: '#/components/schemas/UdmFunction-Multiple' + UdrFunction: + $ref: '#/components/schemas/UdrFunction-Multiple' + UdsfFunction: + $ref: '#/components/schemas/UdsfFunction-Multiple' + NrfFunction: + $ref: '#/components/schemas/NrfFunction-Multiple' + NssfFunction: + $ref: '#/components/schemas/NssfFunction-Multiple' + SmsfFunction: + $ref: '#/components/schemas/SmsfFunction-Multiple' + LmfFunction: + $ref: '#/components/schemas/LmfFunction-Multiple' + NgeirFunction: + $ref: '#/components/schemas/NgeirFunction-Multiple' + SeppFunction: + $ref: '#/components/schemas/SeppFunction-Multiple' + NwdafFunction: + $ref: '#/components/schemas/NwdafFunction-Multiple' + ScpFunction: + $ref: '#/components/schemas/ScpFunction-Multiple' + NefFunction: + $ref: '#/components/schemas/NefFunction-Multiple' + Configurable5QISet: + $ref: '#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: '#/components/schemas/Dynamic5QISet-Multiple' + + AmfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + amfIdentifier: + $ref: '#/components/schemas/AmfIdentifier' + sBIFqdn: + type: string + weightFactor: + $ref: '#/components/schemas/WeightFactor' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + amfSet: + $ref: 'comDefs.yaml#/components/schemas/Dn' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N2: + $ref: '#/components/schemas/EP_N2-Multiple' + EP_N8: + $ref: '#/components/schemas/EP_N8-Multiple' + EP_N11: + $ref: '#/components/schemas/EP_N11-Multiple' + EP_N12: + $ref: '#/components/schemas/EP_N12-Multiple' + EP_N14: + $ref: '#/components/schemas/EP_N14-Multiple' + EP_N15: + $ref: '#/components/schemas/EP_N15-Multiple' + EP_N17: + $ref: '#/components/schemas/EP_N17-Multiple' + EP_N20: + $ref: '#/components/schemas/EP_N20-Multiple' + EP_N22: + $ref: '#/components/schemas/EP_N22-Multiple' + EP_N26: + $ref: '#/components/schemas/EP_N26-Multiple' + EP_NLS: + $ref: '#/components/schemas/EP_NLS-Multiple' + EP_NLG: + $ref: '#/components/schemas/EP_NLG-Multiple' + AmfSet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + amfSetId: + $ref: '#/components/schemas/AmfSetId' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + AmfRegion-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + amfRegionId: + $ref: '#/components/schemas/AmfRegionId' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + SmfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + configurable5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N4: + $ref: '#/components/schemas/EP_N4-Multiple' + EP_N7: + $ref: '#/components/schemas/EP_N7-Multiple' + EP_N10: + $ref: '#/components/schemas/EP_N10-Multiple' + EP_N11: + $ref: '#/components/schemas/EP_N11-Multiple' + EP_N16: + $ref: '#/components/schemas/EP_N16-Multiple' + EP_S5C: + $ref: '#/components/schemas/EP_S5C-Multiple' + FiveQiDscpMappingSet: + $ref: '#/components/schemas/FiveQiDscpMappingSet-Single' + GtpUPathQoSMonitoringControl: + $ref: '#/components/schemas/GtpUPathQoSMonitoringControl-Single' + QFQoSMonitoringControl: + $ref: '#/components/schemas/QFQoSMonitoringControl-Single' + PredefinedPccRuleSet: + $ref: '#/components/schemas/PredefinedPccRuleSet-Single' + + UpfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N3: + $ref: '#/components/schemas/EP_N3-Multiple' + EP_N4: + $ref: '#/components/schemas/EP_N4-Multiple' + EP_N6: + $ref: '#/components/schemas/EP_N6-Multiple' + EP_N9: + $ref: '#/components/schemas/EP_N9-Multiple' + EP_S5U: + $ref: '#/components/schemas/EP_S5U-Multiple' + N3iwfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N3: + $ref: '#/components/schemas/EP_N3-Multiple' + EP_N4: + $ref: '#/components/schemas/EP_N4-Multiple' + PcfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + configurable5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N5: + $ref: '#/components/schemas/EP_N5-Multiple' + EP_N7: + $ref: '#/components/schemas/EP_N7-Multiple' + EP_N15: + $ref: '#/components/schemas/EP_N15-Multiple' + EP_N16: + $ref: '#/components/schemas/EP_N16-Multiple' + EP_Rx: + $ref: '#/components/schemas/EP_Rx-Multiple' + PredefinedPccRuleSet: + $ref: '#/components/schemas/PredefinedPccRuleSet-Single' + + AusfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N12: + $ref: '#/components/schemas/EP_N12-Multiple' + EP_N13: + $ref: '#/components/schemas/EP_N13-Multiple' + UdmFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N8: + $ref: '#/components/schemas/EP_N8-Multiple' + EP_N10: + $ref: '#/components/schemas/EP_N10-Multiple' + EP_N13: + $ref: '#/components/schemas/EP_N13-Multiple' + UdrFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + UdsfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + NrfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + nFProfileList: + $ref: '#/components/schemas/NFProfileList' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N27: + $ref: '#/components/schemas/EP_N27-Multiple' + NssfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + nFProfileList: + $ref: '#/components/schemas/NFProfileList' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N22: + $ref: '#/components/schemas/EP_N22-Multiple' + EP_N31: + $ref: '#/components/schemas/EP_N31-Multiple' + SmsfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N20: + $ref: '#/components/schemas/EP_N20-Multiple' + EP_N21: + $ref: '#/components/schemas/EP_N21-Multiple' + EP_MAP_SMSC: + $ref: '#/components/schemas/EP_MAP_SMSC-Multiple' + LmfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_NLS: + $ref: '#/components/schemas/EP_NLS-Multiple' + NgeirFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N17: + $ref: '#/components/schemas/EP_N17-Multiple' + SeppFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + sEPPType: + $ref: '#/components/schemas/SEPPType' + sEPPId: + type: integer + fqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N32: + $ref: '#/components/schemas/EP_N32-Multiple' + NwdafFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + ScpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + supportedFuncList: + $ref: '#/components/schemas/SupportedFuncList' + address: + $ref: 'genericNrm.yaml#/components/schemas/HostAddr' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + NefFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + capabilityList: + $ref: '#/components/schemas/CapabilityList' + isINEF: + type: boolean + isCAPIFSup: + type: boolean + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + ExternalAmfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + amfIdentifier: + $ref: '#/components/schemas/AmfIdentifier' + ExternalNrfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + ExternalNssfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + ExternalSeppFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + sEPPId: + type: integer + fqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + + + EP_N2-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N3-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + epTransportRefs: + $ref: 'comDefs.yaml#/components/schemas/DnList' + EP_N4-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N5-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N6-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N7-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N8-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N9-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N10-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N11-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N12-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N13-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N14-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N15-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N16-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N17-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N20-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N21-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N22-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N26-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N27-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + + EP_N31-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N32-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + remotePlmnId: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + remoteSeppAddress: + $ref: 'genericNrm.yaml#/components/schemas/HostAddr' + remoteSeppId: + type: integer + n32cParas: + type: string + n32fPolicy: + type: string + withIPX: + type: boolean + + EP_S5C-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_S5U-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_Rx-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_MAP_SMSC-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_NLS-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_NLG-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + FiveQiDscpMappingSet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + FiveQiDscpMappingList: + type: array + items: + $ref: '#/components/schemas/FiveQiDscpMapping' + + Configurable5QISet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + configurable5QIs: + type: array + items: + $ref: '#/components/schemas/FiveQICharacteristics' + + Dynamic5QISet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + dynamic5QIs: + type: array + items: + $ref: '#/components/schemas/FiveQICharacteristics' + + GtpUPathQoSMonitoringControl-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + gtpUPathQoSMonitoringState: + type: string + enum: + - ENABLED + - DISABLED + gtpUPathMonitoredSNSSAIs: + type: array + items: + $ref: 'nrNrm.yaml#/components/schemas/Snssai' + monitoredDSCPs: + type: array + items: + type: integer + minimum: 0 + maximum: 255 + isEventTriggeredGtpUPathMonitoringSupported: + type: boolean + isPeriodicGtpUMonitoringSupported: + type: boolean + isImmediateGtpUMonitoringSupported: + type: boolean + gtpUPathDelayThresholds: + $ref: '#/components/schemas/GtpUPathDelayThresholdsType' + gtpUPathMinimumWaitTime: + type: integer + gtpUPathMeasurementPeriod: + type: integer + + QFQoSMonitoringControl-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + qFQoSMonitoringState: + type: string + enum: + - ENABLED + - DISABLED + qFMonitoredSNSSAIs: + type: array + items: + $ref: 'nrNrm.yaml#/components/schemas/Snssai' + qFMonitored5QIs: + type: array + items: + type: integer + minimum: 0 + maximum: 255 + isEventTriggeredQFMonitoringSupported: + type: boolean + isPeriodicQFMonitoringSupported: + type: boolean + isSessionReleasedQFMonitoringSupported: + type: boolean + qFPacketDelayThresholds: + $ref: '#/components/schemas/QFPacketDelayThresholdsType' + qFMinimumWaitTime: + type: integer + qFMeasurementPeriod: + type: integer + + PredefinedPccRuleSet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + predefinedPccRules: + type: array + items: + $ref: '#/components/schemas/PccRule' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + ManagedElement-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedElement-Single' + AmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AmfFunction-Single' + SmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SmfFunction-Single' + UpfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UpfFunction-Single' + N3iwfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/N3iwfFunction-Single' + PcfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/PcfFunction-Single' + AusfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AusfFunction-Single' + UdmFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UdmFunction-Single' + UdrFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UdrFunction-Single' + UdsfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UdsfFunction-Single' + NrfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NrfFunction-Single' + NssfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NssfFunction-Single' + SmsfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SmsfFunction-Single' + LmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/LmfFunction-Single' + NgeirFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NgeirFunction-Single' + SeppFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SeppFunction-Single' + NwdafFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NwdafFunction-Single' + ScpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ScpFunction-Single' + NefFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NefFunction-Single' + + ExternalAmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalAmfFunction-Single' + ExternalNrfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalNrfFunction-Single' + ExternalNssfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalNssfFunction-Single' + ExternalSeppFunction-Nultiple: + type: array + items: + $ref: '#/components/schemas/ExternalSeppFunction-Single' + + AmfSet-Multiple: + type: array + items: + $ref: '#/components/schemas/AmfSet-Single' + AmfRegion-Multiple: + type: array + items: + $ref: '#/components/schemas/AmfRegion-Single' + + EP_N2-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N2-Single' + EP_N3-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N3-Single' + EP_N4-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N4-Single' + EP_N5-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N5-Single' + EP_N6-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N6-Single' + EP_N7-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N7-Single' + EP_N8-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N8-Single' + EP_N9-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N9-Single' + EP_N10-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N10-Single' + EP_N11-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N11-Single' + EP_N12-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N12-Single' + EP_N13-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N13-Single' + EP_N14-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N14-Single' + EP_N15-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N15-Single' + EP_N16-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N16-Single' + EP_N17-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N17-Single' + + EP_N20-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N20-Single' + EP_N21-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N21-Single' + EP_N22-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N22-Single' + + EP_N26-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N26-Single' + EP_N27-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N27-Single' + + EP_N31-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N31-Single' + EP_N32-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N32-Single' + + EP_S5C-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_S5C-Single' + EP_S5U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_S5U-Single' + EP_Rx-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Rx-Single' + EP_MAP_SMSC-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_MAP_SMSC-Single' + EP_NLS-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NLS-Single' + EP_NLG-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NLG-Single' + Configurable5QISet-Multiple: + type: array + items: + $ref: '#/components/schemas/Configurable5QISet-Single' + Dynamic5QISet-Multiple: + type: array + items: + $ref: '#/components/schemas/Dynamic5QISet-Single' + + + +#------------ Definitions in TS 28.541 for TS 28.532 ----------------------------- + + resources-5gcNrm: + oneOf: + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/ManagedElement-Single' + - $ref: '#/components/schemas/AmfFunction-Single' + - $ref: '#/components/schemas/SmfFunction-Single' + - $ref: '#/components/schemas/UpfFunction-Single' + - $ref: '#/components/schemas/N3iwfFunction-Single' + - $ref: '#/components/schemas/PcfFunction-Single' + - $ref: '#/components/schemas/AusfFunction-Single' + - $ref: '#/components/schemas/UdmFunction-Single' + - $ref: '#/components/schemas/UdrFunction-Single' + - $ref: '#/components/schemas/UdsfFunction-Single' + - $ref: '#/components/schemas/NrfFunction-Single' + - $ref: '#/components/schemas/NssfFunction-Single' + - $ref: '#/components/schemas/SmsfFunction-Single' + - $ref: '#/components/schemas/LmfFunction-Single' + - $ref: '#/components/schemas/NgeirFunction-Single' + - $ref: '#/components/schemas/SeppFunction-Single' + - $ref: '#/components/schemas/NwdafFunction-Single' + - $ref: '#/components/schemas/ScpFunction-Single' + - $ref: '#/components/schemas/NefFunction-Single' + + - $ref: '#/components/schemas/ExternalAmfFunction-Single' + - $ref: '#/components/schemas/ExternalNrfFunction-Single' + - $ref: '#/components/schemas/ExternalNssfFunction-Single' + - $ref: '#/components/schemas/ExternalSeppFunction-Single' + + - $ref: '#/components/schemas/AmfSet-Single' + - $ref: '#/components/schemas/AmfRegion-Single' + - $ref: '#/components/schemas/QFQoSMonitoringControl-Single' + - $ref: '#/components/schemas/GtpUPathQoSMonitoringControl-Single' + + - $ref: '#/components/schemas/EP_N2-Single' + - $ref: '#/components/schemas/EP_N3-Single' + - $ref: '#/components/schemas/EP_N4-Single' + - $ref: '#/components/schemas/EP_N5-Single' + - $ref: '#/components/schemas/EP_N6-Single' + - $ref: '#/components/schemas/EP_N7-Single' + - $ref: '#/components/schemas/EP_N8-Single' + - $ref: '#/components/schemas/EP_N9-Single' + - $ref: '#/components/schemas/EP_N10-Single' + - $ref: '#/components/schemas/EP_N11-Single' + - $ref: '#/components/schemas/EP_N12-Single' + - $ref: '#/components/schemas/EP_N13-Single' + - $ref: '#/components/schemas/EP_N14-Single' + - $ref: '#/components/schemas/EP_N15-Single' + - $ref: '#/components/schemas/EP_N16-Single' + - $ref: '#/components/schemas/EP_N17-Single' + + - $ref: '#/components/schemas/EP_N20-Single' + - $ref: '#/components/schemas/EP_N21-Single' + - $ref: '#/components/schemas/EP_N22-Single' + + - $ref: '#/components/schemas/EP_N26-Single' + - $ref: '#/components/schemas/EP_N27-Single' + + - $ref: '#/components/schemas/EP_N31-Single' + - $ref: '#/components/schemas/EP_N31-Single' + + - $ref: '#/components/schemas/EP_S5C-Single' + - $ref: '#/components/schemas/EP_S5U-Single' + - $ref: '#/components/schemas/EP_Rx-Single' + - $ref: '#/components/schemas/EP_MAP_SMSC-Single' + - $ref: '#/components/schemas/EP_NLS-Single' + - $ref: '#/components/schemas/EP_NLG-Single' + - $ref: '#/components/schemas/Configurable5QISet-Single' + - $ref: '#/components/schemas/FiveQiDscpMappingSet-Single' + - $ref: '#/components/schemas/PredefinedPccRuleSet-Single' + - $ref: '#/components/schemas/Dynamic5QISet-Single' diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/FileDataReportingMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/FileDataReportingMnS.yaml new file mode 100644 index 0000000000..2d1a4fb16d --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/FileDataReportingMnS.yaml @@ -0,0 +1,283 @@ +openapi: 3.0.1 +info: + title: TS 28.532 File data reporting Service + version: 16.6.0 + description: >- + OAS 3.0.1 specification of the File data reporting Management Service © 2020, + 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All + rights reserved. +externalDocs: + description: 3GPP TS 28.532 V16.5.0; Generic management services + url: 'http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/' +servers: + - url: '{MnSRoot}/FileDataReportingMnS/{MnSversion}' + variables: + MnSRoot: + description: See subclause 4.4 of TS 32.158 + default: http://example.com/3GPPManagement + version: + description: Indicates the current version of the specification + default: 16.5.0 +paths: + /Files: + get: + summary: Read resources of information of available files + description: With HTTP GET, resources of information of available files are read. The resources to be read are identified with the path component (base resource) and the query component (fileaType, beginTime and endTime) of the URI. The fields query component allows to select the resource properties to be returned. + parameters: + - name: fileType + in: query + description: This parameter identifies the type of management data that the file contains to select the resources from the collection resources identified with the path component of the URI. + required: true + schema: + $ref: '#/components/schemas/fileType-Type' + - name: beginTime + in: query + description: This parameter identifies the time stamp no later than which the file became available to select the resources from the collection resources identified with the path component of the URI. + required: true + schema: + $ref: '#/components/schemas/dateTime-Type' + - name: endTime + in: query + description: This parameter identifies the time stamp no earlier than which the file became available to select the resources from the collection resources identified with the path component of the URI. + required: true + schema: + $ref: '#/components/schemas/dateTime-Type' + responses: + '200': + description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.' + content: + application/json: + schema: + $ref: '#/components/schemas/fileInfoRetrieval-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + /subscriptions: + post: + summary: Create a subscription + description: To create a subscription the representation of the subscription is POSTed on the /subscriptions collection resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/subscription-RequestType' + responses: + '201': + description: Success case ("201 Created"). The representation of the newly created subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/subscription-ResponseType' + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + callbacks: + notifyFileReady: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/notifyFileReady-NotifType' + responses: + '204': + description: Success case ("204 No Content"). The notification is successfully delivered. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + notifyFilePreparationError: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/notifyFilePreparationError-NotifType' + responses: + '204': + description: Success case ("204 No Content"). The notification is successfully delivered. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + delete: + summary: Delete all subscriptions made with a specific consumerReferenceId + description: The subscriptions are deleted by deleting the corresponding subscription resources. The resources to be deleted are identified with the path component of the URI pointing to the /subscription collection resource and filtering on the consumerReferenceId provided in the query part. + parameters: + - name: consumerReferenceId + in: query + description: Identifies the subscriptions to be deleted. + required: true + schema: + $ref: '#/components/schemas/consumerReferenceId-QueryType' + responses: + '204': + description: Success case ("204 No Content"). The subscription resources have been deleted. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' + '/subscriptions/{subscriptionId}': + delete: + summary: Delete a single subscription + description: The subscription is deleted by deleting the corresponding subscription resource. The resource to be deleted is identified with the path component of the URI. + parameters: + - name: subscriptionId + in: path + description: Identifies the subscription to be deleted. + required: true + schema: + $ref: '#/components/schemas/subscriptionId-PathType' + responses: + '204': + description: Success case ("204 No Content"). The subscription resource has been deleted. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: '#/components/schemas/error-ResponseType' +components: + schemas: + dateTime-Type: + type: string + format: date-Time + uri-Type: + type: string + long-Type: + type: string + format: long + additionalText-Type: + type: string + reason-Type: + type: string + fileInfoRetrieval-ResponseType: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/fileInfo-Type' + fileInfo-Type: + type: object + properties: + fileLocation: + $ref: '#/components/schemas/uri-Type' + fileSize: + $ref: '#/components/schemas/long-Type' + fileReadyTime: + $ref: '#/components/schemas/dateTime-Type' + fileExpirationTime: + $ref: '#/components/schemas/dateTime-Type' + fileCompression: + type: string + fileFormat: + type: string + fileType: + $ref: '#/components/schemas/fileType-Type' + error-ResponseType: + type: object + properties: + error: + type: object + properties: + errorInfo: + type: string + fileType-Type: + type: string + enum: + - PERFORMANCE + - TRACE + - ANALYTICS + - PROPRIETARY + header-Type: + description: Header used in notifications as notification header + type: object + properties: + uri: + $ref: '#/components/schemas/uri-Type' + notificationId: + $ref: '#/components/schemas/notificationId-Type' + notificationType: + $ref: '#/components/schemas/notificationType-Type' + eventTime: + $ref: '#/components/schemas/dateTime-Type' + subscriptionId-PathType: + type: string + filter-Type: + type: string + notificationId-Type: + $ref: '#/components/schemas/long-Type' + notificationType-Type: + type: string + enum: + - notifyFileReady + - notifyFilePreparationError + subscription-ResourceType: + type: object + properties: + consumerReference: + $ref: '#/components/schemas/uri-Type' + timeTick: + $ref: '#/components/schemas/long-Type' + filter: + $ref: '#/components/schemas/filter-Type' + subscription-RequestType: + type: object + properties: + data: + $ref: '#/components/schemas/subscription-ResourceType' + subscription-ResponseType: + type: object + properties: + data: + $ref: '#/components/schemas/subscription-ResourceType' + consumerReferenceId-QueryType: + $ref: '#/components/schemas/uri-Type' + notifyFileReady-NotifType: + type: object + properties: + header: + $ref: '#/components/schemas/header-Type' + body: + type: object + properties: + fileInfoList: + type: array + items: + $ref: '#/components/schemas/fileInfo-Type' + additionalText: + $ref: '#/components/schemas/additionalText-Type' + notifyFilePreparationError-NotifType: + type: object + properties: + header: + $ref: '#/components/schemas/header-Type' + body: + type: object + properties: + fileInfoList: + type: array + items: + $ref: '#/components/schemas/fileInfo-Type' + reason: + $ref: '#/components/schemas/reason-Type' + additionalText: + $ref: '#/components/schemas/additionalText-Type' diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/comDefs.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/comDefs.yaml new file mode 100644 index 0000000000..fb6d7f4db9 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/comDefs.yaml @@ -0,0 +1,152 @@ +openapi: 3.0.1 +info: + title: Common Type Definitions + version: 16.6.0 + description: >- + OAS 3.0.1 specification of common type definitions in the Generic NRM + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.623; Generic NRM; Common type definitions + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/ +paths: {} +components: + schemas: + + Float: + type: number + format: float + DateTime: + type: string + format: date-Time + + Dn: + type: string + DnList: + type: array + items: + $ref: '#/components/schemas/Dn' + + Mcc: + type: string + pattern: '^[0-9]{3}$' + Mnc: + type: string + pattern: '^[0-9]{2,3}$' + PlmnId: + type: object + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + required: + - mcc + - mnc + + Fqdn: + type: string + Uri: + type: string + + Ipv4Addr: + type: string + pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$' + example: '198.51.100.1' + Ipv6Addr: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$' + example: '2001:db8:85a3::8a2e:370:7334' + Ipv6Prefix: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$' + example: '2001:db8:abcd:12::0/64' + + AdministrativeState: + type: string + enum: + - LOCKED + - UNLOCKED + OperationalState: + type: string + enum: + - ENABLED + - DISABLED + UsageState: + type: string + enum: + - IDEL + - ACTIVE + - BUSY + + AttributeNameValuePairSet: + description: >- + The key of this map is the attribute name, and the value the attribute value. + type: object + minProperties: 1 + additionalProperties: + nullable: true + AttributeValueChangeSet: + description: >- + The first array item contains the attribute name value pairs with the new values, + and the second array item the attribute name value pairs with the optional old values. + type: array + items: + $ref: '#/components/schemas/AttributeNameValuePairSet' + minItems: 1 + maxItems: 2 + + Filter: + type: string + SystemDN: + type: string + + NotificationId: + type: integer + NotificationType: + oneOf: + - $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationTypes' + - $ref: 'provMnS.yaml#/components/schemas/CmNotificationTypes' + - $ref: 'perfMnS.yaml#/components/schemas/PerfNotificationTypes' + - $ref: 'heartbeatNtf.yaml#/components/schemas/HeartbeatNotificationTypes' + # The enum below will be replaced by a reference once notification + # types are defined in "FileDataReportingMnS.yaml" + - type: string + enum: + - notifyFileReady + - notifyFilePreparationError + NotificationHeader: + type: object + properties: + href: + $ref: '#/components/schemas/Uri' + notificationId: + $ref: '#/components/schemas/NotificationId' + notificationType: + $ref: '#/components/schemas/NotificationType' + eventTime: + $ref: '#/components/schemas/DateTime' + systemDN: + $ref: '#/components/schemas/SystemDN' + required: + - href + - notificationId + - notificationType + - eventTime + - systemDN + + ErrorResponse: + description: >- + Default schema for the response message body in case the request + is not successful. + type: object + properties: + error: + type: object + properties: + errorInfo: + type: string diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/faultMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/faultMnS.yaml new file mode 100644 index 0000000000..7ccf280316 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/faultMnS.yaml @@ -0,0 +1,1058 @@ +openapi: 3.0.1 +info: + title: Fault Supervision MnS + version: 16.6.0 + description: >- + OAS 3.0.1 definition of the Fault Supervision MnS + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ +servers: + - url: '{MnSRoot}/FaultSupervisionMnS/{MnSversion}' + variables: + MnSRoot: + description: See subclause 4.4.3 of TS 32.158 + default: http://example.com/3GPPManagement + MnSversion: + description: Version number of the OpenAPI definition + default: XXX +paths: + /alarms: + get: + summary: Retrieve multiple alarms + description: >- + Retrieves the alarms identified by alarmAckState, baseObjectInstance + and filter. + parameters: + - name: alarmAckState + in: query + required: false + schema: + $ref: '#/components/schemas/AlarmAckState' + - name: baseObjectInstance + in: query + required: false + schema: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - name: filter + in: query + required: false + schema: + $ref: 'comDefs.yaml#/components/schemas/Filter' + responses: + '200': + description: >- + Success case ("200 OK"). + Returns the alarms identified in the request. The alarmId is the key + of the map. + content: + application/json: + schema: + type: object + additionalProperties: + type: object + allOf: + - type: object + properties: + lastNotificationHeader: + $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - $ref: '#/components/schemas/AlarmRecord' + - type: object + properties: + comments: + $ref: '#/components/schemas/Comments' + default: + description: Response in case of error. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + patch: + summary: 'Clear, acknowledge or unacknowledge multiple alarms' + description: >- + Clears, acknowledges or unacknowledges multiple alarms using patch. Depending + on which action is to be performed, different merge patch documents need + to be used. + requestBody: + description: >- + Patch documents for acknowledging and unacknowledging, or clearing multiple + alarms. The keys in the map are the alarmIds to be patched. + content: + application/merge-patch+json: + schema: + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/MergePatchAcknowledgeAlarm' + - type: object + additionalProperties: + $ref: '#/components/schemas/MergePatchClearAlarm' + responses: + '204': + description: >- + Success case ("204 No content"). + The response message body is empty. + default: + description: Response in case of error. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/FailedAlarm' + /alarms/alarmCount: + get: + summary: Get the alarm count per perceived severity + parameters: + - name: alarmAckState + in: query + required: false + schema: + $ref: '#/components/schemas/AlarmAckState' + - name: filter + in: query + required: false + schema: + type: string + responses: + '200': + description: >- + Success case ("200 OK"). + The alarm count per perceived severity is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AlarmCount' + default: + description: Response in case of error. The error case needs rework. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + /alarms/{alarmId}: + patch: + summary: 'Clear, acknowledge or unacknowledge a single alarm' + description: >- + Clears, acknowledges or uncknowldeges a single alarm by patching the alarm + information. A conditional acknowledge request based on the perceived + severity is not supported. + parameters: + - name: alarmId + in: path + description: Identifies the alarm to be patched. + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + oneOf: + - $ref: '#/components/schemas/MergePatchAcknowledgeAlarm' + - $ref: '#/components/schemas/MergePatchClearAlarm' + responses: + '204': + description: >- + Success case (204 No content). + The response message body is absent. + default: + description: Response in case of error. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + /alarms/{alarmId}/comments: + post: + summary: Add a comment to a single alarm + description: >- + Adds a comment to an alarm identified by alarmId. The id of the new comment + is allocated by the producer. + parameters: + - name: alarmId + in: path + description: Identifies the alarm to which the comment shall be added. + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Comment' + responses: + '201': + description: >- + Success case (201 Created). + The representation of the newly created comment resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Comment' + headers: + Location: + description: URI of the newly created comment resource. + required: true + schema: + type: string + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + + /subscriptions: + post: + summary: Create a subscription + description: >- + To create a subscription the representation of the subscription is + POSTed on the /subscriptions collection resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + responses: + '201': + description: >- + Success case ("201 Created"). + The representation of the newly created subscription resource shall + be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + headers: + Location: + description: URI of the newly created subscription resource + required: true + schema: + type: string + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + callbacks: + notifyNewAlarm: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/NotifyNewAlarm' + - $ref: '#/components/schemas/NotifyNewSecAlarm' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyClearedAlarm: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyClearedAlarm' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyChangedAlarm: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyChangedAlarm' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyChangedAlarmGeneral: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/NotifyChangedAlarmGeneral' + - $ref: '#/components/schemas/NotifyChangedSecAlarmGeneral' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyCorrelatedNotificationChanged: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyCorrelatedNotificationChanged' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyAckStateChanged: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyAckStateChanged' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyComments: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyComments' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyPotentialFaultyAlarmList: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyPotentialFaultyAlarmList' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyAlarmListRebuilt: + '{request.body#/consumerReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyAlarmListRebuilt' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response message + body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + /subscriptions/{subscriptionId}: + delete: + summary: Delete a subscription + description: >- + The subscription is deleted by deleting the corresponding subscription + resource. The resource to be deleted is identified with the path + component of the URI. + parameters: + - name: subscriptionId + in: path + description: Identifies the subscription to be deleted. + required: true + schema: + type: string + responses: + '204': + description: >- + Success case ("204 No Content"). + The subscription resource has been deleted. The response message body + is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + +components: + schemas: + + #---- Definition of AlarmRecord ----------------------------------------------------# + + AlarmId: + type: string + AlarmType: + type: string + enum: + - COMMUNICATIONS_ALARM + - QUALITY_OF_SERVICE_ALARM + - PROCESSING_ERROR_ALARM + - EQUIPMENT_ALARM + - ENVIRONMENTAL_ALARM + - INTEGRITY_VIOLATION + - OPERATIONAL_VIOLATION + - PHYSICAL_VIOLATION + - SECURITY_SERVICE_OR_MECHANISM_VIOLATION + - TIME_DOMAIN_VIOLATION + ProbableCause: + description: >- + The value of the probable cause may be a specific standardized string, or any + vendor provided string. Probable cause strings are not standardized in the + present document. They may be added in a future version. Up to then the + mapping of the generic probable cause strings "PROBABLE_CAUSE_001" to + "PROBABLE_CAUSE_005" is vendor specific. + The value of the probable cause may also be an integer. The mapping of integer + values to probable causes is vendor specific. + oneOf: + - anyOf: + - type: string + enum: + - PROBABLE_CAUSE_001 + - PROBABLE_CAUSE_002 + - PROBABLE_CAUSE_003 + - PROBABLE_CAUSE_004 + - PROBABLE_CAUSE_005 + - type: string + - type: integer + SpecificProblem: + oneOf: + - type: string + - type: integer + PerceivedSeverity: + type: string + enum: + - INDETERMINATE + - CRITICAL + - MAJOR + - MINOR + - WARNING + - CLEARED + TrendIndication: + type: string + enum: + - MORE_SEVERE + - NO_CHANGE + - LESS_SEVERE + ThresholdHysteresis: + type: object + required: + - high + properties: + high: + oneOf: + - type: integer + - $ref: 'comDefs.yaml#/components/schemas/Float' + low: + $ref: 'comDefs.yaml#/components/schemas/Float' + ThresholdLevelInd: + oneOf: + - type: object + properties: + up: + $ref: '#/components/schemas/ThresholdHysteresis' + - type: object + properties: + down: + $ref: '#/components/schemas/ThresholdHysteresis' + ThresholdInfo: + type: object + properties: + observedMeasurement: + type: string + observedValue: + oneOf: + - type: integer + - $ref: 'comDefs.yaml#/components/schemas/Float' + thresholdLevel: + $ref: '#/components/schemas/ThresholdLevelInd' + armTime: + $ref: 'comDefs.yaml#/components/schemas/DateTime' + required: + - observedMeasurement + - observedValue + CorrelatedNotification: + type: object + properties: + sourceObjectInstance: + $ref: 'comDefs.yaml#/components/schemas/Dn' + notificationIds: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/NotificationId' + required: + - sourceObjectInstance + - notificationIds + CorrelatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + AckState: + type: string + enum: + - ACKNOWLEDGED + - UNACKNOWLEDGED + + AlarmRecord: + description: >- + The alarmId is not a property of an alarm record. It is used as key + in the map of alarm records instead. + type: object + properties: + # alarmId: + # $ref: '#/components/schemas/AlarmId' + objectInstance: + $ref: 'comDefs.yaml#/components/schemas/Dn' + notificationId: + $ref: 'comDefs.yaml#/components/schemas/NotificationId' + alarmRaisedTime: + $ref: 'comDefs.yaml#/components/schemas/DateTime' + alarmChangedTime: + $ref: 'comDefs.yaml#/components/schemas/DateTime' + alarmClearedTime: + $ref: 'comDefs.yaml#/components/schemas/DateTime' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + backedUpStatus: + type: boolean + backUpObject: + $ref: 'comDefs.yaml#/components/schemas/Dn' + trendIndication: + $ref: '#/components/schemas/TrendIndication' + thresholdinfo: + $ref: '#/components/schemas/ThresholdInfo' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + stateChangeDefinition: + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' + monitoredAttributes: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + proposedRepairActions: + type: string + additionalText: + type: string + additionalInformation: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + + rootCauseIndicator: + type: boolean + + ackTime: + $ref: 'comDefs.yaml#/components/schemas/DateTime' + ackUserId: + type: string + ackSystemId: + type: string + ackState: + $ref: '#/components/schemas/AckState' + + clearUserId: + type: string + clearSystemId: + type: string + serviceUser: + type: string + serviceProvider: + type: string + securityAlarmDetector: + type: string + + #---- Definition of alarm notifications --------------------------------------------# + + AlarmNotificationTypes: + type: string + enum: + - notifyNewAlarm + - notifyChangedAlarm + - notifyChangedAlarmGeneral + - notifyAckStateChanged + - notifyCorrelatedNotificationChanged + - notifyComments + - notifyClearedAlarm + - notifyAlarmListRebuiltAlarm + - notifyPotentialFaultyAlarmList + AlarmListAlignmentRequirement: + type: string + enum: + - ALIGNMENT_REQUIRED + - ALIGNMENT_NOT_REQUIRED + + NotifyNewAlarm: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + backedUpStatus: + type: boolean + backUpObject: + $ref: 'comDefs.yaml#/components/schemas/Dn' + trendIndication: + $ref: '#/components/schemas/TrendIndication' + thresholdInfo: + $ref: '#/components/schemas/ThresholdInfo' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + stateChangeDefinition: + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' + monitoredAttributes: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + proposedRepairActions: + type: string + additionalText: + type: string + additionalInformation: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + NotifyNewSecAlarm: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + - serviceUser + - serviceProvider + - securityAlarmDetector + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + additionalText: + type: string + additionalInformation: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + serviceUser: + type: string + serviceProvider: + type: string + securityAlarmDetector: + type: string + NotifyClearedAlarm: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + clearUserId: + type: string + clearSystemId: + type: string + NotifyChangedAlarm: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + NotifyChangedAlarmGeneral: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + backedUpStatus: + type: boolean + backUpObject: + $ref: 'comDefs.yaml#/components/schemas/Dn' + trendIndication: + $ref: '#/components/schemas/TrendIndication' + thresholdInfo: + $ref: '#/components/schemas/ThresholdInfo' + stateChangeDefinition: + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' + monitoredAttributes: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + proposedRepairActions: + type: string + additionalText: + type: string + additionalInformation: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + changedAlarmAttributes: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyChangedSecAlarmGeneral: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - serviceUser + - serviceProvider + - securityAlarmDetector + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + additionalText: + type: string + additionalInformation: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + rootCauseIndicator: + type: boolean + serviceUser: + type: string + serviceProvider: + type: string + securityAlarmDetector: + type: string + changedAlarmAttributes: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyCorrelatedNotificationChanged: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - correlatedNotifications + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + correlatedNotifications: + $ref: '#/components/schemas/CorrelatedNotifications' + rootCauseIndicator: + type: boolean + NotifyAckStateChanged: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + - ackState + - ackUserId + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + ackState: + $ref: '#/components/schemas/AckState' + ackUserId: + type: string + ackSystemId: + type: string + NotifyComments: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - alarmId + - alarmType + - probableCause + - perceivedSeverity + - comments + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + perceivedSeverity: + $ref: '#/components/schemas/PerceivedSeverity' + comments: + $ref: '#/components/schemas/Comments' + NotifyPotentialFaultyAlarmList: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - reason + properties: + reason: + type: string + NotifyAlarmListRebuilt: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + required: + - reason + properties: + reason: + type: string + alarmListAlignmentRequirement: + $ref: '#/components/schemas/AlarmListAlignmentRequirement' + + #---- Definition of query parameters -----------------------------------------------# + + AlarmAckState: + type: string + enum: + - ALL_ALARMS + - ALL_ACTIVE_ALARMS + - ALL_ACTIVE_AND_ACKNOWLEDGED_ALARMS + - ALL_ACTIVE_AND_UNACKNOWLEDGED_ALARMS + - ALL_CLEARED_AND_UNACKNOWLEDGED_ALARMS + - ALL_UNACKNOWLEDGED_ALARMS + + #---- Definition of patch documents ------------------------------------------------# + + MergePatchAcknowledgeAlarm: + description: >- + Patch document acknowledging or unacknowledging a single alarm. For + acknowleding an alarm the value of ackState is ACKNOWLEDGED, for unacknowleding + an alarm the value of ackState is UNACKNOWLEDGED. + type: object + required: + - ackUserId + - ackState + properties: + ackUserId: + type: string + ackSystemId: + type: string + ackState: + $ref: '#/components/schemas/AckState' + MergePatchClearAlarm: + description: Patch document for clearing a single alarm + type: object + required: + - clearUserId + - perceivedSeverity + properties: + clearUserId: + type: string + clearSystemId: + type: string + perceivedSeverity: + type: string + enum: + - CLEARED + + #---- Definition of method responses -----------------------------------------------# + + FailedAlarm: + type: object + required: + - alarmId + - failureReason + properties: + alarmId: + $ref: '#/components/schemas/AlarmId' + failureReason: + type: string + + #---- Definition of resources ------------------------------------------------------# + + AlarmCount: + type: object + required: + - criticalCount + - majorCount + - minorCount + - warningCount + - indeterminateCount + - clearedCount + properties: + criticalCount: + type: integer + majorCount: + type: integer + minorCount: + type: integer + warningCount: + type: integer + indeterminateCount: + type: integer + clearedCount: + type: integer + Comment: + type: object + properties: + commentTime: + $ref: 'comDefs.yaml#/components/schemas/DateTime' + commentUserId: + type: string + commentSystemId: + type: string + commentText: + type: string + Comments: + description: >- + Collection of comments. The comment identifiers are allocated by the + MnS producer and used as key in the map. + type: object + additionalProperties: + $ref: '#/components/schemas/Comment' + Subscription: + type: object + properties: + consumerReference: + $ref: 'comDefs.yaml#/components/schemas/Uri' + timeTick: + type: integer + filter: + $ref: 'comDefs.yaml#/components/schemas/Filter' diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml new file mode 100644 index 0000000000..aedf3c4fb8 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml @@ -0,0 +1,1516 @@ +openapi: 3.0.1 +info: + title: Generic NRM + version: 16.6.0 + description: >- + OAS 3.0.1 definition of the Generic NRM + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.623 V16.5.0; Generic NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + RegistrationState: + type: string + enum: + - REGISTERED + - DEREGISTERED + VnfParameter: + type: object + properties: + vnfInstanceId: + type: string + vnfdId: + type: string + flavourId: + type: string + autoScalable: + type: boolean + SiteLatitude: + type: number + format: float + minimum: -90 + maximum: 90 + SiteLongitude: + type: number + format: float + minimum: -180 + maximum: 180 + PeeParameter: + type: object + properties: + siteIdentification: + type: string + siteDescription: + type: string + siteLatitude: + $ref: '#/components/schemas/SiteLatitude' + siteLongitude: + $ref: '#/components/schemas/SiteLongitude' + equipmentType: + type: string + environmentType: + type: string + powerInterface: + type: string + ThresholdInfo: + type: object + properties: + thresholdDirection: + type: string + enum: + - UP + - DOWN + - UP_AND_DOWN + thresholdValue: + oneOf: + - type: integer + - $ref: 'comDefs.yaml#/components/schemas/Float' + hysteresis: + oneOf: + - type: integer + minimum: 0 + - type: number + format: float + minimum: 0 + Operation: + type: object + properties: + name: + type: string + allowedNFTypes: + $ref: '#/components/schemas/NFType' + operationSemantics: + $ref: '#/components/schemas/OperationSemantics' + NFType: + type: string + description: ' NF name defined in TS 23.501' + enum: + - NRF + - UDM + - AMF + - SMF + - AUSF + - NEF + - PCF + - SMSF + - NSSF + - UDR + - LMF + - GMLC + - 5G_EIR + - SEPP + - UPF + - N3IWF + - AF + - UDSF + - DN + Fqdn: + type: string + OperationSemantics: + type: string + enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY + SAP: + type: object + properties: + host: + $ref: '#/components/schemas/HostAddr' + port: + type: integer + NFServiceType: + type: string + enum: + - Namf_Communication + - Namf_EventExposure + - Namf_MT + - Namf_Location + - Nsmf_PDUSession + - Nsmf_EventExposure + - Others + HostAddr: + oneOf: + - $ref: '#/components/schemas/Ipv4Addr' + - $ref: '#/components/schemas/Ipv6Addr' + - $ref: '#/components/schemas/Fqdn' + Ipv4Addr: + type: string + pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$' + example: '198.51.100.1' + Ipv6Addr: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$' + example: '2001:db8:85a3::8a2e:370:7334' + Ipv6Prefix: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$' + example: '2001:db8:abcd:12::0/64' + TransportProtocol: + anyOf: + - type: string + enum: + - TCP + - type: string + SupportedPerfMetricGroup: + type: object + properties: + performanceMetrics: + type: array + items: + type: string + granularityPeriods: + type: array + items: + type: integer + minimum: 1 + reportingMethods: + type: array + items: + type: string + enum: + - FILE_BASED_LOC_SET_BY_PRODUCER + - FILE_BASED_LOC_SET_BY_CONSUMER + - STREAM_BASED + monitorGranularityPeriods: + type: array + items: + type: integer + minimum: 1 + ReportingCtrl: + oneOf: + - type: object + properties: + fileReportingPeriod: + type: integer + - type: object + properties: + fileReportingPeriod: + type: integer + fileLocation: + $ref: 'comDefs.yaml#/components/schemas/Uri' + - type: object + properties: + streamTarget: + $ref: 'comDefs.yaml#/components/schemas/Uri' + Scope: + type: object + properties: + scopeType: + type: string + enum: + - BASE_ONLY + - BASE_ALL + - BASE_NTH_LEVEL + - BASE_SUBTREE + scopeLevel: + type: integer + +#-------- Definition of types used in Trace control NRM fragment------------------ + + tjJobType-Type: + type: string + description: Specifies whether the TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined Trace and MDT job. Applicable for Trace, MDT, RCEF and RLF reporting. See 3GPP TS 32.422 clause 5.9a for additional details. + enum: + - IMMEDIATE_MDT_ONLY + - LOGGED_MDT_ONLY + - TRACE_ONLY + - IMMEDIATE_MDT AND TRACE + - RLF_REPORT_ONLY + - RCEF_REPORT_ONLY + - LOGGED_MBSFN_MDT + + tjListOfInterfaces-Type: + description: The interfaces to be recorded in the Network Element. See 3GPP TS 32.422 clause 5.5 for additional details. + type: object + properties: + MSCServerInterfaces: + type: array + items: + type: string + enum: + - A + - Iu-CS + - Mc + - MAP-G + - MAP-B + - MAP-E + - MAP-F + - MAP-D + - MAP-C + - CAP + MGWInterfaces: + type: array + items: + type: string + enum: + - Mc + - Nb-UP + - Iu-UP + RNCInterfaces: + type: array + items: + type: string + enum: + - Iu-CS + - Iu-PS + - Iur + - Iub + - Uu + SGSNInterfaces: + type: array + items: + type: string + enum: + - Gb + - Iu-PS + - Gn + - MAP-Gr + - MAP-Gd + - MAP-Gf + - Ge + - Gs + - S6d + - S4 + - S3 + - S13 + GGSNInterfaces: + type: array + items: + type: string + enum: + - Gn + - Gi + - Gmb + S-CSCFInterfaces: + type: array + items: + type: string + enum: + - Mw + - Mg + - Mr + - Mi + P-CSCFInterfaces: + type: array + items: + type: string + enum: + - Gm + - Mw + I-CSCFInterfaces: + type: array + items: + type: string + enum: + - Cx + - Dx + - Mg + - Mw + MRFCInterfaces: + type: array + items: + type: string + enum: + - Mp + - Mr + MGCFInterfaces: + type: array + items: + type: string + enum: + - Mg + - Mj + - Mn + IBCFInterfaces: + type: array + items: + type: string + enum: + - Ix + - Mx + E-CSCFInterfaces: + type: array + items: + type: string + enum: + - Mw + - Ml + - Mm + - Mi/Mg + BGCFInterfaces: + type: array + items: + type: string + enum: + - Mi + - Mj + - Mk + ASInterfaces: + type: array + items: + type: string + enum: + - Dh + - Sh + - ISC + - Ut + HSSInterfaces: + type: array + items: + type: string + enum: + - MAP-C + - MAP-D + - Gc + - Gr + - Cx + - S6d + - S6a + - Sh + EIRInterfaces: + type: array + items: + type: string + enum: + - MAP-F + - S13 + - MAP-Gf + BM-SCInterfaces: + type: array + items: + type: string + enum: + - Gmb + MMEInterfaces: + type: array + items: + type: string + enum: + - S1-MME + - S3 + - S6a + - S10 + - S11 + - S13 + SGWInterfaces: + type: array + items: + type: string + enum: + - S4 + - S5 + - S8 + - S11 + - Gxc + PDN_GWInterfaces: + type: array + items: + type: string + enum: + - S2a + - S2b + - S2c + - S5 + - S6b + - Gx + - S8 + - SGi + eNBInterfaces: + type: array + items: + type: string + enum: + - S1-MME + - X2 + en-gNBInterfaces: + type: array + items: + type: string + enum: + - S1-MME + - X2 + - Uu + - F1-C + - E1 + AMFInterfaces: + type: array + items: + type: string + enum: + - N1 + - N2 + - N8 + - N11 + - N12 + - N14 + - N15 + - N20 + - N22 + - N26 + AUSFInterfaces: + type: array + items: + type: string + enum: + - N12 + - N13 + NEFInterfaces: + type: array + items: + type: string + enum: + - N29 + - N30 + - N33 + NRFInterfaces: + type: array + items: + type: string + enum: + - N27 + NSSFInterfaces: + type: array + items: + type: string + enum: + - N22 + - N31 + PCFInterfaces: + type: array + items: + type: string + enum: + - N5 + - N7 + - N15 + SMFInterfaces: + type: array + items: + type: string + enum: + - N4 + - N7 + - N10 + - N11 + - S5-C + SMSFInterfaces: + type: array + items: + type: string + enum: + - N20 + - N21 + UDMInterfaces: + type: array + items: + type: string + enum: + - N8 + - N10 + - N13 + - N21 + UPFInterfaces: + type: array + items: + type: string + enum: + - N4 + ng-eNBInterfaces: + type: array + items: + type: string + enum: + - NG-C + - Xn-C + - Uu + gNB-CU-CPInterfaces: + type: array + items: + type: string + enum: + - NG-C + - Xn-C + - Uu + - F1-C + - E1 + - X2-C + gNB-CU-UPInterfaces: + type: array + items: + type: string + enum: + - E1 + gNB-DUInterfaces: + type: array + items: + type: string + enum: + - F1-C + + tjListOfNeTypes-Type: + description: The Network Element types where Trace Session activation is needed. See 3GPP TS 32.422 clause 5.4 for additional details. + type: array + items: + type: string + enum: + - MSC_SERVER + - SGSN + - MGW + - GGSN + - RNC + - BM_SC + - MME + - SGW + - PGW + - ENB + - EN_GNB + - GNB_CU_CP + - GNB_CU_UP + - GNB_DU + + tjPLMNTaget-Type: + type: object + description: The PLMN for which sessions shall be selected in the Trace Session in case of management based activation when several PLMNs are supported in the RAN (this means that shared cells and not shared cells are allowed for the specified PLMN. Note that the PLMN Target might differ from the PLMN specified in the Trace Reference, as that specifies the PLMN that is containing the management system requesting the Trace Session from the NE. See 3GPP TS 32.422 clause 5.9b for additional details. + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'comDefs.yaml#/components/schemas/Mnc' + required: + - mcc + - mnc + + tjStreamingTraceConsumerURI-Type: + type: string + description: The URI of the Trace Reporting MnS consumer (see 3GPP TS 28.532) to which the Trace records shall be sent. See 3GPP TS 32.422 clause 5.9 for additional details. + format: uri + + tjTraceCollectionEntityAddress-Type: + description: The IP address to which the Trace records shall be transferred. See 3GPP TS 32.422 clause 5.9 for additional details. + oneOf: + - $ref: '#/components/schemas/Ipv4Addr' + - $ref: '#/components/schemas/Ipv6Addr' + + tjTraceDepth-Type: + description: Specifies how detailed information should be recorded in the Network Element. The Trace Depth is a paremeter for Trace Session level, i.e., the Trace Depth is the same for all of the NEs to be traced in the same Trace Session. See 3GPP TS 32.422 clause 5.3 for additional details. + type: string + enum: + - MINIMUM + - MEDIUM + - MAXIMUM + - VENDORMINIMUM + - VENDORMEDIUM + - VENDORMAXIMUM + + tjTraceReference-Type: + type: object + description: The Trace Reference parameter shall be globally unique, therefore the Trace Reference shall compose as follows - MCC+MNC+Trace ID, where the MCC and MNC are coming with the Trace activation request from the management system to identify one PLMN containing the management system, and Trace ID is a 3 byte Octet String. See 3GPP TS 32.422 clause 5.6 for additional details. + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'comDefs.yaml#/components/schemas/Mnc' + traceId: + type: integer + required: + - mcc + - mnc + - traceId + + tjTraceReportingFormat-Type: + type: string + description: Specifies whether file-based or streaming reporting shall be used for this Trace Session. See 3GPP TS 32.422 clause 5.11 for additional details. + enum: + - FILE-BASED + - STREAMING + + tjTraceTarget-Type: + type: object + description: Trace target conveying both the type and value of the target ID. For additional details see 3GPP TS 32.422 + properties: + TargetIdType: + type: string + enum: + - IMSI + - IMEI + - IMEISV + - PUBLIC_ID + - UTRAN_CELL + - E-UTRAN_CELL + - NG-RAN_CELL + - eNB + - RNC + - gNB + - SUPI + TargetIdValue: + type: string + required: + - TargetIdType + - TargetIdValue + + tjTriggeringEvent-Type: + type: object + description: Specifies when to start a Trace Recording Session and which message shall be recorded first, when to stop a Trace Recording Session and which message shall be recorded last respectively. See 3GPP TS 32.422 clause 5.1 for additional detials. + properties: + NetworkElement: + type: string + enum: + - MSC_SERVER + - SGSN + - MGW + - GGSN + - BM_SC + - MME + - SGW + - PGW + - AMF + - SMF + - PCF + - UPF + EventBitmap: + type: integer + required: + - NetworkElement + - EventBitmap + + tjMDTAnonymizationOfData-Type: + description: Specifies level of MDT anonymization. For additional details see 3GPP TS 32.422 clause 5.10.12. + type: string + enum: + - NO_IDENTITY + - TAC_OF_IMEI + + tjMDTAreaConfigurationForNeighCell-Type: + description: Used for logged NR MDT and defines the area for which UE is requested to perform measurement logging for neighbour cells which have list of frequencies. For additional details see 3GPP TS 32.422 clause 5.10.26. + type: array + items: + type: object + properties: + frequency: + type: string + cell: + type: string + + tjMDTAreaScope-Type: + description: defines the area in terms or Cells or Tracking Area/Routing Area/Location Area where the MDT data collection shall take place. For additional details see 3GPP TS 32.422 clause 5.10.2. + allOf: + - $ref: 'comDefs.yaml#/components/schemas/DnList' + + tjMDTCollectionPeriodRrmLte-Type: + description: See details in 3GPP TS 32.422 clause 5.10.20. + type: string + enum: + - 250ms + - 500ms + - 1000ms + - 2000ms + - 3000ms + - 4000ms + - 6000ms + - 8000ms + - 12000ms + - 16000ms + - 20000ms + - 24000ms + - 28000ms + - 32000ms + - 64000ms + + tjMDTCollectionPeriodRrmUmts-Type: + description: See details in 3GPP TS 32.422 clause 5.10.21. + type: string + enum: + - 1024ms + - 1280ms + - 2048ms + - 2560ms + - 5120ms + - 10240ms + - 1min + + tjMDTCollectionPeriodRrmNR-Type: + description: See details in 3GPP TS 32.422 clause 5.10.30. + type: string + enum: + - 1024ms + - 1280ms + - 2048ms + - 5120ms + - 10240ms + - 60000ms + + tjMDTEventListForTriggeredMeasurement-Type: + description: See details in 3GPP TS 32.422 clause 5.10.28. + type: string + enum: + - OUT_OF_COVERAGE + - A2_EVENT + + tjMDTEventThreshold-Type: + description: See details in 3GPP TS 32.422 clause 5.10.7, 5.10.7a, 5.10.13 and 5.10.14. + type: object + properties: + EventThresholdRSRP: + type: integer + minimum: 0 + maximum: 97 + EventThresholdRSRQ: + type: integer + minimum: 0 + maximum: 34 + EventThreshold1F: + type: object + properties: + CPICH_RSCP: + type: integer + minimum: -120 + maximum: 25 + CPICH_EcNo: + type: integer + minimum: -24 + maximum: 0 + PathLoss: + type: integer + minimum: 30 + maximum: 165 + EventThreshold1I: + type: integer + minimum: -120 + maximum: 25 + + tjMDTListOfMeasurements-Type: + description: See details in 3GPP TS 32.422 clause 5.10.3 for details. + type: object + properties: + UMTS: + type: array + items: + type: string + enum: + - M1 + - M2 + - M3 + - M4 + - M5 + - M6_DL + - M6_UL + - M7_DL + - M7_UL + LTE: + type: array + items: + type: string + enum: + - M1 + - M2 + - M3 + - M4 + - M5 + - M1_EVENT_TRIGGERED + - M6 + - M7 + - M8 + - M9 + NR: + type: array + items: + type: string + enum: + - M1 + - M2 + - M3 + - M4 + - M5 + - M6 + - M7 + - M8 + - M9 + + tjMDTLoggingDuration-Type: + description: See details in 3GPP TS 32.422 clause 5.10.9. + type: string + enum: + - 600s + - 1200s + - 2400s + - 3600s + - 5400s + - 7200s + + tjMDTLoggingInterval-Type: + description: See details in 3GPP TS 32.422 clause 5.10.8. + type: string + enum: + - 1.28s + - 2.56s + - 5.12s + - 10.24s + - 20.48s + - 30.72s + - 40.96s + - 61.44s + + tjMDTMBSFNAreaList-Type: + description: See details in 3GPP TS 32.422 clause 5.10.25. + type: array + items: + type: object + properties: + mbsfnAreaId: + type: integer + minimum: 1 + earfcn: + type: integer + minimum: 1 + required: + - mbsfnAreaId + - earfcn + + tjMDTMeasurementPeriodLTE-Type: + description: See details in 3GPP TS 32.422 clause 5.10.23. + type: string + enum: + - 1024ms + - 1280ms + - 2048ms + - 2560ms + - 5120ms + - 10240ms + - 1min + + tjMDTMeasurementPeriodUMTS-Type: + description: See details in 3GPP TS 32.422 clause 5.10.22. + type: string + enum: + - 250ms + - 500ms + - 1000ms + - 2000ms + - 3000ms + - 4000ms + - 6000ms + - 8000ms + - 12000ms + - 16000ms + - 20000ms + - 24000ms + - 28000ms + - 32000ms + - 64000ms + + tjMDTMeasurementQuantity-Type: + description: See details in 3GPP TS 32.422 clause 5.10.15. + type: string + enum: + - CPICH_EcNo + - CPICH_RSCP + - PathLoss + + tjMDTPLMList-Type: + description: See details in 3GPP TS 32.422 clause 5.10.24. + type: array + items: + type: object + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'comDefs.yaml#/components/schemas/Mnc' + required: + - mcc + - mnc + maxItems: 16 + + tjMDTPositioningMethod-Type: + description: See details in 3GPP TS 32.422 clause 5.10.19. + type: string + enum: + - GNSS + - E-CELL_ID + + tjMDTReportAmount-Type: + description: See details in 3GPP TS 32.422 clause 5.10.6. + type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - INFINITY + + tjMDTReportingTrigger-Type: + description: See details in 3GPP TS 32.422 clause 5.10.4. + type: array + items: + type: string + enum: + - PERIODICAL + - A2_FOR_LTE + - 1F_FOR_UMTS + - 1I_FOR_UMTS_MCPS_TDD + - A2_TRIGGERED_PERIODIC_FOR_LTE + - ALL_CONFIGURED_RRM_FOR_LTE + - ALL_CONFIGURED_RRM_FOR_UMTS + + tjMDTReportInterval-Type: + description: See details in 3GPP TS 32.422 clause 5.10.5. + type: string + enum: + - 250ms + - 500ms + - 1000ms + - 2000ms + - 3000ms + - 4000ms + - 6000ms + - 8000ms + - 12000ms + - 16000ms + - 20000ms + - 24000ms + - 28000ms + - 32000ms + - 64000ms + - 120ms + - 240ms + - 480ms + - 640ms + - 1024ms + - 2048ms + - 5120ms + - 10240ms + - 60000ms + - 360000ms + - 720000ms + - 1800000ms + - 3600000ms + + tjMDTReportType-Type: + description: Report type for logged NR MDT. See details in 3GPP TS 32.422 clause 5.10.27. + type: string + enum: + - PERIODICAL + - EVENT_TRIGGERED + + tjMDTSensorInformation-Type: + description: See details in 3GPP TS 32.422 clause 5.10.29. + type: array + items: + type: string + enum: + - BAROMETRIC_PRESSURE + - UE_SPEED + - UE_ORIENTATION + + tjMDTTraceCollectionEntityID-Type: + description: See details in 3GPP TS 32.422 clause 5.10.11. Only tceID value may be sent over the air to the UE being configured for Logged MDT. + type: object + properties: + tceID: + type: integer + tcePLMN: + type: object + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'comDefs.yaml#/components/schemas/Mnc' + required: + - mcc + - mnc + tceAddress: + oneOf: + - $ref: '#/components/schemas/tjTraceCollectionEntityAddress-Type' + - $ref: '#/components/schemas/tjStreamingTraceConsumerURI-Type' + required: + - tceID + - tcePLMN + - tceAddress + + +#-------- end of Definition of types used in Trace control NRM fragment ---------- + + +#-------- Definition of abstract IOC Top ----------------------------------------- + + Top-Attr: + # This definition will be deprecated, when all occurances of Top-Attr + # are replaced by Top. + type: object + properties: + id: + type: string + VsDataContainer: + $ref: '#/components/schemas/VsDataContainer-Multiple' + Top: + type: object + properties: + id: + type: string + VsDataContainer: + $ref: '#/components/schemas/VsDataContainer-Multiple' + +#-------- Definition of IOCs with new name-containments defined in other TS ------ + + SubNetwork-Attr: + type: object + properties: + dnPrefix: + type: string + userLabel: + type: string + userDefinedNetworkType: + type: string + setOfMcc: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + priorityLabel: + type: integer + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + ManagedElement-Attr: + type: object + properties: + dnPrefix: + type: string + managedElementTypeList: + type: array + items: + type: string + userLabel: + type: string + locationName: + type: string + managedBy: + $ref: 'comDefs.yaml#/components/schemas/DnList' + vendorName: + type: string + userDefinedState: + type: string + swVersion: + type: string + priorityLabel: + type: integer + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + + SubNetwork-ncO: + type: object + properties: + ManagementNode: + $ref: '#/components/schemas/ManagementNode-Multiple' + MeContext: + $ref: '#/components/schemas/MeContext-Multiple' + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + NtfSubscriptionControl: + $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + AlarmList: + $ref: '#/components/schemas/AlarmList-Single' + ManagedElement-ncO: + type: object + properties: + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + NtfSubscriptionControl: + $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + AlarmList: + $ref: '#/components/schemas/AlarmList-Single' + +#-------- Definition of abstract IOCs -------------------------------------------- + + ManagedFunction-Attr: + type: object + properties: + userLabel: + type: string + vnfParametersList: + type: array + items: + $ref: '#/components/schemas/VnfParameter' + peeParametersList: + type: array + items: + $ref: '#/components/schemas/PeeParameter' + priorityLabel: + type: integer + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + EP_RP-Attr: + type: object + properties: + userLabel: + type: string + farEndEntity: + type: string + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + + TraceJob-Attr: + type: object + description: abstract class used as a container of all TraceJob attributes + properties: + tjJobType: + $ref: '#/components/schemas/tjJobType-Type' + tjListOfInterfaces: + $ref: '#/components/schemas/tjListOfInterfaces-Type' + tjListOfNeTypes: + $ref: '#/components/schemas/tjListOfNeTypes-Type' + tjPLMNTarget: + $ref: '#/components/schemas/tjPLMNTaget-Type' + tjTraceConsumer: + oneOf: + - $ref: '#/components/schemas/tjStreamingTraceConsumerURI-Type' + - $ref: '#/components/schemas/tjTraceCollectionEntityAddress-Type' + tjTraceDepth: + $ref: '#/components/schemas/tjTraceDepth-Type' + tjTraceReference: + $ref: '#/components/schemas/tjTraceReference-Type' + tjTraceReportingFormat: + $ref: '#/components/schemas/tjTraceReportingFormat-Type' + tjTraceTarget: + $ref: '#/components/schemas/tjTraceTarget-Type' + tjTriggeringEvent: + $ref: '#/components/schemas/tjTriggeringEvent-Type' + tjMDTAnonymizationOfData: + $ref: '#/components/schemas/tjMDTAnonymizationOfData-Type' + tjMDTAreaConfigurationForNeighCell: + $ref: '#/components/schemas/tjMDTAreaConfigurationForNeighCell-Type' + tjMDTAreaScope: + $ref: '#/components/schemas/tjMDTAreaScope-Type' + tjMDTCollectionPeriodRrmLte: + $ref: '#/components/schemas/tjMDTCollectionPeriodRrmLte-Type' + tjMDTCollectionPeriodRrmUmts: + $ref: '#/components/schemas/tjMDTCollectionPeriodRrmUmts-Type' + tjMDTCollectionPeriodRrmNR: + $ref: '#/components/schemas/tjMDTCollectionPeriodRrmNR-Type' + tjMDTEventListForTriggeredMeasurement: + $ref: '#/components/schemas/tjMDTEventListForTriggeredMeasurement-Type' + tjMDTEventThreshold: + $ref: '#/components/schemas/tjMDTEventThreshold-Type' + tjMDTListOfMeasurements: + $ref: '#/components/schemas/tjMDTListOfMeasurements-Type' + tjMDTLoggingDuration: + $ref: '#/components/schemas/tjMDTLoggingDuration-Type' + tjMDTLoggingInterval: + $ref: '#/components/schemas/tjMDTLoggingInterval-Type' + tjMDTMBSFNAreaList: + $ref: '#/components/schemas/tjMDTMBSFNAreaList-Type' + tjMDTMeasurementPeriodLTE: + $ref: '#/components/schemas/tjMDTMeasurementPeriodLTE-Type' + tjMDTMeasurementPeriodUMTS: + $ref: '#/components/schemas/tjMDTMeasurementPeriodUMTS-Type' + tjMDTMeasurementQuantity: + $ref: '#/components/schemas/tjMDTMeasurementQuantity-Type' + tjMDTPLMList: + $ref: '#/components/schemas/tjMDTPLMList-Type' + tjMDTPositioningMethod: + $ref: '#/components/schemas/tjMDTPositioningMethod-Type' + tjMDTReportAmount: + $ref: '#/components/schemas/tjMDTReportAmount-Type' + tjMDTReportingTrigger: + $ref: '#/components/schemas/tjMDTReportingTrigger-Type' + tjMDTReportInterval: + $ref: '#/components/schemas/tjMDTReportInterval-Type' + tjMDTReportType: + $ref: '#/components/schemas/tjMDTReportType-Type' + tjMDTSensorInformation: + $ref: '#/components/schemas/tjMDTSensorInformation-Type' + tjMDTTraceCollectionEntityID: + $ref: '#/components/schemas/tjMDTTraceCollectionEntityID-Type' + required: + - tjJobType + - tjTraceReference + - tjTraceConsumer + - tjTraceReportingFormat + - tjTraceTarget + + ManagedFunction-ncO: + type: object + properties: + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + ManagedNFService: + $ref: '#/components/schemas/ManagedNFService-Multiple' + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + +#-------- Definition of concrete IOCs -------------------------------------------- + + VsDataContainer-Single: + type: object + properties: + id: + type: string + attributes: + type: object + properties: + vsDataType: + type: string + vsDataFormatVersion: + type: string + vsData: + nullable: true + VsDataContainer: + $ref: '#/components/schemas/VsDataContainer-Multiple' + ManagedNFService-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + userLabel: + type: string + nFServiceType: + $ref: '#/components/schemas/NFServiceType' + sAP: + $ref: '#/components/schemas/SAP' + operations: + type: array + items: + $ref: '#/components/schemas/Operation' + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + usageState: + $ref: 'comDefs.yaml#/components/schemas/UsageState' + registrationState: + $ref: '#/components/schemas/RegistrationState' + ManagementNode-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + userLabel: + type: string + managedElements: + $ref: 'comDefs.yaml#/components/schemas/DnList' + vendorName: + type: string + userDefinedState: + type: string + locationName: + type: string + swVersion: + type: string + MeContext-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + dnPrefix: + type: string + PerfMetricJob-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + jobId: + type: string + performanceMetrics: + type: array + items: + type: string + granularityPeriod: + type: integer + minimum: 1 + objectInstances: + $ref: 'comDefs.yaml#/components/schemas/DnList' + rootObjectInstances: + $ref: 'comDefs.yaml#/components/schemas/DnList' + reportingCtrl: + $ref: '#/components/schemas/ReportingCtrl' + ThresholdMonitor-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + performanceMetrics: + type: array + items: + type: string + thresholdInfoList: + type: array + items: + $ref: '#/components/schemas/ThresholdInfo' + monitorGranularityPeriod: + type: integer + minimum: 1 + objectInstances: + $ref: 'comDefs.yaml#/components/schemas/DnList' + rootObjectInstances: + $ref: 'comDefs.yaml#/components/schemas/DnList' + NtfSubscriptionControl-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + notificationRecipientAddress: + $ref: 'comDefs.yaml#/components/schemas/Uri' + notificationTypes: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/NotificationType' + scope: + $ref: '#/components/schemas/Scope' + notificationFilter: + type: string + HeartbeatControl: + $ref: '#/components/schemas/HeartbeatControl-Single' + HeartbeatControl-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + heartbeatNtfPeriod: + type: integer + triggerHeartbeatNtf: + type: boolean + TraceJob-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: '#/components/schemas/TraceJob-Attr' + + AlarmList-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + numOfAlarmRecords: + type: integer + lastModification: + $ref: 'comDefs.yaml#/components/schemas/DateTime' + alarmRecords: + description: >- + This resource represents a map of alarm records. + The alarmIds are used as keys in the map. + type: object + additionalProperties: + $ref: 'faultMnS.yaml#/components/schemas/AlarmRecord' + +#-------- Definition of YAML arrays for name-contained IOCs ---------------------- + + VsDataContainer-Multiple: + type: array + items: + $ref: '#/components/schemas/VsDataContainer-Single' + ManagedNFService-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedNFService-Single' + ManagementNode-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagementNode-Single' + MeContext-Multiple: + type: array + items: + $ref: '#/components/schemas/MeContext-Single' + PerfMetricJob-Multiple: + type: array + items: + $ref: '#/components/schemas/PerfMetricJob-Single' + ThresholdMonitor-Multiple: + type: array + items: + $ref: '#/components/schemas/ThresholdMonitor-Single' + TraceJob-Multiple: + type: array + items: + $ref: '#/components/schemas/TraceJob-Single' + NtfSubscriptionControl-Multiple: + type: array + items: + $ref: '#/components/schemas/NtfSubscriptionControl-Single' + +#-------- Definitions in TS 28.623 for TS 28.532 --------------------------------- + + resources-genericNrm: + oneOf: + + - $ref: '#/components/schemas/VsDataContainer-Single' + + - $ref: '#/components/schemas/ManagementNode-Single' + - $ref: '#/components/schemas/MeContext-Single' + + - $ref: '#/components/schemas/ManagedNFService-Single' + + - $ref: '#/components/schemas/PerfMetricJob-Single' + - $ref: '#/components/schemas/ThresholdMonitor-Single' + - $ref: '#/components/schemas/TraceJob-Single' + + - $ref: '#/components/schemas/NtfSubscriptionControl-Single' + - $ref: '#/components/schemas/HeartbeatControl-Single' + + - $ref: '#/components/schemas/AlarmList-Single' diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/heartbeatNtf.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/heartbeatNtf.yaml new file mode 100644 index 0000000000..efa3185bdb --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/heartbeatNtf.yaml @@ -0,0 +1,25 @@ +openapi: 3.0.1 +info: + title: Heartbeat notification + version: 16.6.0 + description: >- + OAS 3.0.1 definition of the heartbeat notification + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532 V16.6.0; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.6532/ +paths: {} +components: + schemas: + HeartbeatNotificationTypes: + type: string + enum: + - notifyHeartbeat + NotifyHeartbeat: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + heartbeatNtfPeriod: + type: integer diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/nrNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/nrNrm.yaml new file mode 100644 index 0000000000..3de2c63a6c --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/nrNrm.yaml @@ -0,0 +1,1868 @@ +openapi: 3.0.1 +info: + title: NR NRM + version: 16.6.0 + description: >- + OAS 3.0.1 specification of the NR NRM + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541 V16.6.0; 5G NRM, NR NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + GnbId: + type: string + GnbIdLength: + type: integer + minimum: 22 + maximum: 32 + GnbName: + type: string + maxLength: 150 + GnbDuId: + type: number + minimum: 0 + maximum: 68719476735 + GnbCuUpId: + type: number + minimum: 0 + maximum: 68719476735 + + Sst: + type: integer + maximum: 255 + Snssai: + type: object + properties: + sst: + $ref: '#/components/schemas/Sst' + sd: + type: string + SnssaiList: + type: array + items: + $ref: '#/components/schemas/Snssai' + + Mnc: + type: string + pattern: '[0-9]{3}|[0-9]{2}' + PlmnId: + type: object + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + PlmnIdList: + type: array + items: + $ref: '#/components/schemas/PlmnId' + PlmnInfo: + type: object + properties: + plmnId": + $ref: '#/components/schemas/PlmnId' + snssai: + $ref: '#/components/schemas/Snssai' + PlmnInfoList: + type: array + items: + $ref: '#/components/schemas/PlmnInfo' + GGnbId: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-(22|23|24|25|26|27|28|29|30|31|32)-[0-9]{1,10}' + GEnbId: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-(18|20|21|22)-[0-9]{1,7}' + + GGnbIdList: + type: array + items: + $ref: '#/components/schemas/GGnbId' + + GEnbIdList: + type: array + items: + $ref: '#/components/schemas/GEnbId' + + NrPci: + type: integer + maximum: 503 + NrTac: + type: integer + maximum: 16777215 + Tai: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + nrTac: + $ref: '#/components/schemas/NrTac' + + BackhaulAddress: + type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + tai: + $ref: "#/components/schemas/Tai" + MappingSetIDBackhaulAddress: + type: object + properties: + setID: + type: integer + backhaulAddress: + $ref: '#/components/schemas/BackhaulAddress' + IntraRatEsActivationOriginalCellLoadParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + IntraRatEsActivationCandidateCellsLoadParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + IntraRatEsDeactivationCandidateCellsLoadParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + EsNotAllowedTimePeriod: + type: object + properties: + startTimeandendTime: + type: string + periodOfDay: + type: string + daysOfWeekList: + type: string + listoftimeperiods: + type: string + InterRatEsActivationOriginalCellParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + InterRatEsActivationCandidateCellParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + InterRatEsDeactivationCandidateCellParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + + UeAccProbilityDist: + type: object + properties: + targetProbability: + type: integer + numberofpreamblessent: + type: integer + + UeAccDelayProbilityDist: + type: object + properties: + targetProbability: + type: integer + accessdelay: + type: integer + + NRPciList: + type: object + properties: + NRPci: + type: integer + + CSonPciList: + type: object + properties: + NRPci: + type: integer + + MaximumDeviationHoTrigger: + type: integer + minimum: -20 + maximum: 20 + + MinimumTimeBetweenHoTriggerChange: + type: integer + minimum: 0 + maximum: 604800 + + TstoreUEcntxt: + type: integer + minimum: 0 + maximum: 1023 + + CellState: + type: string + enum: + - IDLE + - INACTIVE + - ACTIVE + CyclicPrefix: + type: string + enum: + - '15' + - '30' + - '60' + - '120' + TxDirection: + type: string + enum: + - DL + - UL + - DL and UL + BwpContext: + type: string + enum: + - DL + - UL + - SUL + IsInitialBwp: + type: string + enum: + - INITIAL + - OTHER + - SUL + QuotaType: + type: string + enum: + - STRICT + - FLOAT + IsESCoveredBy: + type: string + enum: + - NO + - PARTIAL + - FULL + RrmPolicyMember: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + snssai: + $ref: '#/components/schemas/Snssai' + RrmPolicyMemberList: + type: array + items: + $ref: '#/components/schemas/RrmPolicyMember' + AddressWithVlan: + type: object + properties: + ipv4Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + vlanId: + type: integer + minimum: 0 + maximum: 4096 + LocalAddress: + type: object + properties: + addressWithVlan: + $ref: '#/components/schemas/AddressWithVlan' + port: + type: integer + minimum: 0 + maximum: 65535 + RemoteAddress: + type: object + properties: + ipv4Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + + CellIndividualOffset: + type: object + properties: + rsrpOffsetSSB: + type: integer + rsrqOffsetSSB: + type: integer + sinrOffsetSSB: + type: integer + rsrpOffsetCSI-RS: + type: integer + rsrqOffsetCSI-RS: + type: integer + sinrOffsetCSI-RS: + type: integer + QOffsetRange: + type: integer + enum: + - -24 + - -22 + - -20 + - -18 + - -16 + - -14 + - -12 + - -10 + - -8 + - -6 + - -5 + - -4 + - -3 + - -2 + - -1 + - 0 + - 24 + - 22 + - 20 + - 18 + - 16 + - 14 + - 12 + - 10 + - 8 + - 6 + - 5 + - 4 + - 3 + - 2 + - 1 + QOffsetRangeList: + type: object + properties: + rsrpOffsetSSB: + $ref: '#/components/schemas/QOffsetRange' + rsrqOffsetSSB: + $ref: '#/components/schemas/QOffsetRange' + sinrOffsetSSB: + $ref: '#/components/schemas/QOffsetRange' + rsrpOffsetCSI-RS: + $ref: '#/components/schemas/QOffsetRange' + rsrqOffsetCSI-RS: + $ref: '#/components/schemas/QOffsetRange' + sinrOffsetCSI-RS: + $ref: '#/components/schemas/QOffsetRange' + QOffsetFreq: + type: number + TReselectionNRSf: + type: integer + enum: + - 25 + - 50 + - 75 + - 100 + SsbPeriodicity: + type: integer + enum: + - 5 + - 10 + - 20 + - 40 + - 80 + - 160 + SsbDuration: + type: integer + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + SsbSubCarrierSpacing: + type: integer + enum: + - 15 + - 30 + - 120 + - 240 + CoverageShape: + type: integer + maximum: 65535 + DigitalTilt: + type: integer + minimum: -900 + maximum: 900 + DigitalAzimuth: + type: integer + minimum: -1800 + maximum: 1800 + + RSSetId: + type: integer + maximum: 4194303 + + RSSetType: + type: string + enum: + - RS1 + - RS2 + + FrequencyDomainPara: + type: object + properties: + rimRSSubcarrierSpacing: + type: integer + rIMRSBandwidth: + type: integer + nrofGlobalRIMRSFrequencyCandidates: + type: integer + rimRSCommonCarrierReferencePoint: + type: integer + rimRSStartingFrequencyOffsetIdList: + type: array + items: + type: integer + + SequenceDomainPara: + type: object + properties: + nrofRIMRSSequenceCandidatesofRS1: + type: integer + rimRSScrambleIdListofRS1: + type: array + items: + type: integer + nrofRIMRSSequenceCandidatesofRS2: + type: integer + rimRSScrambleIdListofRS2: + type: array + items: + type: integer + enableEnoughNotEnoughIndication: + type: string + enum: + - ENABLE + - DISABLE + RIMRSScrambleTimerMultiplier: + type: integer + RIMRSScrambleTimerOffset: + type: integer + + TimeDomainPara: + type: object + properties: + dlULSwitchingPeriod1: + type: string + enum: + - MS0P5 + - MS0P625 + - MS1 + - MS1P25 + - MS2 + - MS2P5 + - MS3 + - MS4 + - MS5 + - MS10 + - MS20 + symbolOffsetOfReferencePoint1: + type: integer + dlULSwitchingPeriod2: + type: string + enum: + - MS0P5 + - MS0P625 + - MS1 + - MS1P25 + - MS2 + - MS2P5 + - MS3 + - MS4 + - MS5 + - MS10 + - MS20 + symbolOffsetOfReferencePoint2: + type: integer + totalnrofSetIdofRS1: + type: integer + totalnrofSetIdofRS2: + type: integer + nrofConsecutiveRIMRS1: + type: integer + nrofConsecutiveRIMRS2: + type: integer + consecutiveRIMRS1List: + type: array + items: + type: integer + consecutiveRIMRS2List: + type: array + items: + type: integer + enablenearfarIndicationRS1: + type: string + enum: + - ENABLE + - DISABLE + enablenearfarIndicationRS2: + type: string + enum: + - ENABLE + - DISABLE + + RimRSReportInfo: + type: object + properties: + detectedSetID: + type: integer + propagationDelay: + type: integer + functionalityOfRIMRS: + type: string + enum: + - RS1 + - RS2 + - RS1forEnoughMitigation + - RS1forNotEnoughMitigation + + RimRSReportConf: + type: object + properties: + reportIndicator: + type: string + enum: + - ENABLE + - DISABLE + reportInterval: + type: integer + nrofRIMRSReportInfo: + type: integer + maxPropagationDelay: + type: integer + rimRSReportInfoList: + type: array + items: + $ref: '#/components/schemas/RimRSReportInfo' + TceMappingInfo: + type: object + properties: + TceIPAddress: + oneOf: + - $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + - $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + TceID: + type: integer + PlmnTarget: + $ref: '#/components/schemas/PlmnId' + TceMappingInfoList: + type: array + items: + $ref: '#/components/schemas/TceMappingInfo' + + +#-------- Definition of abstract IOCs -------------------------------------------- + + RrmPolicy_-Attr: + type: object + properties: + resourceType: + type: string + rRMPolicyMemberList: + $ref: '#/components/schemas/RrmPolicyMemberList' + + +#-------- Definition of concrete IOCs -------------------------------------------- + + SubNetwork-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + NRFrequency: + $ref: '#/components/schemas/NRFrequency-Multiple' + ExternalGnbCuCpFunction: + $ref: '#/components/schemas/ExternalGnbCuCpFunction-Multiple' + ExternalENBFunction: + $ref: '#/components/schemas/ExternalENBFunction-Multiple' + EUtranFrequency: + $ref: '#/components/schemas/EUtranFrequency-Multiple' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + DPCIConfigurationFunction: + $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + CPCIConfigurationFunction: + $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + CESManagementFunction: + $ref: '#/components/schemas/CESManagementFunction-Single' + Configurable5QISet: + $ref: '5gcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' + RimRSGlobal: + $ref: '#/components/schemas/RimRSGlobal-Single' + Dynamic5QISet: + $ref: '5gcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + + ManagedElement-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-ncO' + - type: object + properties: + GnbDuFunction: + $ref: '#/components/schemas/GnbDuFunction-Multiple' + GnbCuUpFunction: + $ref: '#/components/schemas/GnbCuUpFunction-Multiple' + GnbCuCpFunction: + $ref: '#/components/schemas/GnbCuCpFunction-Multiple' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + DPCIConfigurationFunction: + $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + CPCIConfigurationFunction: + $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + CESManagementFunction: + $ref: '#/components/schemas/CESManagementFunction-Single' + Configurable5QISet: + $ref: '5gcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: '5gcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + + GnbDuFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbDuId: + $ref: '#/components/schemas/GnbDuId' + gnbDuName: + $ref: '#/components/schemas/GnbName' + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + rimRSReportConf: + $ref: '#/components/schemas/RimRSReportConf' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + NrCellDu: + $ref: '#/components/schemas/NrCellDu-Multiple' + Bwp-Multiple: + $ref: '#/components/schemas/Bwp-Multiple' + NrSectorCarrier-Multiple: + $ref: '#/components/schemas/NrSectorCarrier-Multiple' + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Single' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + GnbCuUpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + gnbCuUpId: + $ref: '#/components/schemas/GnbCuUpId' + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + configurable5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + EP_E1: + $ref: '#/components/schemas/EP_E1-Single' + EP_XnU: + $ref: '#/components/schemas/EP_XnU-Multiple' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + EP_NgU: + $ref: '#/components/schemas/EP_NgU-Multiple' + EP_X2U: + $ref: '#/components/schemas/EP_X2U-Multiple' + EP_S1U: + $ref: '#/components/schemas/EP_S1U-Multiple' + GnbCuCpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + gnbCuName: + $ref: '#/components/schemas/GnbName' + plmnId: + $ref: '#/components/schemas/PlmnId' + x2BlackList: + $ref: '#/components/schemas/GGnbIdList' + xnBlackList: + $ref: '#/components/schemas/GGnbIdList' + x2WhiteList: + $ref: '#/components/schemas/GGnbIdList' + xnWhiteList: + $ref: '#/components/schemas/GGnbIdList' + x2XnHOBlackList: + $ref: '#/components/schemas/GEnbIdList' + mappingSetIDBackhaulAddress: + $ref: '#/components/schemas/MappingSetIDBackhaulAddress' + tceMappingInfoList: + $ref: '#/components/schemas/TceMappingInfoList' + configurable5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + NrCellCu: + $ref: '#/components/schemas/NrCellCu-Multiple' + EP_XnC: + $ref: '#/components/schemas/EP_XnC-Multiple' + EP_E1: + $ref: '#/components/schemas/EP_E1-Multiple' + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Multiple' + EP_NgC: + $ref: '#/components/schemas/EP_NgC-Multiple' + EP_X2C: + $ref: '#/components/schemas/EP_X2C-Multiple' + DANRManagementFunction: + $ref: '#/components/schemas/DANRManagementFunction-Single' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + + NrCellCu-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + cellLocalId: + type: integer + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + NRCellRelation: + $ref: '#/components/schemas/NRCellRelation-Multiple' + EUtranCellRelation: + $ref: '#/components/schemas/EUtranCellRelation-Multiple' + NRFreqRelation: + $ref: '#/components/schemas/NRFreqRelation-Multiple' + EUtranFreqRelation: + $ref: '#/components/schemas/EUtranFreqRelation-Multiple' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + CESManagementFunction: + $ref: '#/components/schemas/CESManagementFunction-Single' + DPCIConfigurationFunction: + $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + + NrCellDu-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + cellLocalId: + type: integer + cellState: + $ref: '#/components/schemas/CellState' + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + nrPci: + $ref: '#/components/schemas/NrPci' + nrTac: + $ref: '#/components/schemas/NrTac' + arfcnDL: + type: integer + arfcnUL: + type: integer + arfcnSUL: + type: integer + bSChannelBwDL: + type: integer + bSChannelBwUL: + type: integer + bSChannelBwSUL: + type: integer + ssbFrequency: + type: integer + minimum: 0 + maximum: 3279165 + ssbPeriodicity: + $ref: '#/components/schemas/SsbPeriodicity' + ssbSubCarrierSpacing: + $ref: '#/components/schemas/SsbSubCarrierSpacing' + ssbOffset: + type: integer + minimum: 0 + maximum: 159 + ssbDuration: + $ref: '#/components/schemas/SsbDuration' + nrSectorCarrierRef: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/Dn' + bwpRef: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/Dn' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + victimSetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + aggressorSetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + CPCIConfigurationFunction: + $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + + NRFrequency-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + absoluteFrequencySSB: + type: integer + minimum: 0 + maximum: 3279165 + ssbSubCarrierSpacing: + $ref: '#/components/schemas/SsbSubCarrierSpacing' + multiFrequencyBandListNR: + type: integer + minimum: 1 + maximum: 256 + EUtranFrequency-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + earfcnDL: + type: integer + minimum: 0 + maximum: 262143 + multiBandInfoListEutra: + type: integer + minimum: 1 + maximum: 256 + + NrSectorCarrier-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + txDirection: + $ref: '#/components/schemas/TxDirection' + configuredMaxTxPower: + type: integer + arfcnDL: + type: integer + arfcnUL: + type: integer + bSChannelBwDL: + type: integer + bSChannelBwUL: + type: integer + sectorEquipmentFunctionRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + CommonBeamformingFunction: + $ref: '#/components/schemas/CommonBeamformingFunction-Single' + Bwp-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + bwpContext: + $ref: '#/components/schemas/BwpContext' + isInitialBwp: + $ref: '#/components/schemas/IsInitialBwp' + subCarrierSpacing: + type: integer + cyclicPrefix: + $ref: '#/components/schemas/CyclicPrefix' + startRB: + type: integer + numberOfRBs: + type: integer + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + CommonBeamformingFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + coverageShape: + $ref: '#/components/schemas/CoverageShape' + digitalAzimuth: + $ref: '#/components/schemas/DigitalAzimuth' + digitalTilt: + $ref: '#/components/schemas/DigitalTilt' + - type: object + properties: + Beam: + $ref: '#/components/schemas/Beam-Multiple' + Beam-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + beamIndex: + type: integer + beamType: + type: string + enum: + - SSB-BEAM + beamAzimuth: + type: integer + minimum: -1800 + maximum: 1800 + beamTilt: + type: integer + minimum: -900 + maximum: 900 + beamHorizWidth: + type: integer + minimum: 0 + maximum: 3599 + beamVertWidth: + type: integer + minimum: 0 + maximum: 1800 + RRMPolicyRatio-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: '#/components/schemas/RrmPolicy_-Attr' + - type: object + properties: + rRMPolicyMaxRatio: + type: integer + rRMPolicyMinRatio: + type: integer + rRMPolicyDedicatedRatio: + type: integer + + NRCellRelation-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + nRTCI: + type: integer + cellIndividualOffset: + $ref: '#/components/schemas/CellIndividualOffset' + adjacentNRCellRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + isRemoveAllowed: + type: boolean + isHOAllowed: + type: boolean + isESCoveredBy: + $ref: '#/components/schemas/IsESCoveredBy' + isENDCAllowed: + type: boolean + EUtranCellRelation-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + adjacentEUtranCellRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + NRFreqRelation-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + offsetMO: + $ref: '#/components/schemas/QOffsetRangeList' + blackListEntry: + type: array + items: + type: integer + minimum: 0 + maximum: 1007 + blackListEntryIdleMode: + type: integer + cellReselectionPriority: + type: integer + cellReselectionSubPriority: + type: number + minimum: 0.2 + maximum: 0.8 + multipleOf: 0.2 + pMax: + type: integer + minimum: -30 + maximum: 33 + qOffsetFreq: + $ref: '#/components/schemas/QOffsetFreq' + qQualMin: + type: number + qRxLevMin: + type: integer + minimum: -140 + maximum: -44 + threshXHighP: + type: integer + minimum: 0 + maximum: 62 + threshXHighQ: + type: integer + minimum: 0 + maximum: 31 + threshXLowP: + type: integer + minimum: 0 + maximum: 62 + threshXLowQ: + type: integer + minimum: 0 + maximum: 31 + tReselectionNr: + type: integer + minimum: 0 + maximum: 7 + tReselectionNRSfHigh: + $ref: '#/components/schemas/TReselectionNRSf' + tReselectionNRSfMedium: + $ref: '#/components/schemas/TReselectionNRSf' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + EUtranFreqRelation-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + cellIndividualOffset: + $ref: '#/components/schemas/CellIndividualOffset' + blackListEntry: + type: array + items: + type: integer + minimum: 0 + maximum: 1007 + blackListEntryIdleMode: + type: integer + cellReselectionPriority: + type: integer + cellReselectionSubPriority: + type: number + minimum: 0.2 + maximum: 0.8 + multipleOf: 0.2 + pMax: + type: integer + minimum: -30 + maximum: 33 + qOffsetFreq: + $ref: '#/components/schemas/QOffsetFreq' + qQualMin: + type: number + qRxLevMin: + type: integer + minimum: -140 + maximum: -44 + threshXHighP: + type: integer + minimum: 0 + maximum: 62 + threshXHighQ: + type: integer + minimum: 0 + maximum: 31 + threshXLowP: + type: integer + minimum: 0 + maximum: 62 + threshXLowQ: + type: integer + minimum: 0 + maximum: 31 + tReselectionEutran: + type: integer + minimum: 0 + maximum: 7 + tReselectionNRSfHigh: + $ref: '#/components/schemas/TReselectionNRSf' + tReselectionNRSfMedium: + $ref: '#/components/schemas/TReselectionNRSf' + eUTranFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + DANRManagementFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + intrasystemANRManagementSwitch: + type: boolean + intersystemANRManagementSwitch: + type: boolean + + DESManagementFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + desSwitch: + type: boolean + intraRatEsActivationOriginalCellLoadParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + intraRatEsActivationCandidateCellsLoadParameters: + $ref: "#/components/schemas/IntraRatEsActivationCandidateCellsLoadParameters" + intraRatEsDeactivationCandidateCellsLoadParameters: + $ref: "#/components/schemas/IntraRatEsDeactivationCandidateCellsLoadParameters" + esNotAllowedTimePeriod: + $ref: "#/components/schemas/EsNotAllowedTimePeriod" + interRatEsActivationOriginalCellParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + interRatEsActivationCandidateCellParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + interRatEsDeactivationCandidateCellParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + isProbingCapable: + type: string + enum: + - yes + - no + energySavingState: + type: string + enum: + - isNotEnergySaving + - isEnergySaving + + DRACHOptimizationFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + drachOptimizationControl: + type: boolean + ueAccProbilityDist: + $ref: "#/components/schemas/UeAccProbilityDist" + ueAccDelayProbilityDist: + $ref: "#/components/schemas/UeAccDelayProbilityDist" + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + DMROFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + dmroControl: + type: boolean + maximumDeviationHoTrigger: + $ref: '#/components/schemas/MaximumDeviationHoTrigger' + minimumTimeBetweenHoTriggerChange: + $ref: '#/components/schemas/MinimumTimeBetweenHoTriggerChange' + tstoreUEcntxt: + $ref: '#/components/schemas/TstoreUEcntxt' + + DPCIConfigurationFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + dPciConfigurationControl: + type: boolean + nRPciList: + $ref: "#/components/schemas/NRPciList" + + CPCIConfigurationFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + cPciConfigurationControl: + type: boolean + cSonPciList: + $ref: "#/components/schemas/CSonPciList" + + CESManagementFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + cesSwitch: + type: boolean + energySavingControl: + type: string + enum: + - toBeEnergySaving + - toBeNotEnergySaving + energySavingState: + type: string + enum: + - isNotEnergySaving + - isEnergySaving + + RimRSGlobal-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + frequencyDomainPara: + $ref: '#/components/schemas/FrequencyDomainPara' + sequenceDomainPara: + $ref: '#/components/schemas/SequenceDomainPara' + timeDomainPara: + $ref: '#/components/schemas/TimeDomainPara' + RimRSSet: + $ref: '#/components/schemas/RimRSSet-Multiple' + + RimRSSet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + setId: + $ref: '#/components/schemas/RSSetId' + setType: + $ref: '#/components/schemas/RSSetType' + rimRSMonitoringStartTime: + type: string + rimRSMonitoringStopTime: + type: string + rimRSMonitoringWindowDuration: + type: integer + rimRSMonitoringWindowStartingOffset: + type: integer + rimRSMonitoringWindowPeriodicity: + type: integer + rimRSMonitoringOccasionInterval: + type: integer + rimRSMonitoringOccasionStartingOffset: + type: integer + nRCellDURefs: + $ref: 'comDefs.yaml#/components/schemas/DnList' + + ExternalGnbDuFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Multiple' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + ExternalGnbCuUpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_E1: + $ref: '#/components/schemas/EP_E1-Multiple' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + EP_XnU: + $ref: '#/components/schemas/EP_XnU-Multiple' + ExternalGnbCuCpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: >- + genericNrm.yaml#/components/schemas/ManagedFunction-Attr + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + plmnId: + $ref: '#/components/schemas/PlmnId' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + ExternalNrCellCu: + $ref: '#/components/schemas/ExternalNrCellCu-Multiple' + EP_XnC: + $ref: '#/components/schemas/EP_XnC-Multiple' + EP_E1: + $ref: '#/components/schemas/EP_E1-Multiple' + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Multiple' + ExternalNrCellCu-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + cellLocalId: + type: integer + nrPci: + $ref: '#/components/schemas/NrPci' + plmnIdList: + $ref: '#/components/schemas/PlmnIdList' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + ExternalENBFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + eNBId: + type: integer + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + ExternalEUTranCell: + $ref: '#/components/schemas/ExternalEUTranCell-Multiple' + ExternalEUTranCell-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + EUtranFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + EP_XnC-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_E1-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_F1C-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_NgC-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_X2C-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_XnU-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_F1U-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_NgU-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + epTransportRefs: + $ref: 'comDefs.yaml#/components/schemas/DnList' + + EP_X2U-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_S1U-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + ManagedElement-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedElement-Single' + GnbDuFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GnbDuFunction-Single' + GnbCuUpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GnbCuUpFunction-Single' + GnbCuCpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GnbCuCpFunction-Single' + + NrCellDu-Multiple: + type: array + items: + $ref: '#/components/schemas/NrCellDu-Single' + NrCellCu-Multiple: + type: array + items: + $ref: '#/components/schemas/NrCellCu-Single' + + NRFrequency-Multiple: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/NRFrequency-Single' + EUtranFrequency-Multiple: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/EUtranFrequency-Single' + + NrSectorCarrier-Multiple: + type: array + items: + $ref: '#/components/schemas/NrSectorCarrier-Single' + Bwp-Multiple: + type: array + items: + $ref: '#/components/schemas/Bwp-Single' + Beam-Multiple: + type: array + items: + $ref: '#/components/schemas/Beam-Single' + RRMPolicyRatio-Multiple: + type: array + items: + $ref: '#/components/schemas/RRMPolicyRatio-Single' + + NRCellRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/NRCellRelation-Single' + EUtranCellRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/EUtranCellRelation-Single' + NRFreqRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/NRFreqRelation-Single' + EUtranFreqRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/EUtranFreqRelation-Single' + + RimRSSet-Multiple: + type: array + items: + $ref: '#/components/schemas/RimRSSet-Single' + + ExternalGnbDuFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalGnbDuFunction-Single' + ExternalGnbCuUpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' + ExternalGnbCuCpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' + ExternalNrCellCu-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalNrCellCu-Single' + + ExternalENBFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalENBFunction-Single' + ExternalEUTranCell-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalEUTranCell-Single' + + EP_E1-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_E1-Single' + EP_XnC-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_XnC-Single' + EP_F1C-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_F1C-Single' + EP_NgC-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NgC-Single' + EP_X2C-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_X2C-Single' + EP_XnU-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_XnU-Single' + EP_F1U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_F1U-Single' + EP_NgU-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NgU-Single' + EP_X2U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_X2U-Single' + EP_S1U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_S1U-Single' + +#-------- Definitions in TS 28.541 for TS 28.532 --------------------------------- + + resources-nrNrm: + oneOf: + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/ManagedElement-Single' + + - $ref: '#/components/schemas/GnbDuFunction-Single' + - $ref: '#/components/schemas/GnbCuUpFunction-Single' + - $ref: '#/components/schemas/GnbCuCpFunction-Single' + + - $ref: '#/components/schemas/NrCellCu-Single' + - $ref: '#/components/schemas/NrCellDu-Single' + + - $ref: '#/components/schemas/NRFrequency-Single' + - $ref: '#/components/schemas/EUtranFrequency-Single' + + - $ref: '#/components/schemas/NrSectorCarrier-Single' + - $ref: '#/components/schemas/Bwp-Single' + - $ref: '#/components/schemas/CommonBeamformingFunction-Single' + - $ref: '#/components/schemas/Beam-Single' + - $ref: '#/components/schemas/RRMPolicyRatio-Single' + + - $ref: '#/components/schemas/NRCellRelation-Single' + - $ref: '#/components/schemas/EUtranCellRelation-Single' + - $ref: '#/components/schemas/NRFreqRelation-Single' + - $ref: '#/components/schemas/EUtranFreqRelation-Single' + + - $ref: '#/components/schemas/DANRManagementFunction-Single' + - $ref: '#/components/schemas/DESManagementFunction-Single' + - $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + - $ref: '#/components/schemas/DMROFunction-Single' + - $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + - $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + - $ref: '#/components/schemas/CESManagementFunction-Single' + + - $ref: '#/components/schemas/RimRSGlobal-Single' + - $ref: '#/components/schemas/RimRSSet-Single' + + - $ref: '#/components/schemas/ExternalGnbDuFunction-Single' + - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' + - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' + - $ref: '#/components/schemas/ExternalNrCellCu-Single' + - $ref: '#/components/schemas/ExternalENBFunction-Single' + - $ref: '#/components/schemas/ExternalEUTranCell-Single' + + - $ref: '#/components/schemas/EP_XnC-Single' + - $ref: '#/components/schemas/EP_E1-Single' + - $ref: '#/components/schemas/EP_F1C-Single' + - $ref: '#/components/schemas/EP_NgC-Single' + - $ref: '#/components/schemas/EP_X2C-Single' + - $ref: '#/components/schemas/EP_XnU-Single' + - $ref: '#/components/schemas/EP_F1U-Single' + - $ref: '#/components/schemas/EP_NgU-Single' + - $ref: '#/components/schemas/EP_X2U-Single' + - $ref: '#/components/schemas/EP_S1U-Single' + diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/perfMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/perfMnS.yaml new file mode 100644 index 0000000000..1fd64a7d22 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/perfMnS.yaml @@ -0,0 +1,76 @@ +openapi: 3.0.1 +info: + title: TS 28.532 Performance Threshold Monitoring MnS + version: 16.6.0 + description: >- + OAS 3.0.1 definition of the Performance Threshold Monitoring MnS + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532 V16.6.0; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ +servers: + - url: '{root}' + variables: + root: + description: >- + The open API server of the performance threshold monitoring service is + located in the consumer side, see monitoringNotifTarget attribute of + the IOC ThresholdMonitor defined in 3GPP TS 28.622 [11]. + default: http://example.com/3GPPManagement +paths: + /notificationSink: + post: + summary: Send notifications about performance threshold crossing + description: To send a notifyThresholdCrossing notification + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyThresholdCrossing' + responses: + '204': + description: >- + Success case ("204 No Content"). The notification is successfully + delivered. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' +components: + schemas: + PerfNotificationTypes: + type: string + enum: + - notifyThresholdCrossing + PerfMetricValue: + oneOf: + - type: integer + - $ref: 'comDefs.yaml#/components/schemas/Float' + PerfMetricDirection: + type: string + enum: + - UP + - DOWN + NotifyThresholdCrossing: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + observedPerfMetricName: + type: string + observedPerfMetricValue: + $ref: '#/components/schemas/PerfMetricValue' + observedPerfMetricDirection: + $ref: '#/components/schemas/PerfMetricDirection' + thresholdValue: + $ref: '#/components/schemas/PerfMetricValue' + hysteresis: + $ref: '#/components/schemas/PerfMetricValue' + monitorGranularityPeriod: + type: integer + additionalText: + type: string diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml new file mode 100644 index 0000000000..1dd467e16a --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml @@ -0,0 +1,500 @@ +openapi: 3.0.1 +info: + title: Provisioning MnS + version: 16.5.0 + description: >- + OAS 3.0.1 definition of the Provisioning MnS + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ +servers: + - url: '{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}' + variables: + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/3GPPManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: XXX + URI-LDN-first-part: + description: See clause 4.4.2 of TS 32.158 + default: '' +paths: + '/{className}={id}': + parameters: + - name: className + in: path + required: true + schema: + type: string + - name: id + in: path + required: true + schema: + type: string + put: + summary: Replaces a complete single resource or creates it if it does not exist + description: >- + With HTTP PUT a complete resource is replaced or created if it does not + exist. The target resource is identified by the target URI. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + responses: + '200': + description: >- + Success case ("200 OK"). + This status code shall be returned when the resource is replaced, and + when the replaced resource representation is not identical to the resource + representation in the request. + This status code may be retourned when the resource is updated and when the + updated resource representation is identical to the resource representation + in the request. + The representation of the updated resource is returned in the response + message body. + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + '201': + description: >- + Success case ("201 Created"). + This status code shall be returned when the resource is created. + The representation of the created resource is returned in the response + message body. + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + '204': + description: >- + Success case ("204 No Content"). + This status code may be returned only when the replaced resource + representation is identical to the representation in the request. + The response has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + callbacks: + notifyMOICreation: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyMoiCreation' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyMOIDeletion: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyMoiDeletion' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyMOIAttributeValueChanges: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyMoiAttributeValueChanges' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyMOIChanges: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyMoiChanges' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + get: + summary: Reads one or multiple resources + description: >- + With HTTP GET resources are read. The resources to be retrieved are + identified with the target URI. The attributes and fields parameter + of the query components allow to select the resource properties to be returned. + parameters: + - name: scope + in: query + description: >- + This parameter extends the set of targeted resources beyond the base + resource identified with the path component of the URI. No scoping + mechanism is specified in the present document. + required: false + schema: + $ref: '#/components/schemas/Scope' + style: form + explode: true + - name: filter + in: query + description: >- + This parameter reduces the targeted set of resources by applying a + filter to the scoped set of resource representations. Only resource + representations for which the filter construct evaluates to "true" + are targeted. No filter language is specified in the present + document. + required: false + schema: + $ref: 'comDefs.yaml#/components/schemas/Filter' + - name: attributes + in: query + description: >- + This parameter specifies the attributes of the scoped resources that + are returned. + required: true + schema: + type: array + items: + type: string + style: form + explode: false + - name: fields + in: query + description: >- + This parameter specifies the attribute field of the scoped resources + that are returned. + required: false + schema: + type: array + items: + type: string + style: form + explode: false + responses: + '200': + description: >- + Success case ("200 OK"). + The resources identified in the request for retrieval are returned + in the response message body. In case the attributes or fields query + parameters are used, only the selected attributes or sub-attributes are + returned. The response message body is constructed according to the + hierarchical response construction method (TS 32.158 [15]). + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + patch: + summary: Patches one or multiple resources + description: >- + With HTTP PATCH resources are created, updated or deleted. The resources + to be modified are identified with the target URI (base resource) and + the patch document included in the request message body. + requestBody: + description: >- + The request body describes changes to be made to the target resources. + The following patch media types are available + - "application/merge-patch+json" (RFC 7396) + - "application/3gpp-merge-patch+json" (TS 32.158) + - "application/json-patch+json" (RFC 6902) + - "application/3gpp-json-patch+json" (TS 32.158) + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/Resource' + application/3gpp-merge-patch+json: + schema: + $ref: '#/components/schemas/Resource' + application/json-patch+json: + schema: + type: array + items: + type: object + application/3gpp-json-patch+json: + schema: + type: array + items: + type: object + responses: + '200': + description: >- + Success case ("200 OK"). + This status code is returned when the updated the resource representations + shall be returned for some reason. + The resource representations are returned in the response message body. The + response message body is constructed according to the hierarchical response + construction method (TS 32.158 [15]) + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + '204': + description: >- + Success case ("204 No Content"). + This status code is returned when there is no need to return the updated + resource representations. + The response message body is empty. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + delete: + summary: Deletes one or multiple resources + description: >- + With HTTP DELETE resources are deleted. The resources to be deleted are + identified with the target URI. + parameters: + - name: scope + in: query + description: >- + This parameter extends the set of targeted resources beyond the base + resource identified with the path component of the URI. No scoping + mechanism is specified in the present document. + required: false + schema: + $ref: '#/components/schemas/Scope' + style: form + explode: true + - name: filter + in: query + description: >- + This parameter reduces the targeted set of resources by applying a + filter to the scoped set of resource representations. Only resources + representations for which the filter construct evaluates to "true" + are returned. No filter language is specified in the present + document. + required: false + schema: + $ref: 'comDefs.yaml#/components/schemas/Filter' + responses: + '200': + description: >- + Success case ("200 OK"). + This status code shall be returned, when query parameters are present in + the request and one or multiple resources are deleted. + The URIs of the deleted resources are returned in the response message body. + '204': + description: >- + Success case ("204 No Content"). + This status code shall be returned, when no query parameters are present in + the request and only one resource is deleted. + The message body is empty. + content: + application/json: + schema: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/Uri' + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' +components: + schemas: + CorrelatedNotification: + type: object + properties: + source: + $ref: 'comDefs.yaml#/components/schemas/Dn' + notificationIds: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/NotificationId' + required: + - source + - notificationIds + CmNotificationTypes: + type: string + enum: + - notifyMOICreation + - notifyMOIDeletion + - notifyMOIAttributeValueChanges + - notifyMOIChanges + SourceIndicator: + type: string + enum: + - RESOURCE_OPERATION + - MANAGEMENT_OPERATION + - SON_OPERATION + - UNKNOWN + Operation: + type: string + enum: + - CREATE + - DELETE + - REPLACE + ScopeType: + type: string + enum: + - BASE_ONLY + - BASE_NTH_LEVEL + - BASE_SUBTREE + - BASE_ALL + Scope: + type: object + properties: + scopeType: + $ref: '#/components/schemas/ScopeType' + scopeLevel: + type: integer + + + Resource: + oneOf: + - type: object + properties: + id: + type: string + attributes: + type: object + additionalProperties: + type: array + items: + type: object + - anyOf: + - $ref: 'genericNrm.yaml#/components/schemas/resources-genericNrm' + - $ref: 'nrNrm.yaml#/components/schemas/resources-nrNrm' + - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm' + - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm' + + MoiChange: + type: object + properties: + notificationId: + $ref: 'comDefs.yaml#/components/schemas/NotificationId' + correlatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + additionalText: + type: string + sourceIndicator: + $ref: '#/components/schemas/SourceIndicator' + path: + $ref: 'comDefs.yaml#/components/schemas/Uri' + operation: + $ref: '#/components/schemas/Operation' + value: + oneOf: + - $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + - $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' + + NotifyMoiCreation: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + correlatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + additionalText: + type: string + sourceIndicator: + $ref: '#/components/schemas/SourceIndicator' + attributeList: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyMoiDeletion: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + correlatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + additionalText: + type: string + sourceIndicator: + $ref: '#/components/schemas/SourceIndicator' + attributeList: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyMoiAttributeValueChanges: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + correlatedNotifications: + type: array + items: + $ref: '#/components/schemas/CorrelatedNotification' + additionalText: + type: string + sourceIndicator: + $ref: '#/components/schemas/SourceIndicator' + attributeListValueChanges: + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' + required: + - attributeListValueChanges + NotifyMoiChanges: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + moiChanges: + type: array + items: + $ref: '#/components/schemas/MoiChange' + required: + - moiChanges diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/sliceNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/sliceNrm.yaml new file mode 100644 index 0000000000..1fa8d70ff3 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/sliceNrm.yaml @@ -0,0 +1,418 @@ +openapi: 3.0.1 +info: + title: Slice NRM + version: 16.8.0 + description: >- + OAS 3.0.1 specification of the Slice NRM + @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541 V16.4.0; 5G NRM, Slice NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#------------ Type definitions --------------------------------------------------- + + Float: + type: number + format: float + MobilityLevel: + type: string + enum: + - STATIONARY + - NOMADIC + - RESTRICTED MOBILITY + - FULLY MOBILITY + SharingLevel: + type: string + enum: + - SHARED + - NON-SHARED + NetworkSliceSharingIndicator: + type: string + enum: + - SHARED + - NON-SHARED + PerfReqEmbb: + type: object + properties: + expDataRateDL: + type: number + expDataRateUL: + type: number + areaTrafficCapDL: + type: number + areaTrafficCapUL: + type: number + userDensity: + type: number + activityFactor: + type: number + PerfReqEmbbList: + type: array + items: + $ref: '#/components/schemas/PerfReqEmbb' + PerfReqUrllc: + type: object + properties: + cSAvailabilityTarget: + type: number + cSReliabilityMeanTime: + type: string + expDataRate: + type: number + msgSizeByte: + type: string + transferIntervalTarget: + type: string + survivalTime: + type: string + PerfReqUrllcList: + type: array + items: + $ref: '#/components/schemas/PerfReqUrllc' + PerfReq: + oneOf: + - $ref: '#/components/schemas/PerfReqEmbbList' + - $ref: '#/components/schemas/PerfReqUrllcList' + Category: + type: string + enum: + - CHARACTER + - SCALABILITY + Tagging: + type: array + items: + type: string + enum: + - PERFORMANCE + - FUNCTION + - OPERATION + + + Exposure: + type: string + enum: + - API + - KPI + ServAttrCom: + type: object + properties: + category: + $ref: '#/components/schemas/Category' + tagging: + $ref: '#/components/schemas/Tagging' + exposure: + $ref: '#/components/schemas/Exposure' + Support: + type: string + enum: + - NOT SUPPORTED + - SUPPORTED + DelayTolerance: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + support: + $ref: '#/components/schemas/Support' + DeterministicComm: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + availability: + $ref: '#/components/schemas/Support' + periodicityList: + type: string + DLThptPerSlice: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + guaThpt: + $ref: '#/components/schemas/Float' + maxThpt: + $ref: '#/components/schemas/Float' + DLThptPerUE: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + guaThpt: + $ref: '#/components/schemas/Float' + maxThpt: + $ref: '#/components/schemas/Float' + ULThptPerSlice: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + guaThpt: + $ref: '#/components/schemas/Float' + maxThpt: + $ref: '#/components/schemas/Float' + ULThptPerUE: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + guaThpt: + $ref: '#/components/schemas/Float' + maxThpt: + $ref: '#/components/schemas/Float' + MaxPktSize: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + maxsize: + type: integer + MaxNumberofConns: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + nOofConn: + type: integer + KPIMonitoring: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + kPIList: + type: string + UserMgmtOpen: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + support: + $ref: '#/components/schemas/Support' + V2XCommModels: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + v2XMode: + $ref: '#/components/schemas/Support' + TermDensity: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + density: + type: integer + NsInfo: + type: object + properties: + nsInstanceId: + type: string + nsName: + type: string + ServiceProfile: + type: object + properties: + serviceProfileId: + type: string + plmnInfoList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnInfoList' + maxNumberofUEs: + type: number + latency: + type: number + uEMobilityLevel: + $ref: '#/components/schemas/MobilityLevel' + sst: + $ref: 'nrNrm.yaml#/components/schemas/Sst' + networkSliceSharingIndicator: + $ref: '#/components/schemas/NetworkSliceSharingIndicator' + availability: + type: number + delayTolerance: + $ref: '#/components/schemas/DelayTolerance' + deterministicComm: + $ref: '#/components/schemas/DeterministicComm' + dLThptPerSlice: + $ref: '#/components/schemas/DLThptPerSlice' + dLThptPerUE: + $ref: '#/components/schemas/DLThptPerUE' + uLThptPerSlice: + $ref: '#/components/schemas/ULThptPerSlice' + uLThptPerUE: + $ref: '#/components/schemas/ULThptPerUE' + maxPktSize: + $ref: '#/components/schemas/MaxPktSize' + maxNumberofConns: + $ref: '#/components/schemas/MaxNumberofConns' + kPIMonitoring: + $ref: '#/components/schemas/KPIMonitoring' + userMgmtOpen: + $ref: '#/components/schemas/UserMgmtOpen' + v2XModels: + $ref: '#/components/schemas/V2XCommModels' + coverageArea: + type: string + termDensity: + $ref: '#/components/schemas/TermDensity' + activityFactor: + $ref: '#/components/schemas/Float' + uESpeed: + type: integer + jitter: + type: integer + survivalTime: + type: string + reliability: + type: string + SliceProfile: + type: object + properties: + sliceProfileId: + type: string + + plmnInfoList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnInfoList' + perfReq: + $ref: '#/components/schemas/PerfReq' + maxNumberofUEs: + type: number + coverageAreaTAList: + $ref: '5gcNrm.yaml#/components/schemas/TACList' + latency: + type: number + uEMobilityLevel: + $ref: '#/components/schemas/MobilityLevel' + resourceSharingLevel: + $ref: '#/components/schemas/SharingLevel' + + IpAddress: + oneOf: + - $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + - $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + ServiceProfileList: + type: array + items: + $ref: '#/components/schemas/ServiceProfile' + + SliceProfileList: + type: array + items: + $ref: '#/components/schemas/SliceProfile' + +#------------ Definition of concrete IOCs ---------------------------------------- + + SubNetwork-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + NetworkSlice: + $ref: '#/components/schemas/NetworkSlice-Multiple' + NetworkSliceSubnet: + $ref: '#/components/schemas/NetworkSliceSubnet-Multiple' + EP_Transport: + $ref: '#/components/schemas/EP_Transport-Multiple' + + NetworkSlice-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - type: object + properties: + networkSliceSubnetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + serviceProfileList: + $ref: '#/components/schemas/ServiceProfileList' + + NetworkSliceSubnet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - type: object + properties: + managedFunctionRefList: + $ref: 'comDefs.yaml#/components/schemas/DnList' + networkSliceSubnetRefList: + $ref: 'comDefs.yaml#/components/schemas/DnList' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + nsInfo: + $ref: '#/components/schemas/NsInfo' + sliceProfileList: + $ref: '#/components/schemas/SliceProfileList' + epTransportRefList: + $ref: 'comDefs.yaml#/components/schemas/DnList' + + EP_Transport-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + ipAddress: + $ref: '#/components/schemas/IpAddress' + logicInterfaceId: + type: string + nextHopInfo: + type: string + qosProfile: + type: string + epApplicationRefs: + $ref: 'comDefs.yaml#/components/schemas/DnList' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + + NetworkSlice-Multiple: + type: array + items: + $ref: '#/components/schemas/NetworkSlice-Single' + + NetworkSliceSubnet-Multiple: + type: array + items: + $ref: '#/components/schemas/NetworkSliceSubnet-Single' + + EP_Transport-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Transport-Single' + +#------------ Definitions in TS 28.541 for TS 28.532 ----------------------------- + + resources-sliceNrm: + oneOf: + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/NetworkSlice-Single' + - $ref: '#/components/schemas/NetworkSliceSubnet-Single' + - $ref: '#/components/schemas/EP_Transport-Single' diff --git a/kubernetes/dcaegen2-services/templates/configmap.yaml b/kubernetes/dcaegen2-services/templates/configmap.yaml index a2c7c56965..92662a251e 100644 --- a/kubernetes/dcaegen2-services/templates/configmap.yaml +++ b/kubernetes/dcaegen2-services/templates/configmap.yaml @@ -24,4 +24,20 @@ metadata: name: {{ include "common.release" . }}-dcae-expected-microservices namespace: {{ include "common.namespace" . }} data: -{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.release" . }}-dcae-external-repo-configmap-schema-map + namespace: {{ include "common.namespace" . }} +data: +{{ (.Files.Glob "resources/external/map/*").AsConfig | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.release" . }}-dcae-external-repo-configmap-sa91-rel16 + namespace: {{ include "common.namespace" . }} +data: +{{ (.Files.Glob "resources/external/schemas/sa91-rel16/*").AsConfig | indent 2 }}
\ No newline at end of file diff --git a/kubernetes/dcaegen2-services/values.yaml b/kubernetes/dcaegen2-services/values.yaml index 25df24de0a..687c9b2bab 100644 --- a/kubernetes/dcaegen2-services/values.yaml +++ b/kubernetes/dcaegen2-services/values.yaml @@ -17,9 +17,15 @@ dcae-ms-healthcheck: enabled: true dcae-hv-ves-collector: enabled: true +dcae-pmsh: + enabled: false dcae-prh: enabled: true dcae-tcagen2: enabled: true dcae-ves-collector: enabled: true +dcae-slice-analysis-ms: + enabled: false +dcae-son-handler: + enabled: false |