diff options
42 files changed, 6723 insertions, 800 deletions
diff --git a/kubernetes/common/etcd-init/.helmignore b/kubernetes/common/etcd-init/.helmignore new file mode 100644 index 0000000000..f0c1319444 --- /dev/null +++ b/kubernetes/common/etcd-init/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/kubernetes/common/etcd-init/Chart.yaml b/kubernetes/common/etcd-init/Chart.yaml new file mode 100644 index 0000000000..20f5ac40cc --- /dev/null +++ b/kubernetes/common/etcd-init/Chart.yaml @@ -0,0 +1,18 @@ +# 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. + +apiVersion: v1 +description: Chart for etcd init job +name: etcd-init +version: 8.0.0 diff --git a/kubernetes/common/etcd-init/requirements.yaml b/kubernetes/common/etcd-init/requirements.yaml new file mode 100644 index 0000000000..008789b822 --- /dev/null +++ b/kubernetes/common/etcd-init/requirements.yaml @@ -0,0 +1,21 @@ +# 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. + +dependencies: + - name: common + version: ~8.x-0 + repository: 'file://../common' + - name: repositoryGenerator + version: ~8.x-0 + repository: 'file://../repositoryGenerator' diff --git a/kubernetes/common/etcd-init/templates/job.yaml b/kubernetes/common/etcd-init/templates/job.yaml new file mode 100644 index 0000000000..69bcfaaf99 --- /dev/null +++ b/kubernetes/common/etcd-init/templates/job.yaml @@ -0,0 +1,104 @@ +{{/* +# 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. +*/}} +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ include "common.fullname" . }}-job + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ include "common.release" . }} + heritage: {{ .Release.Service }} +spec: + backoffLimit: {{ .Values.backoffLimit }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ include "common.release" . }} + name: {{ include "common.name" . }} + spec: + initContainers: + - name: {{ include "common.name" . }}-readiness + command: + - /app/ready.py + args: + - --container-name + - {{ .Values.etcd.containerName }} + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + image: {{ include "repositoryGenerator.image.readiness" . }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + containers: + - name: {{ include "common.name" . }} + image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + command: + - /bin/sh + - -ec + - | + # Create users + export ETCDCTL_ENDPOINTS=http://${ETCD_HOST}:${ETCD_PORT} + export ETCDCTL_API=3 + echo "${ROOT_PASSWORD}" | etcdctl user add root --interactive=false + echo "${APP_PASSWORD}" | etcdctl user add ${APP_USER} --interactive=false + + # Create roles + etcdctl role add ${APP_ROLE} + etcdctl role grant-permission ${APP_ROLE} --prefix=true readwrite ${KEY_PREFIX} + + etcdctl user grant-role ${APP_USER} ${APP_ROLE} + etcdctl auth enable + env: + - name: ALLOW_NONE_AUTHENTICATION + value: "yes" + - name: ETCD_HOST + value: "{{ .Values.etcd.serviceName }}.{{ include "common.namespace" . }}" + - name: ETCD_PORT + value: "{{ .Values.etcd.port }}" + - name: ROOT_PASSWORD + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "root-password" "key" "password" ) | indent 10 }} + - name: APP_USER + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "app-creds" "key" "login") | indent 10 }} + - name: APP_PASSWORD + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "app-creds" "key" "password") | indent 10 }} + - name: APP_ROLE + value: "{{ .Values.config.appRole }}" + - name: KEY_PREFIX + value: "{{ .Values.config.keyPrefix }}" + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + resources: {{ include "common.resources" . | nindent 12 }} + {{- if .Values.nodeSelector }} + nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: {{ toYaml .Values.affinity | nindent 10 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + restartPolicy: Never + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/common/etcd-init/templates/secret.yaml b/kubernetes/common/etcd-init/templates/secret.yaml new file mode 100644 index 0000000000..e874185693 --- /dev/null +++ b/kubernetes/common/etcd-init/templates/secret.yaml @@ -0,0 +1,17 @@ +{{/* +# 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. +*/}} + +{{ include "common.secretFast" . }} diff --git a/kubernetes/common/etcd-init/values.yaml b/kubernetes/common/etcd-init/values.yaml new file mode 100644 index 0000000000..c99c9f1e5b --- /dev/null +++ b/kubernetes/common/etcd-init/values.yaml @@ -0,0 +1,74 @@ +# 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. + +################################################################# +# Global configuration defaults. +################################################################# +global: {} + +################################################################# +# Secrets metaconfig +################################################################# +secrets: + - uid: root-password + type: password + externalSecret: '{{ tpl (default "" .Values.config.userRootSecret) . }}' + password: '{{ .Values.config.userRootPassword }}' + - uid: app-creds + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.appUser }}' + password: '{{ .Values.config.appPassword }}' + +################################################################# +# Application configuration defaults. +################################################################# + +image: bitnami/etcd:3.3.15 +pullPolicy: Always +backoffLimit: 20 + +nodeSelector: {} + +affinity: {} + +etcd: + serviceName: k8s-etcd + port : 2379 + containerName: k8s-etcd + +config: + userRootSecret: root +# userCredentialsExternalSecret: + appUser: user + appRole: role + keyPrefix: key + +flavor: small +resources: + small: + limits: + cpu: 100m + memory: 500Mi + requests: + cpu: 10m + memory: 10Mi + large: + limits: + cpu: 200m + memory: 500Mi + requests: + cpu: 20m + memory: 20Mi + unlimited: {} diff --git a/kubernetes/common/etcd/templates/statefulset.yaml b/kubernetes/common/etcd/templates/statefulset.yaml index a343d4fce5..48c8b6d0cc 100644 --- a/kubernetes/common/etcd/templates/statefulset.yaml +++ b/kubernetes/common/etcd/templates/statefulset.yaml @@ -49,7 +49,7 @@ spec: {{ toYaml .Values.tolerations | indent 8 }} {{- end }} containers: - - name: {{ include "common.fullname" . }} + - name: {{ include "common.name" . }} image: {{ include "repositoryGenerator.googleK8sRepository" . }}/{{ .Values.image }} imagePullPolicy: "{{ .Values.pullPolicy }}" ports: diff --git a/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml index 89cf13447a..f4516ed7e8 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 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/resources/external/schema/rel16/PerDataFileReportMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/FileDataReportingMnS.yaml index dfacc14f8c..2d1a4fb16d 100644 --- a/kubernetes/dcaegen2/resources/external/schema/rel16/PerDataFileReportMnS.yaml +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/FileDataReportingMnS.yaml @@ -1,41 +1,47 @@ openapi: 3.0.1 info: - title: TS 28.532 Performance data file reporting Service - version: 16.4.0 + title: TS 28.532 File data reporting Service + version: 16.6.0 description: >- - OAS 3.0.1 specification of the Performance data file reporting Management Service © 2020, + 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.4.0; Generic management services + 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}/PerfDataFileReportMnS/v1640' + - url: '{MnSRoot}/FileDataReportingMnS/{MnSversion}' variables: MnSRoot: description: See subclause 4.4 of TS 32.158 - default: http://example.com/3GPPManagement + 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 (managementDataType, beginTime and endTime) of the URI. The fields query component allows to select the resource properties to be returned.' + 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: managementDataType + - 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 - $ref: '#/components/schemas/managementDataType-Type' + 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 - $ref: '#/components/schemas/dateTime-Type' + 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 - $ref: '#/components/schemas/dateTime-Type' + 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.' @@ -184,6 +190,8 @@ components: type: string fileFormat: type: string + fileType: + $ref: '#/components/schemas/fileType-Type' error-ResponseType: type: object properties: @@ -192,10 +200,13 @@ components: properties: errorInfo: type: string - managementDataType-Type: + fileType-Type: type: string enum: - - PM + - PERFORMANCE + - TRACE + - ANALYTICS + - PROPRIETARY header-Type: description: Header used in notifications as notification header type: object 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/resources/external/schema/rel16/faultMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/faultMnS.yaml index 499123b903..7ccf280316 100644 --- a/kubernetes/dcaegen2/resources/external/schema/rel16/faultMnS.yaml +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/faultMnS.yaml @@ -1,22 +1,22 @@ openapi: 3.0.1 info: title: Fault Supervision MnS - version: 16.4.0 + 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 V16.4.0; Generic management services + description: 3GPP TS 28.532; Generic management services url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ servers: - - url: '{MnSRoot}/FaultSupervisionMnS/{version}' + - url: '{MnSRoot}/FaultSupervisionMnS/{MnSversion}' variables: MnSRoot: description: See subclause 4.4.3 of TS 32.158 default: http://example.com/3GPPManagement - version: - description: Versi on number of the OpenAPI definition + MnSversion: + description: Version number of the OpenAPI definition default: XXX paths: /alarms: @@ -35,12 +35,12 @@ paths: in: query required: false schema: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' - name: filter in: query required: false schema: - $ref: '#/components/schemas/Filter' + $ref: 'comDefs.yaml#/components/schemas/Filter' responses: '200': description: >- @@ -57,7 +57,7 @@ paths: - type: object properties: lastNotificationHeader: - $ref: '#/components/schemas/NotificationHeader' + $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - $ref: '#/components/schemas/AlarmRecord' - type: object properties: @@ -68,7 +68,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' patch: summary: 'Clear, acknowledge or unacknowledge multiple alarms' description: >- @@ -130,7 +130,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' /alarms/{alarmId}: patch: summary: 'Clear, acknowledge or unacknowledge a single alarm' @@ -163,7 +163,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' /alarms/{alarmId}/comments: post: summary: Add a comment to a single alarm @@ -203,7 +203,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' /subscriptions: post: @@ -238,7 +238,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' callbacks: notifyNewAlarm: '{request.body#/consumerReference}': @@ -262,7 +262,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyClearedAlarm: '{request.body#/consumerReference}': post: @@ -283,7 +283,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyChangedAlarm: '{request.body#/consumerReference}': post: @@ -304,7 +304,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyChangedAlarmGeneral: '{request.body#/consumerReference}': post: @@ -327,7 +327,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyCorrelatedNotificationChanged: '{request.body#/consumerReference}': post: @@ -348,7 +348,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyAckStateChanged: '{request.body#/consumerReference}': post: @@ -369,7 +369,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyComments: '{request.body#/consumerReference}': post: @@ -390,7 +390,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyPotentialFaultyAlarmList: '{request.body#/consumerReference}': post: @@ -411,7 +411,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyAlarmListRebuilt: '{request.body#/consumerReference}': post: @@ -432,7 +432,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' /subscriptions/{subscriptionId}: delete: summary: Delete a subscription @@ -458,91 +458,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' components: schemas: - - #---- Definitions to be moved to comDefs.yaml --------------------------------------# - - Long: - type: string - format: long - Float: - type: string - format: float - DateTime: - type: string - format: date-Time - - Dn: - type: string - Uri: - type: string - - AttributeNameValuePairSet: - type: object - minProperties: 1 - AttributeValueChangeSet: - description: >- - The key in this map is the attribute name. The value of each key is an array. - When only one item is present in the array, it carries the new attribute - value. If two items are present, then the first item carries the old value - and the second item the new value. The items can be of any type including null. - type: object - additionalProperties: - type: array - minItems: 1 - maxItems: 2 - items: - nullable: true - - Filter: - type: string - SystemDN: - type: string - - NotificationId: - type: integer - NotificationHeader: - description: >- - Header used for all notification types - type: object - required: - - href - - notificationId - - notificationType - - eventTime - - systemDN - properties: - uri: - $ref: '#/components/schemas/Uri' - notificationId: - $ref: '#/components/schemas/NotificationId' - notificationType: - oneOf: - - $ref: '#/components/schemas/AlarmNotificationTypes' - #- $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationTypes' - #- $ref: 'provMnS.yaml#/components/schemas/CmNotificationTypes' - # more to be added - eventTime: - $ref: '#/components/schemas/DateTime' - systemDN: - $ref: '#/components/schemas/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 - - #---- End of definitions to be moved to comDefs.yaml -------------------------------# #---- Definition of AlarmRecord ----------------------------------------------------# @@ -608,46 +527,47 @@ components: high: oneOf: - type: integer - - $ref: '#/components/schemas/Float' + - $ref: 'comDefs.yaml#/components/schemas/Float' low: - $ref: '#/components/schemas/Float' + $ref: 'comDefs.yaml#/components/schemas/Float' ThresholdLevelInd: - type: object - required: - - up - properties: - up: - $ref: '#/components/schemas/ThresholdHysteresis' - low: - $ref: '#/components/schemas/ThresholdHysteresis' + oneOf: + - type: object + properties: + up: + $ref: '#/components/schemas/ThresholdHysteresis' + - type: object + properties: + down: + $ref: '#/components/schemas/ThresholdHysteresis' ThresholdInfo: type: object - required: - - observedMeasurement - - observedValue properties: observedMeasurement: type: string observedValue: oneOf: - type: integer - - $ref: '#/components/schemas/Float' - thresholdLevelInd: + - $ref: 'comDefs.yaml#/components/schemas/Float' + thresholdLevel: $ref: '#/components/schemas/ThresholdLevelInd' armTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' + required: + - observedMeasurement + - observedValue CorrelatedNotification: type: object - required: - - source - - notificationId properties: sourceObjectInstance: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' notificationIds: type: array items: - $ref: '#/components/schemas/NotificationId' + $ref: 'comDefs.yaml#/components/schemas/NotificationId' + required: + - sourceObjectInstance + - notificationIds CorrelatedNotifications: type: array items: @@ -667,15 +587,15 @@ components: # alarmId: # $ref: '#/components/schemas/AlarmId' objectInstance: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' notificationId: - $ref: '#/components/schemas/NotificationId' + $ref: 'comDefs.yaml#/components/schemas/NotificationId' alarmRaisedTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' alarmChangedTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' alarmClearedTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' alarmType: $ref: '#/components/schemas/AlarmType' probableCause: @@ -687,7 +607,7 @@ components: backedUpStatus: type: boolean backUpObject: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' trendIndication: $ref: '#/components/schemas/TrendIndication' thresholdinfo: @@ -695,21 +615,21 @@ components: correlatedNotifications: $ref: '#/components/schemas/CorrelatedNotifications' stateChangeDefinition: - $ref: '#/components/schemas/AttributeValueChangeSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' monitoredAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' proposedRepairActions: type: string additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean ackTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' ackUserId: type: string ackSystemId: @@ -750,7 +670,7 @@ components: NotifyNewAlarm: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -771,7 +691,7 @@ components: backedUpStatus: type: boolean backUpObject: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' trendIndication: $ref: '#/components/schemas/TrendIndication' thresholdInfo: @@ -779,20 +699,20 @@ components: correlatedNotifications: $ref: '#/components/schemas/CorrelatedNotifications' stateChangeDefinition: - $ref: '#/components/schemas/AttributeValueChangeSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' monitoredAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' proposedRepairActions: type: string additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean NotifyNewSecAlarm: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -816,7 +736,7 @@ components: additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean serviceUser: @@ -827,7 +747,7 @@ components: type: string NotifyClearedAlarm: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -851,7 +771,7 @@ components: type: string NotifyChangedAlarm: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -869,14 +789,11 @@ components: $ref: '#/components/schemas/PerceivedSeverity' NotifyChangedAlarmGeneral: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId - alarmType - - probableCause - - perceivedSeverity - - changedAlarmAttributes properties: alarmId: $ref: '#/components/schemas/AlarmId' @@ -893,38 +810,35 @@ components: backedUpStatus: type: boolean backUpObject: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' trendIndication: $ref: '#/components/schemas/TrendIndication' thresholdInfo: $ref: '#/components/schemas/ThresholdInfo' stateChangeDefinition: - $ref: '#/components/schemas/AttributeValueChangeSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' monitoredAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' proposedRepairActions: type: string additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean changedAlarmAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' NotifyChangedSecAlarmGeneral: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId - alarmType - - probableCause - - perceivedSeverity - serviceUser - serviceProvider - securityAlarmDetector - - changedAlarmAttributes properties: alarmId: $ref: '#/components/schemas/AlarmId' @@ -939,7 +853,7 @@ components: additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean serviceUser: @@ -949,10 +863,10 @@ components: securityAlarmDetector: type: string changedAlarmAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' NotifyCorrelatedNotificationChanged: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -966,7 +880,7 @@ components: type: boolean NotifyAckStateChanged: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -992,7 +906,7 @@ components: type: string NotifyComments: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -1013,7 +927,7 @@ components: $ref: '#/components/schemas/Comments' NotifyPotentialFaultyAlarmList: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - reason @@ -1022,7 +936,7 @@ components: type: string NotifyAlarmListRebuilt: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - reason @@ -1119,7 +1033,7 @@ components: type: object properties: commentTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' commentUserId: type: string commentSystemId: @@ -1137,8 +1051,8 @@ components: type: object properties: consumerReference: - $ref: '#/components/schemas/Uri' + $ref: 'comDefs.yaml#/components/schemas/Uri' timeTick: - $ref: '#/components/schemas/Long' + type: integer filter: - $ref: '#/components/schemas/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/resources/external/schema/rel16/heartbeatNtf.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/heartbeatNtf.yaml index afde5066dd..efa3185bdb 100644 --- a/kubernetes/dcaegen2/resources/external/schema/rel16/heartbeatNtf.yaml +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/heartbeatNtf.yaml @@ -1,23 +1,25 @@ openapi: 3.0.1 info: title: Heartbeat notification - version: 16.3.0 + version: 16.6.0 description: >- - OAS 3.0.1 specification of the heartbeat notification + 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.3.0; Heartbeat notification + 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: - hearbeatNtfPeriod-Type: - type: integer - notifyHeartbeat-NotifType: + HeartbeatNotificationTypes: + type: string + enum: + - notifyHeartbeat + NotifyHeartbeat: allOf: - - $ref: 'provMnS.yaml#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: heartbeatNtfPeriod: - $ref: '#/components/schemas/hearbeatNtfPeriod-Type' + 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/resources/external/schema/rel16/provMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml index b2f84a4d2a..1dd467e16a 100644 --- a/kubernetes/dcaegen2/resources/external/schema/rel16/provMnS.yaml +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml @@ -1,25 +1,25 @@ openapi: 3.0.1 info: title: Provisioning MnS - version: 16.4.0 + 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 V16.4.0; Generic management services + description: 3GPP TS 28.532; Generic management services url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ servers: - - url: 'http://{URI-DN-prefix}/{root}/ProvMnS/v1640/{LDN-first-part}' + - url: '{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}' variables: - URI-DN-prefix: - description: See subclause 4.4 of TS 32.158 - default: example.com - root: - description: See subclause 4.4 of TS 32.158 - default: 3GPPManagement - LDN-first-part: - description: See subclause 4.4 of TS 32.158 + 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}': @@ -28,12 +28,12 @@ paths: in: path required: true schema: - $ref: '#/components/schemas/className-PathType' + type: string - name: id in: path required: true schema: - $ref: '#/components/schemas/id-PathType' + type: string put: summary: Replaces a complete single resource or creates it if it does not exist description: >- @@ -44,7 +44,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourcePut-RequestType' + $ref: '#/components/schemas/Resource' responses: '200': description: >- @@ -60,7 +60,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceUpdate-ResponseType' + $ref: '#/components/schemas/Resource' '201': description: >- Success case ("201 Created"). @@ -70,7 +70,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceCreation-ResponseType' + $ref: '#/components/schemas/Resource' '204': description: >- Success case ("204 No Content"). @@ -82,7 +82,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' callbacks: notifyMOICreation: '{request.body#/notificationRecipientAddress}': @@ -92,7 +92,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/notifyMOICreation-NotifType' + $ref: '#/components/schemas/NotifyMoiCreation' responses: '204': description: >- @@ -104,7 +104,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyMOIDeletion: '{request.body#/notificationRecipientAddress}': post: @@ -113,7 +113,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/notifyMOIDeletion-NotifType' + $ref: '#/components/schemas/NotifyMoiDeletion' responses: '204': description: >- @@ -125,8 +125,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' - notifyMOIAttributeValueChange: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyMOIAttributeValueChanges: '{request.body#/notificationRecipientAddress}': post: requestBody: @@ -134,7 +134,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/notifyMOIAttributeValueChange-NotifType' + $ref: '#/components/schemas/NotifyMoiAttributeValueChanges' responses: '204': description: >- @@ -146,7 +146,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyMOIChanges: '{request.body#/notificationRecipientAddress}': post: @@ -155,7 +155,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/notifyMOIChanges-NotifType' + $ref: '#/components/schemas/NotifyMoiChanges' responses: '204': description: >- @@ -167,7 +167,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' get: summary: Reads one or multiple resources description: >- @@ -183,7 +183,7 @@ paths: mechanism is specified in the present document. required: false schema: - $ref: '#/components/schemas/scope-QueryType' + $ref: '#/components/schemas/Scope' style: form explode: true - name: filter @@ -196,7 +196,7 @@ paths: document. required: false schema: - $ref: '#/components/schemas/filter-QueryType' + $ref: 'comDefs.yaml#/components/schemas/Filter' - name: attributes in: query description: >- @@ -204,7 +204,9 @@ paths: are returned. required: true schema: - $ref: '#/components/schemas/attributes-QueryType' + type: array + items: + type: string style: form explode: false - name: fields @@ -214,7 +216,9 @@ paths: that are returned. required: false schema: - $ref: '#/components/schemas/fields-QueryType' + type: array + items: + type: string style: form explode: false responses: @@ -229,13 +233,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceRetrieval-ResponseType' + $ref: '#/components/schemas/Resource' default: description: Error case. content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' patch: summary: Patches one or multiple resources description: >- @@ -254,16 +258,20 @@ paths: content: application/merge-patch+json: schema: - $ref: '#/components/schemas/jsonMergePatch-RequestType' + $ref: '#/components/schemas/Resource' application/3gpp-merge-patch+json: schema: - $ref: '#/components/schemas/3gppJsonMergePatch-RequestType' + $ref: '#/components/schemas/Resource' application/json-patch+json: schema: - $ref: '#/components/schemas/jsonPatch-RequestType' + type: array + items: + type: object application/3gpp-json-patch+json: schema: - $ref: '#/components/schemas/3gppJsonPatch-RequestType' + type: array + items: + type: object responses: '200': description: >- @@ -276,7 +284,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceUpdate-ResponseType' + $ref: '#/components/schemas/Resource' '204': description: >- Success case ("204 No Content"). @@ -288,7 +296,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' delete: summary: Deletes one or multiple resources description: >- @@ -303,7 +311,9 @@ paths: mechanism is specified in the present document. required: false schema: - $ref: '#/components/schemas/scope-QueryType' + $ref: '#/components/schemas/Scope' + style: form + explode: true - name: filter in: query description: >- @@ -314,7 +324,7 @@ paths: document. required: false schema: - $ref: '#/components/schemas/filter-QueryType' + $ref: 'comDefs.yaml#/components/schemas/Filter' responses: '200': description: >- @@ -331,136 +341,66 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceDeletion-ResponseType' + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/Uri' default: description: Error case. content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' components: schemas: - dateTime-Type: - type: string - format: date-time - long-Type: - type: integer - format: int64 - uri-Type: - type: string - correlatedNotification-Type: + CorrelatedNotification: type: object properties: source: - $ref: '#/components/schemas/uri-Type' + $ref: 'comDefs.yaml#/components/schemas/Dn' notificationIds: type: array items: - $ref: '#/components/schemas/notificationId-Type' - notificationId-Type: - $ref: '#/components/schemas/long-Type' - notificationType-Type: + $ref: 'comDefs.yaml#/components/schemas/NotificationId' + required: + - source + - notificationIds + CmNotificationTypes: type: string enum: - notifyMOICreation - notifyMOIDeletion - - notifyMOIAttributeValueChange - systemDN-Type: + - notifyMOIAttributeValueChanges + - notifyMOIChanges + SourceIndicator: type: string - additionalText-Type: - type: string - sourceIndicator-Type: + enum: + - RESOURCE_OPERATION + - MANAGEMENT_OPERATION + - SON_OPERATION + - UNKNOWN + Operation: type: string enum: - - resourceOperation - - mangementOperation - - sONOperation - - unknown - header-Type: - type: object - properties: - href: - $ref: '#/components/schemas/uri-Type' - notificationId: - $ref: '#/components/schemas/notificationId-Type' - notificationType: - $ref: '#/components/schemas/notificationType-Type' - eventTime: - $ref: '#/components/schemas/dateTime-Type' - systemDN: - $ref: '#/components/schemas/systemDN-Type' - required: - - href - - notificationId - - notificationType - - eventTime - - systemDN - scopeType-Type: + - CREATE + - DELETE + - REPLACE + ScopeType: type: string enum: - BASE_ONLY - BASE_NTH_LEVEL - BASE_SUBTREE - BASE_ALL - scopeLevel-Type: - type: integer - className-PathType: - type: string - id-PathType: - type: string - attributes-QueryType: - type: array - items: - type: string - fields-QueryType: - type: array - items: - type: string - filter-QueryType: - type: string - scope-QueryType: + Scope: type: object properties: scopeType: - $ref: '#/components/schemas/scopeType-Type' + $ref: '#/components/schemas/ScopeType' scopeLevel: - $ref: '#/components/schemas/scopeLevel-Type' + type: integer - resourcePut-RequestType: - $ref: '#/components/schemas/resourceRepresentation-Type' - jsonMergePatch-RequestType: - $ref: '#/components/schemas/resourceRepresentation-Type' - 3gppJsonMergePatch-RequestType: - $ref: '#/components/schemas/resourceRepresentation-Type' - jsonPatch-RequestType: - type: array - items: - type: object - 3gppJsonPatch-RequestType: - type: array - items: - type: object - error-ResponseType: - type: object - properties: - error: - type: object - properties: - errorInfo: - type: string - resourceRetrieval-ResponseType: - $ref: '#/components/schemas/resourceRepresentation-Type' - resourceCreation-ResponseType: - $ref: '#/components/schemas/resourceRepresentation-Type' - resourceUpdate-ResponseType: - $ref: '#/components/schemas/resourceRepresentation-Type' - resourceDeletion-ResponseType: - type: array - items: - $ref: '#/components/schemas/uri-Type' - - resourceRepresentation-Type: + Resource: oneOf: - type: object properties: @@ -478,102 +418,83 @@ components: - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm' - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm' - mOIChange-Type: + MoiChange: type: object properties: notificationId: - $ref: '#/components/schemas/notificationId-Type' + $ref: 'comDefs.yaml#/components/schemas/NotificationId' correlatedNotifications: type: array items: - $ref: '#/components/schemas/correlatedNotification-Type' + $ref: '#/components/schemas/CorrelatedNotification' additionalText: - $ref: '#/components/schemas/additionalText-Type' + type: string sourceIndicator: - $ref: '#/components/schemas/sourceIndicator-Type' + $ref: '#/components/schemas/SourceIndicator' path: - $ref: '#/components/schemas/uri-Type' + $ref: 'comDefs.yaml#/components/schemas/Uri' operation: - type: string - enum: - - CREATE - - DELETE - - REPLACE + $ref: '#/components/schemas/Operation' value: oneOf: - - type: object - additionalProperties: - nullable: true - - type: array - items: - type: object - minItems: 1 - maxItems: 2 + - $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + - $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' - notifyMOICreation-NotifType: + NotifyMoiCreation: allOf: - - $ref: '#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: correlatedNotifications: type: array items: - $ref: '#/components/schemas/correlatedNotification-Type' + $ref: '#/components/schemas/CorrelatedNotification' additionalText: - $ref: '#/components/schemas/additionalText-Type' + type: string sourceIndicator: - $ref: '#/components/schemas/sourceIndicator-Type' + $ref: '#/components/schemas/SourceIndicator' attributeList: - type: object - additionalProperties: - nullable: true - notifyMOIDeletion-NotifType: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyMoiDeletion: allOf: - - $ref: '#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: correlatedNotifications: type: array items: - $ref: '#/components/schemas/correlatedNotification-Type' + $ref: '#/components/schemas/CorrelatedNotification' additionalText: - $ref: '#/components/schemas/additionalText-Type' + type: string sourceIndicator: - $ref: '#/components/schemas/sourceIndicator-Type' + $ref: '#/components/schemas/SourceIndicator' attributeList: - type: object - additionalProperties: true - notifyMOIAttributeValueChange-NotifType: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyMoiAttributeValueChanges: allOf: - - $ref: '#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: correlatedNotifications: type: array items: - $ref: '#/components/schemas/correlatedNotification-Type' + $ref: '#/components/schemas/CorrelatedNotification' additionalText: - $ref: '#/components/schemas/additionalText-Type' + type: string sourceIndicator: - $ref: '#/components/schemas/sourceIndicator-Type' - attributeValueChange: - type: object - additionalProperties: - type: array - minItems: 1 - maxItems: 2 - items: - nullable: true + $ref: '#/components/schemas/SourceIndicator' + attributeListValueChanges: + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' required: - - attributeValueChange - notifyMOIChanges-NotifType: + - attributeListValueChanges + NotifyMoiChanges: allOf: - - $ref: '#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: - mOIChanges: + moiChanges: type: array items: - $ref: '#/components/schemas/mOIChange-Type' + $ref: '#/components/schemas/MoiChange' required: - - mOIChanges + - 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..32451cdee7 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/schema/sa91-rel16/*").AsConfig | indent 2 }}
\ No newline at end of file diff --git a/kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml b/kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml index 694940ec3d..0a97f9e0c0 100644 --- a/kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml +++ b/kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml @@ -110,7 +110,7 @@ default_k8s_location: central # DCAE component images to be deployed via Cloudify Manager # Use to override default setting in blueprints componentImages: - tcagen2: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1 + tcagen2: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.0 ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.9.2 prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.5.6 hv_ves: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.8.0 diff --git a/kubernetes/dcaegen2/components/dcae-ves-openapi-manager/templates/deployment.yaml b/kubernetes/dcaegen2/components/dcae-ves-openapi-manager/templates/deployment.yaml index 929b380962..f2826a77a0 100644 --- a/kubernetes/dcaegen2/components/dcae-ves-openapi-manager/templates/deployment.yaml +++ b/kubernetes/dcaegen2/components/dcae-ves-openapi-manager/templates/deployment.yaml @@ -55,7 +55,7 @@ spec: volumes: - name: schema-map configMap: - name: dcae-external-repo-configmap-schema-map + name: {{ include "common.release" . }}-dcae-external-repo-configmap-schema-map defaultMode: 0755 items: - key: {{ .Values.schemaMap.filename }} diff --git a/kubernetes/dcaegen2/resources/external/map/schema-map.json b/kubernetes/dcaegen2/resources/external/map/schema-map.json deleted file mode 100644 index a70c597bff..0000000000 --- a/kubernetes/dcaegen2/resources/external/map/schema-map.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml", - "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml" - }, - { - "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml", - "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml" - }, - { - "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml", - "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml" - }, - { - "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml", - "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml" - } -]
\ No newline at end of file diff --git a/kubernetes/dcaegen2/templates/configmap.yaml b/kubernetes/dcaegen2/templates/configmap.yaml index a9917a55ce..8a389ed408 100644 --- a/kubernetes/dcaegen2/templates/configmap.yaml +++ b/kubernetes/dcaegen2/templates/configmap.yaml @@ -24,19 +24,3 @@ metadata: namespace: {{ include "common.namespace" . }} data: {{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: 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: dcae-external-repo-configmap-sa88-rel16 - namespace: {{ include "common.namespace" . }} -data: -{{ (.Files.Glob "resources/external/schema/rel16/*").AsConfig | indent 2 }} diff --git a/kubernetes/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml index 491250c72a..ba4a657c1a 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml @@ -55,21 +55,6 @@ spec: image: {{ include "repositoryGenerator.image.readiness" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - name: {{ include "common.name" . }}-has-sms-readiness command: - sh @@ -94,7 +79,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - command: ["/bin/bash","-c"] + command: ["/bin/sh","-c"] args: ["/usr/local/bin/uwsgi -s /run/conductor/uwsgi.sock --chmod-socket=777 --wsgi-file /etc/nginx/conductor.wsgi --callable application --set port={{ .Values.uwsgi.internalPort }} --die-on-term --exit-on-reload --pidfile /run/conductor/conductor-uwsgi.pid --enable-threads --workers 6 --master --vacuum --single-interpreter --socket-timeout 10 --max-worker-lifetime 300 --max-requests 100 --no-defer-accept --protocol=uwsgi --socket 0.0.0.0:{{ .Values.uwsgi.internalPort }}"] ports: - containerPort: {{ .Values.uwsgi.internalPort }} @@ -112,7 +97,7 @@ spec: port: {{ .Values.uwsgi.internalPort }} initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-api/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-api/values.yaml index d6743cdfda..63461d9c83 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-api/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-api/values.yaml @@ -16,7 +16,7 @@ global: # global defaults nodePortPrefix: 302 image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # secrets metaconfig @@ -26,6 +26,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass service: type: NodePort diff --git a/kubernetes/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml index 8e0ff1aeb5..895a305b53 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml @@ -41,8 +41,8 @@ spec: command: - /app/ready.py args: - - --container-name - - music-springboot + - --job-name + - {{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job - --container-name - aaf-sms env: @@ -54,21 +54,6 @@ spec: image: {{ include "repositoryGenerator.image.readiness" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - name: {{ include "common.name" . }}-cont-sms-readiness command: - sh @@ -114,7 +99,7 @@ spec: - /usr/local/bin/healthy.sh initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-controller/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-controller/values.yaml index 3cbf96adc1..9e799e1045 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-controller/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-controller/values.yaml @@ -14,7 +14,7 @@ global: image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # Secrets metaconfig @@ -24,6 +24,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass ingress: enabled: false diff --git a/kubernetes/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml index f4ccd57773..cc4eaf08b9 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml @@ -41,38 +41,8 @@ spec: command: - /app/ready.py args: - - --container-name - - music-springboot - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-health-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-healthcheck" + - --job-name + - {{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job env: - name: NAMESPACE valueFrom: @@ -128,7 +98,7 @@ spec: - /usr/local/bin/healthy.sh initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-data/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-data/values.yaml index 0940a9db39..915ffc019f 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-data/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-data/values.yaml @@ -14,7 +14,7 @@ global: image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # secrets metaconfig @@ -24,6 +24,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass ingress: enabled: false diff --git a/kubernetes/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml index 4d04b6fe76..095162bea2 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml @@ -41,38 +41,8 @@ spec: command: - /app/ready.py args: - - --container-name - - music-springboot - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-health-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-healthcheck" + - --job-name + - {{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job env: - name: NAMESPACE valueFrom: @@ -128,7 +98,7 @@ spec: initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} {{ end -}} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-reservation/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-reservation/values.yaml index 0940a9db39..915ffc019f 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-reservation/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-reservation/values.yaml @@ -14,7 +14,7 @@ global: image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # secrets metaconfig @@ -24,6 +24,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass ingress: enabled: false diff --git a/kubernetes/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml index 6079dcfd6e..d664ca0875 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml @@ -41,38 +41,8 @@ spec: command: - /app/ready.py args: - - --container-name - - music-springboot - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-health-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-healthcheck" + - --job-name + - {{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job env: - name: NAMESPACE valueFrom: @@ -128,7 +98,7 @@ spec: - /usr/local/bin/healthy.sh initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-solver/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-solver/values.yaml index 0940a9db39..915ffc019f 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-solver/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-solver/values.yaml @@ -14,7 +14,7 @@ global: image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # secrets metaconfig @@ -24,6 +24,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass ingress: enabled: false diff --git a/kubernetes/oof/components/oof-has/requirements.yaml b/kubernetes/oof/components/oof-has/requirements.yaml index 851211a1fb..7310aac8d0 100755 --- a/kubernetes/oof/components/oof-has/requirements.yaml +++ b/kubernetes/oof/components/oof-has/requirements.yaml @@ -20,6 +20,15 @@ dependencies: - name: music version: ~8.x-0 repository: '@local' + condition: music.enabled + - name: etcd + version: ~8.x-0 + repository: '@local' + condition: etcd.enabled + - name: etcd-init + version: ~8.x-0 + repository: '@local' + condition: etcd-init.enabled - name: oof-has-api version: ~8.x-0 repository: 'file://components/oof-has-api' diff --git a/kubernetes/oof/components/oof-has/resources/config/conductor.conf b/kubernetes/oof/components/oof-has/resources/config/conductor.conf index ded979c4fc..18b60bba4a 100755 --- a/kubernetes/oof/components/oof-has/resources/config/conductor.conf +++ b/kubernetes/oof/components/oof-has/resources/config/conductor.conf @@ -424,6 +424,30 @@ server_url = http://{{.Values.config.msb.serviceName}}.{{ include "common.namesp #server_url_version = v0 +[db_options] + +# db_backend to use +db_backend = {{.Values.config.dbBackend}} + +# Use music mock api +music_mock = False + + +[etcd_api] + +# host/ip address of etcd server +host = {{.Values.config.etcd.serviceName}}.{{ include "common.namespace" . }} + +# port of etcd server +port = {{.Values.config.etcd.port}} + +# username for etcd authentication +username = + +# password for etcd authentication +password = + + [music_api] # diff --git a/kubernetes/oof/components/oof-has/resources/config/healthcheck.json b/kubernetes/oof/components/oof-has/resources/config/healthcheck.json deleted file mode 100755 index 833fa0f5d9..0000000000 --- a/kubernetes/oof/components/oof-has/resources/config/healthcheck.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "consistencyInfo": { - "type": "eventual" - }, - "values": { - "id": "healthcheck", - "created": 1479482603641, - "message": "", - "name": "foo", - "recommend_max": 1, - "solution": "{\"healthcheck\": \" healthcheck\"}", - "status": "solved", - "template": "{\"healthcheck\": \"healthcheck\"}", - "timeout": 3600, - "translation": "{\"healthcheck\": \" healthcheck\"}", - "updated": 1484324150629 - } -} diff --git a/kubernetes/oof/components/oof-has/resources/config/onboard.json b/kubernetes/oof/components/oof-has/resources/config/onboard.json deleted file mode 100755 index 2c3d69be8d..0000000000 --- a/kubernetes/oof/components/oof-has/resources/config/onboard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "appname": "conductor", - "userId": "conductor", - "isAAF": "false", - "password": "c0nduct0r" -} diff --git a/kubernetes/oof/components/oof-has/templates/job-healthcheck.yaml b/kubernetes/oof/components/oof-has/templates/job-healthcheck.yaml deleted file mode 100755 index 49406ba423..0000000000 --- a/kubernetes/oof/components/oof-has/templates/job-healthcheck.yaml +++ /dev/null @@ -1,100 +0,0 @@ -{{/* -# Copyright 2018 Intel Corporation, Inc -# -# 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. -*/}} - -apiVersion: batch/v1 -kind: Job -metadata: - name: {{ include "common.fullname" . }}-healthcheck - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ include "common.release" . }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ include "common.release" . }} - spec: - initContainers: - - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-readiness - command: - - /app/ready.py - args: - - --container-name - - oof-has-api - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - containers: - - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-healthcheck - command: - - "/bin/sh" - - "-c" - - | - echo "INSERT HEALTHCHECK PLAN"; - sleep 15; - resp="FAILURE"; - until [ $resp = "200" ]; do - resp=$(curl -k -s -o /dev/null --write-out %{http_code} -X POST https://{{.Values.config.music.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.music.port}}/MUSIC/rest/v2/keyspaces/conductor/tables/plans/rows?id=healthcheck \ - -H "Content-Type: application/json" \ - -H "ns: conductor" \ - -H "Authorization: Basic Y29uZHVjdG9yOmMwbmR1Y3Qwcg==" \ - --data @healthcheck.json); - echo $resp; - sleep 2; - done; - workingDir: /has - volumeMounts: - - mountPath: /etc/localtime - name: localtime - readOnly: true - - mountPath: /has/healthcheck.json - name: {{ .Values.global.commonConfigPrefix }}-config - subPath: healthcheck.json - resources: -{{ include "common.resources" . | indent 10 }} - nodeSelector: - {{- if .Values.nodeSelector }} -{{ toYaml .Values.nodeSelector | indent 8 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 8 }} - {{- end }} - volumes: - - name: localtime - hostPath: - path: /etc/localtime - - name: {{ .Values.global.commonConfigPrefix }}-config - configMap: - name: {{ .Values.global.commonConfigPrefix }}-configmap - items: - - key: healthcheck.json - path: healthcheck.json - restartPolicy: OnFailure - imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/components/oof-has/templates/job-onboard.yaml b/kubernetes/oof/components/oof-has/templates/job-onboard.yaml deleted file mode 100755 index e63aeb369a..0000000000 --- a/kubernetes/oof/components/oof-has/templates/job-onboard.yaml +++ /dev/null @@ -1,105 +0,0 @@ -{{/* -# Copyright 2018 Intel Corporation, Inc -# -# 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. -*/}} - -apiVersion: batch/v1 -kind: Job -metadata: - name: {{ include "common.fullname" . }}-onboard - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ include "common.release" . }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ include "common.release" . }} - spec: - initContainers: - - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-readiness - command: - - /app/ready.py - args: - - --container-name - - "music-springboot" - - --container-name - - "music-cassandra" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-music-cassandra-config" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-music-db-readiness - containers: - - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-onboard - command: - - "/bin/sh" - - "-c" - - | - echo "job-onboard" - workingDir: /has - volumeMounts: - - mountPath: /etc/localtime - name: localtime - readOnly: true - - mountPath: /has/onboard.json - name: {{ .Values.global.commonConfigPrefix }}-config - subPath: onboard.json - resources: -{{ include "common.resources" . | indent 10 }} - nodeSelector: - {{- if .Values.nodeSelector }} -{{ toYaml .Values.nodeSelector | indent 8 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 8 }} - {{- end }} - volumes: - - name: localtime - hostPath: - path: /etc/localtime - - name: {{ .Values.global.commonConfigPrefix }}-config - configMap: - name: {{ .Values.global.commonConfigPrefix }}-configmap - items: - - key: onboard.json - path: onboard.json - restartPolicy: OnFailure - imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/components/oof-has/values.yaml b/kubernetes/oof/components/oof-has/values.yaml index 3615a3bd33..9a8b60574e 100755 --- a/kubernetes/oof/components/oof-has/values.yaml +++ b/kubernetes/oof/components/oof-has/values.yaml @@ -19,7 +19,7 @@ global: commonConfigPrefix: onap-oof-has image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 persistence: enabled: true @@ -32,11 +32,24 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-root-password + name: &root-password '{{ include "common.release" . }}-has-etcd-root-password' + type: password + password: '{{ .Values.config.etcd.rootPassword }}' + policy: generate + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: generate pullPolicy: Always nodePortPrefix: 302 dataRootDir: /dockerdata-nfs config: + dbBackend: etcd aaf: serviceName: aaf-service port: 8100 @@ -58,6 +71,13 @@ config: cps: service: cps-tbdmt port: 8080 + etcd: + serviceName: &etcd-service oof-has-etcd + port: 2379 + appUser: conductor +# rootPassword: +# appPassword: +# userCredentialsExternalSecret: # Resource Limit flavor -By Default using small flavor: small # Segregation for Different environment (Small and Large) @@ -79,19 +99,59 @@ resources: unlimited: {} #component overrides -oof-has-api: +oof-has-api: &has-config enabled: true certSecret: *oof-certs -oof-has-controller: - enabled: true - certSecret: *oof-certs -oof-has-data: - enabled: true - certSecret: *oof-certs -oof-has-reservation: - enabled: true - certSecret: *oof-certs -oof-has-solver: + config: + etcd: + userCredentialsExternalSecret: *user-creds + configJobNameOverride: &job-name oof-has-etcd-config +oof-has-controller: *has-config +oof-has-data: *has-config +oof-has-reservation: *has-config +oof-has-solver: *has-config +music: + enabled: false + +#etcd subchart configurations +etcd: enabled: true - certSecret: *oof-certs + replicaCount: 3 + nameOverride: &etcd-container oof-has-etcd + service: + name: *etcd-service + persistence: + mountSubPath: oof/etcd/data + enabled: true + flavor: &etcd-flavor large + resources: &etcd-resources + small: + limits: + cpu: 100m + memory: 300Mi + requests: + cpu: 10m + memory: 75Mi + large: + limits: + cpu: 200m + memory: 1Gi + requests: + cpu: 50m + memory: 300Mi + unlimited: {} +etcd-init: + enabled: true + nameOverride: *job-name + etcd: + serviceName: *etcd-service + port : 2379 + containerName: *etcd-container + config: + userRootSecret: *root-password + userCredentialsExternalSecret: *user-creds + appRole: conductor + keyPrefix: conductor + flavor: *etcd-flavor + resources: *etcd-resources diff --git a/kubernetes/oof/components/oof-templates/templates/_secret.tpl b/kubernetes/oof/components/oof-templates/templates/_secret.tpl new file mode 100644 index 0000000000..0b04f7120b --- /dev/null +++ b/kubernetes/oof/components/oof-templates/templates/_secret.tpl @@ -0,0 +1,6 @@ +{{- define "oof.etcd.env" -}} +- name: OS_ETCD_API__USERNAME + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "oof-has-etcd-secret" "key" "login") | indent 2 }} +- name: OS_ETCD_API__PASSWORD + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "oof-has-etcd-secret" "key" "password") | indent 2 }} +{{- end -}}
\ No newline at end of file |